Dr.Semu ดำเนินการในสภาพแวดล้อมที่แยกได้ตรวจสอบพฤติกรรมของกระบวนการและขึ้นอยู่กับกฎของ Dr.Semu ที่คุณหรือชุมชนตรวจพบว่ากระบวนการนั้นเป็นอันตรายหรือไม่

[เครื่องมืออยู่ในช่วงเริ่มต้นการพัฒนา]
ด้วย Dr.Semu คุณสามารถสร้างกฎเพื่อตรวจจับมัลแวร์ตามพฤติกรรมแบบไดนามิกของกระบวนการ
ทุกอย่างเกิดขึ้นจากโหมดผู้ใช้ Windows Projected System (PROJFS) ใช้เพื่อให้ระบบไฟล์ virtual สำหรับการเปลี่ยนเส้นทางรีจิสทรีมันโคลนลมพิษทั้งหมดไปยังสถานที่ใหม่และเปลี่ยนเส้นทางการเข้าถึงรีจิสทรีทั้งหมด
ดูซอร์สโค้ดสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนเส้นทางอื่น ๆ (การแยกกระบวนการ/วัตถุ ฯลฯ )
Dr.Semu ใช้ Dynamorio (แพลตฟอร์มเครื่องมือเครื่องมือวัดพลวัต) เพื่อสกัดกั้นเธรดเมื่อกำลังจะข้ามสายเคิร์นเนลของผู้ใช้ มันมีเอฟเฟกต์เช่นเดียวกับการเชื่อม SSDT แต่มาจากโหมดผู้ใช้และโดยไม่ต้องเชื่อมต่ออะไรเลย
ในขั้นตอนนี้ Dr.Semu ผลิตไฟล์ JSON ซึ่งมีข้อมูลจากการสกัดกั้น
หลังจากยกเลิกกระบวนการตามกฎของ Dr.Semu เราจะได้รับหากตรวจพบการทำงานเป็นมัลแวร์หรือไม่
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
ดาวน์โหลดและแยกไฟล์ zip จากหน้า releases
ดาวน์โหลด DynamoRIO และ Extract ลงในโฟลเดอร์ 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 และ Extract ลงในโฟลเดอร์ bin และเปลี่ยนชื่อเป็น dynamorio
สร้าง pe-parser-library.lib Library:
DrSemushared_libspe_parse โดยใช้ cmake-guibuild ( shared_libspe_parsebuildpe-parser-libraryRelease ) และ 64- บิตหนึ่งภายใต้ build64Multi-threaded ( /MT ) ตั้งค่า LauncherCLI เป็นโครงการเริ่มต้น
Windows 10 , เวอร์ชัน 1809 (เนื่องจาก Windows Projected File System )Windows 10 , เวอร์ชัน 1809 ( DynamoRIO รองรับเวอร์ชัน Windows 10 จนถึง 1809 )