Virus siêu đa hình là loại virus tự động biến đổi mã mỗi khi lây nhiễm, vì vậy, các công cụ diệt virus dựa trên mẫu có sẵn sẽ rất khó phát hiện ra chúng. Để thực hiện điều này, virus siêu đa hình được trang bị một số cách thức biến đổi siêu hình như đổi tên thanh ghi, hoán vị mã, mở rộng mã, rút gọn mã và chèn những đoạn mã rác vào... nhằm đánh lừa và tránh sự phân tích.
Đặc điểm và các kỹ thuật tạo virus siêu đa hình - Phần 1
Tham khảo: các kỹ thuật phát hiện Virus siêu đa hình
Đặc điểm của virus siêu đa hình
Virus siêu đa hình không có bộ giải mã và cũng không thực hiện “bung” gói giống như virus đa hình, tuy nhiên, chúng có thể tạo một thế hệ virus mới với các đặc điểm khác biệt. Chúng không sử dụng phần dữ liệu riêng (dùng cho các chuỗi bất biến) mà sử dụng một phần Single- code chứa toàn bộ mã và dữ liệu trong quá trình nhân bản. Có thể thấy rằng, không có dữ liệu cố định nào tồn tại giữa các thế hệ của virus siêu đa hình khi nhân bản.
Để tránh sự phát hiện, virus siêu đa hình được trang bị những kỹ thuật khác nhau để “tiến hóa” mã của chúng thành thế hệ virus mới có mã khác hoàn toàn nhưng chức năng thì vẫn không thay đổi.
Các kỹ thuật tạo virus siêu đa hình
Một số kỹ thuật cơ bản được sử dụng để tạo ra virus siêu đa hình được mô tả sau đây:
- Kỹ thuật chèn mã rác: Là kỹ thuật đơn giản, sử dụng nhiều virus đa hình và siêu đa hình để tiến hóa mã. Ý tưởng của kỹ thuật này là chèn thêm các mã mới vào, làm cho đoạn mã khác đi so với ban đầu để không thể tìm ra được các đoạn mã hexa khả dụng. Các mã đã chèn vào được gọi là mã rác, vì chúng không làm ảnh hưởng đến chức năng của toàn bộ đoạn mã.
- Hoán đổi thanh ghi sử dụng: Phương pháp này có trong virus Win95/Regswap, được tạo bởi Vecna vào năm 1998. Các thế hệ khác nhau của virus sẽ sử dụng cùng mã nhưng các thanh ghi lại khác nhau.
- Kỹ thuật hoán vị: Virus Win32/Ghost và Win95/Zperm thể hiện một mức độ mới của virus siêu đa hình. Mặc dù mã của virus không thay đổi, nhưng sự “đa hình” được thực hiện bằng cách chia mã thành các frame, định vị các frame một cách ngẫu nhiên và thực hiện kết nối chúng bằng các lệnh rẽ nhánh để duy trì dòng tiến trình. Virus Win32/Ghost có khả năng thay đổi thứ tự của các chương trình con từ thế hệ này sang thế hệ khác. Nếu số chương trình con là n thì số lượng các biến thể virus có thể tạo ra sẽ là n!. Win32/Ghost có 10 chương trình con vì vậy nó có thể tạo ra 3.628.800 biến thể khác nhau.
- Chèn vào các lệnh nhảy: Win95/Zperm la loại virus sử dụng kỹ thuật này. Virus thực hiện chèn và bỏ các lệnh Jump ở trong mã và mỗi một lệnh Jump sẽ trỏ đến một lệnh mới của Virus. Virus Zperm không tạo ra một đoạn mã cố định ở bất cứ đâu, thậm chí cả ở trong bộ nhớ, do vậy việc sử dụng kỹ thuật tìm kiếm chuỗi để phát hiện loại virus này là gần như không thể thực hiện được.
- Thay thế lệnh: Virus Win95/Zperm có khả năng thực hiện lệnh thay thế, ví dụ, Virus có thể thay thế lệnh “Xor eax, eax” bằng lệnh “Sub eax, eax”. Cả hai lệnh đều thực hiện cùng chức năng là xóa sạch nội dung của thanh ghi eax, tuy nhiên giá trị Opcode khác nhau (việc biểu diễn lệnh ở hệ thập phân - hexa decimal - của lệnh là khác nhau). Các ví dụ khác của việc thay thế lệnh trong virus Win95/Zmist là: Đảo ngược các điều kiện rẽ nhánh; Thanh ghi di chuyển thay thế bởi lệnh push/pop tuần tự; Thay thế mã hóa opcode; Hoán chuyển sử dụng xor/sub và or/test.
- Hoán vị mã: Virus Win95/Bistro không chỉ tự biến đổi nó trong thế hệ mới, mà còn thay đổi cả mã của nó khi nhiễm. Với cách này, virus có thể tạo ra thế hệ virus và sâu mới. Để làm được điều này, virus sử dụng các mã thực thi ngẫu nhiên đa hình, đồng thời do các điểm nhiễm vào ứng dụng có thể khác nhau nên việc diệt virus không thể thực hiện triệt để. Việc hoán vị mã của của các loại sâu và virus thực hiện như virus Bistro rất khó để phát hiện và tiêu diệt hoàn toàn.
- Tích hợp mã: Virus Win95//Zmist sử dụng kỹ thuật tinh vi hơn, gọi là tích hợp mã (code integration). Virus Zmists có thể dịch ngược các file thực thi thành các thành phần nhỏ nhất, sau đó chuyển các khối mã, tự chèn vào các đoạn mã đích, tái tạo mã và các tham chiếu dữ liệu, rồi biên dịch thành các file thực thi.
Tham khảo: các kỹ thuật phát hiện Virus siêu đa hình
CHÚ Ý: để được cảnh báo virus và được Tư vấn Hỗ trợ và nhận Key Download mới nhất của phần mềm diệt Virus này hãy Tham gia nhóm Facebook tại đây
Theo ThS Vũ Đình Thu
Các tin khác liên quan cùng chủ đề
- Tìm hiểu các kỹ thuật phát hiện và diệt virus siêu đa hình - Phần 2
- Bkav báo nhiễm virus siêu đa hình, quét xong thì lỗi các file PDF và Rar
- Các xử lý và diệt Virus lấy nhiễm qua Yahoo Messenger
- Cách diệt virus ẩn hết thư mục và tạo các file giả thư mục .EXE
- Google sẽ tích hợp Phần mềm quét và diệt virus cho các ứng dụng Google Play
- Hàng loạt phần mềm diệt Virus và bảo mật di động ra mắt và tặng miễn phí
- Hầu hết các phần mềm diệt virus đều không hiệu quả đối với virus mới
- Máy tính mới mua cài phần mềm và Windows không bản quyền dễ bị nhiễm virus và mã độc
- Ngăn chặn lây nhiễm Virus từ USB và các thiết bị lưu trữ USB
- Nhiễm virus siêu đa hình không cho chạy file EXE và các Shortcut
- Phân biệt và phát hiện Virus, Spyware, Trojan, Malware và Worm
- Quét Virus và kiểm tra an toàn của link địa chỉ các Website