Zum Hauptinhalt springen
Version: v0.21

API für Signaturabfragen

AMWScan\Signatures stellt schreibgeschützte Abfragen über eingebettete Signaturindizes bereit. Verwenden Sie es zur Anreicherung oder Triage. Verwenden Sie Scanner, wenn Sie Dateisystemdurchlauf, Musterabgleich, Berichterstellung oder Behebung benötigen.

use AMWScan\Signatures;

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

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

Bekannte Malware-SHA-256

MethodeEingabeRückgabe
findKnownMalwareHash(string $algorithm, string $hash)Der Algorithmus sha256 und ein 64 Zeichen langer hexadezimaler SHA-256-HashÜbereinstimmungsdatensatz oder null
getKnownMalwareSha256()KeineArray eingebetteter SHA-256-Hashes
getKnownMalwareIndexSha256()KeineSHA-256-Prüfsumme des eingebetteten Quellindex
getKnownMalwareMd5PrefixCount()KeineAnzahl der MD5-Präfixdatensätze mit fester Breite
matchesKnownMalwareMd5(string $md5)Eine 32 Zeichen lange hexadezimale MD5true, wenn ihr Präfix aus acht Zeichen im Index erscheint

findKnownMalwareHash() validiert beide Argumente. Die Methode gibt bei einem nicht unterstützten Algorithmus, fehlerhaftem Hash oder keiner exakten Übereinstimmung null zurück. Ein positiver Übereinstimmungsdatensatz besitzt die Schlüssel id, algorithm, hash, severity und description.

Eine MD5-Präfixübereinstimmung ist ein Kandidatensignal, keine exakte Übereinstimmung mit einer vollständigen Datei. Halten Sie es in Alarmen von exakten SHA-256-Übereinstimmungen getrennt und prüfen Sie die Datei vor der Behebung.

Legacy-Core-Normalisierung

MethodeEingabeRückgabe
normalizedFileSha256(string $path)Vorhandene reguläre Datei, die kein symbolischer Link istNormalisierte SHA-256-Zeichenfolge oder null
matchesLegacyCoreSha256(string $sha256)Ein 64 Zeichen langer hexadezimaler SHA-256-Hashbool
matchesLegacyCoreFile(string $path)Vorhandene reguläre Datei, die kein symbolischer Link istbool
getLegacyCoreSha256Count()KeineAnzahl der Legacy-Core-Datensätze
getLegacyCoreIndexSha256()KeineSHA-256-Prüfsumme des Legacy-Core-Quellindex

normalizedFileSha256() entfernt beim Hashing Leerzeichen, Tabulatoren, Wagenrückläufe und Zeilenvorschübe. Dies unterstützt den Legacy-Core-Abgleich; für formatierte Quelldateien erzeugt es nicht denselben Wert wie hash_file('sha256', $path).

Domainindikatoren

getDomainIndicators() gibt Datensätze mit id, domain, classification und severity zurück. Die eingebauten Datensätze verwenden classification: suspicious und severity: warn.

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

Ein Indikator für eine verdächtige Domain benötigt Kontext. Domains können neu zugewiesen, bereinigt oder in archivierten Inhalten referenziert werden. Blockieren Sie aufgrund dieses Signals allein keinen Datenverkehr und ändern Sie keine Dateien.

Interne Definitionsdaten

Signatures::$raw, Signatures::$regex, Signatures::$domains, getAll() und optimizeSignatures() unterstützen die Scanner-Erkennung. Sie sind kein Erweiterungsvertrag. Insbesondere verändert optimizeSignatures() sein per Referenz übergebenes Argument. Ändern Sie Definitionsarrays nicht in einem Anwendungsprozess; verwenden Sie stattdessen Scanner-Konfiguration und Berichtsprüfung.