Tải bản đầy đủ (.pdf) (7 trang)

Mô hình kết hợp giữa học máy và giải thuật di truyền trong phát hiện mã độc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (182.05 KB, 7 trang )

JOURNAL OF SCIENCE OF HNUE
Educational Sci., 2015, Vol. 60, No. 7A, pp. 189-195
This paper is available online at

DOI: 10.18173/2354-1075.2015-0066

MÔ HÌNH KẾT HỢP GIỮA HỌC MÁY VÀ GIẢI THUẬT DI TRUYỀN
TRONG PHÁT HIỆN MÃ ĐỘC
Lương Thế Dũng
Khoa An toàn Thông tin, Học viện Kỹ thuật Mật mã
Tóm tắt. Bài báo đề xuất một phương pháp phân lớp mã độc hiệu quả dựa trên sự kết hợp
giữa kĩ thuật phân lớp dữ liệu với giải thuật di truyền. Quá trình thực nghiệm và phân tích
trên cùng một tập dữ liệu huấn luyện đã chỉ ra rằng phương pháp đã đề xuất cho kết quả
phân lớp chính xác hơn phương pháp phân lớp khi chưa kết hợp với giải thuật di truyền.
Từ khóa: Mã độc, phát hiện mã độc, học máy, giải thuật di truyền, cây quyết định.

1.

Mở đầu

Mã độc đang là một trong những hiểm họa lớn nhất đối với các hệ thống thông tin trong
thời kì hiện nay. Cùng với sự phát triển mạnh mẽ và tinh vi của các loại mã độc, thì phát hiện mã
độc đã trở thành một trong những vấn đề quan trọng nhất trong lĩnh vực An toàn thông tin.
Các phương pháp phát hiện mã độc truyền thống thường sử dụng kĩ thuật đối sánh mẫu,
việc phát hiện được dựa trên một cơ sở dữ liệu các mẫu về mã độc đã định nghĩa trước, vì vậy
có độ chính xác cao cũng như ít đưa ra các cảnh bảo nhầm. Tuy nhiên, với sự bùng nổ mạnh mẽ
của mã độc, các cơ sở dữ liệu mẫu mã độc ngày càng có kích thước lớn hơn, nên việc sử dụng
phương pháp này có các hạn chế là làm giảm hiệu năng của hệ thống và không thể phát hiện được
các mã độc mới chưa được định nghĩa trong cơ sở dữ liệu hoặc các mã độc đa hình, siêu đa hình.
Để khắc phục các hạn chế trên, nhiều phương pháp phát hiện mã độc mới đã được đề xuất, đặc
biệt là phương pháp dựa trên các mô hình học máy và khai phá dữ liệu như: Phương pháp dựa trên


Mạng Bayes [10], Máy Vecto hỗ trợ [12] và Cây quyết định [13]. Tuy nhiên các phương pháp này
gặp phải một số hạn chế nhất định trong việc phân loại chính xác mã độc khi các mã độc được
lai ghép, hoặc có sử dụng các giải thuật thông minh, vấn đề này đã được nhiều tác giả đề cập như
trong [1,15].
Ngoài ra sự biến đổi của các kĩ thuật thiết kế mã độc như làm rối mã, sử dụng mã hóa mã
nguồn hay nén mã nguồn. . . làm cho các đặc tính của mã độc khó bị phát hiện trong mã nguồn.
Do đó, các kĩ thuật khai phá dữ liệu thông thường không còn hiệu quả trong việc xác định loại mã
độc nếu chỉ dựa trên tập đặc tính dấu hiệu đại diện duy nhất, dẫn đến việc phân tích và xử lí mã
độc trở nên khó khăn hơn [1]. Bài báo này đưa ra một kĩ thuật phân loại mã độc mới, hiệu quả hơn
Ngày nhận bài: 8/7/2015. Ngày nhận đăng: 15/11/2015.
Liên hệ: Lương Thế Dũng, e-mail:

189


Lương Thế Dũng

dựa trên việc kết hợp giữa kĩ thuật phân lớp cây quyêt đinh và giải thuật di truyền, áp dụng trên bộ
dữ liệu các cuộc gọi hàm API của chương trinh mã độc.
Nội dung bài báo được trình bày gồm 5 phần: Phần2 - trình bày việc phân tích và trích rút
dữ liệu các hàm API; Phần 3 - trình bày phương pháp kết hợp giưa kĩ thuật phân lớp và giải thuật
di truyền trong việc phát hiện mã độc; Phần 4 - trình bày kết quả thử nghiệm và đánh giá phương
pháp; Phầm kiếm
dựa trên việc mô phỏng quá trình chọn lọc và tiến hóa trong tự nhiên. Thuật toán di truyền chuẩn
được biểu diễn bằng các phép lai ghép và đột biến giữa các chuỗi nhị phân. Thuật toán di truyền
giúp cho việc tìm kiếm các phương án giảm thiểu so với việc duyệt qua tất cả các tập ràng buộc
của dữ liệu, thường được sử dụng để tiếp cận giải các bài toán tìm kiếm số, chẳng hạn sinh ra các
phương án tối ưu cho bài toán tìm kiếm [19]. Trong giải thuật di truyền, một dãy các chuỗi được
mã hóa thành các phương án chấp nhận đươc cho một bài toán tối ưu và được tiến hóa theo hướng
ngày càng tốt hơn. Ta có thể mô tả giải thuật di truyền sơ bộ như sau:

Sinh ra phương án khởi đầu
G(0);
Đánh giá độ thích nghi của G(0);
t := 0;
Bước lặp
t := t + 1;
Sinh ra G(t) từ G(t − 1);
Đánh giá độ thích nghi của G(t);
Cho đến khi tìm được phương án cần tìm
Với tập các dữ liệu về hàm API của chương trình ứng dụng đã được thu thập và tiền xử lí,
thuật toán di truyền được sử dụng trong bài báo này nhằm cải tiến việc phân loại các mã độc khi
chúng sử dụng kĩ thuật che dấu. Bằng việc kết hợp thuật toán di truyền với kĩ thuật học máy có thể
cho phép phát hiện chính xác các mã độc mới chưa có trong cơ sở dữ liệu mẫu, bao gồm cả các
dạng mã độc lai giữa các loại khác nhau, ví dụ: Những mã độc hoạt động giống cả Logic bomb
và Trojan. Bằng cách mô phỏng sự lai ghép giữa các loại mã độc như toán tử lai và hoán vị trong
thuật toán di truyền [20]. Kĩ thuật mới này có thể tiên đoán sự xuất hiện của các mã độc, phát hiện
được các mã độc sử dụng các kĩ thuật che dấu phức tạp.
Các mã độc được phân tích và trích rút thành dãy các hàm API, được tiền xử lí và thu được
một dãy nhị phân. Ở đây ta coi mỗi dãy nhị phân đại diện cho dãy các hàm API là một nhiễm sắc
thể của mã độc. Để thực hiện thuật toán di truyền, đầu tiên ta sinh một phương án khởi đầu bằng
cách chọn một mẫu trong bộ dữ liệu mẫu, tiến hành lai ghép các đoạn trong mẫu. Sau quá trình lai
ghép ta thu được một thế hệ con, mỗi thế hệ này cần phải được đánh giá bởi một giá trị thích nghi.
Ở đây ta định nghĩa hàm thích nghi của mỗi cá thể như sau:
191


Lương Thế Dũng

Thuật toán


Tốc độ

Độ chính xác

Hàng xóm
K-gần nhất

Chậm

Trung bình

Máy vector
hỗ trợ

Nhanh

Cao

Na¨ıve Bayes

Rất nhanh

Cao

Nhanh, dễ hơn với các
dữ liệu bền vững.

Cao

Dễ hiểu, dễ sinh luật

và giảm thiểu độ phức
tạp tính toán

Cây
định

quyết

Rất nhanh

Ưu điểm
iệu quả khi biến độc
lập có nhiều hơn hai
giá trị và tập dữ liệu
lớn
Các kết quả có tính hồi
quy và dày, hiệu quả
tốt hơn trong phân lớp
văn bản, đoạn mẫu

Nhược điểm
Độ phức tạp tính toán
cao

Chi phí và thời gian
huấn luyện dài
Nhạy cảm với những
thuộc tính có tương
quan
Xảy ra sai lầm ở các

mức cao hơn do các
kết quả sai ở mức dưới

Trong một chuỗi nhị phân đại diện cho sự xuất hiện của các hàm API, mỗi hàm API ta gán
nó các giá trị trọng số wij, mỗi trọng số đại diện cho giá trị xác suất xuất hiện của một hàm API thứ
j trong một loại mã độc thứ i : i = 1(V irus), i = 2(T rojan), i = 3(W orm), i = 4(Backdoor)
và i = 5 (Normal - phần mềm không độc hại). Tổng các trọng số bằng 1 cho mỗi hàm API trong
mỗi mấu được trích xuất. Khi đó ta định nghĩa hàm thích nghi của cá thể X là:
F (X) = max

wij
số vị trí có giá trị là 1

Sắp xếp cá thể X vào lớp i, khi đó các cá thể được kết luận là phần mềm thông thường sẽ
không tiếp tục sinh sản nữa, còn các cá thể thuộc lớp mã độc sẽ tiếp tục được lai ghép và phát sinh
các thế hệ mới.
Sau quá trình trên, ta thu được một tập dữ liệu mẫu được phân loại di truyền. Tập mẫu này
sau đó được sử dụng để để học bộ phân lớp dựa trên thuật toán học cây quyết định để sử dụng cho
quá trình phân loại các mẫu mới chưa biết. Quá trình phân tích bằng thực nghiệm cho thây thuật
toán cây quyết định C4.5 cho hiệu quả cao hơn các thuật toán cây quyết định khác.

2.3.

Thử nghiệm

Để thử nghiệm mô hình đề xuất, bài báo sử dụng bộ dữ liệu học bao gồm 1000 mẫu, trong
đó 600 mẫu là các tệp chứa mã độc lấy từ kho mã độc vxheaven.com và 200 mẫu là các tệp chương
trình không nhiễm mã độc lấy từ windows system. Dữ liệu kiểm thư bao gồm 200 mẫu hỗn hợp,
trong đó có 50 mẫu là tệp không nhiễm mã độc và 150 mẫu là tệp nhiễm mã độc. Thực hiện các
thực nghiệm với sự thay đổi với số lượng mẫu khác nhau của tập huấn luyện lấy từ tập đã xây dựng

cho thấy kết quả chính xác của phương pháp như bảng dưới đây:

192


Mô hình kết hợp giữa học máy và giải thuật di truyền trong phát hiện mã độc

Số mẫu
400
480
560
640
720

Độ chính xác của mô hình
93.8%
94.1%
95.6%
97.3%
97.5%

Dưới đây là biểu đồ so sánh kết quả của việc phân lớp sau khi kết hợp cây quyết định và
giải thuật di truyền với việc chỉ sử dụng cây quyết định:

Kết quả cho thấy khi kích thước của tập dữ liệu càng lớn thì độ chính xác của phương pháp
đã đề xuất trong bài báo đưa ra kết quả càng tốt hơn phương pháp chỉ sử dụng thuật toán cây quyết
định cho quá trình học.

3.


Kết luận

Bài báo đề xuất phương pháp tốt hơn cho việc phát hiện và phân loại mã độc dựa trên sự kết
hợp kĩ thuật cây quyết định và giải thuật di truyền. Kết quả thử nghiệm cho thấy độ chính xác cao
hơn khi chỉ sử dụng một mình giải thuật cây quyết định. Phương pháp đã đề xuất có thể áp dụng
cho việc phát hiện và phân lớp các mã độc mới và các mã độc lai ghép dựa trên dữ liệu các cuộc
gọi hàm API của chương trình mã độc.
TÀI LIỆU THAM KHẢO
[1]

OECD Ministerial Meeting Report, Malicious Software (Malware): A Security Threat
to the Internet Economy, Korean Communication Commision, Final draft, May 2007,
/>193


Lương Thế Dũng

[2]

Vinod, P. Laxmi, V. and M. S. Gaur. 2009, Survey on Malware Detection Methods, In
Proceedings of the Hacker 2009, pp. 74-79.

[3]

Zhu Kenan, Yin Baolin, 2012, Malware Behavior Classification Approach Based on Naive
Bayes, Journal of Convergence Information Technology (JCIT) Volume7, pp. 218-315.

[4]

Gavrilut, D., Cimpoesu, M.; Anton, D.; Ciortuz, L. 2009, Malware Detection Using

Perceptrons and Support Vector Machines, Future Computing, Service Computation,
Cognitive, Adaptive, Content, Patterns.

[5]

Konrad Rieck, Philipp Trinius, Carsten Willems, and Thorsten Holz, 2011, Automatic
Analysis of Malware Behaviorusing Machine Learning, Journal of Computer Security (JCS),
19 (4), 639–668, IOSPress.

[6]

Manoun Alazab, Robert Layton, Sitalakshmi Venkataraman, Paul Watters, 2013, Malware
Detection Based on Structural and Behavioural Features of API Calls, In ternational Journal
of Electronic Security and Digital Forensics Volume 5 Issue 2, p. 90-109.

[7]

Veeramani R, Nitin Rai, 2012, Windows API based Malware Detection and Framework
Analysis, International Journal of Scientific & Engineering Research Volume 3, Issue 3.

[8]

Mamoun Alazab, Sitalakshmi Venkatraman, Paul Watters, Moutaz Alazab, 2011, Zero-day
Malware Detection based on Supervised Learning Algorithms of API call Signatures,
Proceedings of the 9-th Australasian Data Mining Conference (AusDM’11), Ballarat,
Australia, pp. 171-182.

[9]

Wang. C, Pang. J, Zhao. R, Fu., Liu. X, 2009, Malware Detection Based on Suspicious

Behavior Identification; First International Workshop on Education

[10] Technology and Computer Science, pp. 198-202. Wuhan, Hubei: IEEE.
[11] Dewan Md Farid, Nouria Harbi, Mohammad Zahidur Rahman., 2010, Combining Naive
Bayes and Decision Tree for adaptive Intrusion Detection. Vol. 2, No. 2, pp. 12–25.
[12] Mezghani, D., Boujelbene, S., Ellouze, N., 2010, Evaluation of SVM Kernels and
Conventional Machine Learning Algorithms for Speaker Identification, International Journal
of Hybrid Information Technology, Vol. 3, No. 3, pp. 23-34.
[13] Komashinskiy, D., Kotenko, I., 2010, Malware Detection by Data Mining Techniques Based
on Positionally Dependent Features, InternationalConference on Parallel, Distributed and
Network-Based Processing, pp. 617-623. Pisa.
[14] Hall, P., Park, B., Samworth, R., 2008, Choice of neighbor order in nearest-neighbor
classification, An Official Journal of the Institute of Mathematical Statistics, Vol. 36, No.
5, pp. 2135–2152.
[15] Mohd Najwadi Yusoff, Aman Jantan, 2011, Optimizing Decision Tree in Malware
Classification System by using Genetic Algorithm, International Journal on New Computer
Architectures and Their Applications (IJNCAA) 1(3): 694-713
[16] Shrenik Shah, DNA Computation and Algorithm Design, Harvard University ’09 Cambridge,
194


Mô hình kết hợp giữa học máy và giải thuật di truyền trong phát hiện mã độc

MA 02138
[17] Noreen, S., Murtaza, S., Shafiq, M., Farooq, M. 2009, Evolvable Malware; 11th Annual
Conference on Genetic and Evolutionary Computation. pp. 1569–1576. Montreal, Quebec,
Canada: ACM.
[18] Preda, M., Christodorescu, M., Jha, S., Debray, S.; 2008, A Semantics-Based Approach to
Malware Detection; Transactions on Programming Languages and Systems, Vol 30, No 5, pp
25-54.

[19] D. Krishna Sandeep Reddy, Arun K. Pujari, 2006, N-gram analysis for computer virus
detection, Journal in Computer Virology, 231-239, Volume 2, Number 1, pp. 231-239.
[20] Mehdi, S., Tanwani, A., Farooq, M.; 2009, IMAD:In-Execution Malware Analysis and
Detection; 11th Annual Conference on Genetic and Evolutionary Computation. New York,
USA: ACM, pp. 1553-1560.
[21] Mohamad Fadli Zolkipli, Aman Jantan.; 2010, Malware Behavior Analysis: Learning and
Understanding Current Malware Threats; Second International Conference on Network
Applications, Protocols and Services. pp. 218–221. Kedah, Malaysia: IEEE.
ABSTRACT
Combining machine learning and generic algorithms for malware detection
In this paper the author proposes a novel method of classifying malwares that combines
data classification techniques and genetic algorithms. Experiments done show that classification
using the proposed method is better than the classification obtained when genetic algorithms are
not used.
Keywords: Malware, Malware detection, Machine learning, Genetic algorithm,
Decision tree.

195



×