หมายเหตุ : เอ็นทรีนี้อาจะยาว มีภาษาอังกฤษ และใช้ภาษาเชิงเทคนิคเล็กน้อย เพราะฉะนั้นหากไม่เข้าใจ ดูแค่รูปก็พอครับ และขอความกรุณาอย่าเม้นว่า "ไม่ยู้เยื่องเยย".
ไม่ค่อยได้เขียนเรื่องมีสาระนานมาก คราวนี้ขอเขียนอะไรคืนกำไรให้สังคมบ้างนะครับ
เนื่องจากในทวิตเตอร์ มีคนส่งข้อความมาถามผมเรื่องไวรัส ก็เลยพาออกทะเลไปเรื่องทฤษฎีไวรัสคอมเมื่อ 30 กว่าปีที่แล้วโน่น (อย่าโกรธผมเลยนะค้าบ!)
เกริ่นนำก่อนว่าไวรัสที่เราจะพูดถึงในเอ็นทรีนี้คือไวรัสที่เป็น "ไวรัส" ไม่ใช่หนอน โปรแกรมสายลับ ม้าศึก หรือมัลแวร์ตัวอื่นๆ
อ่านแล้วอาจจะงง งั้นผมขอสรุปง่ายๆว่า "Virus เป็น Subset ของ Malware"
Virus ถือเป็นมัลแวร์แบบดั้งเดิมสมัย Dos แล้ว แต่มันกลับฟื้นขึ้นมาได้เพราะอะไรผมก็ไม่ทราบนะ ลองไปถามยูจิน คาสเปอร์สกี้ดูจิ (โบ้ยเห็นๆ)
ลักษณะของ Malware ที่เป็น Virus ก็คือการทำงานแบบ "เกาะไฟล์" เรียกเป็นภาษาอังกฤษว่า "File Infections" การทำงานคือเมื่อไวรัสทำงานแล้ว จะมองหาไฟล์เป้าหมายซึ่งส่วนมากจะเป็นไฟล์ที่มีส่วนขยาย (Extension) เหล่านี้
.vbs, .vbe, .js, .jse, .wsh, .css, .sct, .scr, .hta, .jpg, .jpeg, .wav, .txt, .gif, .doc, .docx, .htm, .html, .xls, .ini, .bat, .com, .avi, .qt, .mpg, .mpeg, .cpp, .c, .h, .psd, .wri, .mp3, .mp2 และไฟล์ยอดนิยม .exe
ลักษณะของไวรัสที่ทำงานแบบนี้จะมีระดับการคุกคามต่ำแต่สร้างความเสียหายสูงครับ
ตัวอย่างไวรัสเช่น Win32/Alman, Win32/Golem, Win32/Hala, Win32/Virut, Win32/Parite, Win32/Elkern, Win32/Wimad, Win32/GpCode และเจ้าตัวแสบ Win32/Sality
ไวรัสจะทำงานคือแทรกโค๊ดหรือรหัสอันตรายลงไปในไฟล์ดังกล่าว หรือเรียกเป็นภาษาอังกฤษว่า Malicious Code เพื่อแก้ไขไฟล์ให้ผิดปกติไปจากเดิม โดยไม่ได้สร้างไฟล์ของตัวเองเหมือน Trojan หรือ Worm (ยกเว้นกรณี Alman และ Sality ที่จะสร้างไฟล์ .com , .bat และ Autorun.inf ในแฟลชไดรฟ์ในการแพร่กระจาย)
เมื่อไฟล์ดังกล่าวถูกแก้ไข หรือพูดง่ายๆคือติดไวรัส ไฟล์นั้นๆอาจจะยังไม่เสีย แค่โดนไวรัสมาแทรกตัวลงไป
จากรูป สีฟ้าคือไฟล์ปกติ สีส้มคือไวรัส
การแทรกตัวของไวรัสสามารถแบ่งได้ 8 วิธีดังนี้
1. Overwriting Viruses (OV)
จากรูปไวรัสจะเขียนตัวเองทับลงไปในไฟล์เป้าหมาย เมื่อมีการเรืยกใช้ไฟล์เป้าหมายจะเรียกโปรแกรมและไวรัสทำงานทันที เครื่องก็จะติดไวรัสไป
ลักษณะนี้จะยากต่อการตรวจจับของโปรแกรม Antivirus ที่อ่านขนาดไฟล์ เพราะไฟล์ที่ติดไวรัสจะมีขนาดเท่าเดิม แต่ถือว่ามีการเปลี่ยนแปลงขึ้นครับ
2. Random Overwritten Virus (ROV)
การทำงานจะคล้ายๆข้อแรก แต่เขียนแบบสุ่ม ไม่ได้เริ่มที่ Byte แรกเสมอไป ไฟล์ยังมีขนาดเท่าเดิม แต่ถือว่าถูกเปลี่ยนแปลงครับ
การรันไฟล์ที่ติดไวรัส โปรแกรมจะทำงานก่อนไวรัส ทำให้เหมือนกับว่าไม่มีอะไรเกิดขึ้น และถ้า Antivirus ที่ทำงานช้าหรือไม่มีความคล่องตัว โอกาศที่จะพลาดสูงมาก
3. Appending Virus (AV)
ไวรัสจะแทรกตัวเองลงไปที่ Byte สุดท้ายของไฟล์เป้าหมาย แต่มีการแก้ไขที่ Byte แรกของเป้าหมาย ให้มารันตัวเองก่อน ไฟล์ที่โดนไวรัสลักษณะนี้มีโอกาสเสียค่อนข้างสูง ไฟล์เป้าหมายมักจะเป็นนามสกุล .com ที่เขียนขึ้นจากดอส
แต่ไวรัสลักษณะนี้จะถูกแก้ไขได้ง่ายจากโปรแกรมครับ เพราะไฟล์มีขนาดใหญ่ขึ้นจากเดิม ถ้าโปรแกรมมีความคล่องตัวมากพอ ก็จะแก้ไขเฉพาะส่วนของไวรัสได้
4. Prepending Virus (PV)
คล้ายๆข้อ 1 และ 3 แต่ไฟล์ที่ติดไวรัสจะมีขนาดเปลี่ยนแปลงไปครับ
5. Classic Parasitic Virus (CPV)
จัดว่าเป็น Variants ของไวรัสประเภทที่ 4 ครับ ไวรัสพวกนี้จะถูกตรวจจับได้จากการอ่านขนาดไฟล์ของ Antivirus ชาติเกา แต่ประเภทที่ไม่เปลี่ยนแปลงขนาดไฟล์จะมีโอกาสพลาดได้
เพราะฉะนั้น ถึงได้บอกว่าของชาติเกาไม่ดี ถึงมันจะพยายามยกหางตัวเองแค่ไหน ยังไงก็สู้ของหลังม่านเหล็กไม่ได้อยู่ดี
ปล.แต่ยังไงของเกาหลีที่ดีๆ ก็มีนะครับ ไม่ได้เหมารวม
6. Cavity Virus (CV)
Cavity แปลเป็นภาษาชาวบ้านว่า "ฟันผุ" การทำงานจะคล้ายๆข้อ 3 แต่แทนที่จะไปเขียนตรง Byte สุดท้าย กลายเป็นว่าไวรัสแทรกตัวลงไปแบบสุ่มเหมือนข้อ 2
การทำงานของไวรัสลักษณะนี้จะคล้ายๆกับ Rootkit แต่ต่างกันตรงที่ Rootkit ไม่เปลี่ยนแปลงไฟล์ แต่แทรกตัวลงไปในโปรเซสเพื่อหลบการตรวจจับของโปรแกรม
ถ้ายังนึกไม่ออก ก็คล้ายๆ Game Guard นั่นแหล่ะ ที่จะแทรกตัวเองลงในโปรเซสเพื่อป้องกันการ Terminate ไงครับ
7. Compressing Virus
ไวรัสจะบีบอัดขนาดไฟล์เป้าหมายพร้อมทั้งแทรกตัวลงไป นอกจากบีบอัดแล้วบางทีอาจจะมีการเข้ารหัสไว้ เพื่อไม่ให้ Antivirus แก้ไขไฟล์ แต่ยังเรียกใช้ไฟล์ได้ตามปกติครับ
การบีบอัดหรือแก้ไขไฟล์อาจจะใช้ Runtime packers, PKLITE, LZEXE, UPX, ASPACK ในการแก้ไข
ลักษณะนี้เมื่อโดนจับได้อาจจะคลีนไม่ได้ ต้องลงไฟล์ทิ้ง ซึ่งเวลาตรวจเจออาจจะมีคำว่า PCK หรือ Packed ไว้ เพื่อบอกว่าไฟล์นี้โดนแก้ไขให้ขนาดเล็กลง
ส่วนถ้าเข้ารหัสไว้อาจจะมีคำว่า Crypt
8.Amoeba Infection Technique (AIT)
ไวรัสจะแทรกลงไปที่ Byte แรกและ Byte สุดท้าย แปลว่าถ้ารันไฟล์เป้าหมาย อาจจะยังไม่ติดไวรัสตอนเรียกใช้ แต่จะติดตอนที่รันได้สำเร็จ
ไฟล์จะถูกเปลี่ยนแปลงไปมาก แต่ยังไงก็จะถูกตรวจจับได้ถ้าสแกนแบบละเอียดๆหน่อย เพราะบางโปรแกรมสแกนเร็วมาก แต่จับได้บ้างไม่ได้บ้าง
จบแล้วครับ ก็น่าจะมีแค่นี้นะครับ สำหรับไวรัส ต้องขอบคุณข้อมูลจากคุณ "จุง ฮัว ฮาน" ผู้พัฒนาเอ็นจินและฐานข้อมูลของโปรแกรมป้องกันไวรัส Hauri ของเกาหลี ที่แอบชอบโปรแกรมนี้อยู่ ลิ้งไปยังบทความภาษาอังกฤษ
สำหรับใครที่มีปัญหา Harddisk ใกล้เต็มแบบผิดปกติ ก็อาจจะเป็นไปได้ว่าโดนไวรัสเข้าไปแล้ว
ตอนนี้อ่านจากหลายๆที่พบว่าโดน Win32/Sality ที่มี Variants ออกมามากมายจนผู้พัฒนาโปรแกรมป้องกันไวรัสบอกว่าจับไม่ได้ไล่ไม่ทัน ถึงจะใช้ .GEN ช่วยก็ยังจับไม่ไม่หมด
และที่สำคัญคือการติดไวรัสลักษณะนี้ผู้ใช้บางคนอาจได้รับการแจ้งเตือน
แต่ไม่ได้สนใจอะไร เพราะมันเป็นไฟล์เกมของฉัน (เช่นเกมจับคู่โปเกมอน อันนี้แหล่ะหวานไวรัสเลย)
เลยไม่สนใจและเลือกที่จะปิด Antivirus ก่อนเล่นเกม
อันนี้ก็ขึ้นอยู่กับตัวคุณว่าจะ
"ทนรำคาญ หรือ ทุกข์ลำเค็ญ"
ไว้พบกันเอ็นทรีหน้าครับ