Passa al contenuto principale
Versione: v0.20

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

MetodoInputRestituisce
findKnownMalwareHash(string $algorithm, string $hash)L'algoritmo sha256 e un hash SHA-256 esadecimale di 64 caratteriRecord della corrispondenza o null
getKnownMalwareSha256()NessunoArray degli hash SHA-256 incorporati
getKnownMalwareIndexSha256()NessunoChecksum SHA-256 dell'indice sorgente incorporato
getKnownMalwareMd5PrefixCount()NessunoNumero di record con prefisso MD5 a larghezza fissa
matchesKnownMalwareMd5(string $md5)Un MD5 esadecimale di 32 caratteritrue 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

MetodoInputRestituisce
normalizedFileSha256(string $path)File regolare esistente che non è un collegamento simbolicoStringa SHA-256 normalizzata o null
matchesLegacyCoreSha256(string $sha256)Un SHA-256 esadecimale di 64 caratteribool
matchesLegacyCoreFile(string $path)File regolare esistente che non è un collegamento simbolicobool
getLegacyCoreSha256Count()NessunoNumero di record legacy-core
getLegacyCoreIndexSha256()NessunoChecksum 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.