
शून्य-निर्भरता Windows PE प्रोवेनेंस और फ़ॉल्स-पॉज़िटिव रिडक्शन इंजन (एम्बेडेड Authenticode + OS सिक्योरिटी कैटलॉग, Rich Header ROL32 सत्यापन, रिप्रोड्यूसिबल बिल्ड डिटेक्शन, और डिफरेंशियल सेक्शन एन्ट्रॉपी)।
Windows DFIR के लिए नियतात्मक PE प्रोवेनेंस और फ़ॉल्स-पॉज़िटिव रिडक्शन इंजन
साधारण स्टैटिक मैलवेयर स्कैनर, YARA ह्यूरिस्टिक्स, और एन्ट्रॉपी स्क्रिप्ट्स अत्यधिक फ़ॉल्स पॉज़िटिव दरों (साफ़ एंडपॉइंट्स पर अक्सर 40% से 60%) से ग्रस्त होते हैं। वे नियमित रूप से वैध Windows सिस्टम यूटिलिटीज़, .NET असेंबलीज़, Electron ऐप्स, PyInstaller बंडल्स, और अहस्ताक्षरित डेवलपर C/C++ बिल्ड्स को मैलवेयर के रूप में गलत वर्गीकृत करते हैं।
TrueVerdict एक शून्य-निर्भरता Portable Executable (PE32 / PE32+) ट्राइएज इंजन है जो पूरी तरह से Python Standard Library (ctypes, struct, math, hashlib) और नेटिव Win32 क्रिप्टोग्राफ़िक APIs (wintrust.dll, crypt32.dll) पर बनाया गया है। यह सिंगल-इंडिकेटर ह्यूरिस्टिक्स को 7-लेयर क्रिप्टोग्राफ़िक और स्ट्रक्चरल कोरोबोरेशन मैट्रिक्स से बदलकर फ़ॉल्स पॉज़िटिव्स को लगभग शून्य (मानक OS/डेवलपर कॉर्पोरा पर 0.00%) तक ले जाता है।
flowchart TD
A["Target PE32 / PE32+ Binary"] --> L1["Layer 1: Dual-Path Cryptographic Verification\n(wintrust.dll Embedded PKCS#7 + CatRoot .cat Lookup)"]
L1 --> L2["Layer 2: Compiler Provenance\n(Rich Header 'DanS' XOR Decryption & ROL32 Checksum)"]
L2 --> L3["Layer 3: Debug & Timestamp Validation\n(IMAGE_DEBUG_TYPE_REPRO Deterministic Build Detection)"]
L3 --> L4["Layer 4: Differential Entropy & Section Permissions\n(.text vs .rsrc Segmentation + RWX Memory Detection)"]
L4 --> L5["Layer 5: Combinatorial IAT Profiling\n(MD5 Imphash + Offensive Cluster vs. Benign CRT Density)"]
L5 --> L6["Layer 6: Canonical Path & Identity Verification\n(System32 Path Validation + Levenshtein Typosquatting + VS_VERSIONINFO)"]
L6 --> L7["Layer 7: Multi-Vector Corroboration Gate\n(Blocks Single-Indicator Alerts; Requires >= 2 Independent Layers)"]
L7 --> V["Deterministic Triage Verdict\n(BENIGN / LOW_RISK_ANOMALY / SUSPICIOUS / MALICIOUS)"]python trueverdict.py --benchmark चलाने पर 32 वास्तविक Windows 11 सिस्टम और डेवलपर बाइनरीज़ (कैटलॉग-हस्ताक्षरित यूटिलिटीज़, Brepro भविष्य-टाइमस्टैम्प्ड बाइनरीज़, और एक अहस्ताक्षरित साफ़ C/C++ बिल्ड सहित) का मूल्यांकन 5 सिंथेटिक एडवर्सेरियल PE64 नमूनों के साथ किया जाता है:
======================================================================================
TRUEVERDICT - LIVE FALSE-POSITIVE STRESS BENCHMARK & ADVERSARIAL VALIDATION
======================================================================================
[PHASE 1] Scanning 32 Legitimate OS & Developer Binaries...
--------------------------------------------------------------------------------------
BINARY NAME | SIGNING MODE | NAIVE | FINAL | VERDICT
--------------------------------------------------------------------------------------
notepad.exe | OS_CATALOG | 45 | 0 | BENIGN (99.9%)
cmd.exe | OS_CATALOG | 80 | 0 | BENIGN (99.9%)
svchost.exe | EMBEDDED_AUTHENTICODE | 60 | 0 | BENIGN (99.9%)
calc.exe | OS_CATALOG | 45 | 0 | BENIGN (99.9%)
explorer.exe | EMBEDDED_AUTHENTICODE | 60 | 0 | BENIGN (99.9%)
regedit.exe | OS_CATALOG | 45 | 0 | BENIGN (99.9%)
certutil.exe | OS_CATALOG | 45 | 0 | BENIGN (99.9%)
spoolsv.exe | OS_CATALOG | 80 | 0 | BENIGN (99.9%)
powershell.exe | OS_CATALOG | 45 | 0 | BENIGN (99.9%)
python.exe | EMBEDDED_AUTHENTICODE | 0 | 0 | BENIGN (99.9%)
clean_unsigned_dev_tool.exe | UNSIGNED | 20 | 0 | BENIGN (98.5%)
... (all 32 legitimate binaries score 0/100)
[PHASE 2] Scanning 5 Synthetic Adversarial Threat Specimens...
--------------------------------------------------------------------------------------
THREAT SPECIMEN | PRIMARY DETECTION VECTORS | SCORE | VERDICT
--------------------------------------------------------------------------------------
svchost.exe | L2_RICH_F,L6_MASQUE | 100 | MALICIOUS (99.4%)
scvhost.exe | L2_RICH_F,L6_MASQUE | 100 | MALICIOUS (99.4%)
reflective_rwx_stub.exe | L4_RWX_ME,L4_PACKED | 100 | MALICIOUS (99.4%)
hollow_injector.exe | L2_RICH_F,L3_TIMEST | 90 | MALICIOUS (94.6%)
tampered_cert_implant.exe | L1_CRYPTO,L2_RICH_F | 100 | MALICIOUS (99.4%)
======================================================================================
BENCHMARK SUMMARY: NAIVE HEURISTICS vs. TRUEVERDICT CORROBORATION ENGINE
======================================================================================
Total Binaries Evaluated : 37 (2.70s)
Naive Heuristic False Positives : 18/32 (56.25% FPR)
TrueVerdict False Positives : 0/32 (0.00% FPR)
Total False-Positive Risk Suppressed: -1175 heuristic noise points
Adversarial Threat Detection Rate : 5/5 (100.00% TPR)
======================================================================================
cmd.exe)ध्यान दें कि Windows 11 पर C:\Windows\System32\cmd.exe में कोई एम्बेडेड Authenticode हस्ताक्षर नहीं है, इसका वर्ष 2034 का कंपाइल टाइमस्टैम्प (0x789F4656) है, और यह ResumeThread इम्पोर्ट करता है। एक साधारण ह्यूरिस्टिक स्कैनर इसे 80/100 (दुर्भावनापूर्ण/संदिग्ध) स्कोर देता है। TrueVerdict इसके OS Catalog हस्ताक्षर को हल करता है, इसकी IMAGE_DEBUG_TYPE_REPRO प्रविष्टि को मान्य करता है, इसके DanS Rich Header चेकसम को सत्यापित करता है, और इसके जोखिम स्कोर को 0/100 (BENIGN) तक कम कर देता है:
====================================================================================
TRUEVERDICT FORENSIC TRIAGE REPORT : cmd.exe
====================================================================================
File Path : C:\Windows\System32\cmd.exe
File Size : 344,064 bytes
SHA-256 : 97ac98b1a92c286054cce55239cfccdfc23a5517bd07fe693072c9ca96c7dabb
Imphash (MD5) : 010b165e4c37f484601d3dbd700c9423
Architecture : x64 (64-bit) | Linker: 14.38 | Container: NATIVE_UNPACKED
Compile Timestamp : 2034-02-16 12:02:30 UTC [REPRODUCIBLE_BUILD_HASH]
[1] CRYPTOGRAPHIC PROVENANCE (AUTHENTICODE + OS CATALOG)
------------------------------------------------------------------------------
Verification Mode : OS_CATALOG
Status : Valid Windows Security Catalog Signature
Verified Signer : Microsoft Windows Production PCA 2011
Certificate Issuer: Microsoft Root Certificate Authority 2010
OS Security Cat : C:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Client-Desktop-Required-Package0512~31bf3856ad364e35~amd64~~10.0.26100.9444.cat
[2] COMPILER PROVENANCE (RICH HEADER & DEBUG METADATA)
------------------------------------------------------------------------------
Rich Header (DanS): Present | XOR Key: 0xD7965A3A | ROL32 Checksum: VALID (Authentic MSVC Build)
Toolchain Objects : 11 @comp.id records
CodeView PDB Path : cmd.pdb
[5] FALSE-POSITIVE SUPPRESSION & CORROBORATION MATRIX
------------------------------------------------------------------------------
[+] TRUST ANCHOR [L1_CRYPTO_TRUST ] (-75) Valid Windows Security Catalog Signature (Microsoft Windows Production PCA 2011)
[+] TRUST ANCHOR [L2_RICH_PROVENANCE ] (-15) Authentic MSVC Rich Header ('DanS') verified via ROL32 checksum (0xD7965A3A, 11 toolchain build objects)
[~] FP SUPPRESSED [L1_CATALOG_RECOVERY ] (-20) Binary has no embedded Authenticode table, but matched verified OS Catalog
[~] FP SUPPRESSED [L3_BREPRO_TIMESTAMP ] (-25) Non-chronological PE TimeDateStamp (0x789F4656) verified as deterministic Reproducible Build (IMAGE_DEBUG_TYPE_REPRO) hash
[~] FP SUPPRESSED [L5_DUAL_USE_API_SUPPRESSION] (-35) Dual-use Win32 APIs (ResumeThread) suppressed within high-density/trusted IAT (287 total imports)
[*] Active Risk Vectors: 0 (Zero corroborated threat indicators)
====================================================================================
NAIVE HEURISTIC SCORE : 80/100 --> TRUEVERDICT FINAL SCORE : 0/100 (-80 FP noise suppressed)
FINAL VERDICT : BENIGN (Confidence: 99.9% | Corroborated Layers: 0)
====================================================================================
TrueVerdict को किसी बाहरी PyPI पैकेज की आवश्यकता नहीं है और यह Windows पर किसी भी मानक Python 3.10+ इंस्टॉलेशन पर सीधे चलता है।
git clone https://github.com/prox0959/TrueVerdict.git
cd TrueVerdict
# 1. Run the live False-Positive Stress Benchmark (32 OS/Dev binaries + 5 synthetic threats)
python trueverdict.py --benchmark
# 2. Triage a single binary (.exe, .dll, .sys)
python trueverdict.py C:\Windows\System32\cmd.exe
# 3. Triage an entire directory and export structured JSON
python trueverdict.py --dir C:\Windows\System32 --limit 50 --json system32_triage.json
# 4. Run unit & integration test suite
python -m unittest discover -s tests -v
MIT License के अंतर्गत जारी।
| साधारण स्कैनर ट्रैप | साफ़ बाइनरीज़ इसे क्यों ट्रिगर करती हैं | TrueVerdict फ़ॉल्स पॉज़िटिव को कैसे समाप्त करता है |
|---|
| 1. Windows सिस्टम फ़ाइलों पर "गुम" डिजिटल हस्ताक्षर | C:\Windows\System32 की 50% से अधिक बाइनरीज़ (cmd.exe, notepad.exe, powershell.exe, regedit.exe) में एम्बेडेड Authenticode प्रमाणपत्र तालिका (IMAGE_DIRECTORY_ENTRY_SECURITY == 0) नहीं होती। | दोनों एम्बेडेड PKCS#7 हस्ताक्षर (WinVerifyTrust) और Windows OS Security Catalog (CatRoot .cat) डेटाबेस को CryptCATAdminCalcHashFromFileHandle + CryptCATAdminEnumCatalogFromHash के माध्यम से क्वेरी करता है। |
| 2. "भविष्य / जाली" कंपाइल टाइमस्टैम्प (जैसे वर्ष 2034 या 2089) | Windows 10 1607+ से शुरू करके, Microsoft ने Reproducible Builds (Brepro) पर स्विच किया, जो COFF TimeDateStamp को एक नियतात्मक बिल्ड हैश से बदल देता है। | IMAGE_DEBUG_TYPE_REPRO (Type 16) के लिए IMAGE_DIRECTORY_ENTRY_DEBUG को पार्स करता है। नियतात्मक बिल्ड हैश को पहचानता है और झूठे टाइमस्टैम्प अलर्ट को दबा देता है। |
3. उच्च फ़ाइल एन्ट्रॉपी (H > 7.2 बिट्स/बाइट) | .rsrc में संपीड़ित आइकन/PNGs, .NET मेटाडेटा, या इंस्टॉलर ओवरले (PyInstaller, InnoSetup, NSIS, Electron) स्वाभाविक रूप से 7.5 - 7.99 बिट्स/बाइट के करीब पहुँचते हैं। | डिफरेंशियल सेक्शन एन्ट्रॉपी की गणना करता है, निष्पादन योग्य कोड (.text) को गैर-निष्पादन योग्य संसाधनों (.rsrc) से अलग करता है और ज्ञात एप्लिकेशन कंटेनरों की फ़िंगरप्रिंटिंग करता है। |
4. दोहरे-उपयोग वाले Win32 API इम्पोर्ट्स (VirtualAllocEx, ResumeThread) | कंपाइलर, ब्राउज़र, डीबगर, और भाषा रनटाइम (python.exe, cmd.exe, kernel32.dll) वैध रूप से मेमोरी और थ्रेड मैनिपुलेशन APIs इम्पोर्ट करते हैं। | इम्पोर्ट टेबल डेंसिटी और कॉम्बिनेटोरियल क्लस्टर्स का मूल्यांकन करता है, उच्च-घनत्व CRT/OS इम्पोर्ट टेबल्स (55+ इम्पोर्ट्स) या सत्यापित हस्ताक्षरों के भीतर एम्बेडेड होने पर दोहरे-उपयोग वाले APIs को दबा देता है। |
| 5. अहस्ताक्षरित स्थानीय डेवलपर बिल्ड्स | स्थानीय रूप से संकलित C/C++, Rust, या Go बाइनरीज़ में Authenticode प्रमाणपत्र नहीं होते और "अहस्ताक्षरित = संदिग्ध" नियमों द्वारा फ़्लैग किए जाते हैं। | अहस्ताक्षरित != दुर्भावनापूर्ण (0 बेसलाइन पेनल्टी) लागू करता है और MSVC Rich Header (DanS) को डिक्रिप्ट करके और उसके ROL32 चेकसम को सत्यापित करके कंपाइलर प्रोवेनेंस को मान्य करता है। |