Esistono vari metodi utilizzati dai produttori di AV per ridurre le dimensioni del database. Uno è rappresentato dalle tecniche di compressione, in cui il fornitore comprime il database e le rende disponibili per il download agli utenti.
Il secondo è la generalizzazione, una tecnica utilizzata nell'apprendimento automatico. Usano le corrispondenze di pattern o le espressioni regolari per questo. Supponiamo che un venditore abbia 4 firme nel seguente formato:
aaaaa
aaaab
aaaac
aaaad
Invece di avere definizioni separate per ciascuno dei precedenti, queste 4 definizioni possono essere generalizzate a:
aaaa?
Qui, ?
è un carattere jolly, che rappresenta qualsiasi carattere. Questa tecnica riduce significativamente le dimensioni del database.
Qui giace un avvertimento, però. Supponiamo che il prodotto AV trovi aaaax
in alcuni software legittimi. Naturalmente, è anche segnalato come programma malevolo (in realtà, però, non lo è). Ciò dà luogo a falsi positivi. In questi casi, il fornitore AV fornirà un'eccezione a aaaax
nel loro prossimo aggiornamento del database, in modo che non venga contrassegnato in rosso in futuro.
Potrebbero esserci anche altre tecniche, che potrebbero essere proprietarie, ma le 2 tecniche sopra descritte sono generalmente di uso comune.
Come richiesto nei commenti, ecco i link per le tecniche di generalizzazione:
Wikipedia
Intego Cerca per rilevamento generico
Pattern Matching in GPU
Avira