
محرك إثبات مصدر ملفات Windows PE وتقليل الإيجابيات الكاذبة بدون اعتماديات (Embedded Authenticode + OS Security Catalogs، والتحقق من Rich Header ROL32، واكتشاف البناء القابل لإعادة الإنتاج، والإنتروبيا التفاضلية للأقسام).
محرك حتمي لإثبات مصدر ملفات PE وتقليل الإيجابيات الكاذبة لأنظمة Windows DFIR
تعاني ماسحات البرمجيات الخبيثة الساكنة الساذجة، واستدلالات YARA، ونصوص الإنتروبيا من معدلات إيجابيات كاذبة مرتفعة للغاية (غالبًا من 40% إلى 60% على نقاط النهاية النظيفة). فهي تصنّف بشكل متكرر أدوات نظام Windows الشرعية، وتجميعات .NET، وتطبيقات Electron، وحزم PyInstaller، وبناءات C/C++ غير الموقّعة من المطورين، على أنها برمجيات خبيثة.
TrueVerdict هو محرك فرز للملفات التنفيذية المحمولة (PE32 / PE32+) بدون أي اعتماديات خارجية، مبني بالكامل على مكتبة Python القياسية (ctypes، struct، math، hashlib) وواجهات Win32 التشفيرية الأصلية (wintrust.dll، crypt32.dll). وهو يدفع الإيجابيات الكاذبة إلى ما يقارب الصفر (0.00% على مجموعات أنظمة التشغيل والمطورين القياسية) من خلال استبدال الاستدلالات القائمة على مؤشر واحد بـ مصفوفة تدقيق تشفيري وبنيوي من 7 طبقات.
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)لاحظ كيف أن C:\Windows\System32\cmd.exe على Windows 11 يحمل لا توقيع Authenticode مضمّنًا، وله طابع زمني للترجمة سنة 2034 (0x789F4656)، ويستورد ResumeThread. يسجّله ماسح استدلالي ساذج عند 80/100 (خبيث/مشبوه). أما TrueVerdict فيحلّ توقيع كتالوج نظام التشغيل الخاص به، ويتحقق من مدخلة IMAGE_DEBUG_TYPE_REPRO، ويتحقق من تجزئة ترويسة DanS Rich، ويخفض درجة خطورته إلى 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 خارجية ويعمل مباشرة على أي تثبيت قياسي لـ Python 3.10+ على Windows.
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 | أكثر من 50% من ملفات C:\Windows\System32 التنفيذية (cmd.exe، notepad.exe، powershell.exe، regedit.exe) لا تحتوي على جدول شهادة Authenticode مضمّن (IMAGE_DIRECTORY_ENTRY_SECURITY == 0). | يستعلم عن كلا التوقيعين المضمّنين بصيغة PKCS#7 (WinVerifyTrust) وقاعدة بيانات كتالوج أمان نظام التشغيل (CatRoot .cat) عبر CryptCATAdminCalcHashFromFileHandle + CryptCATAdminEnumCatalogFromHash. |
| 2. طوابع زمنية للترجمة "مستقبلية / مزوّرة" (مثل سنة 2034 أو 2089) | بدءًا من Windows 10 1607+، تحوّلت Microsoft إلى البناءات القابلة لإعادة الإنتاج (Brepro)، مستبدلةً TimeDateStamp الخاص بـ COFF بتجزئة بناء حتمية. | يحلّل IMAGE_DIRECTORY_ENTRY_DEBUG بحثًا عن IMAGE_DEBUG_TYPE_REPRO (Type 16). ويتعرّف على تجزئات البناء الحتمية ويكبت تنبيهات الطوابع الزمنية الكاذبة. |
3. إنتروبيا ملف مرتفعة (H > 7.2 بت/بايت) | الأيقونات/صور PNG المضغوطة في .rsrc، أو بيانات .NET الوصفية، أو طبقات المثبّتات (PyInstaller، InnoSetup، NSIS، Electron) تقترب طبيعيًا من 7.5 - 7.99 بت/بايت. | يحسب إنتروبيا الأقسام التفاضلية، معزولًا الكود التنفيذي (.text) عن الموارد غير التنفيذية (.rsrc) وبصمًا حاويات التطبيقات المعروفة. |
4. استيرادات Win32 ثنائية الاستخدام (VirtualAllocEx، ResumeThread) | المترجمات، والمتصفحات، والمصححات، وبيئات تشغيل اللغات (python.exe، cmd.exe، kernel32.dll) تستورد بشكل مشروع واجهات التلاعب بالذاكرة والخيوط. | يقيّم كثافة جدول الاستيراد والعناقيد التوافقية، فيكبت الواجهات ثنائية الاستخدام عند تضمينها داخل جداول استيراد CRT/نظام عالية الكثافة (55+ استيرادًا) أو توقيعات موثّقة. |
| 5. بناءات المطورين المحلية غير الموقّعة | الملفات التنفيذية المترجمة محليًا بلغات C/C++ أو Rust أو Go تفتقر إلى شهادات Authenticode وتُعلَّم بقواعد "غير موقّع = مشبوه". | يفرض مبدأ غير موقّع != خبيث (عقوبة أساسية 0) ويتحقق من مصدر المترجم عبر فك تشفير ترويسة MSVC Rich (DanS) والتحقق من تجزئة ROL32 الخاصة بها. |