सिग्नेचर लुकअप API
AMWScan\Signatures एम्बेड किए गए सिग्नेचर indexes पर केवल-पढ़ने-योग्य lookups देता है। enrichment या triage के लिए इसका उपयोग करें। जब आपको filesystem traversal, pattern matching, reporting, या remediation चाहिए तो Scanner का उपयोग करें।
use AMWScan\Signatures;
$match = Signatures::findKnownMalwareHash('sha256', $sha256);
if ($match !== null) {
printf("%s: %s\n", $match['severity'], $match['description']);
}
ज्ञात मैलवेयर SHA-256
| विधि | इनपुट | return |
|---|---|---|
findKnownMalwareHash(string $algorithm, string $hash) | algorithm sha256 और 64-वर्ण hexadecimal SHA-256 hash | मिलान रिकॉर्ड या null |
getKnownMalwareSha256() | कोई नहीं | एम्बेड किए गए SHA-256 hashes की ऐरे |
getKnownMalwareIndexSha256() | कोई नहीं | एम्बेड किए गए source index का SHA-256 checksum |
getKnownMalwareMd5PrefixCount() | कोई नहीं | स्थिर-चौड़ाई MD5-prefix records की संख्या |
matchesKnownMalwareMd5(string $md5) | 32-वर्ण hexadecimal MD5 | जब उसका आठ-वर्ण prefix index में हो तो true |
findKnownMalwareHash() दोनों आर्ग्युमेंट मान्य करता है। असमर्थित algorithm, malformed hash, या सटीक मिलान न होने पर यह null लौटाता है। सकारात्मक मिलान रिकॉर्ड में id, algorithm, hash, severity, और description keys होते हैं।
MD5-prefix मिलान candidate signal है, पूर्ण फ़ाइल का सटीक मिलान नहीं। चेतावनियों में इसे सटीक SHA-256 मिलानों से अलग रखें और सुधार से पहले फ़ाइल की समीक्षा करें।
पुराने core का सामान्यीकरण
| विधि | इनपुट | return |
|---|---|---|
normalizedFileSha256(string $path) | मौजूदा regular फ़ाइल जो symbolic link न हो | सामान्यीकृत SHA-256 string या null |
matchesLegacyCoreSha256(string $sha256) | 64-वर्ण hexadecimal SHA-256 | bool |
matchesLegacyCoreFile(string $path) | मौजूदा regular फ़ाइल जो symbolic link न हो | bool |
getLegacyCoreSha256Count() | कोई नहीं | legacy-core records की संख्या |
getLegacyCoreIndexSha256() | कोई नहीं | legacy-core source index का SHA-256 checksum |
normalizedFileSha256() हैश करते समय spaces, tabs, carriage returns, और line feeds हटाता है। यह legacy-core matching का समर्थन करता है; स्वरूपित source files के लिए यह hash_file('sha256', $path) के समान मान नहीं बनाता।
डोमेन संकेतक
getDomainIndicators() id, domain, classification, और severity वाले records लौटाता है। अंतर्निहित records classification: suspicious और severity: warn का उपयोग करते हैं।
foreach (Signatures::getDomainIndicators() as $indicator) {
if ($indicator['domain'] === $domain) {
// Record a warning-level enrichment signal.
}
}
संदिग्ध-डोमेन संकेतक को संदर्भ चाहिए। डोमेन फिर से असाइन किए जा सकते हैं, सुधारे जा सकते हैं, या archived content में संदर्भित हो सकते हैं। केवल इस संकेत से traffic न रोकें और न ही फ़ाइलें बदलें।
आंतरिक definition डेटा
Signatures::$raw, Signatures::$regex, Signatures::$domains, getAll(), और optimizeSignatures() स्कैनर detection को सक्षम करते हैं। वे extension contract नहीं हैं। विशेष रूप से, optimizeSignatures() अपने by-reference आर्ग्युमेंट को बदलता है। एप्लिकेशन प्रक्रिया में definition arrays बदलने से बचें; इसके बजाय scanner configuration और report review का उपयोग करें।