Bài viết 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 của các tập tin dữ liệu nguyên bản và khi bị mã hóa bởi mã độc tống tiền trong hệ thống mạng máy tính. Đề xuất giải pháp và xây dựng phần mềm bảo vệ dữ liệu máy tính trước sự tấn công của Ransomware dựa trên phương pháp tính Entropy thông tin.
Thông tin khoa học công nghệ Ứ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 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 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 PHƯƠNG PHÁP TÍNH ENTROPY THƠNG TIN 2.1 Khái qt Entropy Ransomware Năm 1927, Von Neumann xây dựng công thức thống kê nhiệt động lực học học có chứa giá trị Entropy, nhiên, đến năm 1948, khái niệm Entropy thông tin C E Shannon đưa báo "A Mathematical Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san An toàn Thông tin, 05 - 2017 167 Công nghệ thông tin 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 hoàn toà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 K p (i ) log p (i ) (1) i 1 với K số, phụ thuộc vào đơn vị đo; n tổng số giá trị 168 H V Quyết, Đ V Minh, “Ứng dụng phương pháp tính Entropy… chống Ransomware.” Thông tin khoa học công nghệ 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 H ( x) p (i) log ( i 1 n ) p (i ) log p (i) p(i ) i 1 (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 X=0 với xác suất (1-p), đó: H ( x) H ( p) p log p (1 p) log (1 p) (3) Hình 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: H( f ) f ( x)(log f ( x))dx (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 Trường hợp dòng chữ ln có ký tự "a" có Entropy 0, ký tự ln "a" Một dòng chữ có hai ký tự ngẫu nhiên hồn tồn có Entropy bit cho ký tự Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san An tồn Thơng tin, 05 - 2017 169 Cơng nghệ thơng tin 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 tố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 toá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à: H S p (i ) log p(i ) (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 toà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 Để đánh giá khả cơng cụ Bintropy dựa phân tích Entropy, Lynda Hamrock tiến hành đánh giá thử nghiệm bốn tập liệu với phân loại tệp khác nhau: plain text, thực thi thông thường, thực thi nén thực thi mã hóa Mỗi tập liệu gồm 100 tệp khác nhau, tệp tính Entropy dựa khối liệu có độ dài 256 byte Cơng cụ Bintropy tính Entropy mức trung bình khối khối có mức Entropy cao Mục đích thử nghiệm xác 170 H V Quyết, Đ V Minh, “Ứng dụng phương pháp tính Entropy… chống Ransomware.” Thông tin khoa học công nghệ đị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 Độ 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 Dữ liệu lưu nhớ máy tính mô tả dạng byte nhớ, byte Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san An tồn Thơng tin, 05 - 2017 171 Cơng nghệ thơng tin 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 Entropy K p (i ) log p (i ) (6) i 1 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 Kết thực nghiệm tính Entropy cho tập tin có định dạng khác Tập tin bị Tập tin định Tập tin định Tập tin định Tập tin định mã hóa dạng pdf dạng doc dạng htm 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 Trên tảng tính tốn Entropy thơng tin, tác giả xây dựng phần mềm bảo vệ liệu có tên Firefly [6], bảo vệ người dùng trước công Ransomware, hành động có chủ đích tin tặc cách xác định ngưỡng Entropy định dạng tập tin khác (hình 3) Phần mềm phát triển có chức sau: Mã hóa giải mã liệu; Phòng chống mã độc tống tiền; 172 H V Quyết, Đ V Minh, “Ứng dụng phương pháp tính Entropy… chống Ransomware.” Thơng tin khoa học cơng nghệ 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 Phần mềm chống thất dự liệu phòng chống Ransomware 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 [4] C Tom, “An introduction to information theory and Entropy”, Physical Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san An tồn Thơng tin, 05 - 2017 173 Cơng nghệ thông tin tecnology (2014), pp 67-80 [5] C E Shannon, “A Mathematical Theory of Communication”, Bell System Technical Journal, vol 27, No.3 (1953), pp 379-423 [6] Firefly, Data Threat Prevention, http://firefly.com.vn ABSTRACT THE USAGE OF INFORMATION ENTROPY CALCULATION IN RANSOMWARE PREVENTION This article shows how to calculate information Entropy changes for the original files and the files that were encrypted by Ransomware in a computer system It is also proposing a method using information Entropy calculation in order to develop software that protects data from Ransomware Keywords: Information Entropy, Boltzmann’s Entropy, Malware, Data encryption Nhận ngày 15 tháng năm 2017 Hoàn thiện ngày 15 tháng năm 2017 Chấp nhận đăng ngày 01 tháng năm 2017 Địa chỉ: Cục Công nghệ thông tin, BTTM * 174 Email: hoangquyetik@gmail.com H V Quyết, Đ V Minh, “Ứng dụng phương pháp tính Entropy… chống Ransomware.” ... 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. .. bình khối khối có mức Entropy cao Mục đích thử nghiệm xác 170 H V Quyết, Đ V Minh, Ứng dụng phương pháp tính Entropy chống Ransomware. ” Thơng tin khoa học cơng nghệ định mức Entropy tối ưu để phân... chống mã độc tống tiền; 172 H V Quyết, Đ V Minh, Ứng dụng phương pháp tính Entropy chống Ransomware. ” Thơng tin khoa học cơng nghệ Thiết lập sách sử dụng thiết bị lưu trữ ngồi; Kiểm sốt truy cập