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
| Methode | Eingabe | Rückgabe |
|---|---|---|
findKnownMalwareHash(string $algorithm, string $hash) | Der Algorithmus sha256 und ein 64 Zeichen langer hexadezimaler SHA-256-Hash | Übereinstimmungsdatensatz oder null |
getKnownMalwareSha256() | Keine | Array eingebetteter SHA-256-Hashes |
getKnownMalwareIndexSha256() | Keine | SHA-256-Prüfsumme des eingebetteten Quellindex |
getKnownMalwareMd5PrefixCount() | Keine | Anzahl der MD5-Präfixdatensätze mit fester Breite |
matchesKnownMalwareMd5(string $md5) | Eine 32 Zeichen lange hexadezimale MD5 | true, 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
| Methode | Eingabe | Rückgabe |
|---|---|---|
normalizedFileSha256(string $path) | Vorhandene reguläre Datei, die kein symbolischer Link ist | Normalisierte SHA-256-Zeichenfolge oder null |
matchesLegacyCoreSha256(string $sha256) | Ein 64 Zeichen langer hexadezimaler SHA-256-Hash | bool |
matchesLegacyCoreFile(string $path) | Vorhandene reguläre Datei, die kein symbolischer Link ist | bool |
getLegacyCoreSha256Count() | Keine | Anzahl der Legacy-Core-Datensätze |
getLegacyCoreIndexSha256() | Keine | SHA-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.