API di ricerca firme
AMWScan\Signatures fornisce ricerche in sola lettura sugli indici di firme incorporati. Usalo per l'arricchimento o il triage. Usa Scanner quando servono l'attraversamento del filesystem, la corrispondenza dei pattern, i report o la correzione.
use AMWScan\Signatures;
$match = Signatures::findKnownMalwareHash('sha256', $sha256);
if ($match !== null) {
printf("%s: %s\n", $match['severity'], $match['description']);
}
SHA-256 di malware noto
| Metodo | Input | Restituisce |
|---|---|---|
findKnownMalwareHash(string $algorithm, string $hash) | L'algoritmo sha256 e un hash SHA-256 esadecimale di 64 caratteri | Record della corrispondenza o null |
getKnownMalwareSha256() | Nessuno | Array degli hash SHA-256 incorporati |
getKnownMalwareIndexSha256() | Nessuno | Checksum SHA-256 dell'indice sorgente incorporato |
getKnownMalwareMd5PrefixCount() | Nessuno | Numero di record con prefisso MD5 a larghezza fissa |
matchesKnownMalwareMd5(string $md5) | Un MD5 esadecimale di 32 caratteri | true quando il relativo prefisso di otto caratteri appare nell'indice |
findKnownMalwareHash() convalida entrambi gli argomenti. Restituisce null per un algoritmo non supportato, un hash non valido o nessuna corrispondenza esatta. Un record di corrispondenza positiva contiene le chiavi id, algorithm, hash, severity e description.
Una corrispondenza di prefisso MD5 è un segnale candidato, non una corrispondenza esatta dell'intero file. Tienila separata dalle corrispondenze SHA-256 esatte negli avvisi ed esamina il file prima di correggerlo.
Normalizzazione legacy-core
| Metodo | Input | Restituisce |
|---|---|---|
normalizedFileSha256(string $path) | File regolare esistente che non è un collegamento simbolico | Stringa SHA-256 normalizzata o null |
matchesLegacyCoreSha256(string $sha256) | Un SHA-256 esadecimale di 64 caratteri | bool |
matchesLegacyCoreFile(string $path) | File regolare esistente che non è un collegamento simbolico | bool |
getLegacyCoreSha256Count() | Nessuno | Numero di record legacy-core |
getLegacyCoreIndexSha256() | Nessuno | Checksum SHA-256 dell'indice sorgente legacy-core |
normalizedFileSha256() rimuove spazi, tabulazioni, ritorni a capo e avanzamenti riga durante l'hashing. Questo supporta la corrispondenza legacy-core; non produce lo stesso valore di hash_file('sha256', $path) per file sorgente formattati.
Indicatori di dominio
getDomainIndicators() restituisce record con id, domain, classification e severity. I record integrati usano classification: suspicious e severity: warn.
foreach (Signatures::getDomainIndicators() as $indicator) {
if ($indicator['domain'] === $domain) {
// Record a warning-level enrichment signal.
}
}
Un indicatore di dominio sospetto richiede contesto. I domini possono essere riassegnati, corretti o citati in contenuti archiviati. Non bloccare il traffico né modificare file basandoti solo su questo segnale.
Dati interni delle definizioni
Signatures::$raw, Signatures::$regex, Signatures::$domains, getAll() e optimizeSignatures() alimentano il rilevamento dello scanner. Non costituiscono un contratto di estensione. In particolare, optimizeSignatures() modifica il proprio argomento passato per riferimento. Evita di modificare gli array di definizioni in un processo applicativo; usa invece la configurazione dello scanner e la revisione dei report.