54 push esp 5D pop ebp
3.1.2 Thống kê số liệu.
Số liệu thống kê là phần cốt lõi của phương pháp phân tích thông kê vét cạn. Mô- đun này sẽ dựa vào hợp ngữ sinh ra qua chương trình disassembler để phân tích đầu vào, mã nguồn. Sau đó nó sẽ tập hợp số liệu thống kê quan trọng từ mã nguồn. Những thống kê này sẽ giúp việc quyết định có thực thì virus hoặc không.
Thống kê số liệu dựa vào chi tiết sau :
- Tỷ lệ phần trăm của lệnh NOP ở cuối chương trình con.
Một trong những phương pháp phổ biến của kỹ thuật che dấu mã lệnh là kỹ thuật chèn mã rác. Trong kỹ thuật này, những lệnh được chèn vào mà không ảnh hưởng đến logic của chương trình. Lệnh NOP là một ví dụ được sử dụng phổ biến và rộng rãi của những người viết virus. Số liệu thống kê trên phát hiện tỷ lệ phần trăm của lệnh NOP có mặt ở cuối của chương trình con. Lý do sử dụng số liệu thống kê này vì lệnh NOP ít sử dụng trong những tập tin exe hợp pháp.
- Tỷ lệ phần của của lệnh NOP ở ví trí ngẫu nhiên.
Thống kê này cho tỷ lệ lệnh NOP được đặt một cách ngẫu nhiên. Đây là một số liệu thông kê quan trọng cho việc phát hiện virus đa hình. Vì virus đa hình thường sử dụng kỹ thuật chèn mã rác nên chúng dễ dàng bị phát hiện bởi số liệu thống kê này.
- Tỷ lệ của lệnh JMP.
Một kỹ thuật phổ biến khác của che dấu mã lệnh được gọi là sắp xếp lại mã lệnh. Trong kỹ thuật che dấu này thì mã lệnh của chương trình con ban đầu được phân tách ra. Những lệnh JMP được sử dụng để chèn vào giữa hai đoạn mã lệnh được tách ra đó. Do đó logic của chương trình không thay đổi trong khi phần thân của virus sẽ bị thay đổi.
Số liệu thông kê này sẽ giúp tìm được số lượng lệnh JMP được gọi tới. Thống kê này hiệu quả để phát hiện ra virus đa hình sử dụng kỹ thuật sắp xếp lại mã.
Gần giống như số liệu thống kê lệnh JMP, nhưng nó chỉ quan tâm đến lệnh JMP ngắn (trong khoảng -128 đến 127 kể từ giáo trị EIP).
- Tỷ lệ chương trình con.
Số liệu thống kê này mang lại hiệu quả với loại virus đa hình sử dụng kỹ thuật sắp xếp lại chương trình con. Trong trường hợp này, những chương trình con trong hợp ngữ có thể thay đổi vị trí từ chỗ này đến chỗ khác dẫn đến phần thân của virus đa hình khác nhau.
- Tỷ lệ của những chương trình con không bao giờ được gọi.
Số liệu thống kê sẽ giúp phát hiện ra virus sử dụng kỹ thuật chèn thêm chương trình con vào trong phần thân của virus. Những chương trình con này không bao giờ được sử dụng.
3.1.3 Phân loại.
Phân loại thống kê sẽ trích xuất cho ra được là chương trình bình thường hay mã độc. Toàn bộ quá trình của phương pháp thống kê vét cạn được mô tả như trong hình 3.1:
Hình 3.1 Quá trình phương pháp thống kê vét cạn
Đầu tiên lựa chọn những tập tin exe “sạch”. Chúng được đưa qua phần mềm chuyên dụng để lấy về hợp ngữ. Ngoài ra một tập hợp virus đa hình cũng được đưa vào thử nghiệm. Sau đó, những mô-đun thống kê số liệu sẽ được lấy ra từ hợp ngữ. Cuối cùng phải dữ liệu thử nghiệm sẽ qua bộ phận phân loại và đưa ra cây quyết định.
Khi kiểm tra một tập tin, sau khi có được số liệu thống kê. Sau đó giá trị thu được sẽ được kiểm tra với mẫu cây quyết định của các virus đa hình đã có. Nếu nó phù hợp thì kết quả trả về nó là một biến thể của virus nào đó, ngược lại nó được xác nhận là một tập tin “sạch”.