RootkitRevealer คืออะไร: มันทำงานอย่างไร วิธีใช้ และสัญญาณของรูทคิท

การปรับปรุงครั้งล่าสุด: 22 2025 กันยายน
  • RootkitRevealer ตรวจจับความแตกต่างระหว่าง Windows API และข้อมูลดิบเพื่อเปิดเผยปัญหาที่ซ่อนอยู่
  • ตีความผลลัพธ์: เมตาดาต้า NTFS, รีจิสทรี และประเภทความคลาดเคลื่อนของระบบไฟล์
  • ใช้ตัวเลือก -a -c -m -r และการดำเนินการระยะไกลกับ PsExec ซึ่งต้องใช้ผลบวกปลอมน้อยที่สุดเมื่อระบบไม่ได้ใช้งาน
  • การป้องกันและการตอบสนอง: การบูตอย่างปลอดภัย/TPM การสแกนแบบออฟไลน์ เครื่องมือป้องกันรูทคิท และการคืนค่าแบบควบคุม

เครื่องตรวจจับรูทคิทใน Windows

RootkitRevealer เป็นหนึ่งในยูทิลิตี้ระดับตำนานที่ผู้เชี่ยวชาญด้าน Windows ทุกคนควรรู้จัก โปรแกรมนี้สร้างขึ้นโดยทีม Sysinternals โดยมี Mark Russinovich เป็นหัวหน้าทีม และถึงแม้ว่าจะออกมาหลายปีแล้ว แต่ก็ยังคงเป็นเครื่องมืออ้างอิงในการทำความเข้าใจวิธีการตรวจจับความไม่สอดคล้องกันที่เกิดจากรูทคิตระหว่างสิ่งที่ระบบแสดงกับสิ่งที่อยู่บนดิสก์จริง

แตกต่างจากโปรแกรมสแกนอื่นๆ โปรแกรมนี้ไม่ได้มองหาลายเซ็นหรือรูปแบบ แต่จะเปรียบเทียบมุมมองระดับสูงของ Windows API กับการอ่านข้อมูลดิบระดับต่ำจากดิสก์และรีจิสทรี แนวคิดที่ดูเรียบง่ายนี้ช่วยเปิดเผยเมื่อมัลแวร์พยายามซ่อนไฟล์ คีย์ หรือค่าต่างๆโดยการเปลี่ยนแปลงการเรียกใช้ระบบ

RootkitRevealer คืออะไร และทำงานบนระบบใดบ้าง?

นี่คือเครื่องมือขั้นสูงสำหรับตรวจจับสัญญาณของรูทคิตทั้งในโหมดผู้ใช้และโหมดเคอร์เนลเดิมทีพัฒนาขึ้นสำหรับ Windows XP และ Windows Server 2003 (32 บิต) และโดยทั่วไปมักระบุว่าเป็นโปรแกรมฟรี มีภาษาอังกฤษ และมีขนาดประมาณ 231 กิโลไบต์ หลายรายการยังระบุว่าสามารถใช้งานร่วมกับ Windows NT/2000/XP/Vista ได้ในขณะนั้นด้วย

เมื่อเวลาผ่านไป เวอร์ชันที่ใช้คำสั่งบรรทัดอย่างเดียวถูกกำจัดออกไป เนื่องจากผู้เขียนมัลแวร์บางรายเริ่มตรวจสอบชื่อไฟล์ปฏิบัติการ เพื่อหลีกเลี่ยงปัญหานี้ โปรแกรมจึงถูกเรียกใช้งานในรูปแบบบริการจากสำเนาของตัวเองที่มีชื่อแบบสุ่ม ทำให้การตรวจจับด้วยชื่อทำได้ยากขึ้น และทำให้การให้บริการอินเทอร์เฟซคอนโซลแบบ 100% ซับซ้อน ขึ้น

รูทคิทคืออะไร แนวคิดหลัก

คำว่า รูทคิต (rootkit) หมายถึง เทคนิคและกลไกที่ช่วยให้มัลแวร์ (ไวรัส โทรจัน สปายแวร์ ฯลฯ) ซ่อนตัวจากผู้ใช้และเครื่องมือรักษาความปลอดภัยได้มีการแบ่งออกเป็นหลายประเภท ได้แก่ แบบถาวร (ยังคงอยู่หลังรีบูตเครื่อง) แบบอยู่ในหน่วยความจำ (หายไปเมื่อรีบูตเครื่อง) แบบโหมดผู้ใช้ และแบบโหมดเคอร์เนล รวมถึงรูปแบบอื่นๆ ที่ทันสมัยกว่า

รูทคิตในโหมดผู้ใช้สามารถดักจับฟังก์ชันต่างๆ เช่น FindFirstFile/FindNextFile หรือตัวนับข้อมูลพื้นฐานของระบบ เพื่อกรองรายการที่จะเปิดเผยไฟล์ กระบวนการ หรือคีย์รีจิสทรีที่ถูกแก้ไขซึ่งจะป้องกันไม่ให้ Explorer, พรอมต์คำสั่ง หรือโปรแกรมแก้ไขรีจิสทรีเห็นสิ่งที่มีอยู่จริง

รูทคิตในโหมดเคอร์เนลนั้นทำได้มากกว่านั้น: นอกจากการดักจับ API ดั้งเดิมแล้ว พวกมันยังสามารถจัดการโครงสร้างเคอร์เนลได้โดยตรง ตัวอย่างเช่น โดยการลบกระบวนการของพวกมันออกจากรายการกระบวนการที่ทำงานอยู่ เพื่อไม่ให้ปรากฏในตัวจัดการงานหรือตัวสำรวจกระบวนการแม้ว่ามันจะกำลังทำงานอยู่ก็ตาม

มีบูตโหลดเดอร์หลายประเภท ได้แก่ บูตโหลดเดอร์แบบไฮบริด (ส่วนหนึ่งขึ้นอยู่กับผู้ใช้และอีกส่วนหนึ่งขึ้นอยู่กับเคอร์เนล), เฟิร์มแวร์ (BIOS/UEFI และส่วนประกอบอื่นๆ), บูตคิท (MBR/UEFI), บูตโหลดเดอร์เสมือน (ซึ่งวางระบบปฏิบัติการจริงไว้ภายในเครื่องเสมือน) และบูตโหลดเดอร์แบบใช้หน่วยความจำ (ไม่คงอยู่ถาวร) บูตโหลดเดอร์แบบหลังอาจหาได้ยากเป็นพิเศษ ในขณะที่เฟิร์มแวร์และบูตโหลดเดอร์จะยังคงอยู่แม้หลังจาก การติด ตั้งระบบปฏิบัติการใหม่ทั้งหมด

RootkitRevealer ทำงานอย่างไร

RKR เปรียบเทียบภาพรวมสองแบบ: มุมมองระดับสูงของ Windows API และการอ่านข้อมูลดิบระดับต่ำของไฟล์โครงสร้างย่อยของไดรฟ์และรีจิสทรี (hives) หากรูทคิตทำการแก้ไขการเรียกใช้ระดับสูงเพื่อซ่อนบางสิ่ง การเปลี่ยนแปลงนี้จะถูกเปิดเผยเนื่องจากสิ่งที่อยู่บนดิสก์และในรีจิสทรีไม่ตรงกับสิ่งที่ API ระบุไว้ ทำให้เกิดความคลาดเคลื่อนที่สามารถวินิจฉัยได้

ในทางทฤษฎี รูทคิตอาจพยายามซ่อนตัวจาก RootkitRevealer โดยการดักจับการอ่านข้อมูลดิบและเขียนทับข้อมูลแบบเรียลไทม์ เพื่อให้บรรลุเป้าหมายนี้ รูทคิตจำเป็นต้องมีความรู้เชิงลึกเกี่ยวกับรูปแบบ NTFS, FAT และ Registry และสามารถแก้ไขโครงสร้างโดยไม่ก่อให้เกิดความไม่สอดคล้องกันหรือผลข้างเคียงที่เห็นได้ชัด ซึ่งเป็นความสามารถทางเทคนิคที่ซับซ้อนมากและพบเห็นได้ยาก ถึงกระนั้น ก็ไม่มี "ตัวตรวจจับสากล" ที่สมบูรณ์แบบ: แม้แต่การบูตจากสภาพแวดล้อมภายนอก (เช่น การใช้ระบบปฏิบัติการ Linux ที่ดีที่สุด ) ก็อาจถูกโจมตีโดย สิ่งประดิษฐ์ ที่ซับซ้อนและคงอยู่ยาวนาน เป็นพิเศษ ในทางปฏิบัติ วิธีการที่แข็งแกร่งที่สุดคือการผสมผสานการวิเคราะห์ออนไลน์กับการตรวจสอบแบบออฟไลน์ในสภาพแวดล้อมที่เชื่อถือได้

  วิธีเปิดใช้งานฟีเจอร์ลับของ Windows 11 ก่อนใคร

ข้อกำหนด แนวทางปฏิบัติที่ดี และการดำเนินการ

ในการเรียกใช้การสแกนนี้ บัญชีผู้ใช้จำเป็นต้องมีสิทธิ์ "สำรองไฟล์และไดเร็กทอรี" "โหลดไดรเวอร์" และ "การบำรุงรักษาไดรฟ์" (สิทธิ์เหล่านี้จะได้รับโดยอัตโนมัติสำหรับผู้ดูแลระบบใน Windows XP และเวอร์ชันที่ใหม่กว่า) เพื่อลดโอกาสเกิดผลลัพธ์ที่ผิดพลาด ขอแนะนำให้เรียกใช้การสแกนในขณะที่ระบบอยู่ในสถานะพักและไม่มีแอปพลิเคชันใดเปิดอยู่

ในการใช้งานแบบแมนนวล เพียงแค่กดปุ่มสแกน ในระหว่างกระบวนการ โปรแกรมจะแสดงความคืบหน้าและแสดงรายการความผิดปกติใดๆ มีสองตัวเลือกที่เกี่ยวข้อง ได้แก่ “ซ่อนไฟล์เมตาเดตา NTFS” (เปิดใช้งานโดยค่าเริ่มต้น เพื่อหลีกเลี่ยงการแสดงเมตาเดตามาตรฐานที่ซ่อนไว้โดย NTFS) และ “บันทึกการสแกน” (เปิดใช้งานโดยค่าเริ่มต้น การยกเลิกการเลือกจะข้ามการสแกนรีจิสทรีของ Windows )

สำหรับการทำงานอัตโนมัติ รองรับพารามิเตอร์ที่ให้คุณเริ่มระบบ เข้าสู่ระบบ และออกโดยไม่ต้องมีการแทรกแซง: rootkitrevealer outputfile]. ทางเลือก -a เริ่มและสิ้นสุดโดยอัตโนมัติ; -c ส่งออกผลลัพธ์เป็น CSV; -m แสดงข้อมูลเมตาของ NTFS และ -r ปิดใช้งานการสแกนรีจิสทรี ไฟล์เอาต์พุตต้องอยู่ในรูปแบบ ปริมาณข้อมูลท้องถิ่นที่เข้าถึงได้.

สามารถดำเนินการระยะไกลได้ด้วย PsExec ตัวอย่างเช่น: psexec \\remote -c rootkitrevealer.exe -a c:\windows\system32\rootkit.log. กับ -c, ไม่แสดงความคืบหน้าและความคลาดเคลื่อนจะพิมพ์เป็น CSV ทำให้นำเข้าได้ง่ายขึ้น ในฐานข้อมูลหรือสคริปต์.

การตีความผลลัพธ์และความคลาดเคลื่อนทั่วไป

ข้อผิดพลาด "ซ่อนจาก Windows API" เป็นสิ่งที่พบได้บ่อยที่สุดเมื่อรูทคิตซ่อนข้อมูล หากคุณไม่ได้เปิดใช้งานการแสดงเมตาเดตาของ NTFS คุณจะเห็นความแตกต่างเนื่องจาก NTFS ซ่อนไฟล์ภายใน เช่น$MFT หรือ $Secure จาก API โปรแกรมป้องกันไวรัสบางโปรแกรมก็จัดเก็บข้อมูลในสตรีมทางเลือกและซ่อนไว้ ทำให้เกิดข้อผิดพลาดที่คล้ายกัน

นี่คือเมตาเดตามาตรฐานบางส่วนที่กำหนดไว้ใน NTFS (Windows Server 2003): $AttrDef, $BadClus, $BadClus:$Bad, $BitMap, $Boot, $LogFile, $Mft, $MftMirr, $Secure, $UpCase, $Volume, $Extend, $Extend\$Reparse, $Extend\$ObjId, $Extend\$UsnJrnl, $Extend\$UsnJrnl:$Max, $Extend\$ Quota

RKR เชื่อมโยงแหล่งข้อมูลสามแหล่งในระบบไฟล์ ได้แก่ Windows API, Master File Table (MFT) และดัชนีไดเร็กทอรีบนดิสก์ อาจพบข้อความแสดงความไม่สอดคล้องกันชั่วคราว เช่น "มองเห็นได้ใน API แต่มองไม่เห็นในดัชนีหรือ MFT" หรือ "มองเห็นได้ใน MFT แต่มองไม่เห็นใน API " เป็นต้น

ตัวอย่างการสร้างระหว่างการสแกน: C:\newfile.txtขนาด 8 ไบต์ พร้อมข้อความ “มองเห็นได้ใน API แต่ไม่ปรากฏในดัชนีหรือ MFT” กรณีเหล่านี้ไม่ได้บ่งชี้ถึงรูทคิทเสมอไป แต่บ่งชี้ถึง การเปลี่ยนแปลงที่เกิดขึ้นพร้อมกัน ขณะที่กำลังถูกตรวจสอบ

หากข้อความ "Access denied" ปรากฏขึ้น แสดงว่ามีบางอย่างผิดปกติ: RootkitRevealer ใช้กลไกในการเข้าถึงไฟล์ ไดเร็กทอรี หรือคีย์ใดๆ ดังนั้นข้อความดังกล่าวไม่ควรปรากฏขึ้นภายใต้ สภาวะการ ทำงานปกติ

ในรีจิสทรี มีความผิดปกติที่น่าสนใจหลายประการ ได้แก่ “ความยาวของ Windows API ไม่สอดคล้องกับข้อมูลดิบ” (อาจเป็นการพยายามซ่อนเนื้อหาจริง) “ประเภทไม่ตรงกัน” (เช่น มีการแสดง REG_SZ แต่ควรจะเป็น REG_BINARY) และ “ชื่อคีย์มีค่า NULL ฝังอยู่” (เทคนิคที่รู้จักกันดีซึ่งใช้ประโยชน์จากความแตกต่างระหว่างสตริงที่ลงท้ายด้วย NULL และสตริงที่มีจำนวนนับ) สำหรับกรณีสุดท้ายนี้ ยูทิลิตี้ RegDelNull ของ Sysinternalsช่วยในการล้างคีย์ที่มีค่า NULL ฝังอยู่

“ข้อมูลไม่ตรงกัน” อาจเกิดขึ้นได้หากค่ามีการเปลี่ยนแปลงในระหว่างการสแกน (เช่น เวลาทำงานของ SQL Server เช่น HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\RECOVERYMANAGER\MSSQLServer\uptime_time_utc). คุณต้องตรวจสอบว่าค่านั้นเป็นของ ส่วนประกอบที่ถูกต้องตามกฎหมาย ที่อัปเดตข้อมูลแบบเรียลไทม์

ตัวอย่างที่เห็นได้ชัดคือ รูทคิต HackerDefender: บริการและไดรเวอร์ของมันมองไม่เห็นโดย Windows API แต่ปรากฏอยู่ในการอ่านข้อมูลดิบของรีจิสทรี และไฟล์ของมันก็เช่นกัน ซึ่งการวิเคราะห์ระบบไฟล์โดยตรงสามารถตรวจพบได้บนดิสก์

ข้อผิดพลาดและปัญหาทั่วไปกับ rootkitrevealer.exe ในสภาพแวดล้อมทางนิติวิทยาศาสตร์

ชุดเครื่องมือทางนิติวิทยาศาสตร์บางชุด (เช่น WinTaylor) จะแสดงข้อผิดพลาดทั่วไปที่เกี่ยวข้องกับrootkitrevealer.exeเช่น “ไม่ใช่แอปพลิเคชัน Win32 ที่ถูกต้อง” “ไม่พบ” “ข้อผิดพลาดของแอปพลิเคชัน” หรือ “ปัญหาในการเริ่มต้นระบบ” ข้อความเหล่านี้มักเกิดขึ้นระหว่างการติดตั้งระบบ การเริ่มต้นระบบ หรือการปิดระบบ หรือเนื่องจากความขัดแย้งกับแอปพลิเคชันอื่นๆ ที่ติดตั้งอยู่ภายในระบบ

สาเหตุที่พบบ่อยที่สุด ได้แก่ ไฟล์เสียหายหรือสูญหาย รายการรีจิสทรีไม่ถูกต้อง การติดมัลแวร์ การถอนการติดตั้งไม่สมบูรณ์ หรือความขัดแย้งกับซอฟต์แวร์อื่น แหล่งที่มาอาจมาจากรายการรีจิสทรีที่เสียหาย การลบโดยไม่ได้ตั้งใจจากเครื่องมืออื่น การดาวน์โหลดล้มเหลว หรือการติดไวรัสก่อนหน้านี้ที่เปลี่ยนแปลงไฟล์ไบนารี

  เคล็ดลับสำคัญในการกำหนดค่าส่วนประกอบพีซีและใช้งานให้เกิดประโยชน์สูงสุด

เพื่อความน่าสนใจของสินค้าคงคลัง รายการบางรายการแสดงไฟล์ปฏิบัติการที่มีขนาดประมาณ 334.720 ไบต์และ แฮชเช่น SHA‑1 และ MD5 (เช่น SHA‑1 d39e8a3fe92adc7d7fbc5293edf8a7b965484a59, เอ็มดี5 ee738fe9bcdd605821002cec8c7206db) และ CRC32 98b1af0b; พวกเขายังอ้างถึง เวอร์ชัน 2.1 ในแอปคอนเทนเนอร์ และหมวดหมู่ “ชุดเครื่องมือนิติวิทยาศาสตร์/ระบบปฏิบัติการ”

วิธีการตรวจจับและตอบสนองรูทคิท

การตรวจจับรูทคิตไม่ใช่เรื่องง่ายเสมอไป นอกเหนือจากเครื่องมือเฉพาะแล้ว เทคนิคต่างๆ เช่น การวิเคราะห์ลายเซ็นของภัยคุกคามที่รู้จัก การเปรียบเทียบโครงสร้างแบบเย็น การค้นหาหน่วยความจำเพื่อหาฮุกและการเปลี่ยนแปลง และการตรวจสอบหน่วยความจำที่ดัมพ์หลังจากระบบล่ม จะถูกนำมาใช้ร่วมกันเพื่อระบุโมดูลที่น่าสงสัยนอกจากนี้ยังนิยมใช้ระบบป้องกันการบุกรุก (IPS)เพื่อปกป้องเครือข่ายและลดช่องทางการติดเชื้อด้วย

โปรแกรมยูทิลิตี้เฉพาะทาง ได้แก่ GMER (สำหรับตรวจจับกระบวนการที่ซ่อนอยู่และการเปลี่ยนแปลงเคอร์เนล), Kaspersky TDSSKiller (โดยเฉพาะอย่างยิ่งสำหรับการตรวจจับบูทคิตและรูทคิตเคอร์เนล), Malwarebytes Anti-Rootkit, Microsoft Defender Offline (สำหรับการสแกนก่อนที่ Windows จะเริ่มทำงาน) และ RogueKiller การเรียกใช้โปรแกรมเหล่านี้จาก ไดรฟ์ USB ที่เชื่อถือได้และสามารถบูตได้หรือใน Safe Mode จะช่วยลดความเสี่ยงจากการถูกโจมตี

สำหรับภัยคุกคามจากการบูตหรือเฟิร์มแวร์ ขอแนะนำให้ใช้สื่อกู้คืน เช่น Kaspersky Rescue Disk คืนค่า MBR ด้วย bootrec /fixmbr หากเหมาะสมและในกรณีร้ายแรง ให้อัพเดต/แฟลช BIOS/UEFI เป็นเวอร์ชันใหม่จากผู้ผลิตเพื่อกำจัด ความคงอยู่ระดับต่ำ.

การตรวจสอบด้วย Sysinternals นั้นมีคุณค่าอย่างยิ่ง: Process Monitor (ProcMon) สำหรับตรวจสอบกิจกรรมของกระบวนการและไฟล์, Autoruns สำหรับตรวจสอบสิ่งที่โหลดเมื่อเริ่มต้นระบบ และRootkitRevealerสำหรับตรวจสอบความผิดปกติในระดับสูง/ต่ำแพลตฟอร์ม SIEM เช่น Wazuhและระบบ telemetry ในสภาพแวดล้อมระดับองค์กรสามารถเปิดเผยพฤติกรรมเครือข่ายที่ไม่คาดคิดหรือการเปลี่ยนแปลงความสมบูรณ์ของข้อมูลได้

หากตรวจพบการติดเชื้อ ลำดับขั้นตอนที่เหมาะสมคือ: ถอดเครื่องออกจากเครือข่าย สแกนจากสภาพแวดล้อมภายนอก ตรวจสอบความสมบูรณ์ของระบบบูต/เฟิร์มแวร์ และหากไม่มีวิธีรับประกัน ให้สำรองข้อมูล ทำความสะอาดดิสก์อย่างสมบูรณ์ (โดยใช้เครื่องมือเช่น DBAN) และติดตั้งระบบใหม่จากสื่อที่ได้รับการตรวจสอบแล้ว จากนั้นเปิดใช้งานมาตรการต่างๆ เช่นSecure Boot และ TPM

การป้องกัน: การป้องกันที่เหมาะสมต่อรูทคิท

การป้องกันเป็นสิ่งสำคัญที่สุด หมั่นอัปเดตระบบของคุณอยู่เสมอ ติดตั้งแพทช์สำหรับซอฟต์แวร์จากผู้ผลิตรายอื่น หลีกเลี่ยงไฟล์ปฏิบัติการจากแหล่งที่ไม่น่าเชื่อถือ และอย่าใช้โปรแกรมแคร็กหรือคีย์เจน เพราะเป็นช่องทางที่นิยมใช้ในการติดตั้งรูทคิตดรอปเปอร์และตัวโหลด โปรแกรม

ปิดใช้งานการทำงานอัตโนมัติของ USB สแกนไดรฟ์ภายนอกก่อนเปิดใช้งาน และในสภาพแวดล้อมระดับองค์กร ให้จำกัดหรือบล็อกพอร์ตและใช้ไฟร์วอลล์ตามความเหมาะสม ทำงานกับบัญชีผู้ใช้ที่ไม่ได้รับสิทธิ์พิเศษ ใช้หลักการให้สิทธิ์ขั้นต่ำ และกำหนดให้ต้องใช้ข้อมูลรับรองของผู้ดูแลระบบสำหรับการเปลี่ยนแปลงที่สำคัญ เพื่อลดโอกาสการยกระดับสิทธิ์โดยไม่แจ้งให้ทราบล่วงหน้า

บนฮาร์ดแวร์ที่รองรับ ให้เปิดใช้งานSecure Bootและ TPM จาก UEFI เพื่อปกป้องลำดับการบูตและการผนึกคีย์ ควรทำการสำรองข้อมูลแบบออฟไลน์หรือแบบถาวรเป็นประจำ และใช้สแนปช็อต/จุดคืนค่าเพื่อลดเวลาในการกู้คืนหากเกิด ปัญหา ขึ้น

วิธีการติดตั้งรูทคิท: ดรอปเปอร์ โหลดเดอร์ และเวกเตอร์

โดยทั่วไป ผู้โจมตีจะเผยแพร่รูทคิตในรูปแบบของภัยคุกคามแบบผสมผสาน: "ดรอปเปอร์" ที่ส่งแพ็กเกจ และ "โหลดเดอร์" ที่ใช้ประโยชน์จากช่องโหว่ (เช่น บัฟเฟอร์โอเวอร์โฟลว์) เพื่อฝังมัลแวร์ในตำแหน่งที่ไม่ควรอยู่ โดยจะปลอมแปลงมาในรูปแบบอีเมลฟิชชิ่งโปรแกรมติดตั้งปลอม หรือการอัปเดตหลอกลวง

วิธีการโจมตีแบบคลาสสิก ได้แก่ การแฮ็กโปรแกรมรับส่งข้อความเพื่อแพร่กระจายลิงก์ที่เป็นอันตราย การใส่มัลแวร์ประเภทโทรจันลงในพอร์ทัลดาวน์โหลด การใช้มัลแวร์อื่นเป็นพาหะ และการฝังมัลแวร์ไว้ในเอกสารที่มีเนื้อหาหลากหลาย (เช่น ไฟล์ PDF บางประเภท) ซึ่งเมื่อเปิดแล้ว จะทำให้โปรแกรมปล่อยมั ลแวร์ทำงานโดยอัตโนมัติ

สัญญาณการโจมตีและเบาะแสการตรวจจับ

เป้าหมายของรูทคิตคือการซ่อนตัวไม่ให้ถูกตรวจพบ ถึงกระนั้น คุณอาจสังเกตเห็นการเปลี่ยนแปลงการตั้งค่าโดยที่ผู้ใช้ไม่ได้เข้าไปแทรกแซง การหยุดชะงักของเครือข่ายที่ผิดปกติเนื่องจากปริมาณการรับส่งข้อมูลที่ซ่อนอยู่ กระบวนการที่ไม่รู้จัก บริการที่ไม่สามารถปิดได้ และเครื่องมือรักษาความปลอดภัยที่ถูกปิดใช้งานโดยไม่มีคำอธิบาย

อีกหนึ่งเบาะแสคือข้อมูลที่ขัดแย้งกันระหว่างยูทิลิตี้ที่แสดงรายการไฟล์ กระบวนการ หรือคีย์รีจิสทรีโดยใช้เส้นทางที่แตกต่างกัน (API เทียบกับการอ่านข้อมูลดิบ) นี่คือจุดที่วิธีการอย่าง RootkitRevealer โดดเด่น: วัตถุเดียวกันที่ "มี" อยู่ในดิสก์ แต่ "ไม่มี" ตาม API ชี้ให้เห็นถึงการดัดแปลงแก้ไข

  คู่มือฉบับสมบูรณ์เกี่ยวกับการรักษาความปลอดภัยทางกายภาพสำหรับอุปกรณ์คอมพิวเตอร์

ประเภทหลักของรูทคิท

โหมดผู้ใช้:โหมดนี้ทำงานในระดับกระบวนการและไลบรารี มีความเสถียรกว่าและตรวจจับได้ง่ายกว่า แม้ว่าจะสามารถซ่อนไฟล์ กระบวนการ และคีย์ได้ก็ตาม ตัวอย่างคลาสสิกในอดีตคือHackerDefender

โหมดเคอร์เนล: ไวรัสเหล่านี้อาศัยอยู่ในเคอร์เนล ควบคุมได้อย่างสมบูรณ์และซ่อนตัวได้อย่างแนบเนียน กำจัดได้ยาก และมักก่อให้เกิดความไม่เสถียรหากได้รับการออกแบบไม่ดี ตัวอย่างของตระกูลนี้ ได้แก่TDL/Alureonในช่วงวิวัฒนาการ

ระบบไฮบริด:ผสมผสานส่วนประกอบของผู้ใช้และส่วนประกอบของเคอร์เนลเข้าด้วยกันเพื่อสร้างสมดุลระหว่างการปกปิดและความเสถียร ส่งผลให้เป็นที่นิยมในหมู่นักโจมตีเนื่องจากความอเนกประสงค์ที่ใช้งานได้จริง

เฟิร์มแวร์/บูทคิท:สิ่งเหล่านี้จะแทรกซึมเข้าไปใน BIOS/UEFI หรือเซกเตอร์บูต (MBR/UEFI) เพื่อโหลดก่อนระบบปฏิบัติการ เทคโนโลยีอย่าง Secure Boot ทำให้บูทคิทแบบคลาสสิกหลายตัวล้าสมัยไปแล้ว แต่โปรแกรมฝังตัว UEFI สมัยใหม่ก็เกิดขึ้นมาเช่น กัน

แบบเสมือนและแบบใช้หน่วยความจำ: VMBR จะโหลดไฮเปอร์ไวเซอร์ไว้ใต้ระบบปฏิบัติการและจำลองเสมือนขึ้นมา ในขณะที่แบบใช้หน่วยความจำจะอยู่เฉพาะใน RAM และจะหายไปเมื่อรีบูต ซึ่งมีประโยชน์มากสำหรับ การดำเนิน การชั่วคราว

ตัวอย่างและลำดับเหตุการณ์ที่เน้น

รูทคิตตัวแรกสำหรับ SunOS ถูกพัฒนาขึ้นในช่วงทศวรรษ 90 ในปี 1999 Greg Hoglund ได้อธิบายถึง NTRootkit (Windows โหมดเคอร์เนล) และในปี 2003 HackerDefender (Windows 2000/XP โหมดผู้ใช้) ก็ถือกำเนิดขึ้น ซึ่งกระตุ้นให้เกิด "สงครามแย่งชิง" กับเครื่องมือต่างๆ เช่น RootkitRevealer

ในปี 2004 เหตุการณ์ที่เรียกกันว่า "วอเตอร์เกตแห่งกรีก" ใช้รูทคิตในการแฮ็กโทรศัพท์มากกว่า 100 เครื่องบนเครือข่าย GSM และในปี 2005 มีการค้นพบว่าSony BMGได้ใส่รูทคิตป้องกันการละเมิดลิขสิทธิ์ไว้ในซีดีบางแผ่น ทำให้เกิดข้อถกเถียงด้านความปลอดภัยครั้งใหญ่

นับตั้งแต่ปี 2008 บูทคิทอย่าง TDL (TDL-1 ถึง TDL-4) ได้มีการพัฒนาขึ้น ในปี 2009 “Machiavelli” ได้พิสูจน์ให้เห็นว่า macOS (ในขณะนั้นคือ Mac OS X) ก็ไม่ปลอดภัยเช่นกัน และในปี 2010 Stuxnetได้ใช้ส่วนประกอบของรูทคิทเพื่อก่อวินาศกรรมระบบอุตสาหกรรมของอิหร่าน

ในปี 2012 Flameซึ่งเป็นมัลแวร์แบบโมดูลาร์ขนาดใหญ่ได้ปรากฏตัวขึ้น ในปี 2018 LoJaxกลายเป็นรูทคิต UEFI ตัวแรกที่ถูกตรวจพบในวงกว้าง และในปี 2019 Scranosได้รวมการขโมยข้อมูลประจำตัวและการสร้างรายได้ที่ซ่อนเร้นเข้ากับฟาร์มคลิกผ่าน เบราว์ เซอร์ที่ถูกบุกรุกจำนวนมาก

แหล่งข้อมูลและหนังสือแนะนำการอ่าน

การสืบสวนคดีโซนี่ของมาร์ค รัสซิโนวิช และบทความ "Unearthing Rootkits" ใน Windows IT Pro ช่วยให้เข้าใจปรากฏการณ์และเทคนิคเบื้องหลัง RKR ได้ดียิ่งขึ้น ส่วนหนังสือ "Rootkits: Subverting the Windows Kernel" โดยเกร็ก ฮอกลันด์และเจมี บัตเลอร์ เป็นตำราที่เจาะลึกที่สุดในเรื่องนี้

เอกสารสำคัญสำหรับผู้ที่ต้องการศึกษาเจาะลึกเกี่ยวกับสถาปัตยกรรมและมาตรการรับมืออย่างจริงจัง ได้แก่ Phrack Archive, หนังสือ "The Art of Computer Virus Research and Defense" ของ Peter Szor, "Malware: Fighting Malicious Code" ของ Ed Skoudis และ Lenny Zeltser และชุดหนังสือ "Windows Internals" (ตั้งแต่ฉบับที่ 4 เป็นต้นไป )

RootkitRevealer ในระบบนิเวศ Sysinternals

RKR สามารถทำงานร่วมกับยูทิลิตี้อื่นๆ ของ Sysinternals ที่มีประโยชน์ในการวิจัย ได้แก่ AccessChk และ AccessEnum (สิทธิ์การเข้าถึงที่มีประสิทธิภาพ), Autoruns (ทุกสิ่งที่เริ่มต้นพร้อมกับระบบ), Process Explorer (ใครเปิดอะไรและใช้ DLL ใด), PsExec/PsTools (การเรียกใช้งานและการจัดการระยะไกล), PsLogList และ PsLoggedOn (เหตุการณ์และเซสชัน), Sigcheck (ลายเซ็นดิจิทัล), SDelete (การลบอย่างปลอดภัย), ShareEnum (ทรัพยากรที่ใช้ร่วมกัน) และSysmon (การวัดระยะทางขั้นสูงในบันทึกเหตุการณ์)

เป็นเรื่องปกติที่จะพบการอ้างอิงถึง "ดาวน์โหลด 1.71" ในที่เก็บซอฟต์แวร์เก่าๆ รวมถึง "เรียกใช้ทันที" ผ่าน Sysinternals Live แม้ว่าโครงการนี้จะมีมานานแล้ว แต่แนวคิดของมัน—การเปรียบเทียบวิธีการระดับสูงกับวิธีการระดับต่ำ—ยังคงเป็นกุญแจสำคัญในการค้นหารูทคิต

RootkitRevealer เป็นบทเรียนสำคัญในด้านวิศวกรรมการป้องกัน: หากมีสิ่งใดกำลังเปลี่ยนแปลงสิ่งที่ API ส่งคืน คุณต้องตรวจสอบให้ละเอียดและเปรียบเทียบกับสิ่งที่อยู่บนดิสก์และใน Registry จริงๆ ด้วยแนวทางปฏิบัติที่ดี เครื่องมือที่เหมาะสม และการตรวจสอบแบบออฟไลน์เมื่อจำเป็น ก็สามารถเปิดเผยสิ่งที่พยายามซ่อนไว้ในที่ที่เราคิดว่าไม่มีใครจะมองหาได้

ดิสทริบิวชั่น Linux ที่ดีที่สุดสำหรับการรักษาความปลอดภัย
บทความที่เกี่ยวข้อง:
ระบบปฏิบัติการ Linux ที่ดีที่สุดเพื่อปกป้องความปลอดภัยและความเป็นส่วนตัวของคุณ