อยากรู้ว่า AV ใช้หลักการอะไรในการตรวจจับพวกโปรแกรมโทรจัน ไวรัส หรือวอร์มต่างๆ ประมาณว่า มันดูที่โค้ด หรือดูที่ process หรือดูที่อะไรประมาณเนี้ยอะครับ แล้วถ้าเขียนโทรจันหรือไวรัสที่หลบการตรวจของ AV จะมีหลักการยังไง
อยากรู้ว่า AV ใช้หลักการอะไรในการตรวจจับพวกโปรแกรมโทรจัน ไวรัส หรือวอร์มต่างๆ ประมาณว่า มันดูที่โค้ด หรือดูที่ process หรือดูที่อะไรประมาณเนี้ยอะครับ แล้วถ้าเขียนโทรจันหรือไวรัสที่หลบการตรวจของ AV จะมีหลักการยังไง
ใช้ heuristic วิเคราะห์ พฤติกรรม มันจะตรวจ binary ว่ามีการเขียน registry,copy,listenport,hook,Inject และ อื่นๆ
แล้วมา วิเคราะห์ ความเป็นไปได้ ว่าเป้นมันแวร์รึเปล่า ถ้าเป้น ตระกูลไหน
การหลบ av เมื่อก่อนหากมี code ใช้เทคนิค Xor ได้สบายเลย เดี๋ยวนี้ใช้ไม่ค่อยได้แล้ว av สมัยใหม่ มันฉลาดมากๆ
ง่ายที่สุด เอา binary มา pack แบบแปลกๆ อาจต้องเขียน packer เอง หรือ เข้า รหัส pE แต่สิ่งที่จะเกิดขึ้น นั้นคือ
เสถียรภาพ มันจะลดลงไม่มากก็น้อย
มันน่าจามีโค๊ดของไวรัสชนิดนั้นมั้งคับ แล้วถ้าโปรแกรมไหนมีโคตตามที่มันมีอยู่มันก้จะเตือนว่าเป็นไวรัส
อันนี้ผมคิดเอาเองนะคับ ถ้าผิดก้ขอโทดดวยนะคับ
มันก็มีหลายๆวิธีนะ แต่วิธีที่เห็นค่อนข้างจะนิยมคือวิธี scan signature
ตามปกติ ไวรัสจะมีลำดับของไบท์ที่ใช้เป็นตัวระบุไวรัสซึ่งลำดับนี้เรียกว่า signature ถ้าโปรแกรมที่ใช้สแกนตรวจพบลำดับของไบท์ เหล่านี้ในโคดเพื่อการประมวลผล แสดงว่าโปรแกรมนั้นเป็นไวรัส วิธีนี้เป็นวิธีที่เสียเวลามาก และต้องตรวจสอบกับฐานข้อมูลขนาดใหญ่เพื่อลดการตรวจสอบที่ผิดพลาด Signature scanning ทำงานบนสมมุติฐานที่ว่ามัลแวร์ จะไม่มีการเปลี่ยนแปลงตัวเองเป็นรูปแบบอื่นๆที่ไม่สามารถคาดเดาได้ก่อนที่จะ infect executable file
Signature แบบง่ายๆจะอยู่ในรูปของสายอักขระ (string) ที่มีรูปแบบคงตัว (fix pattern) จึงสามารถใช้อัลกอริทึมเพื่อการจับคู่สายอักขระ (String matching algorithm) ในการตรวจจับได้ แต่มัลแวร์บางตัวก็มี Signature แบบ ไม่มีรูปแบบคงตัว เช่น Polymorphic virus ทำให้ไม่สามารถใช้เทคนิคการจับคู่สายอักขระ ในการค้นหามัลแวร์ได้ ตัวอย่างเช่น
insn
jump PC+1
arbitrary data (A)
insn
jump PC+1
arbitrary data (
ถ้า Polymorphic virusชนิดนี้มีการเปลี่ยนแปลงข้อมูลที่ A และ B ก่อนที่จะสำเนาตัวเองใส่ executable file และ signature จะต้องอาศัยโคดในบริเวณ A และ B ด้วย จะไม่สามารถใช้เทคนิคการจับคู่สายอักขระธรรมดาได้ เพราะส่วน A,B จะเปลี่ยนแปลงในรูปแบบที่คาดเดาไม่ได้ แต่เราสามารถใช้ regular expression ในการตรวจสอบได้
วิธีนี้มีข้อเสียคือ ไม่สามารถตรวจจับมัลแวร์ที่ไม่รู้จักได้ และไม่สามารถตรวจจับมัลแวร์ที่เข้ารหัสตัวเอง เช่น การบีบอัดข้อมูลของตัวเองจะทำให้ signature เปลี่ยนแปลงไป นอกจากนี้ วิธีนี้ยังทำงานได้ช้ากว่าวิธีอื่น ส่วนข้อดีของวิธีนี้คือ สามารถตรวจจับมัลแวร์ได้หลายชนิด
ปัจจุบันวิธีตรวจจับมักจะใช้หลายวิธีเพื่อให้ได้การตรวจจับที่ดีมากขึ้น
Actions : (View-Readers)
There are no names to display.