Trong khi virus máy tính bám vào và trở thành một phần của mã máy tính để có thể thi hành thì sâu máy tính là một chương trình độc lập không nhất thiết phải là một phần của một chương tr
Trang 1HOÀNG THỊ NGỌC
NGHIÊN CỨU KỸ THUẬT PHÂN TÍCH MÃ ĐỘC
VÀ ỨNG DỤNG TRONG BẢO VỆ MÁY TÍNH
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2014
Trang 2HOÀNG THỊ NGỌC
NGHIÊN CỨU KỸ THUẬT PHÂN TÍCH MÃ ĐỘC
VÀ ỨNG DỤNG TRONG BẢO VỆ MÁY TÍNH
Chuyên Ngành : Khoa Học Máy Tính
Mã số : 60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Giáo viên hướng dẫn: TS.NGUYỄN NGỌC CƯƠNG
Thái Nguyên - 2014
Trang 3LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu do chính tôi thực hiện
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Thái Nguyên, Ngày 29 tháng 12 năm 2014
Tác giả
Hoàng Thị Ngọc
Trang 4MỤC LỤC
LỜI CAM ĐOAN i
MỤC LỤC ii
DANH MỤC HÌNH ẢNH iv MỞ ĐẦU 1
CHƯƠNG I - TỔNG QUAN VỀ MÃ ĐỘC 3
1.1 Khái niệm 3
1.2 Mục tiêu của mã độc 3
1.3 Lịch sử phát triển 4
1.4 Phân tích các dạng mã độc 7
1.4.1 Trojan……… 7
1.4.2 Virus 10
1.4.3 Worm 16
1.4.4 Backdoor 19
1.5 Dự đoán xu hướng phát triển của mã độc trong tương lai 21
CHƯƠNG II CÁC PHƯƠNG PHÁP PHÂN TÍCH VÀ PHÁT HIỆN MÃ ĐỘC 23
2.1 Phân tích Tĩnh 23
2.2 Phân tích động 25
2.3 Phân tích Entropy 28
2.4 Phân tích điểm yếu của mã độc 33
2.5 Nhận dạng chính xác mẫu……….…39
2.6 Nhận dạng Virus theo Heuristic………51
2.7 Các cơ chế nhận dạng theo hành vi và hành vi thực……….……54
Trang 5
CHƯƠNG III XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN MÃ ĐỘC VÀ
THỬ NGHIỆM 57
3.1 Mô hình hệ thống ……… 57
3.2 Quá trình thực hiện tìm và diệt mã độc ……… 60
3.3 Kết quả thử nghiệm ……… 61
KẾT LUẬN 69
TÀI LIỆU THAM KHẢO 70
Trang 6DANH MỤC HÌNH ẢNH
Hình 1.1 Lây nhiễm của virus boot sector 12
Hình 1.2 Phá hoại làm file phân mảnh của B- virus 14
Hình 2.1: Độ chính xác thống kê entropy dựa trên tập dữ liệu 32
Hình 2.2: Một thao tác MD5……… …….45
Hình 2.3: Kiểm tra mã độc trên virustotal qua mã băm……… 46
Hình 2.4: Mã nhận dạng của virus FunnyIM 48
Hình 2.5.So sánh hai vị trí offset 49
Hình 3.1: Quy trình phân tích mã độc 58
Hình 3.2 Sơ đồ chương trình phát hiện mã độc 60
Hình 3.3: Giao diện bảng kết quả 65
Hình 3.4: Giao diện bảng thông tin chi tiết……….… 66
Hình 3.5: Giao diện khởi động chương trình 67
Hình 3.6: Giao diện kết quả chương trình ……….… 68
Trang 7Những loại mã độc phổ biến như: Virus, Trojan House, worm, Attach script, Java applet- Active X, Malicious mobible code… mà nguy cơ do chúng gây ra là hoàn toàn rõ ràng và vô cùng phong phú Khi đã xâm nhập vào máy nạn nhân, mã độc có thể: mở cổng hậu (back door) để kẻ tấn công có thể truy cập và làm mọi việc trên máy nạn nhân, ghi lại thông tin sử dụng máy tính Đi cùng với
sự phức tạp của thiết kế hành vi thực thi của mã độc là các kỹ thuật ngăn chặn việc phân tích hoạt động của mã độc khiến cho việc phân tích mã độc ngày càng trở nên khó khăn và phức tạp
Hiện nay có nhiều công cụ chuyên nghiệp để phân tích và diệt mã độc như các sản phẩm của các hãng nước ngoài, trong nước Tuy nhiên việc sử dụng các công cụ này như là một hộp đen chứa nhiều các nguy cơ tiềm ẩn Do vậy việc nghiên cứu để xây dựng các chương trình diệt mã độc là yêu cầu có tính cấp thiết nhằm làm chủ công nghệ, kỹ thuật trong đảm bảo an ninh an toàn máy tính và mạng
Do đó trong luận văn này chúng tôi nghiên cứu các phương pháp phân tích và phát hiện mã độc, từ đó xây dựng thử nghiệm một chương trình phát hiện và diệt
mã độc Cụ thể Luận văn có cấu trúc như sau:
Trang 8 Chương 1: Tổng quan về mã độc : Tìm hiểu tổng quan về các loại mã độc
Chương 2: Các phương pháp phân tích và phát hiện mã độc: Tìm hiểu về các kỹ thuật phân tích, phát hiện Mã độc và ưu điểm nhược điểm của từng
kỹ thuật
Chương 3: Xây dựng chương trình phát hiện mã độc và thử nghiệm: Thử nghiệm chương trình phát hiện và diệt mã độc dựa vào kỹ thuật nhận dạng chính xác mẫu
Trang 9CHƯƠNG I – TỔNG QUAN VỀ MÃ ĐỘC
Mã độc từ khi ra đời cho đến nay luôn tận dụng những kỹ thuật tiên tiến của công nghệ thông tin và truyền thông cũng như lợi dụng những lổ hổng nguy hiểm trong các hệ thống tin học để khuyếch trương ảnh hưởng của mình Mặc dù việc sử dụng các thiết bị và phần mềm bảo mật trở nên phổ biến nhưng mã độc vẫn tiếp tục phát triển mạnh mẽ và giờ đây chúng thường được viết ra có mục đích rõ ràng, phục vụ một đối tượng cụ thể và không ngừng cải tiến qua các phiên bản để đạt được phiên bản hiệu quả nhất
Vậy để phát hiện và diệt được mã độc thì trước hết phải hiểu rõ bản chất của chúng Về nguyên tắc chung, công việc diệt mã độc đa phần là làm ngược lại những gì mà mã độc đã làm Vì vậy trong chương này tôi tập trung nghiên cứu những nội dung liên quan đến cơ chế hoạt động của các loại mã độc để làm rõ bản chất của chúng Từ đó có thể xây dựng chương trình tìm và diệt mã độc
1.1 Khái niệm
Mã độc là chương trình được cố ý thiết kế để thực hiện trái phép một số hành động gây nguy hại cho hệ thống máy tính Đi cùng với sự phát triển của internet trong những năm gần đây; Mã độc đang nhanh chóng trở thành mối nguy hại tiềm tàng ảnh hưởng đến người sử dụng, các tổ chức hay chính phủ trên toàn thế giới.[5]
Trang 10Morris worm 1988 Worm Sâu máy tính đầu tiên được phát tán
trên mạng internet Có khoảng 6000 máy bị lây nhiễm ( chiếm 10% lượng máy tính sử dụng internet thời bấy giờ)
Java Attack
Applets
1996-
1999
Mobile code Lợi dụng lỗi trong Java để tấn công
thông qua các applets java đặt trên web
ActiveX
( scripting)
1997 Mobile code Bị tấn công lần đầu vào thời gian
này và kể từ đó đến nay hệ thống ActiveX của Microsoft liên tục bị phát hiện dính phải những lỗi bảo mật nghiêm trọng
Melissa 1999 Mobile code
virus
Virus lây lan nhanh thứ hai mọi thời đại, sử dụng email để phát tán Lây nhiễm cho hơn một triệu máy tính chỉ trong vài giờ
script DDoS
Chương trình tấn công từ chối dịch
vụ ( DDoS ) đầu tiên gây tác hại lớn
Trang 11đến hệ thống mạng yahoo năm 2000 Love Bug 2000 Virus Virus được cho là lây lan nhanh nhất
từ trước đến nay, đánh lừa người sử dụng thực thi file VB script phát tán thông qua email outlook của Microsoft
DDoS
Sâu máy tính tấn công DdoS trên một số máy chủ internet và là chậm lưu lượng truy cập internet
Sâu Slammer khai thác lỗi tràn bộ đệm trong SQL Server của Microsoft Lây nhiễm 75000 máy tính chỉ trong 10 phút
RavMonE 2006 Trojan Loại Trojan mở ra một Backdoor
cho phép kẻ tấn công truy cập đến
dữ liệu trong máy tính bị lây nhiễm Điểm đặc biệt của loại Trojan này là
nó được phát tán thông qua file video của Apple tuy nhiên lại chỉ lây nhiễm trên hệ thống windows
Conflicker 2008 Worm Tấn công windows thông qua khai
thác lỗ hổng trong giao thức RPC Loại sâu này kết hợp nhiều kỹ thuật malware tiên tiến với nhau khiến cho việc phân tích chúng khó khăn
Trang 12Conflicker đã lây nhiễm cho hàng triệu máy tính trên hơn 200 quốc gia trên thế giới và vẫn tồn tại cho đến hiện nay
Stuxnet 2010-
2011
Worm Stuxnet lây lan qua windows, là loại
mã độc đầu tiên được phát hiện có khả năng gián điệp và phá hoại hệ thống máy tính công nghiệp Sâu Stuxnet được thiết kế vô cùng phức tạp và các cuộc tấn công tinh vi của chúng với những mục tiêu cụ thể được cho là thực hiện bởi sự hỗ trợ của cả một quốc gia
Flame 2012 Malware Được đánh giá là loại mã độc tinh vi
và phức tạp nhất cho đến nay, tấn công các máy tính chạy windows Ước tính chi phí cho việc nghiên cứu phát triển Flame lên tới hàng chục triệu Dollar Flame có thể lây nhiễ thông qua ạng LAN hay USB,
có khả năng ghi âm, chụp ảnh màn hình, lưu lượng mạng, ăn cắp dữ liệu trong máy bị nhiễm và cả các thiết bị kết nối bluetooth với nó…
Trang 131.4 Phân tích các dạng mã độc
1.4.1 Trojan
Trojan là loại mã độc hại được đặt theo sự tích “Ngựa thành Troy” Trojan
là một chương trình mà trong đó chứa đựng những mã nguy hiểm và độc hại ẩn dưới dạng nhưng dữ liệu hay chương trình dường như vô hại theo như tính năng này nó có thể điều khiển và gây hại, ví dụ như mở bảng phân bố tập tin trong đĩa cứng của bạn.[1]
- Xóa hoặc thay thế các file quan trọng của hệ thống
- Tạo một kết nối giả để tấn công DOS
- Tải Spyware Adwares và các file độc hại
- Vô hiệu hóa tường lửa và phần mềm chống virus
- Chụp màn hình, ghi âm, quay màn hình của máy nạn nhân
- Lây nhiễm sang PC của nạn nhân như một máy chủ proxy cho các cuộc tấn công chuyển tiếp
- Sử dụng máy tính của nạn nhân để phát tán thư rác và bom thư
Phân loại Trojan
- Command shell Trojan
- Email Trojans
- Botnet Trojans
- Proxy sever Trojans
Trang 14Dấu hiệu nhận biết bị nhiễm Trojan
Nếu có các dấu hiệu sau thì khả năng máy tính đã bị nhiễm Trojan:
- Thanh Taskbar trên windows bỗng dưng biến mất
- Tài khoản và mật khẩu bị thay đổi hoặc không chứng thực được
- Màn hình máy tính bật ngược hoặc đảo lộn
- Thiết lập của màn hình chờ tự động thay đổi
- Nhà cung cấp dịch vụ than phiền nạn nhân đang scan ip của mình
- Hình nền và background thay đổi
- Chức năng các nút trái phải bị đảo lộn
- Mọi người biết nhiều thông tin của nạn nhân
- Màn hình mấy tính bị nó tắt mở
- Tài liệu hoặc tin nhắn được in ra từ mấy in của mình
- Trỏ chuột biến mất hoặc di chuyển bởi nó
Trang 15- Máy tính bị tắt hoặc mở bởi nó
- Phím tắt Ctrl + Alt + Del dừng làm việc
Sự lây nhiễm của Trojans
- Hợp pháp hóa một gói không hợp pháp trong phần mềm đóng gói
- Chương trình giả mạo
- Tải các tập tin, trò chơi và màn hình chờ từ các site trên internet
- Các site phần mềm iễn phí không đáng tin cậy
- NetBIOS ( chia sẻ file)
- Chạy máy quét Trojan để phát hiện Trojan
- Quét cho các HOẠT ĐỘNG MẠNG đáng ngờ
- Quét cho các FILE HỆ ĐIỀU HÀNH thay đổi đáng ngờ
- Quét cho các CHƯƠNG TRÌNH KHỞI ĐỘNG đáng ngờ
- Quét cho các TẬP TIN VÀ THƯ MỤC đáng ngờ
- Quét cho các TRÌNH ĐIỀU KHIỂN THIẾT BỊ đáng ngờ được cài đặt
trên máy tính
- Quét cho các DỊCH VỤ WINDOWN đáng ngờ
- Quét cho các MỤC REGISTRY đáng ngờ
- Quét cho các CỔNG MỞ đáng ngờ
- Quét cho các QUY TRÌNH CHẠY đáng ngờ
Trang 16Các biện pháp đối phó với Trojan
- Tránh tải về và thực hiện các ứng dụng từ các nguồn không tin cậy
- Tránh mở file đính kèm email nhận được từ những người gửi không rõ
- Cài đặt các bản vá lỗi và cập nhật bảo mật cho các hệ thống điều hành và các ứng dụng
- Quét đĩa CD và đĩa mềm với phần mềm chống virus trước khi sử dụng
- Tránh chấp nhận các chương trình chuyển giao tin nhắn tức thời
- Chặn tất cả các cổng không cần thiết tại các máy chủ và tường lửa
- Khi phần cứng yếu, thiết lập cấu hình mặc định
- Vô hiệu chức năng không sử dụng bao gồm các giao thức và dịch vụ
- Tránh gõ các lệnh một cách mù quáng và thực hiện chế sẵn chương trình hoặc các kịch bản
- Theo dõi lưu lượng truy cập mạng nội bộ cho các cảng lẻ hoặc mã hóa lưu lượng truy cập
- Quản lý tính toàn vẹn tập tin cục bộ máy trạm thông qua tổng kiểm tra, kiểm toán, và quét cổng
- Chạy các phiên bản chống virus, tường lửa và phần mềm phát hiện xâm nhập máy tính
- Hạn chế quyền truy cập trong môi trường máy tính để ngăn chặn các ứng
dụng độc hại installation trên máy tính
1.4.2 Virus
Virus máy tính thực chất là các phần mềm tin học có khả năng gián tiếp tự
kích hoạt, tự nhân bản sao chép chính nó vào các chương trình khác nhằm mục đích phá hoại, do thám hoặc cũng có thể chỉ là để vui đùa Một số virus ảnh
Trang 17hưởng đến máy tính ngay sau khi mã của nó được thực hiện, một số virus khác nằm im cho đến khi một hoàn cảnh hợp lý rồi mới được kích hoạt
Nguyên nhân virus được tạo ra
- Gây thiệt hại cho các đối thủ cạnh tranh
- Phân tán các thông điệp chính trị
Dấu hiệu nhận biết bị nhiễm Virus
- Truy xuất tập tin, mở các chương trình ứng dụng chậm
- Khi duyệt web có các trang web lạ tự động xuất hiện
- Duyệt web chậm, nội dung các trang web hiển thị trên trình duyệt chậm
- Các trang quảng cáo tự động hiện ra, màn hình Desktop bị thay đổi
- Các file lạ tự động sinh ra khi bạn mở ổ đĩa USB
- Xuất hiện các file có phần mở rộng exe có tên trùng với tên các thư mục
và có dấu hiệu mất file và thư mục
- Ổ cứng bị truy xuất thường xuyên
Nguyên nhân máy tính bị nhiễm Virus
- Không chạy ứng dụng chống virus mới nhất
- Không uptade và các ứng dụng bổ sung mới nhất
- Cài đặt các phần mềm không tin tưởng
- Mở file hoặc mail có dính kèm virus
- Truy cập các web không an toàn
Trang 18- Tải file trên internet mà không kiểm tra tính an toàn của file
Phân loại Virus theo đối tượng lây nhiễm
Như đã nói, tin học phát triển ngày càng mạnh mẽ thì virus cũng phát triển ngày càng đa dạng, có thể nói không có loại virus nào là hoàn toàn giống nhau Tuy nhiên các virus luôn có một số đặc điểm chung nhất định để dựa vào đó người ta
có thể phân biệt nó Có nhiều cách phân loại khác nhau, phân loại theo đối tượng lây nhiễm thì virus gồm hai loại:
- B- virus: Virus chỉ tấn công lên Master Boot hay Boot Sector
- F-virus: Virus chỉ tấn công lên các file khả thi
Mặc dù vậy, cách phân chia này cũng không hẳn là chính xác Ngoại lệ vẫn có các virus vừa tấn công lên Master Boot ( Boot Sector) vừa tấn công lên file khả thi
B- virus
Khi máy tính bắt đầu khởi động, các thanh ghi phân đoạn đều được đặt về 0FFFH, còn mọi thanh ghi khác đều được đặt về 0 Như vậy, quyền điều khiển ban đầu được trao cho đoạn mã tại 0FFFh:0h, đoạn mã này thực ra chỉ là lệnh nhảy JPM FAR đến một đoạn chương trình trong ROM, đoạn chương trình này thực hiện quá trình POST (Power On Self Test)
Hình 1.1 Lây nhiễm của virus boot sector
Trang 19Quá trình POST lần lượt kiểm tra các thanh ghi, kiểm tra bộ nhớ, khởi tạo các chip điều khiển DMA, bộ điều khiển ngắt, bộ điều khiển đĩa, … Sau đó nó sẽ
dò tìm các card thiết bị gắn thêm để trao quyền điều khiển cho chúng tự khởi tạo rồi lấy lại quyền điều khiển Chú ý rằng đây là đoạn chương trình trong ROM nên không thể sửa đổi, cũng như không thể chèn thêm đoạn mã nào khác
Sau quá trình POST, đoạn chương trình trong ROM tiến hành đọc Boot Sector trên đĩa A hoặc Master Boot trên đĩa cứng vào RAM, tại địa chỉ 0:7C00h
và trao quyền điều khiển cho đoạn mã đó bằng lệnh JMP FAR 0:7C00h Đây là chỗ mà B-virus lợi dụng để tấn công vào Booot Sector, nghĩa là nó sẽ thay Boot Sector chuẩn bằng đoạn mã virus vì thế quyền điều khiển được trao cho virus, nó
sẽ tiến hành các hoạt động của mình trước, rồi sau đó mới tiến hành các thao tác như thông thường Đọc Boot Sector chuẩn mà nó cất giấu ở đâu đó vào 0:7C00h rồi trao quyền điều khiển cho đoạn mã chuẩn này, và người sử dụng có cảm giác rằng máy tính của mình vẫn hoạt động bình thường
Việc cất giữ sector khởi động tại vị trí nào trên đĩa tùy thuộc loại đĩa và cách giải quyết từng loại virus Đối với đĩa cứng, thông thường nó được cất giữ đâu đó trong side 0, cylinder 0 vì trong cả track này, DOS chỉ sử dụng sector đầu cho bảng Partition Trên đĩa mềm, vị trí cất giữ sẽ phức tạp hơn vì mọi chỗ đều
có khả năng ghi đè thông tin
Trang 20Hình 1.2 Phá hoại làm file phân mảnh của B-virus
Tùy thuộc vào độ lớn của đoạn mã virus mà B-virus được chia hai loại:
SB-virus: chương trình của SB-virus chỉ chiếm đúng một sector khởi
động, tác vụ của SB-virus không nhiều và tương đối đơn giản Hiện nay số các virus loại này thường ít gặp và có lẽ chỉ là các virus do trong nước “sản xuất”
DB-virus: đây là những virus mà đoạn mã có nó lớn hơn 512bytes Vì
thế mà chương trình virus được chia làm hai phần:
- Phần đầu virus: được cài đặt trong sector khởi động để chiếm quyền điều khiển khi quyền điều khiển được trao cho sector khởi động này Nhiệm vụ duy nhất của phần đầu là tải tiếp phần thân của virus vào vùng nhớ và trao quyền điều khiển cho phần thân đó Vì nhiệm vụ đơn giản như vậy nên phần đầu của virus thường rất ngắn, và càng ngắn càng tốt vì càng ngắn thì sự khác biệt giữa sector khởi động chuẩn và sector khởi động đã
bị nhiễm virus càng ít, giảm khả năng bị nghi ngờ
- Phần thân virus: là chương trình chính của virus Sau khi được phần đầu tải vào vùng nhớ và trao quyền, phần thân này sẽ tiến hành các tác vụ của mình, sau khi tiến hành xong mới đọc sector khởi động chuẩn vào vùng
Trang 21nhớ và trao quyền cho nó để máy tính làm việc một cách bình thường như chưa có gì xảy ra
F- Virus
Khi DOS tổ chức thi hành file thực thi (bằng chức năng 4Bh của ngắt 21h),
nó sẽ tổ chức lại vùng nhớ, tải file cần thi hành và trao quyền điều khiển cho file
đó F-virus lợi dụng điểm này bằng cách gắn đoạn mã của mình vào file đúng tại
vị trí mà DOS trao quyền điều khiển cho file sau khi đã tải vào vùng nhớ Sau khi F-virus tiến hành xong các hoạt động của mình, nó mới sắp xếp, bố trí trả lại quyền điều khiển cho file để cho file lại tiến hành hoạt động bình thường và người sử dụng thì không thể biết được
- So với B- virus thì số lượng F- virus đông đảo hơn nhiều, có lẽ do các tác
vụ đĩa với sự hỗ trợ của Int 21 đã trở nên cực kỳ dễ dàng và thoải mái, đó là điều kiện phát triển cho các F- virus Thường thì các F- virus chỉ lây lan trên các file khả thi ( có đuôi COM hoặc EXE), tuy nhiên một nguyên tắc mà virus phải tuân thủ là: khi thi hành một file khả thi bị lây nhiễm, quyền điều khiển phải nằm trong tay virus trước khi virus trả nó lại cho file bị nhiễm, và khi file nhận lại quyền điều khiển, tất cả mọi dữ liệu của file phải được bảo toàn
Phân loại virus theo cách thức lây nhiễm
- Virus System hoặc Boot sector
- Virus Stealth/ Virus Tunneling
Trang 22- Virus Companion/ Camouflage
- Virus Shell
- Virus Direct Action hoặc virus Transient
- Virus file extension
- Virus Terminate and Stay Resident (STR)
Biện pháp phòng tránh Virus
- Đảm bảo file thực thi được gửi đến tổ chức phải được phê duyệt
- Không boot máy tính với ổ đĩa bootable đã bị nhiễm
- Hiểu biết về mối đe dọa virus mới nhất và cập nhật thông tin
- Kiểm tra CD và DVD có bị nhiễm hay không
- Đảm bảo cửa sổ pop-up blocker được bật và sử dụng tường lửa internet
1.4.3 Worm
Sâu máy tính(worm) là một chương trình máy tính có khả năng tự nhân bản
giống như virus máy tính Trong khi virus máy tính bám vào và trở thành một phần của mã máy tính để có thể thi hành thì sâu máy tính là một chương trình độc lập không nhất thiết phải là một phần của một chương trình máy tính khác để
có thể lây nhiễm Sâu máy tính thường được thiết kế để khai thác khả năng truyền thông tin có trên những máy tính có các đặc điểm chung – cùng hệ điều hành hoặc cùng chạy một phần mềm mạng – và được nối mạng với nhau
Hầu hết các worm được tạo chỉ có thể tái tạo và lây lan thông qua mạng, tiêu thụ tài nguyên máy tính, tuy nhiên một vài worm mang một payload tàn phá
hệ thống
Trang 23Kẻ tấn công sử dụng worm payload để cài đặt vào cửa sau của máy tính bị nhiễm, sẽ bật chúng trở thành thây ma và tạo botnet; những botnet này có thể sử dụng để mang tấn công đến không gian mạng
Một số worm cơ bản
W32/ Nesky
Đặc điểm
W32/Nesky là một sâu lây lan sử dụng email và chia sẻ qua mạng Windows
Nó tìm tất cả ánh xạ ổ đĩa của file có phần mở rộng để tìm thấy địa chỉ email Worm cũng sẽ cố gắng sao chép chính nó vào trong thư mục root của ổ đĩa C
Thực thi
Khi một file được giải nén và mở thì virus có thể hiển thị dòng tin nhắn “ The file could not be opend” W32/ Netsky-A sao chép chính nó vào trong thư mục Window như services.exe Để tự động chạy mỗi khi Windows khởi động W32/Netsky-A tạo một registry
Trang 24- Bagle.GE tải một ổ đĩa chế độ kernel (m_hook.sys) được nó sử dụng để tự
ẩn mình và Bagle các phần mềm độc hại khác, Email-Worm/Bagle.GF
- Xử lý và thư mục, khóa registry và các value
Worm Conficker
Đặc điểm
- Worm Conficker là một worm máy tính có thể lây nhiễm và tự nó lây lan sang các máy tính khác thông qua mạng một cách tự động, mà không tương tác con người
- File autorun.inf được đặt trong thư mục thùng rác
- Người dùng bị khóa bên ngoài của thư mục
- Truy cập an toàn – liên quan trang web bị chặn
- Lưu lượng truy cập được gửi qua port 445 trên máy chủ non – Directory Service(DS)
- Truy cập với quyền admin vào ổ đĩa chia sẻ bị từ chối
Trang 25Biện pháp phòng tránh Worm
- Chạy clean up ổ đĩa, quét registry và chạy chống phân mảnh một lần trong tuần
- Bật tường lửa nếu OS sử dụng windows XP
- Chạy chương trình giống phần mềm gián điệp và phần mềm quảng cáo một lần trong tuần
- Chặn tất cả các file có phần mở rộng dài hơn phần mở rộng của file
- Thận trọng với những file được gửi thông qua dòng tin nhắn tức thời
1.4.4 Backdoor
Khái niệm Backdoor
Backdoor là một chương trình hoặc có liên quan đến chương trình, được hacker
sủ dụng để cài đặt trên hệ thống đích, nhằm mục đích cho anh ta truy cập trở lại
hệ thống vào lần sau Mục đích của Backdoor là xóa bỏ một cách minh chứng hệ thống ghi nhật ký Nó cũng giúp hacker cầm cự trạng thái truy cập khi bị quản trị viên phát hiện và tìm cách khắc phục
Biện pháp đối phó với Backdoor
- Hầu hết các sản phẩm chống virus thương mại có thẻ tự động quét và phát hiện các chương trình backdoor trước khi chúng có thể gây thiệt hại
- Giúp người dung không cài đặt các ứng dụng tải về từ các trang web Internet không đáng tin cậy và file đính kèm email
- Sử dụng công cụ chống virus chanwgr hạn như Windowws Defender, McAfee, Norton phát hiện và loại bỏ các Backdoors
Kiểm tra xâm nhập
- Quét hệ thống cổng mở, các tiến trình đang chạy, các khóa registry, trình điều khiển thiết bị và dịch vụ Nếu bất kì cổng đáng ngờ, quá trình, mục
Trang 26đăng ký, trình điều khiển thiết bị hoặc dịch vụ được phát hiện, kiểm tra các tập tin thực thi liên quan
- Thu thập thêm thông tin về các từ trang web của nhà phát hành, nếu có, và Internet kiểm tra nếu các cổng mở được biết là được mở ra bởi các Trojan trong tự nhiên
- Kiểm tra các chương trình khởi động và xác định nếu tất cả các chương trình trong danh sách có thể được công nhận với các chức năng được biết đến
- Kiểm tra các tập tin dữ liệu để sửa đổi hoặc thao tác bằng cách mở một số tập tin và so sánh giá trị hash của những tập tin này với một hash được tính toán trước
- Kiểm tra hoạt động mạng đáng ngờ chẳng hạn như tải lên các tập tin số lượng lớn hoặc lưu lượng truy cập ao bất thường đi đến một địa chỉ web cụ thể
- cách sử dụng các công cụ như tripwire hoặc sự so snahs giá trị hash nếu bạn
- Cô lập hệ thống bị nhiễm từ mnagj ngay lập tức để ngăn ngừa nhiễm hơn nữa
- Khử trùng hệ thống hoàn chỉnh cho các Trojan sử dụng cập nhật chống virus
1.5 Dự đoán xu hướng phát triển của mã độc trong tương lai
Một đặc tính nguy hiểm của mã độc hiện nay đó là nó được thiết kế với mục đích lây nhiễm dài hạn trên mục tiêu, điều đó có nghĩa là khi lây nhiễm vào máy tính mục tiêu, thay vì ngay lập tức có những hành vi phá hoại hay ăn cắp dữ
Trang 27liệu dễ bị phát hiện, chúng sẽ thực hiện một loạt sự chuẩn bị để tồn tại trong hệ thống càng lâu càng tốt; sau đó mới thực thi các cuộc tấn công vào hệ thống với
sự đảm bảo rằng nếu cuộc tấn công đó thất bại, kẻ tấn công có thể sử dụng mã độc đó cho một cuộc tấn công khác vào thời gian sau đó với một hình thức hay cách tiếp cận khác
Trong những mã độc được phân tích, người ta còn nhận thấy xu hướng cải tiến phức tạp trong việc đánh cắp dữ liệu – một trong những mục đích quan trọng của mã độc Cách thức mà mã độc sử dụng phải đảm bảo dữ liệu đánh cắp được không bị chặn hay bị phát hiện những vẫn đảm bảo tính bí mật, điều này đòi hỏi
kẻ tấn công phải sử dụng những kênh giao thức phổ biến cũng như mã hóa dữ liệu gửi nhận
Mục tiêu của những loại mã độc nguy hiểm thời gian gần đây có thể bao gồm quân sự, chính trị hay thu thập thông tin tình báo kinh tế, làm gián đoạn các hoạt động hoặc phá hủy các thiết bị công nghiệp Malware Stuxnet cho phép kẻ tấn công phá vỡ hệ thống kiểm soát công nghiệp trong quá trình làm giàu Uranium của một cơ sở công nghiệp cụ thể là một ví dụ điển hình cho xu hướng phát triển mã độc trong tương lai
Nếu như ban đầu mục tiêu của những đoạn mã độc chỉ nhắm đến những máy tính đơn lẻ, cơ chế lây lan hầu như không có và tác hại mang tính trêu trọc thì ngày nay mã độc có thể gây ra những thiệt hại lớn đối vứi hệ thống máy tính,
cơ chế lây lan phức tạp, phá hoại hoặc đánh cắp dữ liệu, tấn công từ chối dịch
vụ Nghiêm trọng hơn, mã độc có thể được phát triển phức tạp và thiết kế tinh vi với mục đích gián điệp, phá hoại trên diện rộng bởi các tổ chức, chính phủ trên thế giới Từ đó dẫn đến nguy cơ về một cuộc chiến tranh mạng lan rộng
Trang 28Dựa vào thực tế sự phát triển mã độc hiện nay, một số dự đoán xu hướng phát triển của mã độc trong tương lai:
Các loại mã độc với các kỹ thuật chống phân tích được cải tiến
Mã độc trong các thiết bị di động bùng phát do xu hướng di động đã và
sẽ phát triển mạnh trong tương lai
Mã độc với những kỹ thuật được cải tiến đảm bảo sao cho chúng có thể lây nhiễm trên diện rộng đồng thời trên nhiều nền tảng khác nhau
Mã độc được sử dụng như là một công cụ quan trọng trong chiến tranh mạng giữa các tổ chức hay các quốc gia
Mã độc có thể coi là loại vũ khí sắc bén của chiến tranh mạng trong tương lai
Trang 29CHƯƠNG II CÁC PHƯƠNG PHÁP PHÂN TÍCH VÀ PHÁT HIỆN MÃ ĐỘC
Sử dụng mạng ngày nay là một nhu cầu không thể thiếu của chúng ta, vì thế đây cũng là một điểm mà các hacker nhắm đến Chúng có thể đặt các mã độc lên những quảng cáo, trang web xấu,…Vậy muốn diệt được mã độc thì trước tiên chúng ta phải phát hiện ra nó Vì vậy trong chương này tôi tập trung tìm hiểu về một số kỹ thuật phân tích và phát hiện mã độc Từ đó có thể xây dựng một chương trình phát hiện và diệt mã độc hiệu quả
Phân tích tĩnh có ưu điểm là an toàn hơn phân tích động; vì mã thực thi không chạy trên môi trường, nên chúng ta không cần lo lắng những vấn đề như:
mã độc sẽ format ổ cứng, xóa file, lây lan vào những file hệ thống, lấy cắp dữ liệu … Chỉ cần có một mối nguy hiểm có thể xảy ra, là trong quá trình phân tích chúng ta vô tình thực thi mã độc (click đúp, hoặc chạy thư viện mã độc) Cũng
có thể giảm thiểu, loại bỏ các nguy cơ này bằng cách phân tích tĩnh mã độc trên môi trường mà nó không thực thi ( ví dụ phân tích mã độc trên Windows trong
hệ điều hành Linux)
Trang 30Kỹ thuật lấy thông tin ban đầu về file
Trước khi làm bất kì việc gì, chúng ta nên tính toán giá trị băm cho mỗi file cần phân tích Thông thường sẽ sử dụng các hàm mã hoá MD5, SHA Sau khi tính toán, chúng ta có thể biết được mã độc có tự thay đổi nó hay không
Kỹ thuật quét virus
Nếu file được kiểm tra là một phần của một mã độc nổi tiếng, hoặc đã được phân tích bởi các công ty an ninh mạng, diệt vius, thì có khả năng nó sẽ được nhận ra bởi một chương trình diệt virus Khi đó nhiệm vụ của người phân tích là sẽ tìm kiếm thông tin từ nhà cung cấp phần mềm diệt virus, qua đó nắm được cơ bản hành vi, cách thức lây lan, hoạt động của mã độc đó, tuy nhiên nó chỉ nằm ở mức cơ bản
Phát hiện các trình packer
Packer là một trình bảo vệ, nén file thực thi, thường được sử dụng để bảo
vệ file thực thi khỏi quá trình dịch ngược, và để giảm dung lượng file Chúng có thể thay đổi luồng thực thi của chương trình, mã hoá các chuỗi, tránh dubug… Khi thực thi, các lớp bảo vệ này được tự động gỡ ra, và chương trình sẽ hoạt động như chương trình ban đầu Có rất nhiều các mã độc sử dụng nhiều packer khác nhau nhằm gây khó khăn cho người phân tích
Sử dụng chuỗi tìm được
Để hiểu được những gì một chương trình thông thường làm, chúng ta thường tìm đọc các tài liệu đi kèm, hướng dẫn sử dụng… Với mã độc cũng tương tự, tuy nhiên không có tài liệu hay hướng dẫn.Thay vào đó là những thông tin hữu ích trong file thực thi là điều đáng chú ý
Công cụ xem cấu trúc của file thực thi ( trên windows gọi chung là PE file)
Trang 31PE file (portable executable) là định dạng được sử dụng bởi các file thực thi của
hệ điều hành Windows Có nhiều thông tin quan trọng mà định dạng này cung cấp như:
- Ngày tháng biên dịch
- Các hàm trong thư viện được chương trình gọi
- Hàm mà chương trình hay thư viện cung cấp
- Biểu tượng, menu, phiên bản và các chuỗi tích hợp trong tài nguyên file
Công cụ dịch ngược
Sau khi đã có thông tin cơ bản về mã độc ở các bước trên, công việc chính tiếp theo là hiểu cách hoạt động của nó, bằng cách xem mã thực thi ở dạng có thể hiểu được ( dưới dạng ngôn ngữ assembly) Rất nhiều những công cụ có khả năng dịch ngược từ mã máy sang mã assembly.Tuy nhiên hiện nay công cụ được
ưa thích, rất mạnh, và dễ sử dụng đó là IDA ( Interactive Disassember)
Các công cụ so sánh file
Dùng để so sánh các file trước và sau khi hệ thống bị lây nhiễm mã độc Giả sử có một file chưa lây nhiễm, và một người gửi đến trung tâm phân tích một file đã nhiễm mã độc, thì đây là công cụ cần sử dụng đầu tiên Không chỉ đưa ra thông tin về những byte khác nhau, các công cụ này còn có khả năng đưa
ra mã assembly của những đoạn đó, giúp cho người phân tích dễ dàng thấy được các hoạt động của mã độc
2.2 Phân tích động
Phân tích động(Dynamic analysis): dựa vào hành vi thực thi của mã độc để đưa
ra đánh giá về ảnh hưởng của mã độc đối với hệ thống Phân tích động là phân tích cách hoạt động của virus khi nó được thực thi, nó kết nối đến đâu, lây lan như thế nào, cài đặt những gì vào hệ thống, thay đổi thành phần nào, hoạt động
Trang 32ra sao Thông thường việc phân tích động mã độc thường thông qua hệ thống máy ảo Sandbox Phân tích động thường dựa vào các công cụ monitor hệ thống mạng (như ProcessMon, TCPView, Autoruns …)
Ưu điểm:
Cho cái nhìn nhanh chóng và tổng quát về mã độc được phân tích
Giám sát được các hành động của phần mềm độc hại khi thực hiện trên
Qúa trình phân tích động có thể mô hình theo các bước sau đây:
Bước 1 Bật chương trình Process Explorer
Bước 2 Bật chương trình bắt gói tin Wireshark
Bước 3 Khởi động chương trình SysAnalyzer
Bước 4 Khởi động chương trình Regshot và chạy lấy thông tin registry hiệnthời của hệ thống lần đầu tiên
Bước 5 Load mã độc hại vào chương trình Sysanalyzer để chạy mã độc hại
Bước 6 Chạy tiếp chương trình Regshot để so sánh thông tin registry đã thay đổi những gì
Bước 7 Kiểm tra chương trình Process Explorer, Svchost Process Analyzer
Bước 8 Kiểu tra chương trình Wireshark và TCPView để xem các thông tin về kết nối
Trang 33Đối với các mẫu không phải virus (trojan, adware, worm, …) hoặc các mẫu không cần phân tích mà chỉ cần theo dõi hành vi tác động lên hệ thống thì chỉ cần dừng lại ở bước phân tích qua các công cụ giám sát Đối với các mẫu virus (có hành vi lây file) hoặc các mẫu khác cần phân tích để lấy các đoạn mã
cụ thể, cần thực hiện Giai đoạn phân tích để lấy các thông tin chi tiết hơn
Sau giai đoạn theo dõi và phát hiện mã độc, chúng ta đã có các thông tin cơ bản liên quan tới mẫu cần phân tích: Các tài nguyên mẫu tác động tới: các file, thư mục, key trên thanh ghi, cách thức hoạt động cơ bản (Hình thức, cách thức và trình tự lây lan, phá hoại) Nhiệm vụ của việc phân tích nhằm: Tìm ra triệt để các hành vi phá hoại, phân tích để diệt mẫu toàn diện nhất
Để phân tích nhằm tìm cách thức lây file, ta sử dụng chương trình mồi và
sử dụng ProcessMonitor để theo dõi được thư mục nào là thư mục đầu tiên mà
mẫu cần phân tích, đưa các chương trình mồi vào và theo dõi sự thay đổi của chương trình mồi Nếu chương trình mồi bị thay đổi, ta chuyển sang bước tiếp theo, nếu không, ta thay thế bằng các chương trình mồi khác và tiếp tục thử khi chọn được chương trình mồi hợp lý
Để phân tích các hành vi ta cần dựa vào các hành vi cần theo dõi từ giai đoạn kiểm tra, theo dõi và phát hiện chúng ta sẽ lựa chọn các API tương ứng Tương tác tới registry, có các API: RegCloseKey, RegOpenKeyEx, RegQueryInfoKey, RegQueryValueEx…
Tương tác tới các trình duyệt để lấy Cookie: các API tương tác tới file, đồng thời quan sát thư mục liên quan tới browser: mở cổng hậu, tạo các socket kết nối: WSAStartup, WSASocket,WSAConnect,WSAAccept, WSASend,WSARec
Từ các hành vi này, ta tiến hành đặt các break point tại các API quan tâm
và tìm được vị trí các đoạn mã mong muốn
Trang 34Mỗi phương pháp đều có điểm mạnh, điểm yếu riêng Vì thế khi phân tích
mã độc cần kết hợp cả 2 phương pháp phân tích tĩnh và phân tích động mới hiệu quả
2.3 Phương pháp Phân tích Entropy để phát hiện che giấu Mã độc
Phân tích entropy kiểm tra sự đa dạng về mặt thống kê trong tệp tin nhiễm
mã độc, cho phép người phân tích nhanh chóng và hiệu quả xác định các mẫu mã độc đã nén hoặc mã hóa [7]
Kỹ thuật đóng gói để che giấu mã độc
Kỹ thuật đóng gói (bao gồm kỹ thuật nén và mã hóa) với mục đích che giấu mã độc được kẻ viết mã độc thường sử dụng để chuyển đổi mã thực thi nhị phân sang một định dạng khác nhằm thu gọn mã độc và biến dạng khác biệt hẳn
so với ban đầu để tránh sự phát hiện của các chương trình diệt virus dựa trên cơ
sở mẫu nhận dạng Trong nhiều trường hợp, kẻ viết mã độc hại tổ hợp đệ quy các
kỹ thuật nén và mã hóa khác nhau để cùng một mã độc nhưng có thể nhanh chóng tạo ra một lượng lớn biến thể nhị phân thực thi của mã độc nhằm phát tán Đoạn mã thực thi đóng gói được xây dựng với hai phần chính trong quy trình đóng gói bao gồm hai giai đoạn Trong giai đoạn đầu tiên của quá trình đóng gói, đoạn mã thực thi gốc được nén và lưu giữ trong tệp thực thi nén như
dữ liệu thông thường Sau đó, modul giải nén được thêm vào tệp thực thi nén Modul giải nén này sau này sẽ được sử dụng để phục hồi đoạn mã gốc
Quá trình mở gói thực hiện theo các bước có thứ tự ngược lại với quá trình đóng gói Moule giải nén trước tiên được thực hiện và đoạn mã thực thi nhảy đến câu lệnh thực thi đầu tiên của mã giải nén Sau khi phục hồi đoạn mã thực thi gốc, con trỏ lệnh thực thi sẽ nhảy ra khỏi câu lệnh cuối cùng của module giải nén
để nhảy đến điểm vào (entry point) của đoạn mã thực thi
Trang 35Kỹ thuật đóng gói xuất hiện trong phần lớn các mẫu mã độc hại do đó điều này tạo ra một thách thức vô cùng lớn cho người phân tích mã, đặc biệt là sử dụng phương pháp phân tích tĩnh để phân tích một lượng lớn mẫu mã độc hại Bởi vì, người phân tích cần phải xác định đoạn mã độc hại bị mã hóa hay nén để thực hiện việc giải nén cũng như giải mã một cách nhanh chóng và hiệu quả trước khi bắt tay vào thực hiện quá trình phân tích mã độc Do nhiều mẫu virus vẫn duy trì trạng thái mã hóa và nén, người phân tích phải xác định chúng bằng phân tích thủ công hoặc sử dụng kỹ thuật phân tích ngược (reverse engineering) Yêu cầu đặt ra là cần phải xác định nhanh chóng và chính xác đoạn mã độc nén
và giải nén Phương pháp phân tích entropy là một kỹ thuật hỗ trợ cho người phân tích mã độc giải quyết được yêu cầu này
Phương pháp Entropy phát hiện mã độc được nén và mã hóa
Khái niệm Entropy
Nguồn gốc khái niệm entropy đến từ khoa học nhiệt động lực học Entropy là một phép đo độ nhiễu loạn trong một hệ thống khép kín
Claude Shannon đã sử dụng khái niệm entropy trong lý thuyết nhiệt động lực học để miêu tả sự ngẫu nhiên trong luồng thông tin Shannon quan tâm đến các kênh truyền tin, nhưng kết quả của ông có thể ứng dụng cho các tệp tin trong máy tính Điểm khác nhau cơ bản giữa entropy trong lý thuyết nhiệt động lực học và entropy trong lý thuyết thông tin là trong nhiệt động lực học bạn không thể biết tất các các trạng thái có thể xảy ra do vậy, phương pháp thống kê chỉ được sử dụng ở mức gần đúng Trong lý thuyết thông tin, số trạng thái và khả năng các trạng thái được xác định chính xác bởi vì nội dung của tệp tin là được biết một cách chắc chắn
Trang 36Chúng ta có thể tính entropy của các sự kiện rời rạc ngẫu nhiên x sử dụng công thức sau:
Trong phân tích thông tin, chúng ta quan tâm đến các byte dữ liệu (mỗi byte có 256 giá trị xảy ra khác nhau) Bởi vậy, giá trị entropy của một tệp sẽ là giá trị trong khoảng từ 0 đến 8:
Entropy thông tin mô tả mức độ hỗn loạn trong một tín hiệu lấy từ một sự kiện ngẫu nhiên Nói cách khác, entropy cũng chỉ ra có bao nhiêu thông tin trong tín hiệu, với thông tin có nghĩa là các phần không hỗn loạn ngẫu nhiên của tín hiệu Ví dụ, nhìn vào một dòng chữ tiếng Việt, được mã hóa bởi các chữ cái, khoảng cách, và dấu câu, tổng quát là các ký tự Dòng chữ có ý nghĩa sẽ không hiện ra một cách hoàn toàn hỗn loạn ngẫu nhiên Một tập tin được nén cũng có thể bị phát hiện nhờ kỹ thuật tính toán entropy Các dữ liệu nén hoặc mã hóa khá gần giống với các dữ liệu ngẫu nhiên, do đó nó có mức entropy cao Trong khi các dữ liệu thường không được mã hóa hay nén có mức entropy thấp Sử dụng entropy để đo sự ngẫu nhiên và không dự đoán trước trong một chuỗi sự kiện hoặc một dãy giá trị dữ liệu là chấp nhận được về mặt thống kê trong lĩnh vực lý
Trang 37thuyết thông tin Trong phân tích mã độc hại, các nhà nghiên cứu đã sử dụng một
số công cụ phân tích entropy phát hiện đoạn mã độc nén và mã hóa chẳng hạn như PEAT
PEAT (Portable Executable Analysis Toolkit) là bộ công cụ cho phép người phân tích kiểm tra các khía cạnh của cấu trúc tệp Window PE (Portable Executable) PEAT tính toán entropy cho mỗi đoạn PE của từng đoạn tệp Sau
đó, nó chuẩn hóa những giá trị entropy này so với entropy tổng cộng của các đoạn PE đã tính Điều này giúp người phân tích xác định đoạn PE có sự thay đổi lớn giá trị entropy, từ đó xác định đoạn PE có khả năng bị sửa so với đoạn PE nguyên bản ban đầu Để sử dụng PEAT hiệu quả, người phân tích phải có nền tảng kiến thức về tệp PE, virus, và nội dung về mức hệ thống khác, cũng như kinh nghiệm làm việc với PEAT
Entropy của một khối dữ liệu là một phép đo thống kê lượng thông tin nó chứa bên trong Trong [1], tác giả Hamrock và Lyda đưa ra một quan sát đáng chú ý là các dữ liệu nén và mã hóa trong mẫu mã dữ liệu độc hại đóng gói có mức entropy cao Mã chương trình và dữ liệu bình thường có mức entropy thấp hơn nhiều Sử dụng quan sát này, mã độc hại sử dụng kỹ thuật đóng gói được xác định bởi mức entropy cao trong nội dung của nó
Để đánh giá khả năng công cụ Bintropy dựa trên phân tích entropy, Lynda
và Hamrock tiến hành đánh giá thử nghiệm trên bốn tập dữ liệu với các phân loại tệp khác nhau: plain text, thực thi thông thường, thực thi nén và thực thi mã hóa Mỗi tập dữ liệu gồm 100 tệp khác nhau, mỗi tệp được tính entropy dựa trên các khối dữ liệu có độ dài 256 bytes Công cụ Bintropy tính entropy mức trung bình của các khối và khối có mức entropy cao nhất Mục đích thử nghiệm này là xác định mức entropy tối ưu để phân loại tệp thực thi thông thường và tệp thực thi đã
Trang 38biến đối sử dụng kỹ thuật mã hóa hoặc kỹ thuật nén Sau khi sử dụng tập dữ liệu training, Bintropy có khả năng phát hiện các tệp thực thi bị nén hoặc mã hóa khi đặc tính entropy vượt qua một mức định trước
Bảng 2.1 Độ chính xác thống kê entropy dựa trên tập dữ liệu
Theo Bảng 2.1, với độ chính xác đạt 99% với mức Entropy trong khoảng 6,677 đến 7,177 công cụ Bintropy sẽ phát hiện tệp nén hay mã hóa
Phân tích entropy đơn giản trong ứng dụng và được chỉ ra là khá hiệu quả, nhưng nó cũng bộc lộ một số nhược điểm Phân tích entropy có thể thất bại khi phát hiện các mã độc hại sử dụng kỹ thuật đóng gói mà kẻ viết chương trình đã
Tập dữ liệu
Mức entropy trung bình
Phát hiện chính xác 99% với mức Entropy trong khoảng
Mức entropy cao nhất