ความรู้เกี่ยวกับไวรัสคอมพิวเตอร์

ไวรัสคอมพิวเตอร์

 

ไวรัสคืออะไร

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

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

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

ประเภทของไวรัส

บูทเซกเตอร์ไวรัส

Boot Sector Viruses หรือ Boot Infector Viruses คือไวรัสที่เก็บตัวเองอยู่ในบูทเซกเตอร์ ของดิสก์ การใช้งานของบูทเซกเตอร์คือ เมื่อเครื่องคอมพิวเตอร์เริ่มทำงานขึ้นมาตอนแรก เครื่อง จะเข้าไปอ่านบูทเซกเตอร์ โดยในบูทเซกเตอร์จะมีโปรแกรมเล็ก ๆ ไว้ใช้ในการเรียกระบบ ปฏิบัติการขึ้นมาทำงานอีกทีหนึ่ง บูทเซกเตอร์ไวรัสจะเข้าไปแทนที่โปรแกรมดังกล่าว และไวรัส ประเภทนี้ถ้าไปติดอยู่ในฮาร์ดดิสก์ โดยทั่วไป จะเข้าไปอยู่บริเวณที่เรียกว่า Master Boot Sector หรือ Parition Table ของฮาร์ดดิสก์นั้น

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

โปรแกรมไวรัส

Program Viruses หรือ File Intector Viruses เป็นไวรัสอีกประเภทหนึ่งที่จะติดอยู่กับโปรแกรม ซึ่งปกติก็คือ ไฟล์ที่มีนามสกุลเป็น COM หรือ EXE และบางไวรัสสามารถเข้า ไปติดอยู่ในโปรแกรมที่มีนามสกุลเป็น sys และโปรแกรมประเภท Overlay Programsได้ด้วย โปรแกรมโอเวอร์เลย์ปกติจะเป็นไฟล์ที่มีนามสกุลที่ขึ้นต้นด้วย OV วิธีการที่ไวรัสใช้เพื่อที่จะ เข้าไปติดโปรแกรมมีอยู่สองวิธี คือ การแทรกตัวเองเข้าไปอยู่ในโปรแกรมผลก็คือหลังจากที่ โปรแกรมนั้นติดไวรัสไปแล้ว ขนาดของโปรแกรมจะใหญ่ขึ้น หรืออาจมีการสำเนาตัวเองเข้าไปทับส่วนของโปรแกรมที่มีอยู่เดิมดังนั้นขนาดของโปรแกรมจะไม่เปลี่ยนและยากที่ จะซ่อมให้กลับเป็นดังเดิม

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

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

ม้าโทรจัน

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

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

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

โพลีมอร์ฟิกไวรัส

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

สทีลต์ไวรัส

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

อาการของเครื่องที่ติดไวรัส

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

§         ใช้เวลานานผิดปกติในการเรียกโปรแกรมขึ้นมาทำงาน

§         ขนาดของโปรแกรมใหญ่ขึ้น

§         วันเวลาของโปรแกรมเปลี่ยนไป

§         ข้อความที่ปกติไม่ค่อยได้เห็นกลับถูกแสดงขึ้นมาบ่อย ๆ

§         เกิดอักษรหรือข้อความประหลาดบนหน้าจอ

§         เครื่องส่งเสียงออกทางลำโพงโดยไม่ได้เกิดจากโปรแกรมที่ใช้อยู่

§         แป้นพิมพ์ทำงานผิดปกติหรือไม่ทำงานเลย

§         ขนาดของหน่วยความจำที่เหลือลดน้อยกว่าปกติ โดยหาเหตุผลไม่ได้

§         ไฟล์แสดงสถานะการทำงานของดิสก์ติดค้างนานกว่าที่เคยเป็น

§         ไฟล์ข้อมูลหรือโปรแกรมที่เคยใช้อยู่ ๆ ก็หายไป

§         เครื่องทำงานช้าลง

§         เครื่องบูตตัวเองโดยไม่ได้สั่ง

§         ระบบหยุดทำงานโดยไม่ทราบสาเหตุ

§         เซกเตอร์ที่เสียมีจำนวนเพิ่มขึ้นโดยมีการรายงานว่าจำนวนเซกเตอร์ที่เสียมีจำนวน เพิ่มขึ้นกว่าแต่ก่อนโดยที่

§         ยังไม่ได้ใช้โปรแกรมใดเข้าไปตรวจหาเลย

การตรวจหาไวรัส

การสแกน

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

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

1. ฐานข้อมูลที่เก็บไวรัสซิกเนเจอร์จะต้องทันสมัยอยู่เสมอ แลครอบคลุมไวรัสทุกตัว มากที่สุดเท่าที่จะทำได้

2. เพราะสแกนเนอร์จะไม่สามารถตรวจจับไวรัสที่ยังไม่มี ซิกเนเจอร์ของไวรัสนั้นเก็บอยู่ในฐานข้อมูลได้

3. ยากที่จะตรวจจับไวรัสประเภทโพลีมอร์ฟิก เนื่องจากไวรัสประเภทนี้เปลี่ยนแปลง ตัวเองได้

4. จึงทำให้ไวรัสซิกเนเจอร์ที่ใช้สามารถนำมาตรวจสอบได้ก่อนที่ไวรัส จะเปลี่ยนตัวเองเท่านั้น

5. ถ้ามีไวรัสประเภทสทีลต์ไวรัสติดอยู่ในเครื่องตัวสแกนเนอร์อาจจะไม่สามารถ ตรวจหาไวรัสนี้ได้

6. ทั้งนี้ขึ้นอยู่กับความฉลาดและเทคนิคที่ใช้ของตัวไวรัสและ ของตัวสแกนเนอร์เองว่าใครเก่งกว่า

7. เนื่องจากไวรัสมีตัวใหม่ ๆ ออกมาอยู่เสมอ ๆ ผู้ใช้จึงจำเป็นจะต้องหาสแกนเนอร์ ตัวที่ใหม่ที่สุดมาใช้

8. มีไวรัสบางตัวจะเข้าไปติดในโปรแกรมทันทีที่โปรแกรมนั้นถูกอ่าน และถ้าสมมติ

9. ว่าสแกนเนอร์ที่ใช้ไม่สามารถตรวจจับได้  และถ้าเครื่องมีไวรัสนี้ติดอยู่ เมื่อมีการ

10. เรียกสแกนเนอร์ขึ้นมาทำงาน สแกนเนอร์จะเข้าไปอ่านโปรแกรมทีละโปรแกรม เพื่อตรวจสอบ

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

12. สแกนเนอร์รายงานผิดพลาดได้   คือ ไวรัสซิกเนเจอร์ที่ใช้บังเอิญไปตรงกับที่มี

13. อยู่ในโปรแกรมธรรมดาที่ไม่ได้ติดไวรัส ซึ่งมักจะเกิดขึ้นในกรณีที่ไวรัสซิกเนเจอร์ ที่ใช้มีขนาดสั้นไป

14. ก็จะทำให้โปรแกรมดังกล่าวใช้งานไม่ได้อีกต่อไป

การตรวจการเปลี่ยนแปลง

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

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

การเฝ้าดู

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

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