
DrSemu - डायनामिक व्यवहार आधारित सैंडबॉक्स्ड मैलवेयर पहचान और वर्गीकरण उपकरण
Dr.Semu एक पृथक वातावरण में निष्पादन योग्य फ़ाइलों को चलाता है, एक प्रक्रिया के व्यवहार की निगरानी करता है, और आपके या समुदाय द्वारा बनाए गए Dr.Semu नियमों के आधार पर पता लगाता है कि प्रक्रिया दुर्भावनापूर्ण है या नहीं।

[यह उपकरण विकास के प्रारंभिक चरण में है]
Dr.Semu के साथ आप एक प्रक्रिया के गतिशील व्यवहार के आधार पर मैलवेयर का पता लगाने के लिए नियम बना सकते हैं।
सब कुछ यूज़र-मोड से होता है। एक आभासी फ़ाइल सिस्टम प्रदान करने के लिए विंडोज प्रोजेक्टेड फ़ाइल सिस्टम (ProjFS) का उपयोग किया जाता है। रजिस्ट्री पुनर्निर्देशन के लिए, यह सभी रजिस्ट्री हाइव्स को एक नए स्थान पर क्लोन करता है और सभी रजिस्ट्री एक्सेस को पुनर्निर्देशित करता है।
अन्य पुनर्निर्देशन (प्रक्रिया/ऑब्जेक्ट अलगाव, आदि) के बारे में अधिक जानकारी के लिए स्रोत कोड देखें।
Dr.Semu एक थ्रेड को इंटरसेप्ट करने के लिए DynamoRIO (डायनेमिक इंस्ट्रुमेंटेशन टूल प्लेटफ़ॉर्म) का उपयोग करता है जब वह यूज़र-कर्नेल लाइन को पार करने वाला होता है। इसका प्रभाव SSDT को हुक करने के समान होता है, लेकिन यूज़र-मोड से और बिना कुछ हुक किए।
इस चरण में, Dr.Semu एक JSON फ़ाइल उत्पन्न करता है, जिसमें इंटरसेप्शन से प्राप्त जानकारी होती है।
प्रक्रिया समाप्त होने के बाद, Dr.Semu नियमों के आधार पर हमें पता चलता है कि निष्पादन योग्य फ़ाइल मैलवेयर के रूप में पहचानी गई है या नहीं।
ये Python या LUA में लिखे गए हैं (dr_rules के अंतर्गत स्थित) और इंटरसेप्शन से प्राप्त गतिशील जानकारी और नमूने के बारे में स्थिर जानकारी का उपयोग करते हैं। अन्य भाषाओं का समर्थन जोड़ना सरल है।

उदाहरण (Python): https://gist.github.com/secrary/ac89321b8a7bde998a6e3139be49eb72
उदाहरण (Lua): https://gist.github.com/secrary/e16daf698d466136229dc417d7dbcfa3
PowerShell विंडो में ProjFS को सक्षम करने के लिए PowerShell का उपयोग करें:Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
रिलीज़ पेज से एक ज़िप फ़ाइल डाउनलोड और निकालें
DynamoRIO डाउनलोड करें और DrSemu फ़ोल्डर में निकालें तथा dynamorio नाम दें
Python 3 x64 स्थापित करें
DrSemu.exe --target file_path
DrSemu.exe --target files_directory
PowerShell विंडो में ProjFS को सक्षम करने के लिए PowerShell का उपयोग करें:Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
Python 3 x64 स्थापित करें
DynamoRIO डाउनलोड करें और bin फ़ोल्डर में निकालें तथा dynamorio नाम दें
pe-parser-library.lib लाइब्रेरी बनाएं:
DrSemu\shared_libs\pe_parse से VS प्रोजेक्ट उत्पन्न करेंbuild के अंतर्गत 32-बिट लाइब्रेरी (\shared_libs\pe_parse\build\pe-parser-library\Release\) और build64 के अंतर्गत 64-बिट लाइब्रेरी बनाएंMulti-threaded (/MT) पर बदलेंLauncherCLI को स्टार्टअप प्रोजेक्ट के रूप में सेट करें
Windows 10, संस्करण 1809 (Windows Projected File System के कारण)Windows 10, संस्करण 1809 (DynamoRIO Windows 10 संस्करणों को 1809 तक समर्थन करता है)