Rootkit
Rootkit คือมัลแวร์ที่ฝังตัวเองอยู่ลึกเข้าไปในระบบปฏิบัติการ (OS) และมีสามารถเข้าควบคุมระบบได้ทั้งหมด
บวกกับการซ่อนตัวเองอย่างแนบเนียนทำให้ OS มองว่าตัวมันคือส่วนองค์ประกอบหนึ่งในสารระบบและไม่สามารถตรวจพบได้ จากการหาใน task manager หรือ management tools ต่างๆ

เนื่องจากพวกมันชอบฝังตัวอยู่ใน level ring0 ในระดับ kernel หรือต่ำกว่านั้น ซึ่งในระดับ user ใช้งานจะอยู่ที่ ring3 ตามภาพด้านล่าง

Rootkit นอกจากการเข้าแทนที่ kernel OS, driver ใน OS, ยังสามารถแทรกซึม app library ได้อีกด้วย
ที่ใช้ชื่อว่า Rootkit เพราะว่าแรกเริ่มใน Unix OS ในส่วนของ user ที่มีสิทธิ์การเข้าถึงมากที่สุดมีชื่อว่า root แม้แต่ใน window ก็ยังใช้ชื่อ window rootkit ถึงแม้ไม่มีก็ตาม

ประเภทของ Rootkit

  1. Kernel rootkits ใช้วิธี hooking อยู่ในระดับเดียวกับ anti-rootkit ทำให้ตรวจจับได้ยาก
  • System Service Descriptor Table (SSDT)
  • Interrupt Descriptor Table (IDT)
  • Major Function Hooking
  • Runtime Patch
  • Layer Driver
  1. User rootkits ใช้จากโปรแกรมหรือ API โดยทั่วไปไม่ได้เข้าถึงระดับ kernel ส่วนใหญ่จะฝังตัวไว้ที่ address space
  • IAT hooking
  • Inline hooking
  1. Bootkits อยู่ขณะตอนเริ่มระบบปฏิบัติการ
  • MBR Hooking
  1. Firmware rootkits อยู่ระหว่าง software และ hardware
  • Bios (ลง window ใหม่ไม่หาย)
  •  

Rootkit ติดมาจากที่ไหน?

ก็ติดมาจาก Malware ต่างๆ ทุกช่องทางไม่ว่าจะเป็น phishing email หรือการโหลด software เถื่อนพวก crack ต่างๆ

วิธีการป้องกันและแก้ไข Rootkit?

  • การตรวจสอบป้องกันอาจจะเช็คจากไฟล์ DLL ขนาดของไฟล์, ชื่อไฟล์, หรือการเปลี่ยนแปลงของค่า hash เป็นต้น
  • การ monitor ตรวจสอบโดยใช้ security tools อย่าง host-based intrusion detection system (HIDS) เป็นต้น
  • การใช้โปรแกรม rootkit removal เพื่อทำการตรวจจับ สแกนหาเช่น chkrootkit, rkhunter, OSSEC, GMER และ Tripwire

Ref:

https://www.comparitech.com/antivirus/best-free-rootkit-removal-scanner/#5_free_rootkit_removal_detection_and_scanner_programs

https://attack.mitre.org/techniques/T0851/

http://isyou.info/jisis/vol2/no34/jisis-2012-vol2-no34-12.pdf