ดิ่งลึกสู่ความมืดทะมึน เพื่อเข้าใจการทำงานของไวรัส

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

     มันมองมาด้วยสายตาอาฆาตเปล่งคำพูดเดิมซ้ำแล้วซ้ำเล่า แม้ว่าชิ้นส่วนจากร่างมันจะหลุดล่วงไปมาก
แล้ว เมื่อเดินเข้าไปใกล้เสียงแหบพร่าบาดหูดังชัดขึ้น "ข้าจะกลืนกินเจ้า"

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

     เนื้อหาต่อจากนี้คือการศึกษาไวรัสจากโค้ดไวรัสที่มีตัวตนจริงๆ  ท่านจะได้รู้ว่าลำดับขั้นตอนการทำงาน
ของไวรัสนั้นมีอย่างไร ในหนึ่งเสี้ยววินาทีที่มนุษย์รับรู้ได้นั้น ไวรัสรับคำสั่งอะไรบ้าง และสำคัญที่สุด เมื่อเรารู้
ว่ามันทำงานอย่างไร เราจะโกงเพื่อหยุดมันได้เช่นไร ชะอิงเอย

++++++++++1+++++++++
มาเริ่มกันที่คำสั่งเริ่มแรกของมัน โดยมันจะตรวจหา Process ของโปรแกรมเหล่านี้ 

msconfig.exe << เอาไว้ปลดคำสั่งเรียกไวรัสที่ฝังไว้ใน startup
rstrui.exe << system restore ย้อนเวลาเครื่อง
regedit.exe << แก้ไข Registry อาการผิดปกติ
taskmgr.exe << ปิด Process ของไวรัสหรือโปรแกรมต้องสงสัย

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

++++++++2+++++++++++
     ลำดับถัดมาจะเป็นคำสั่งปิด Process โปรแกรม(ไม่รีตาร์ท) หากเครื่องของท่านโปรแกรมเปิดใช้งาน

โปรแกรมดังชื่อด้านล่างนี้ ก็จะใช้งานไม่ได้ทันที
winsystem.exe
handydriver.exe
kerneldrive.exe
Wscript.exe
cmd.exe
nod32krn.exe
nod32kui.exe
 
+++++++++3+++++++++
     ไวรัสจะเขียนข้อมูลลง Registry  ตามตำแหน่งคีย์ต่อไปนี้ เพื่อให้พวกมันตื่นขึ้นมาทุกครั้งเมื่อบูตเข้าระบบ

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 
(วินโดวส์ 32 บิต)

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
(วินโดวส์ 64 บิต)

ค่าที่เขียนลงไป คือ


     บางท่านเห็นชื่อคงรู้แล้วนะครับว่าเป็นไวรัสอะไร คำสั่งพวกนี้เป็นคำสั่งสำหรับเรียกไฟล์ไวรัสให้ทำงาน
ตอนเปิดเครื่อง

+++++++++4+++++++++++
และไวรัสจะเขียนข้อมูลลง Registry เพื่อปิดการทำงานบางอย่างในวินโดวส์ด้วย มีดังนี้

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\system

     อาการแปลกๆ ที่เจอกันประจำ ก็เปิด regedit ไม่ได้ เปิด Folder Options ไม่ได้หรือ ใช้คำสั่ง Search
ไม่ได้ เราจะเห็นว่าสิ่งที่ไวรัสมันปิดก็เพื่อประโยชน์ในการซ่อนและป้องกันตัวของพวกมันนั่นเอง ซึ่งแตกต่าง
จากไวรัสสมัยก่อนมาก เพราะถ้าโดนเข้าไปทีระบบจะค้างหรือช้าลง ไม่ก็เสียหาย 

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

+++++++++5++++++++++++
ไวรัสจะลบคีย์และค่า Regsitry ต่อไปนี้

คีย์ HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
ลบค่า "Window Title"

คีย์ HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\NOD32krn
ลบค่า ImagePath

คีย์ HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\nod32drv
ลบค่า "ImagePath"

ลบคีย์ "HKEY_CLASSES_ROOT\lnkfile\isShortcut"

++++++++6+++++++++++
     จากนั้นไวรัสจะตรวจหาไฟล์ autorun.inf ซึ่งมันจะซ่อนเอาไว้ในโฟลเดอร์วินโดวส์ของท่าน ถ้าไม่เจอก็
จะสร้างขึ้นมาใหม่ หรือถ้ามไฟล์อยู่แล้วก็จะเขียนคำสั่งเหล่านี้ลงไปทับคำสั่งเดิมอีกครั้ง

[autorun]
open=system.exe
shellexecute=system.exe
shell\Explore\command=system.exe
shell\Open\command=system.exe
shell=Explore

     เมื่อเขียนเสร็จแล้วก็จะตั้งค่าไฟล์เป็นแบบ +R+H+S ความหมายก็คือ
"R" = READONLY (อ่านได้อย่างเดียว ห้ามแก้ไข)
"H" = HIDDEN (ซ่อนไว้จากใจเธอ)
"S" = SYSTEM (เป็นไฟล์ระบบ)

     อธิบายแบบง่ายๆ คือ ไวรัสเขียนข้อมูลลงไฟล์ autorun.inf และก็ซ่อนไฟล์เอาไว้ด้วย ซึ่งไฟล์พวกนี้จะ
ถูกสร้างเอาไว้ เพื่อนำไปฝังลงใน Flash Drive ที่มีคนเผลอมาเสียบเข้าเครื่องที่ติดไวรัส จากนั้นก็อาศัย
พาหะนั้นนำไฟล์ไวรัสไปติดเครื่องอื่นต่อไป

+++++++7++++++++
      ขั้นตอนต่อไปไวรัสจะทำการตรวจสอบว่ามีการเสียบ Flash Drive เข้ามาในเครื่องหรือไม่ 

- ถ้ามี มันจะตรวจดูก่อนว่ามีไฟล์ autorun.inf อยู่หรือเปล่า ถ้ามีก็จะสั่ง -R เพื่อปลดล็อคสถานะ
การอ่านอย่างเดียวให้แก้ไขหรือลบไฟล์ทิ้งได้

- และก็สั่งก๊อปปี้ไฟล์ system.exe (ไฟล์ไวรัส) และไฟล์  autorun.inf  ที่สร้างไว้ในขั้นตอนที่ 6 มาใส่ไว้ใน
Flash Drive และทำตั้งค่าไฟล์ทั้งสองเป็นแบบ +R+H+S

+++++++8+++++++
     ไวรัสจะจัดการไฟล์ไฟล์เหล่านี้ด้วย

สั่งก๊อปปี้ไฟล์ msmsgs.exe(ไฟล์ไวรัส) ไปไว้ในโฟลเดอร์ระบบวินโดวส์และตั้งค่าเป็น +R+H+S

สั่งลบไฟล์ 4 ไฟล์นี้
wininit.exe
nod32.exe
nod32kui.exe
nod32krn.exe

+++++++9+++++++
     ไวรัสจะสั่งตรวจสอบไฟล์ bad1.exe,bad2.exe,bad3.exe ว่ามีอยู่ในโฟลเดอร์ระบบวินโดวส์หรือไม่ 
ถ้าไม่พบ ก็จะสั่งดาวน์โหลดไฟล์ไวรัสทั้ง 3 ตัวจากอินเตอร์เน็ต(ในเซิร์ฟที่เก็บไฟล์เอาไว้)

+++++จบการทำงาน ย้อนกลับไปอ่านและทำคำสั่งขั้นตอนที่ 1 ใหม่อีกครั้ง+++++++

     คำสั่งที่กล่าวทุกขั้นตอนจะทำงานในเวลาไม่ถึง 1 วินาที นั่นคือ 400 milliseconds (1000 = 1วินาที) 
ซึ่งมนุษย์เรานั้น ไม่สามารถรับรู้หน่วยเวลาในระดับเสี้ยววินาทีนี้ได้ เมื่อเป็นเช่นนี้แล้วในสภาพปกติคุณจึง
ไม่อาจหยุดการทำงานของมันได้ แม้กระทั่งการหาหนทางเข้า Registry แล้วเข้าไปแก้ไขค่าที่ฝังไว้ ก็จะ
ถูกแก้กลับคืนมาในทันที

     ทางแก้ไขก็คือต้องเข้าระบบแบบเซฟโหมด เข้าไปลบไฟล์ไวรัสทิ้ง รวมถึงแก้ไขค่าที่โดนปิดจาก Registry
กลับคืนมาเป็นปกติ  หรือง่ายกว่านั้น หากสังเกตดูเราจะพบว่าตัวไวรัสจะปิดโปรแกรมพื้นฐานที่มากับ
วินโดวส์ ท่านเพียงหาโปรแกรมปิด Process ที่ไวรัสไม่รู้จัก ก็ใช้แก้ทางไวรัสได้เช่นกัน ชื่อโปรแกรมนั้นผมจำ
ไม่ได้ลองถามท่าน Hunter Virus  ดูนะครับ (โบ้ยไปซะเลย)

     อย่างไรก็ตามตัวอย่างการทำงานของไวรัสตัวนี้ ค่อนเข้าจะเก่าไปซักหน่อย ไวรัสที่ออกมาใหม่ๆ จะมีการ
อัปเดทชื่อโปรแกรมป้องกันไวรัสและทำการปิด Process ทันที      

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

หรือนี่อาจเป็นความหมายในถ้อยคำ "ข้าจะกลืนกินเจ้า" จริงๆ ก็ได้

+++++++++

แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่