3. Các nội dung nghiên cứu của luận văn
3.2.1. Môi trường cài đặt
Công cụ được cài đặt trên môi trường hệ điều hành Windows 10 máy có cấu hình như sau (bảng 3.1):
48
Bảng 3.1 Bảng yêu cầu chức năng
Phần cứng Phần mềm và môi trường phát triển
CPU Core(TM) i5- 1135G7 @ 2.40GHz
RAM 8GB SSD 256 GB
HĐH: Windows 10 IDE: Spyder Anacoda Môi trường: Python 3
Thư viện hỗ trợ: Sklearn, Pickle, Pefile Yêu cầu các phần mềm hỗ trợ (minh họa bảng 3.2)
Bảng 3.2 Bảng các phần mềm hỗ trợ
STT Tên Giấy phép Địa chỉ tải về
1 Python 3.8 GPL https://www.python.org/ 2 Anacoda Anaconda Inc https://repo.anaconda.com/archive/Anacond a3-2021.05-Windows-x86_64.exe 3.2.2. Thử nghiệm Các bước thực hiện
Bước 1: Chạy file Get_benign_file.py. Bước 2: Chạy file Feature_extraction.py. Bước 3: Chạy file Training.py.
Bước 4: Chạy file Savedmodel.py. Bước 5: Chạy Using_model.py.
Phương pháp huấn luyện và mẫu thử nghiệm.
Phương pháp đánh giá: Hold-out method (80% cho Training và 20% cho Testing).
49
Báo cáo thử nghiệm và đánh giá kết quả sử dụng kết hợp các mô hình và thuật toán sau (Hình 3.4):
Hình 3.4 Phương pháp chuẩn hóa, lựa chọn thuộc tính và mô hình học máy
3.3. Đánh giá kết quả
3.3.1. Đánh giá kết quả sau thực nghiệm
Đánh giá Confusions Matrix.
Cách đơn giản và hay được sử dụng nhất là Accuracy (độ chính xác). Cách đánh giá này đơn giản tính tỉ lệ giữa số điểm được dự đoán đúng và tổng số điểm trong tập dữ liệu kiểm thử.
Accuracy = 𝑇𝑃+𝑇𝑁
𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁
Đánh giá Precision và Recall
Trong thực nghiệm đã thực hiện, số lượng các lớp không đồng đều, có chút chênh lệch. Với những trường hợp như vậy phép đo khá hiệu quả được sử dụng là Precision - Recall.
Precision = 𝑇𝑃
𝑇𝑃+𝐹𝑃 Recall = 𝑇𝑃
𝑇𝑃+𝐹𝑁
Precision và Recall đều là các số không âm nhỏ hơn hoặc bẳng một. Precision cao đồng nghĩa với việc độ chính xác của các điểm tìm được là cao. Recall cao đồng đồng nghĩa với việc True Positive Rate cao, tức tỉ lệ bỏ
50
sót các điểm thực sự positive là thấp. Từ hai đại lượng tính được ta có thể thấy mô hình phân lớp triển khai được là rất tốt.
Đánh giá F1-score
$F_1$ hay F1-score là harmonic mean của precision và recall. F1 – score có giá trị nằm trong nửa khoảng (0,1]. F1 càng cao, bộ phân lớp càng tốt. Khi cả recall và precision đều bằng 1 (tốt nhất có thể), F1 = 1.
2
𝐹1 =𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛1 + 𝑟𝑒𝑐𝑎𝑙𝑙1 hay F1 = 2 1 1
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 +𝑟𝑒𝑐𝑎𝑙𝑙1 = 2𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 .𝑟𝑒𝑐𝑎𝑙𝑙
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑒𝑐𝑎𝑙𝑙
F1-score cao cho thấy chất lượng của mô hình cao.
Kết quả thử nghiệm với lựa chọn “Không biến đổi dữ liệu và không giảm
chiều dữ liệu” (hình 3.5).
Hình 3.5 Kết quảđánh giá không biến đổi và giảm chiều dữ liệu
Khi không biến đổi dữ liệu: Các thuật toán dạng cây quyết định cho hiệu quả khá tốt đặc biệt là RandomForest.
Mô hình có độ chính xác chung cao nhất là Randomforest với tham số là số lượng cây dự đoán n=100.
Các mô hình dựa trên khoảng cách như Logictic Regression, SVM cho hiệu quả chung khá thấp.
Kết quả thử nghiệm với lựa chọn “Biến đổi dữ liệu và không giảm chiều dữ
51
Hình 3.6 Kết quảđánh giá biến đổi và giảm chiều dữ liệu
Khi thực hiện đổi dữ liệu: Các thuật toán dạng cây quyết định vẫn cho hiệu quả khá tốt đặc biệt là RandomForest.
Mô hình có độ chính xác chung cao nhất là Randomforest với tham số là số lượng cây dự đoán n=100.
Các mô hình dựa trên khoảng cách như Logictic Regression, SVM cho hiệu quả chung cao hơn nhiều so với khi không thực hiện biến đổi dữ liệu.
Đánh giá kết quả với lựa chọn “Biến đổi dữ liệu và lựa chọn thuộc tính”
(hình 3.7).
Hình 3.7 Kết quảđánh giá biến đổi và lựa chọn thuộc tính dữ liệu
Khi thực hiện đổi dữ liệu: Các thuật toán dạng cây quyết định vẫn cho hiệu quả khá tốt đặc biệt là RandomForest.
52
Mô hình có độ chính xác chung cao nhất là Randomforest với tham số là số lượng cây dự đoán n=100.
Khi lựa chọn ít thuộc tính hơn, độ chính xác có giảm đôi chút so với cùng mô hình ban đầu.
Các mô hình dựa trên khoảng cách như Logictic Regression, SVM cho hiệu quả chung cao hơn nhiều so với khi không thực hiện biến đổi dữ liệu.
Bảng 3.3 Bảng tổng hợp kết quả thử nghiệm với thuật toán Random Forest
Kết luận
Mô hình Random Forest cho kết quả tốt nhất trong mọi trường hợp. Khi không sử dụng các phương pháp chuẩn hóa dữ liệu, độ chính xác của các mô hình không dựa trên khoảng cách như DS, RDF, … không ảnh hưởng nhiều nhưng các phương pháp dựa trên khoảng cách như Logistic Regression hay SVM ảnh hưởng rất lớn.
Khi lựa chọn thuộc tính và giảm chiều dữ liệu, độ chính xác của mô hình có giảm đi đôi chút so với việc sử dụng dữ liệu đầy đủ, nhưng tốc độ thực thi cao hơn.
Sử dụng mô hình để xây dựng chương trình quét mã độc thực tế
Sau quá trình huấn luyện, chọn mô hình RandomForest với n=100 để lưu lại sử dụng.
53
Sau khi chọn mô hình RandomForest n=100, lưu mô hình lại bằng thư viện pickle thành tệp classifier.pkl.
Kết quả thử nghiệm
100 file sạch được quét và cho kết quả: + 99 file được nhận dạng đúng là file sạch. + 1 file bị nhận nhầm thành mã độc.
99% phát hiện đúng. 300 mẫu mã độc:
+ 297 file được nhận dạng đúng là mã độc, 3 file bị nhận dạng nhầm hoặc bỏ sót.
99% phát hiện đúng.
Các trường hợp có thể xảy ra khi quét mã độc cụ thể. Trường hợp nhận dạng đúng mã độc.
Trường hợp tệp sạch nhận dạng thành mã độc.
Trường hợp nhận dạng đúng file sạch.
54
3.4. Kết luận chương 3
Chương 3 đã mô hình hóa, triển khai được thuật toán nghiên cứu được từ chương 2. Từ mô hình triển khai này, đánh giá được kết quả nghiên cứu, tính ứng dụng và khả năng mở rộng của luận văn.
55
CHƯƠNG 4. KẾT LUẬN
Ba chương của luận văn đã thể hiện được rằng những mục tiêu đặt ra khi thực hiện luận văn đều đã đạt được. Cụ thể:
Chương 1 trình bày được bức tranh tổng quan của các phương pháp phân tích mã độc hiện tại. Qua đó thấy được ưu nhược điểm của các phương pháp này. Và tầm quan trọng của giải pháp phát hiện mẫu trước khi phân tích.
Chương 2 giải thích được khái niệm siêu dữ liệu, cấu trúc tệp tin thực thi trên hệ điều hành Windows, các trường quan trọng được sử dụng làm siêu dữ liệu. Bên cạnh đó trình bày được một số thuật toán phân lớp dữ liệu dựa vào cây quyết định. Nêu ra ưu nhược điểm của các thuật toán, dựa vào tính thực tế để lựa chọn thuật toán phù hợp nhất. Từ những ví dụ thực tế và những công thức tường minh, nội dung chương đã nêu ra được cơ sở khoa học cho hướng nghiên cứu, tạo giải pháp giải quyết bài toán đặt ra.
Chương 3 đã hiện thực hóa được thuật toán và cơ sở khoa học đã tìm hiểu được, mô hình hóa được bài toán cụ thể cần giải quyết vào một giải pháp mang hướng mở có thể triển khai thực tế.
Trong quá trình làm luận văn tôi đã thu được rất nhiều kiến thức về cấu trúc tệp tin thực thi trên hệ điều hành Windows, cô đọng lại kiến thức về mã độc, tiếp cận được nhiều thuật toán khai phá dữ liệu với hướng tiếp cận cây quyết định. Hiểu được cách để phát hiện dữ liệu bằng học máy, hiểu được quy trình triển khai thuật toán học máy. Hiểu được tầm quan trọng của việc phát hiện dữ liệu, nhất là đối với dữ liệu là mã độc. Ngoài ra thu được rất nhiều kiến thức thực tế khi triển khai mô hình phát hiện mã độc.
Bên cạnh đó là những khó khăn, hạn chế trong quá trình thực hiện nghiên cứu và hoàn thiện luận văn.
Vì giới hạn về thời gian nghiên cứu, lượng dữ liệu, thuật toán tiếp cận được còn ít, năng lực bản thân hiện tại còn rất giới hạn về kiến thức và kinh nghiệm. Nhưng thay vào đó đề tài đưa ra là một vấn đề rất thực tế, là xu hướng hiện tại, có bước dài về hướng phát triển nên nếu có thể tôi sẽ cố gắng nghiên cứu sâu hơn về học máy, tiếp cận nhiều hơn với nhiều thuật toán tối
56
ưu hơn, xây dựng thêm module tự động lấy mẫu trên các cơ sở dữ liệu mở lớn, xây dựng GUI giao diện đồ họa cho ứng dụng (có thể local hoặc trên nền web), xây dựng cơ sở dữ liệu (local hoặc web) có phân quyền, bảo vệ dữ liệu, và rất nhiều tham vọng khác về hướng phát triển của nghiên cứu. Ngoài ra, hiện tại ở Việt Nam các công ty bảo mật hàng đầu cũng đang chạy đua để tích hợp trí tuệ nhân tạo, học máy vào hệ thống phát hiện, xử lý mã độc nên nếu nghiên cứu có thể phát triển tốt tôi hy vọng nó sẽ là một module quan trọng với ý nghĩa phát hiện mã độc dựa trên kỹ thuật học máy, trí tuệ nhân tạo. Ngoài ra tôi sẽ mở rộng ứng dụng cho nâng cao an toàn cho các mạng cảm biến vốn đang ngày càng được sử dụng phổ biến hơn [39][40][41].
57
TÀI LIỆU THAM KHẢO
[1]. Daniel Gibert, Carles Mateu, Jordi Planes, The rise of machine learning for detection and classification of malware, Research developments, trends and challenges, Journal of Network and Computer Applications, Volume 153, 1 March 2020, 102526.
[2]. Kateryna Chumachenko, Machine Learning Methods for Malware Detection and Classification, Cuckoo Sandbox, 2017.
[3]. John Aycock Computer Viruses and Malware, Springer Science + Business Media, Definitions and Timeline, Pages 11-25 2006.
[4]. Nguyen Ngoc Quan. Nghiên cứu phương pháp phân tích động mã độc. 2015.
[5]. Báo Nhân Dân, Bkis xác định: Tin tặc Anh tấn công website chính phủ Hàn Quốc, https://nhandan.vn/thong-tin-so/Bkis-x%C3%A1c- %C4%91%E1%BB%8Bnh:-Tin-t%E1%BA%B7c-Anh-
t%E1%BA%A5n-c%C3%B4ng-website-ch%C3%ADnh-
ph%E1%BB%A7-H%C3%A0n-Qu%E1%BB%91c-541556, online 25- 7-2021.
[6]. Báo Tuổi Trẻ, Bộ Công an điều tra vụ báo điện tử VOV bị tấn công mạng, https://tuoitre.vn/bo-cong-an-dieu-tra-vu-bao-dien-tu-vov-bi-tan- cong-mang-20210614132001071.htm, online 25-7-2021.
[7]. Sophos, SOPHOS 2021 THREAT REPORT
https://www.sophos.com/en-us/medialibrary/PDFs/technical- papers/sophos-2021-threat-report.pdf/ , online 28-8-2021.
[8]. Umbreen Fatima, Mubasher Ali, Nauman Ahmed, M.Rafiq, Numerical modeling of susceptible latent breaking-out quarantine computer virus epidemic dynamics, 21 May 2018.
[9]. Jialiang Zhang, Application of Artificial Intelligence Technology in Computer Network Security, International Journal of Network Security, Vol.20, No.6, PP.1016-1021, Nov. 2018
58
[11].D. Moore, C. Shannon, K.Claffy, Code-red a case study on the spread and victims of an Internet worm, In: Proc. of 2nd ACM SIGCOMM Workshop on Internet measurement. IEEE Secur Privacy (2002), 273–84.
[12].Z. Chen, L. Gao, K. Kwiat, Modeling the spread of active worms IEEE Comput. Commun. IEEE Societies, INFOCOM, In: 22nd Annu. Joint Conf, 3; (2003) pp. 1890–900.
[13].C. Shannon, D. Moore, The spread of the witty worm. IEEE Secur Privacy. 3(2), (2004), 46–50.
[14].Leian Liu, Zuanxing Yin, Yuli Shen, Haitao Lin, Hongjiang Wang. Research and Design of Rootkit Detection Method. Physics Procedia Volume 33, 2012, Pages 852-857.
[15].Bitdefender, Giới thiệu về phần mềm độc hại, https://www.bitdefender.vn/post/malware/, online 29-8-2021.
[16].LenaY. Connolly, David S.Wall. The rise of crypto-ransomware in a changing cybercrime landscape. Taxonomising countermeasures, 2019. [17].Virustotal, VirusTotal Intelligence Introduction. In
https://support.virustotal.com/hc/en-us/articles/360001387057- VirusTotal-Intelligence-Introduction/, online 24-09-2021.
[18].Michael Sikorski, Andrew Honig. Practical Malware Analysis, February 2012, 800 pp.
[19].Yassine Lemmou, Jean-Louis Lanet, El Mamoun Souidi, A behavioural in-depth analysis of ransomware infection, ORIGINAL RESEARCH PAPER, 30 December 2020.
[20].John Aycock, Rennie deGraaf, Michael Jacobson Jr, Anti-Disassembly using Cryptographic Hash Functions, Department of Computer Science University of Calgary, TR 2005-793-24.
[21].Jonathan Furner, Definitions of “Metadata”: A Brief Survey of International Standards, ASIST journal, 23 August 2019.
59
[22].Bojana Dimić, Branko Milosavljević, Dušan Surla, XML schtema for UNIMARC and MARC 21, The Electronic Library, Vol. 28 No. 2, pp. 245-262, 2010.
[23].Jung-ran Park, Eric Childress, Dublin Core metadata semantics: an analysis of the perspectives of information professionals, Journal of Information Science, May 29, 2009.
[24].E. Peis, Felix de Moya-Anegon, Juan-Carlos Fernández-Molina, Encoded archival description (EAD) conversion: A methodological proposal, Library Hi Tech, December 2000.
[25].Microsoft, Microsoft Joins Meta Data Coalition to Foster Meta Data Standard, https://news.microsoft.com/1998/12/07/microsoft-joins-meta- data-coalition-to-foster-meta-data-standard/, online 26-7-2021.
[26].Mohamed Belaoued, Smaine Mazouzi, A Real-Time PE-Malware Detection System Based on CHI-Square Test and PE-File Features, Computer Science and Its Applications, pp 416-425, 2015.
[27].Max Kuhn, Building Predictive Models in R Using the caret Package, Journal of Statistical Software, November 2008, Volume 28, Issue 5. [28].Yan-yan SONG, Ying LU, Decision tree methods: applications for
classification and prediction, Shanghai Arch Psychiatry. 2015 Apr 25; 27(2): 130–135
[29].Wei-Yin Loh, Classification and regression trees, Computer Science, 2011.
[30].J.R, QUINLAN, Induction of Decision Trees, Computer Science, Machine Learning, 2004.
[31].Don Coppersmith, Se June Hong, Jonathan R. M. Hosking, Partitioning Nominal Attributes in Decision Trees, Journal of Data Mining and Knowledge Discovery, 1999.
[32].Elteir, Marwa K. Pseudocode of ID3 Decision Tree Algorithm, 2006, www.researchgate.net/figure/Pseudocode-of-ID3-Decision-Tree-
Algorithm_fig13_259754610 “The ID3 Algorithm.” ID3,
60
[33].STEVEN L. SALZBERG, Book Review: C4.5: by J. Ross Quinlan. Inc., 1993, Machine Learning, 16, 235-240 (1994).
[34].Efron B., (1979). Bootstrap Methods: Another look at the Jackknife. The Annals of statistics, Vol.7, (No.1), pp.1-26.
[35].Đồng Thị Ngọc Lan, (2011). Nghiên cứu, xây dựng phương pháp trích chọn thuộc tính nhằm làm tăng hiệu quả phân lớp đối với dữ liệu đa chiều. Luận văn Thạc sĩ ngành Công nghệ phần mềm. Mã số: 60.48.10, Đại học công nghệ.
[36].Breiman L. and Cutler A., (2007). Random Forests. [Online]. Available: https://www.stat.berkeley.edu/~breiman/RandomForests/, 22-7-2021. [37].Breiman L., (2001). Random Forests. Machine Learning Journal Paper ,
vol. 45, (no.1), p. 5-32. Oct. 2001.
[38].Machine Learning Cơ bản, Random Forest algorithm, https://machinelearningcoban.com/tabml_book/ch_model/random_forest .html, online 24-9-2021.
[39].Gian Quoc, Anh, Chinh Nguyen Dinh, Nghia Tran Duc, Tan Tran Duc, and Sandrasegaran Kumbesan. "Wireless technology for monitoring site- specific landslide in Vietnam." International Journal of Electrical and Computer Engineering 8, no. 6 (2018): 4448-4455.
[40].Do, D. D., H. V. Nguyen, N. X. Tran, T. D. Ta, T. D. Tran, and Y. V. Vu. "Wireless ad hoc network based on global positioning system for marine monitoring, searching and rescuing (MSnR)." In Asia-Pacific Microwave Conference 2011, pp. 1510-1513. IEEE, 2011.
[41].Nguyen, Dinh-Chinh, Tran Duc-Tan, and Duc-Nghia Tran. "Application of compressed sensing in effective power consumption of WSN for landslide scenario." In 2015 Asia Pacific Conference on Multimedia and Broadcasting, pp. 1-5. IEEE, 2015.