
Kratos एक उच्च-प्रदर्शन Windows फ़ाइल सिस्टम Minifilter ड्राइवर है जो पता लगाने, ब्लॉक करने और स्थायी रूप से प्रतिरक्षित करने के लिए डिज़ाइन किया गया है।
रक्षात्मक सुरक्षा अनुसंधान परियोजना — C++ में विकसित विंडोज मिनीफिल्टर ड्राइवर जो कर्नल स्तर (Ring 0) पर रैनसमवेयर का रीयल-टाइम पता लगाने और बेअसर करने के लिए है।
Kratos (Kratos.sys) 425342 ऊंचाई (एंटी-वायरस टियर) पर फ़िल्टर मैनेजर (fltmgr.sys) के माध्यम से संचालित एक विंडोज मिनीफिल्टर ड्राइवर है। स्थैतिक सिग्नेचर-आधारित एंटीवायरस समाधानों के विपरीत, Kratos पूर्णतः व्यवहारिक दृष्टिकोण अपनाता है:
| उद्देश्य | परिणाम |
|---|---|
| प्रभावित फ़ाइलें (पहला रन) | < 5 |
| प्रभावित फ़ाइलें (पुनः रन) | 0 |
| झूठी सकारात्मक दर | 0% (ट्यूनिंग के बाद) |
| अनुकूलता | NTFS / ReFS |
User-Mode
│
▼
Filter Manager (fltmgr.sys) ← Altitude 425342
│
▼
┌─────────────────────────────────────────────────────┐
│ KRATOS.SYS │
│ │
│ IRP_MJ_CREATE → Initializing contexts │
│ IRP_MJ_WRITE → Entropic analysis │
│ IRP_MJ_READ → R/W ratio counting │
│ IRP_MJ_SET_INFORMATION → Delete/Rename Detection │
│ │
│ RTL_AVL_TABLE → KS_PROCESS_CONTEXT per PID │
│ FLT_FILE_CONTEXT → Entropy + state per file │
└─────────────────────────────────────────────────────┘
│
▼
NTFS / ReFS
Kratos KS_IsValuableFile() का उपयोग करके मूल्यवान फ़ाइलों (.docx, .pdf, .jpg...) के विलोपन और सिस्टम/कैश फ़ाइलों के विलोपन के बीच अंतर करता है:
गणना पूर्व-गणना LUT (KratosEntropyLUT512) के माध्यम से — log2() के उपयोग से बचा जाता है, जो कर्नल मोड में उपलब्ध नहीं है। प्रति लेखन ऑपरेशन 512-बाइट नमूना।
.tmp फ़ाइल जिसकी एंट्रोपी ≥ 7.5/8 बिट्समुख्य नवाचार: दुर्भावनापूर्ण एक्सटेंशनों की ब्लैकलिस्ट के बजाय, Kratos वैध एक्सटेंशनों की श्वेतसूची का उपयोग करता है।
Original extension is valuable? YES
New extension is recognized? NO
→ SUSPECT — regardless of the extension chosen
यह दृष्टिकोण LockBit 3.0 (.xmjzh8q), BlackCat/ALPHV (यादृच्छिक) और किसी भी भविष्य के रैनसमवेयर का पता लगा सकता है जो अज्ञात एक्सटेंशन का उपयोग करता है।
ValuableDeleteCount > 10 → +10 pts
RenameToSuspicious > 2 → +40 pts
HighEntropyWrites > 3 → +40 pts
RansomNoteCreated → +60 pts
ShadowCopyDeleted → +75 pts
Score ≥ 60 → WARNING
Score ≥ 80 → CRITICAL + Kill + Blacklist
एक बार रैनसमवेयर का पता चलने पर, Kratos निष्पादन योग्य के पहले 4096 बाइट्स (PE हेडर + कोड की शुरुआत) पर इसके 64-बिट FNV-1a हैश की गणना करता है और इसे रजिस्ट्री में बनाए रखता है:
\Registry\Machine\SOFTWARE\Kratos\Blacklist
└── 1F81F13004B5B920 = "C:\Users\...\Hercule.exe"
हर बार जब कोई प्रक्रिया बनती है, ProcessNotifyCallback किसी भी निष्पादन से पहले ब्लैकलिस्ट की जांच करता है। प्रक्रिया को CreationStatus = STATUS_ACCESS_DENIED के माध्यम से अवरुद्ध किया जाता है।
नाम बदलने का प्रतिरोध: फ़ाइल नाम (Hercule-AES.exe, HERCUL~1.EXE, chrome.exe...) की परवाह किए बिना FNV-1a हैश समान है।
स्पूफिंग के खिलाफ सुरक्षा: श्वेतसूचीबद्ध प्रक्रियाओं को अपेक्षित नाम + पथ द्वारा मान्य किया जाता है:
chrome.exe + \Program Files\Google\Chrome\Application\ → Legitimate
chrome.exe + C:\Users\...\Desktop\ → IMPOSTOR
# Open KratosMinifilter.sln in Visual Studio
# Configuration: Debug or Release / x64
# Build → Build Solution
# On the target VM — enable test mode
bcdedit /set testsigning on
# Copy Kratos.sys and Kratos.inf
# Install via Device Manager or sc.exe
sc create Kratos type= kernel start= boot binPath= "C:\Kratos\Kratos.sys"
sc start Kratos
नाम बदलने के बाद वैध माने जाने वाले एक्सटेंशन को समायोजित करने के लिए KratosDetection.cpp में g_LegitExtensions[] को संशोधित करें।
अपेक्षित पथ के साथ वैध प्रक्रियाओं को जोड़ने के लिए g_TrustedProcesses[] को संशोधित करें:
{ "myapp.exe", L"\\Program Files\\MyApp\\" },
अपने वातावरण के अनुसार चेतावनी/गंभीर थ्रेशोल्ड को समायोजित करने के लिए KratosDetection.cpp में KS_EvaluateThreatScore() को संशोधित करें।
⚠️ यह ड्राइवर एक रक्षात्मक सुरक्षा अनुसंधान ढांचे के भीतर विकसित किया गया है।
- उपयोग कड़ाई से पृथक परीक्षण वातावरण (नेटवर्क पहुंच के बिना VM) के लिए आरक्षित है
- उत्पादन प्रणाली पर कोई भी परिनियोजन उपयोगकर्ता की एकमात्र जिम्मेदारी पर किया जाता है
- लेखक अनुचित उपयोग से होने वाली किसी भी क्षति के लिए सभी दायित्व को अस्वीकार करता है
- सुरक्षा प्रणालियों को बायपास करने के लिए बिना प्राधिकरण के इस ड्राइवर को संशोधित करना अवैध है