Dựa trên công thức tính Entropy thông tin, đã tiến hành kiểm tra thực nghiệm đối với các tập tin dữ liệu, trong trạng thái nguyên bản và trạng thái bị mã hóa bởi Ransomware và được lưu[r]
(1)ỨNG DỤNG PHƯƠNG PHÁP TÍNH ENTROPY THƠNG TIN TRONG VIỆC PHỊNG CHỐNG RANSOMWARE
Hồng Văn Quyết*, Đồn Văn Minh
Tóm tắt: Bài báo trình bày phương pháp tính Entropy thơng tin, tiến hành thực nghiệm xác định giá trị Entropy tập tin liệu nguyên bị mã hóa bởi mã độc tống tiền hệ thống mạng máy tính Đề xuất giải pháp xây dựng phần mềm bảo vệ liệu máy tính trước công Ransomware dựa phương pháp tính Entropy thơng tin
Từ khóa: Entropy thơng tin, Entropy liên tục, Phần mềm độc hại, Mã hóa liệu
1 MỞ ĐẦU
Ngày nay, thuận tiện phương thức toán điện tử, cơng nghệ mã hóa đại sở để mã độc tống tiền (Ransomware) bùng phát có xu hướng ngày gia tăng, gây hậu nghiêm trọng cho người sử dụng máy tính Chính vậy, bảo vệ liệu điện tử khỏi Ransomware vấn đề cấp thiết
Bài báo không đề cập đến phương pháp tiêu diệt Ransomware (một phương pháp mà hãng bảo mật lớn giới thường làm), hay phương pháp khắc phục hậu liệu bị mã hóa Ransomware cơng nghệ mã hóa ngày đại Tác giả tập trung vào phương pháp bảo vệ liệu máy tính bị nhiễm Ransomware, phương pháp chưa có hãng bảo mật nghiên cứu
Đặc điểm đặc trưng liệu mã hóa Ransomware mức độ ngẫu nhiên lớn để đo mức độ ngẫu nhiên sử dụng đại lượng Entropy thông tin C E Shannon [3] Từ cơng thức tính Entropy C E Shannon, tác giả xây dựng cơng thức tính Entropy cho tập tin liệu lưu nhớ, làm sở tiến hành tính thực nghiệm lượng Entropy tập tin liệu cụ thể, từ rút ngưỡng Entropy phân biệt tập tin mã hóa chưa mã hóa Trên cở sở lý thuyết thực nghiệm đó, tác giả phát triển chương trình bảo vệ liệu máy tính bị nhiễm Ransomware
2 PHƯƠNG PHÁP TÍNH ENTROPY THƠNG TIN 2.1 Khái quát Entropy Ransomware
(2)Theory of Communication"
Entropy thông tin khái niệm mở rộng Entropy nhiệt động lực học học thống kê, áp dụng sang lý thuyết thông tin, mô tả mức độ hỗn loạn tín hiệu lấy từ kiện ngẫu nhiên, cho phép số lượng thông tin (các phần khơng hỗn loạn ngẫu nhiên) có tín hiệu Xem xét trường hợp cụ thể, câu có ý nghĩa viết tiếng Việt thể ký tự (chữ cái, khoảng cách dấu câu), khơng cách hồn tồn hỗn loạn ngẫu nhiên Cụ thể, tần số xuất ký tự "x" không giống với tần số xuất ký tự phổ biến "t", đồng thời, dòng chữ viết hay truyền tải, khó đốn trước ký tự Việc xuất ký tự có mức độ ngẫu nhiên định, giá trị xác định Entropy thông tin
Ransomware loại phần mềm độc hại sử dụng hệ thống mật mã để mã hóa liệu, ngăn chặn người dùng truy cập sử dụng máy tính, yêu cầu nạn nhân phải nộp khoản tiền chuộc muốn lấy lại liệu [1]
Ransomware mã hóa liệu cách đọc liệu lên nhớ RAM, mã hóa liệu, sau ghi ngược xuống ổ đĩa Q trình mã hóa thành cơng liệu mã hóa nhớ RAM ghi ngược hoàn toàn xuống ổ đĩa Dữ liệu mã hóa Ransomware có mức độ ngẫu nhiên (mức độ hỗn loạn) byte lớn liệu chưa bị mã hóa Mức độ phức tạp việc giải mã liệu tỉ lệ thuận với mức độ ngẫu nhiên [2]
2.2 Cơ sở tảng tính Entropy thơng tin
C E Shannon [3] xây dựng định nghĩa Entropy thông tin để thoả mãn giả định sau:
- Entropy phải tỷ lệ thuận liên tục với xác suất xuất phần tử ngẫu nhiên tín hiệu Thay đổi nhỏ xác suất xuất dẫn đến thay đổi nhỏ Entropy;
- Nếu phần tử ngẫu nhiên có xác suất xuất nhau, việc tăng số lượng phần tử ngẫu nhiên phải làm tăng Entropy;
- Các chuỗi tín hiệu tạo theo nhiều bước giá trị Entropy phải tổng trọng số Entropy bước
C E Shannon rằng, định nghĩa Entropy cho tín hiệu nhận giá trị rời rạc, thoả mãn giả định trên, tính theo cơng thức:
n
i
i p i
p K
1
2 ( )
log )
( (1)
(3)nhận tín hiệu; i giá trị rời rạc thứ i; p(i) xác suất xuất giá trị i 2.3 Xác định Entropy trường hợp ngẫu nhiên rời rạc
Nếu kiện ngẫu nhiên rời rạc x, nhận giá trị n, Entropy H(x) tính theo cơng thức (2):
n i n i i p i p i p i p x H
2 ) ()log ( )
) ( ( log ) ( )
( (2)
Như vậy, Entropy x giá trị kì vọng độ ngẫu nhiên giá trị mà x nhận Entropy thơng tin trường hợp phần tử tín hiệu ngẫu nhiên rời rạc gọi Entropy Shannon
Thực nghiệm kết tính Entropy phép thử Bernoulli: X=1 với xác suất p
và X=0 với xác suất (1-p), khi đó:
) ( log ) ( log ) ( )
(x H p p 2 p p 2 p
H (3)
Hình 1. Biểu đồ giá trị Entropy rời rạc X
2.4 Xác định giá trị Entropy trường hợp ngẫu nhiên liên tục
Nếu x số thực ngẫu nhiên liên tục, Entropy liên tục tính theo cơng thức:
f x f x dx
f
H( ) ( )(log ( )) (4)
với f hàm mật độ xác suất
Entropy liên tục thường gọi Entropy vi phân hay Entropy Boltzmann [4] Entropy Boltzmann giới hạn Entropy Shannon n, khơng phải độ đo mức độ hỗn loạn thơng tin
(4)Một dịng chữ tiếng Anh thơng thường có Entropy khoảng 1,1 đến 1,6 bit cho ký tự Thuật toán nén PPM [4] tạo tỷ lệ nén 1,5 bit cho ký tự Trên thực tế, tỷ lệ nén thuật tốn nén thơng dụng dùng làm ước lượng cho Entropy liệu
Entropy dịng văn S thơng thường định nghĩa dựa mơ hình Markov Nếu ký tự hoàn toàn độc lập với ký tự trước đó, Entropy nhị phân H[S] là:
S p(i)log2 p(i)
H (5)
2.5 Công cụ phân tích Entropy nhị phân
Bintropy cơng cụ phân tích mẫu, ước tính khả tệp tin có chứa thơng tin nén mã hóa Bintropy có hai chế độ hoạt động:
- Chế độ thứ nhất, cơng cụ phân tích Entropy đoạn thực thi có định dạng PE, xác định phần đầu tệp thực thi Điều giúp người phân tích xác định đoạn mã thực thi bị mã hóa nén Một biên dịch chuẩn tạo PE thực thi có phần theo định dạng chuẩn (.text, data, reloc, rsrc) Tuy nhiên, nhiều cơng cụ đóng gói biến đổi định dạng tệp thực thi gốc, nén đoạn mã, liệu dồn chúng vào hay hai đoạn Trong chế độ này, Bintropy tính giá trị Entropy cho đoạn cần Tuy nhiên, khơng tính Entropy cho phần đầu tệp tin phần khơng chứa byte liệu nén hay mã hóa;
- Chế độ thứ hai bỏ qua định dạng tệp, thay vào Bintropy phân tích Entropy tồn tệp, từ byte byte cuối Với tệp định dạng PE, người dùng phân tích Entropy đoạn mã liệu ẩn cuối tệp đoạn định dạng PE
Entropy khối liệu phép thống kê lượng thông tin chứa bên Trong báo “Sử dụng phân tích Entropy để tìm mã độc nén mã hóa”, hai tác giả Hamrock Lyda đưa quan sát đáng ý liệu nén mã hóa mẫu mã liệu độc hại đóng gói có mức Entropy cao Mã chương trình liệu bình thường có mức Entropy thấp nhiều Mã độc hại sử dụng kỹ thuật đóng gói xác định mức Entropy cao nội dung
(5)định mức Entropy tối ưu để phân loại tệp thực thi thông thường tệp thực thi biến đổi sử dụng kỹ thuật mã hóa kỹ thuật nén Sau sử dụng tập liệu training, Bintropy có khả phát tệp thực thi bị nén mã hóa đặc tính Entropy vượt qua mức định trước
Bảng 1. Độ xác thống kê Entropy dựa tập liệu
Tập liệu Mức Entropy
trung bình
Entropy khoảng
Mức Entropy cao
Plain text 4.347 4.066−4.629 4.715
Thực thi trông thường 5.099 4.941−5.258 6.227
Thực thi nén 6.801 6.677−6.926 7.233
Thực thi mã hóa 7.175 7.174−7.177 7.303
Bảng kết cho thấy, với độ xác đạt 99% mức Entropy khoảng 6.677 đến 7.177, công cụ Bintropy phát tệp nén hay mã hóa
Hình Phân bố số lượng tệp mã độc theo đoạn (session) bị mã hóa nén.
Lyda Hamrock thực xác định xu hướng Entropy công cụ Bintropy để tạo độ tin cậy đánh giá áp dụng tập 21.567 mã độc Win32 - với thực thi định dạng PE từ thu thập hãng phần mềm chống virus tiếng giới khoảng thời gian từ tháng 01/2000 đến tháng 12/2005 Dựa khảo sát sử dụng công cụ Bintropy để phân tích, kết rằng, UPX1 phần kẻ viết mã độc sử dụng kỹ thuật đóng gói phổ biến nhất, sau phần text (hình 2)
2.6 Xây dựng cơng thức tính Entropy cho liệu lưu RAM
(6)có giá trị từ đến 255, đơn vị rời rạc i có giá trị từ đến 255
Từ thực nghiệm áp dụng công thức tính Entropy nhị phân (5), tác giả xây dựng cơng thực tính lượng Entropy cho tập tin liệu lưu RAM, cụ thể sau:
255
1
2 ( )
log ) ( i
i p i
p K
Entropy (6)
với số K = 1.4426950408; p(i) xác suất xuất giá trị i (từ đến 255) độ dài tập tin liệu lưu RAM
Dựa cơng thức tính Entropy thông tin, tiến hành kiểm tra thực nghiệm tập tin liệu, trạng thái nguyên trạng thái bị mã hóa Ransomware lưu trữ định dạng khác doc, pdf, htm, xls Kết thực nghiệm thể bảng
Bảng 2 Kết thực nghiệm tính Entropy cho tập tin có định dạng khác
Tập tin bị mã hóa
Tập tin định dạng pdf
Tập tin định dạng doc
Tập tin định dạng htm
Tập tin định dạng xls
9.230 1.631 0.101 0.104 0.097
9.408 1.178 0.039 0.104 0.107
10.000 1.458 0.039 0.109 0.097
10.000 2.928 0.068 0.098 0.109
10.000 1.055 0.067 0.097 0.109
9.454 1.648 0.071 0.100 0.109
10.000 2.108 0.119 0.082 0.076
10.000 1.468 0.070 0.105 0.102
10.000 1.155 0.039 0.104 0.098
Kết thực nghiệm cho thấy khác biệt lượng Entropy tập tin liệu bị mã hóa Ransomware so với tập tin liệu chưa bị mã hóa Kết cho phép xác định ngưỡng Entropy để làm sở thiết lập quyền ghi liệu từ Ram xuống ổ đĩa Nếu lượng Entropy lớn ngưỡng cho phép, việc ghi xuống ổ đĩa bị cấm, ngược lại việc ghi xuống ổ đĩa diễn bình thường
(7)Thiết lập sách sử dụng thiết bị lưu trữ ngồi; Kiểm sốt truy cập liệu; Tạo quản lý ổ đĩa ảo; Kiểm soát cài đặt; Chống thay đổi tập tin thực thi; Ghi nhật ký hệ thống; Bảo vệ liệu khóa cứng
Hình 3. Phần mềm chống thất dự liệu phịng chống Ransomware
3 KẾT LUẬN
Trong nhiệm vụ bảo mật, bảo đảm an ninh, an tồn thơng tin, việc xây dựng hệ thống, ứng dụng, dịch vụ ngăn cản hành vi mã độc quan trọng Tác giả giới thiệu phương pháp tính Entropy thơng tin cho tín hiệu, làm sở cho phương pháp tính Entropy thơng tin cho liệu máy tính Kết nghiên cứu, thực nghiệm tính tốn giá trị Entropy liệu máy tính, xác định ngưỡng Entropy để thiết lập quyền ghi xuống ổ đĩa, từ đó, cho phép xây dựng phần mềm, dịch vụ nhằm ngăn chặn Ransomware mã hóa liệu máy tính người dùng
TÀI LIỆU THAM KHẢO
[1] N M Abramson, “Information Theory and Coding”, McGraw-Hill, New York, 1963
[2] M Sikorski, “Practical Malware Analysis”, Physical model and science Journal, vol 10, No.1 (1995), pp 79-93
[3] C E Shannon, “Prediction and Entropy of Printed English”, Bell System Technical Journal, vol.30, No (1951), pp 50-64