จะตรวจสอบได้อย่างไรว่าเครื่องติดไวรัส
LSVคลังสมองออนไลน์ "ปีที่14"
พฤศจิกายน 24, 2024, 06:52:48 pm *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
 
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: จะตรวจสอบได้อย่างไรว่าเครื่องติดไวรัส  (อ่าน 2654 ครั้ง)
winai4u-LSV team
.กลุ่มผู้มีน้ำใจงาม.
member
*

คะแนน673
ออฟไลน์ ออฟไลน์

กระทู้: 3025



« เมื่อ: มกราคม 19, 2007, 08:12:45 am »

เรื่อง : จะตรวจสอบได้อย่างไรว่าเครื่องติดไวรัส
เรียบเรียงโดย : กิติศักดิ์ จิรวรรณกูล
เผยแพร่เมื่อ : 1 เมษายน 2546

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

หมายเหตุ คำว่า Malware มาจากคำว่า Malicious Software เป็นโปรแกรมประเภทที่มุ่งหวังทำลายระบบคอมพิวเตอร์ ประกอบด้วยไวรัส หนอนอินเทอร์เน็ต และโทรจัน ในบทความนี้จะใช้คำว่า "ไวรัส" ซึ่งให้เข้าใจตรงกันว่าหมายถึง "Malware"

เริ่มต้นด้วยการศึกษากลยุทธ์ของไวรัส

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

เมื่อไวรัสฝังติดหน่วยความจำ

โปรแกรมที่ฝังติดหน่วยความจำ หรือ Memory-resident program เป็นโปรแกรมที่อาจจะถูกบรรจุ และค้างอยู่ในพื้นที่ของหน่วยความจำหลักของระบบหลังจากถูกเอ็กซิคิวต์ ซึ่งถ้าโปรแกรมดังกล่าวเป็นโปรแกรมไวรัสนั้นจะทิ้งส่วนของโปรแกรมไวรัสบางส่วนไว้ในหน่วยความจำ เพื่อคอยเฝ้าดูว่าถ้ามีเหตุการณ์ที่ตรงกับเงื่อนไขที่ไวรัสตั้งไว้ทำให้ส่วนของไวรัสเริ่มทำงานต่อไป เช่นไวรัสที่มีการทำงานทุกวันที่ 20 มีนาคม (Date Trigger) หรือทำงานทุกครั้งเมื่อผู้ใช้กดปุ่ม "x" บนแป้นพิมพ์ (Key Trigger) เป็นต้น

วิธีการค้นหาว่ามีโปรแกรมไวรัสฝังตัวอยู่ในหน่วยความจำหรือไม่ จำเป็นต้องอาศัยโปรแกรม Task Manager ที่เป็นเครื่องมือที่มาพร้อมกับระบบปฏิบัติการวินโดวส์ทุกเวอร์ชัน โดยที่ถ้าเป็นระบบปฏิบัติการวินโดวส์ 95/98/ME ให้กดปุ่ม Ctrl-Alt-Del จะได้ผลดังรูปที่ 1 และถ้าเป็นระบบปฏิบัติการวินโดวส์ NT 2000 และ XP ให้ทำการกด Ctrl-Shift-Esc จะได้ผลดังรูปที่ 2 จากทั้งสองรูปจะเห็นว่าโปรแกรม Task Manager จะแสดงรายชื่อโพรเซสทั้งหมดที่รันอยู่ในหน่วยความจำ ดังนั้นถ้าแน่ใจว่าโพรเซสใดเป็นของไวรัสแล้ว ก็ทำการยุติการทำงานของโพรเซสนั้น โดยการเลือกโพรเซสที่แน่ใจว่าเป็นไวรัสแล้วกดปุ่ม End Task สำหรับระบบปฏิบัติการวินโดวส์ 95/98/ME หรือกดปุ่ม End Process สำหรับระบบปฏิบัติการวินโดวส์ NT 2000 และ XP

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



รูปที่ 1 โปรแกรม Task Manager ของระบบปฏิบัติการวินโดวส์ 98



รูปที่ 2 โปรแกรม Task Manager ของระบบปฏิบัติการวินโดวส์ 2000

สร้างโพรเซสหลอกลวง

ไวรัสจะพยายามใช้ชื่อโพรเซสที่เด่นและคล้ายๆ กับชื่อโพรเซสทั่วไปที่ทำงานอยู่ในเครื่อง เพื่อที่จะหลอกให้ผู้ใช้ที่ไม่สังเกตไม่กล้าทำการยุติการทำงานของโพรเซสดังกล่าว นั่นก็หมายความว่าไวรัสจะสร้างโพรเซสหลอกลวง (Spoof) ให้มีชื่อคล้ายๆ กับโพรเซสทั่วไป ยกตัวอย่างเช่น WSOCK32.DLL เป็นโพรเซสทั่วๆ ไปที่อยู่ในหน่วยความจำเพื่อใช้ handle library ของฟังก์ชั่นซ็อกเก็ต และถูกเปลี่ยนชื่อเป็น WSOCK33.DLL อีกตัวอย่างเป็นโพรเซสที่ไวรัสมักใช้หลอกลวงมากคือ KERNEL32.DLL เปลี่ยนชื่อเป็น KERNE132.DLL (สังเกตว่าตัว L ของคำว่า KERNEL ถูกเปลี่ยนเป็นเลข 1) แต่ในบางครั้งก็มีไวรัสบางตัวสร้างโพรเซสที่มีชื่อโพรเซสเหมือนกันแต่เก็บไว้ที่ตำแหน่งต่างกัน (path ต่างกัน) เช่น KERNEL32.DLL ปกติจะถูกเก็บไว้ในไดเรกทอรี่ %Windows\System32% แต่ไวรัสบางตัวจะสร้างโพรเซสชื่อเดียวกันนี้เก็บไว้ในไดเรกทอรี่ %Windows\System% ก็เป็นได้

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

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

ควบคุมการกระจายตัว

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

เทคนิคหนึ่งที่นิยมใช้ในยุคแรกๆ ก็คือไวรัสจะติดในโปรแกรมที่ใช้แปลคำสั่ง (Command Interpreter) ซึ่งส่วนใหญ่จะรู้จักในชื่อของ command.com ในการติดที่ไฟล์นี้รับรองได้เลยว่าไวรัสนั้นจะถูกเอ็กซิคิวต์และฝังตัวในหน่วยความจำก่อนที่โปรแกรมแปลคำสั่งจะถูกเอ็กซิคิวต์แน่นอน จากนั้นเพื่อให้บรรลุเป้าหมาย ไวรัสจะเพิ่มตัวเองในไฟล์ autoexec.bat หรือ config.sys ซึ่งเป็นไฟล์ที่เก็บค่าการปรับแต่งถูกใช้ในระบบปฏิบัติการ DOS และถูกใช้ในการเริ่มต้นการใช้งานพื้นฐานของระบบปฏิบัติการวินโดวส์ด้วย

เรจิสทรีย์

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

การค้นหาว่ามีไวรัสแอบแฝงตัวอยู่ใรเรจิสทรีย์หรือไม่ นั้นจะเริ่มต้นด้วยการเรียกใช้งานโปรแกรมที่ใช้แก้ไขเรจิสทรีย์ โดยกดที่ปุ่ม Start -> Run จะปรากฏไดอะล็อกขึ้น ดังรูปที่ 3 จากนั้นให้พิมพ์คำว่า regedit ในช่อง Open: แล้วเลือกปุ่ม OK จากขั้นตอนนี้จะปรากฏหน้าต่างโปรแกรมที่ใช้แก้ไขเรจิสทรีย์ชื่อ regedit ดังรูปที่ 4

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



รูปที่ 3 ไดอะล็อกใช้ในการเรียกรันโปรแกรมใดๆ



รูปที่ 4 หน้าต่างโปรแกรมแก้ไขเรจิสทรีย์ชื่อ regedit

ในโปรแกรม regedit นั้น ค่าเรจิสทรีย์คีย์ (Registry keys) จะอยู่ในคอลัมน์ทางด้านซ้ายมือที่มีลักษณะคล้ายๆ กับโครงสร้างของไฟล์และโฟลเดอร์ในโปรแกรม Windows Explorer ในตำแหน่ง \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion จะมี 3-6 โฟลเดอร์อยู่ในนั้น ที่เป็นส่วนที่ใช้ในการเริ่มต้นใช้งานเรจิสทรีย์โดยอัตโนมัติ มีดังนี้

"Run"
"RunOnce"
"RunOnce\Setup"
"RunOnceEx"
"RunServices"
"RunServicesOnce"

ซึ่งแอพพลิเคชันต่างๆ ที่อยู่ในโฟลเดอร์เหล่านี้จะถูกระบบปฏิบัติการวินโดวส์เอ็กซิคิวต์ทันทีที่ระบบเริ่มต้นใช้งาน นอกจากนี้แล้วอีกตำแหน่งที่มี 3-6 เรจิสทรีย์ที่เริ่มต้นใช้งานโดยอัตโนมัติคือในตำแหน่ง \HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion

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

หมายเหตุ system tray อยู่บริเวณมุมล่างด้านขวามือของหน้าจอวินโดวส์ข้างนาฬิกา และจะมีไอคอนเล็กๆ อยู่ในนั้น

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

อีกหนึ่งหนทางที่ไวรัสใช้ในการกระจายตัวเองได้โดยจะแก้ไขเรจิสทรีย์ที่เกี่ยวข้องกับนามสกุลของไฟล์ทั่วๆ ไป ให้รันด้วยโปรแกรมของไวรัสเอง ตัวอย่างของนามสกุลของไฟล์ทั่วๆ ไปเช่น .EXE .DLL .COM เป็นต้น ซึ่งในระบบปฏิบัติการวินโดวส์นั้นมีเรจิสทรีย์คีย์ที่ชื่อ /HKEY_CLASSES_ROOT สำหรับเก็บค่าว่าไฟล์ที่มีนามสกุลใดให้รันด้วยแอพพลิเคชันใด เช่นไฟล์ที่มีนามสกุล .DOC ให้รันด้วยโปรแกรมไมโครซอฟต์เวิร์ด (MS Word) เป็นต้น

การสำรองเรจิสทรีย์อยู่เสมอเป็นหนทางที่จะช่วยกู้ระบบคืนหลังจากระบบทำงานผิดพลาดอันเนื่องมาจากการแก้ไขเรจิสทรีย์ผิดพลาด ทั้งนี้อาจจะมีสาเหตุจากไวรัสแก้ไขเองหรือผู้ใช้เป็นผู้แก้ไขเอง วิธีการในการสำรองเรจิสทรีย์โดยการส่งค่าเรจิสทรีย์ออกมาเก็บไว้เป็นไฟล์ หรือเรียกว่าการ export นั่นเอง ทำได้โดยเลือกเมนู Registry -> Export Registry File ดังรูปที่ 5 จะปรากฏไดอะล็อกดังรูปที่ 6 จากนั้นจึงทำการป้อนชื่อที่จะบันทึกแล้วกด Save เป็นอันเสร็จขั้นตอนการสำรองเรจิสทรีย์ เมื่อทำการสำรองเรจิสทรีย์แล้วการเรียกเรจิสทรีย์ที่สำรองไว้มาใช้งานทำได้โดยเลือกเมนู Registry -> Import Registry File ดังรูปที่ 7 และจะปรากฏไดอะล็อกดังรูปที่ 8 แล้วเลือกไฟล์ที่ต้องการจะเรียกใช้ จากนั้นจึงกดปุ่ม Open



รูปที่ 5 แสดงการ Export เรจิสทรีย์



รูปที่ 6 แสดงไดอะล็อกเพื่อเลือกไฟล์ที่จะใช้สำรองเรจิสทรีย์



รูปที่ 7 แสดงวิธีการ Import เรจิสทรีย์



รูปที่ 8 แสดงไดอะล็อกเพื่อเลือกใช้ไฟล์ในการกู้ระบบคืน

ตำแหน่ง StartUp อื่นๆ

จากที่ได้กล่าวมาในข้างต้นแล้ว ยังมีตำแหน่งอื่นๆ ที่ไวรัสมักนิยมใช้ในการเริ่มทำงาน เช่นในไฟล์ System.ini และ Win.ini ไวรัสจะแก้ไขไฟล์เหล่านี้ที่อยู่ในไดเรกทอรีของวินโดวส์ (เช่น %Windows% หรือ %Winnt%) โดยไวรัสจะเพิ่มบรรทัดที่บอกว่า "run=ชื่อโปรแกรมของไวรัส" หรือ "load=ชื่อโปรแกรมของไวรัส"

ค่าการปรับแต่งที่สำคัญต่อระบบสามารถแก้ไขได้ด้วยโปรแกรม Sysedit มีวิธีการเรียกใช้งานโดยกดปุ่ม Start -> run จากนั้นป้อนคำว่า "sysedit" ในช่อง Open: แล้วกดปุ่ม OK จะปรากฏหน้าต่างดังรูปที่ 9

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



รูปที่ 9 แสดงโปรแกรม Sysedit

นอกจากนี้ยังมีโฟลเดอร์ที่ให้ระบบปฏิบัติการทำการเอ็กซิคิวต์แอพพลิเคชั่นที่อยู่ในโฟลเดอร์นี้ทุกครั้งที่ระบบเริ่มทำงาน โฟล์เดอร์ดังกล่าวนั้นเข้าถึงได้โดย Start -> (All) Programs -> Startup ถ้ามีแอพพลิเคชั่นที่ไม่ได้ใช้งานหรือแอพพลิเคชั่นที่น่าสงสัยว่าเป็นไวรัสอยู่ในโฟลเดอร์นี้ให้ทำการลบได้ทันที

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

อ้างอิง

http://www.securityfocus.com/infocus/1666
http://news.zdnet.co.uk/cgi-bin/uk/printer_friendly.cgi?id=2085274
http://www.itsecurity.com/tutor/howtodetectavirus.htm


--------------------------------------------------------------------------------

ที่มาของบทความ : http://www.thaicert.nectec.or.th


บันทึกการเข้า

หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC2 | SMF © 2001-2006, Lewis Media

lsv2555Please follow the new website at https://www.pohchae.com

Valid CSS!