Aller au contenu principal
Version: v0.21

API de recherche de signatures

AMWScan\Signatures fournit des recherches en lecture seule dans les index de signatures intégrés. Utilisez-le pour l'enrichissement ou le triage. Utilisez Scanner lorsque vous avez besoin de parcours du système de fichiers, de correspondance de modèles, de rapports ou de remédiation.

use AMWScan\Signatures;

$match = Signatures::findKnownMalwareHash('sha256', $sha256);

if ($match !== null) {
printf("%s: %s\n", $match['severity'], $match['description']);
}

SHA-256 de malwares connus

MéthodeEntréeRetour
findKnownMalwareHash(string $algorithm, string $hash)L'algorithme sha256 et un hachage SHA-256 hexadécimal de 64 caractèresEnregistrement de correspondance ou null
getKnownMalwareSha256()AucuneTableau de hachages SHA-256 intégrés
getKnownMalwareIndexSha256()AucuneSomme de contrôle SHA-256 de l'index source intégré
getKnownMalwareMd5PrefixCount()AucuneNombre d'enregistrements de préfixes MD5 de largeur fixe
matchesKnownMalwareMd5(string $md5)Un MD5 hexadécimal de 32 caractèrestrue lorsque son préfixe de huit caractères apparaît dans l'index

findKnownMalwareHash() valide ses deux arguments. Elle renvoie null pour un algorithme non pris en charge, un hachage mal formé ou aucune correspondance exacte. Un enregistrement de correspondance positif possède les clés id, algorithm, hash, severity et description.

Une correspondance de préfixe MD5 est un signal candidat, et non une correspondance exacte de fichier complet. Séparez-la des correspondances SHA-256 exactes dans les alertes et examinez le fichier avant toute remédiation.

Normalisation du noyau historique

MéthodeEntréeRetour
normalizedFileSha256(string $path)Fichier régulier existant qui n'est pas un lien symboliqueChaîne SHA-256 normalisée ou null
matchesLegacyCoreSha256(string $sha256)Un SHA-256 hexadécimal de 64 caractèresbool
matchesLegacyCoreFile(string $path)Fichier régulier existant qui n'est pas un lien symboliquebool
getLegacyCoreSha256Count()AucuneNombre d'enregistrements du noyau historique
getLegacyCoreIndexSha256()AucuneSomme de contrôle SHA-256 de l'index source du noyau historique

normalizedFileSha256() supprime les espaces, tabulations, retours chariot et sauts de ligne pendant le hachage. Cela prend en charge la correspondance du noyau historique ; cela ne produit pas la même valeur que hash_file('sha256', $path) pour les fichiers sources formatés.

Indicateurs de domaines

getDomainIndicators() renvoie des enregistrements contenant id, domain, classification et severity. Les enregistrements intégrés utilisent classification: suspicious et severity: warn.

foreach (Signatures::getDomainIndicators() as $indicator) {
if ($indicator['domain'] === $domain) {
// Record a warning-level enrichment signal.
}
}

Un indicateur de domaine suspect nécessite du contexte. Les domaines peuvent être réattribués, assainis ou référencés dans du contenu archivé. Ne bloquez pas de trafic et ne modifiez pas de fichiers sur ce seul signal.

Données de définition internes

Signatures::$raw, Signatures::$regex, Signatures::$domains, getAll() et optimizeSignatures() alimentent la détection du scanner. Ils ne constituent pas un contrat d'extension. En particulier, optimizeSignatures() modifie son argument passé par référence. Évitez de modifier les tableaux de définitions dans un processus applicatif ; utilisez plutôt la configuration du scanner et l'examen des rapports.