Mã độc Android thường được phân loại theo các dạng khác nhaunhư malware, spyware, adware, và có thể tiếp cận vào thiết bị thông qua nhiều phươngthức, điển hình như các ứng dụng được tảit
Trang 1ĐẠIHỌCQUỐCGIATHÀNHPHỐHỒCHÍMINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA
KHOA HỌC VÀ KỸ THUẬT THÔNG TIN
BÁOCÁOĐỒÁN TÌM HIỂU THUẬT TOÁN XGBOOST CHOPHÂN LOẠI MÃ ĐỘCANDROID
Sinhviênthựchiện:
LêThànhPhát-21522442
ĐoànThịTuyếtPhương-21522484
Giảngviên:
TSNguyễnTấnCầm
ThànhphốHồChíMinh,tháng11năm2023
Trang 2MỤCLỤC
CHƯƠNG I: KHÁI QUÁT CHUNG MÔ HÌNH XGBOOST VÀ MÃ
Trang 3CHƯƠNGI:KHÁIQUÁTCHUNGMÔHÌNHXGBOOST VÀ MÃ
ĐỘC ANDROID I.1 Đềtàinghiêncứu:
Phần mềm với mã độc trên thiết bị di động đã trở thành mấu chốtcủahầuhết các biện pháp bảomậtvàcácmốiđedọatrênInternet.Đặcbiệtvớisựtiêntiếncủahệ điềuhànhAndroid,nhiềuứngdụngđộchạiđangpháttriểnvớisốlượnglớn.Điềunày làm cho việc phát hiện mã độc trở nên khó hơn từng ngày
Trongnghiêncứunày,thuậttoánXGBoost(eXtremeGradientBoosting)được sử dụng
để thiết lập tính năng phânloạimãđộcAndroiddựatrênnguồndữliệutừdự án Drebin Qua so sánh và đánh giá, kết quả cho thấy thuật toán XGBoost đặc biệt thích hợp cho việc phân loại mã độc trên Android và có thể đạt đến 98% thang điểm F1 Score
I.2 MãđộcAndroid:
Hầu hết các vấn đề về an ninh mạng trên thiết bị di độngđềuliênquanđếnmã độc Chúng được sử dụng để thu thập dữ liệu cá nhân, đánh cắp thông tin và chiếm quyền kiểm soát người dùng Mã độc Android thường được phân loại theo các dạng khác nhau như malware, spyware, adware, và có thể tiếp cận vào thiết bị thông qua nhiều phương thức, điển hình như các ứng dụng được tảitừcácnguồnkhôngđángtin cậy, các trang web không an toàn, hoặc thậm chí là thông qua các phương tiện truyền thông xã hội
Đối mặt với vấn đề đó, một phương pháp phân loại mã độc Android được xây dựng và phát triển dựa trên thuật toán XGBoost ra đời Thuật toán này đem đến một môi trường nhận diện và ngăn chặn các mối đe dọa đối với hệ thống Android hiện đại
I.3 ỨngdụngthuậttoánXGBoost
XGBoost(eXtremeGradientBoosting)làmộtloạimáyhọctăngcường,sửdụng
Trang 4thuật toán học tập dựa trên mô hình cây XGBoost sử dụng kỹ thuật boosting để xây dựng cáccâyquyếtđịnhtuầntự,mỗicâysửalỗicủacâytrướcđóđểcảithiệnđộchính xác Sau khi đủ số câyđượctạora,tổngcủatấtcảcácdựđoánvềcâyquyếtđịnhđược tính toán để tạo ra giá trị dự đoán cuối cùng
Có rất nhiều công cụkhácnhauđểtriểnkhaiXGBoostnhưC++,Python,Java, Trong nghiên cứu này, Python được sử dụng bởi công cụ này được tối ưu hóa bộ nhớ đệm để đạt hiệu quả về mặt thời gian và hiệu suất Ngoài ra đây là một trong những môi trường tốt nhất cho việc phát triển các mô hình học máy hiện nay
CHƯƠNGII:PHƯƠNGPHÁPNGHIÊNCỨU
Hình1.Sơđồhệthống.
Trang 5II.1 Giaiđoạntiềnxửlý:
Xử lý trước dữ liệu là bước đầu tiên trong hệ thống mô hình (Hình 1) Trong nghiên cứu lần này, mô hình XGBoost sử dụng tập dữ liệu bao gồm các vectơ đặct r ư n g c ủ a 2 1 5 t h u ộ c t í n h đ ư ợ c t r í c h x u ấ t t ừ 1 5 0 3 6 ứ n g d ụ n g ( 5 5 6 0 ứ n g d ụ n g c ó m ã đ ộ c t ừ d ự á n D r e b i n v à 9 4 7 6 ứ n g d ụ n g
a n t o à n )
Giai đoạn tiềnxửlýlàquátrìnhchuẩnhóadữliệuđểtạoratậpdữliệuphùhợp trong mô hình phân loại, bao gồm cả phần huấn luyện và kiểm tra Phần gán nhãn dữ liệuđượctiếnhànhbởicôngcụLabelEncodertừthưviệnScikit-learncủaPython.Việc này có chức năng phân biệt tập dữ liệu của ứng dụng nguy hiểm vàứngdụngantoàn Bên cạnh đó, LabelEncoder còn chuyển đổi các nhãn được biểu diễn dưới dạng chuỗi hoặc các nhãn không phải dạng số thành giá trị nhị phân (0 và 1)
transact onServiceConnected … WRITE_SECURE_SETTINGS class
Hình2.TệpdữliệudựánDrebin(15036dòngx216cột).
II.2 Giaiđoạnmôhìnhhóa:
Giai đoạn mô hình hóa được thực hiện bằng cách áp dụngthuậttoánXGBoost vàoquátrình học máyđểtạoramôhìnhphânloạicácmãđộcAndroid.Ởgiaiđoạn
Trang 6này,tậpdữliệutừgiaiđoạntiềnxử lý sẽ tiếp tục quá trình phân tách thành
2 tập dữ liệu huấn luyện và dữ liệu kiểm tra, cụ thể là 80% dữ liệu huấn luyệnvà20%d ữ liệu kiểm tra
Hình3.SơđồcấutrúccủaXGBoostClassifier.
Trong tiến trình phân loại, dữ liệu huấn luyện sẽ được xử lý bởi bộ phân loại của XGBoost, hay còn gọi là XGBoost Classifier (Hình 3) Điểm mạnh của bộ phân loại này là tốc độ và hiệu suất, 2 ưu điểmnàyđượcthiếtkếchoviệcsửdụngthờigian tính toán vàtàinguyênbộnhớhiệuquả.Bêncạnhđó,XGBoostcòncóhiệunăngđược đánh giá cao trong việc phân tích và tối ưu hóa dữ liệu, đặcbiệtlàtrêncáctậpdữliệu lớn và có các đặc trưng phức tạp
Sau khi dữ liệu huấn luyện được xử lý bởi bộ phân loại, mô hình sẽ chuyển sang bước dự đoán với dữ liệu kiểm tra Tại đây, quá trình dự đoán trên tập kiểm tra giúp đánh giá khả năng tổng quát hóa của mô hình, đó là khả năng áp dụng những gì học được từ nguồn dữ liệu chưa từng tiếp xúc
Trang 7II.3 Giaiđoạnphânloạivàkếtquả:
Để đi sâu vào phân tích giai đoạn phânloạivàkếtquả,cầnphảilàmrõnguyên lý hoạt động của cấu trúc cây trong XGBoost Trong cấu trúc này, cây sau sẽ sử dụng phầndưhoặcphầnlỗicủacâyphíatrướcđểcảithiện,từđóđưaracácdựđoán.Cácdự đoán sau cùng sẽ được tính toán để đưa ra kết quả cuối cùng
Một mô hình tốt là khi có càng nhiều cây được thêm vào Do đó, cây chỉ nên được thêm vào cho đến khimôhìnhkhôngcòncảithiệnthêmnữa,nhữngcâycóchiều cao thấp hơn sẽ được ưu tiên hơn vì những cây này sẽ bổ trợ cho những cây yếu hơn trongc ấ u t r ú c t ổ n g t h ể M ộ t đ i ể m n ổ i b ậ t c ủ a X G B o o s t l à t h u ậ t t o á n
p h â n l o ạ i n à y c u n g c ấ p n h i ề u s i ê u t h a m s ố đ ể t i n h c h ỉ n h , đ i ề u
n à y c h o p h é p n g ư ờ i d ù n g đ i ề u c h ỉ n h m ô h ì n h t h e o n h u c ầ u c ụ
t h ể c ủ a b à i t o á n T í n h n ă n g n à y r ấ t h ữ u í c h k h i xửlýcácbài toán phức tạp trong phân loại mã độc, khi mà việc tinh chỉnh mô hình để tối ưu hoá hiệu suất là khá cần thiết
Hình4.SơđồcấutrúcmôhìnhXGBoost.
Trang 8Trong các thamsố,tốcđộhọc(learningrate)thườngđượckếthợpvớisốlượng cây để điều chỉnh quá trình đàotạomôhình.Khicốđịnhsốlượngcây,việcđiềuchỉnh tốc độ học có thể ảnh hưởng đến khả năng học và độ chính xác của kết quả cuối cùng
CHƯƠNGIII:ĐÁNHGIÁVÀBÀNLUẬNKẾTQUẢ
III.1 Tổngquandữliệu:
Tại nghiên cứu này, bộ dữ liệu được sử dụng bao gồm cácvectơđặctrưngcủa 215 thuộc tính được trích xuất từ 15036 ứng dụng (5560 ứng dụngcómãđộcvà9476 ứng dụng
an toàn) của dự án Drebin Dữ liệu nàyđượcchiathành2phầndữliệuhuấn luyện cho 12028 mẫu và dữ liệu kiểm tra cho 3008 mẫu
Hình5.Dữliệusửdụng.
III.2 Đánhgiámôhình:
Ở báo cáo này, ngoài việc sử dụng XGBoostđểthựchiệnnghiêncứu,còncó3 mô hình học máy nổi bật là Random Forest, Decision Tree và SVM cũng được xây dựng để so sánh và nhận định hiệu năng thông qua các công cụ đánh giá
Sau khi thực hiện công việc phân loại, kết quả thu được cho thấy mô hình XGBoost cóchỉsốAccuracyvàF1Scoređạtmức0.98(Hình6).Đâylàmộtmứcđiểm rất cao đối với phương pháp phân loại mã độc này Khi so sánh với mô hình Random Forest vàDecisionTreevớicácthamsốkỹthuậttươngđương,XGBoostcóưuthếhơn
trongviệcxửlýphânloại,trongkhi2thuậttoántrênđược đánhgiávớithangđiểm 0.94tạiAccuracyvàF1Score
Trang 9Accuracy Precision F1-Score
Hình6.BảngmôhìnhphânloạicủaXGBoost,RandomForestvàDecisionTree.
Ngoài ưu điểm về hiệu suất phân loại cao, điểm mạnh củaXGBoostcònlàtốc độ
xử lý và học máy vượt trội hơn SVM (Support Vector Machine), một mô hình có hiệu suất phân loại tương đương với XGBoost Theo biểu đồ thời gian (Hình 7), XGBoost có thời gian làm việc ngắn hơn nhiều với mức đo được là 1.105 giây trên 15036 mẫu ứng dụng
Hình7.BiểuđồthờigianxửlýcủaXGBoostvàSVM(SupportVectorMachine).
Đứng sau XGBoost, Support Vector Machine có thời gian xử lý dài hơn được
đo là 3.968 giây Tốc độ được tính từ thời điểm bắt đầu đào tạo môhìnhđếnkhihoàn
Trang 10Bên cạnh những so sánh trên, nghiên cứu này áp dụng Confusion Matrix (ma trận nhầm lẫn) cho mô hình để đưa ra nhậnđịnhrõrànghơnvềnhữngđiểmnổibậtvà độ chính xác trong phương pháp phân loại của XGBoost (Hình 8)
Hình8.ConfusionMatrix(matrậnnhầmlẫn)từmôhìnhphânloại.
Matrậnnày đã thể hiện một kết quả khá tốt khi số lượng True Negative (TN) và True Positive (TP) đều chiếm phần lớn (Hình 6), trong dự đoán phần Positive, có 1840 trường hợp được phân loại đúng
và chỉ 23 trường hợp bị phân loại sai Đối với phần Negative, mô hình cũng hoạt động tốt với 1102 trường hợpđượcphânloạichính xác Tuy nhiên, có 43trườnghợpbịphânloạisaithànhlớpPositive,điềunàychứngtỏ mô hình có xu hướng phân loại chưa đúng từ lớp Negative sang lớp Positive Đây là một con số không đáng kể nhưng cũng là một điểm cần cải thiện tại mô hình này
Qua các so sánh và phương pháp đánh giá,thuậttoánXGBoostđãpháthuytốtnhững điểm mạnh của một mô hình học máy tăng
cótrongứngdụngAndroid.Khisosánhvới2môhìnhcóhiệunăngrấttốtnhư Random Forest và Decision Tree, XGBoost vẫn chiếm ưu thế trong công tác phân loại
Tại thời gian xử lý, XGBoost có tốc độ làmviệcvớidữliệuvàhọcmáynhanh hơn gần 4 lần so với một mô hình có hiệu suất khá cao như Support Vector Machine
Trang 11III.3 Kếtluận:
Qua quátrìnhnghiêncứucóthểthấy,bộdữliệutừdựánDrebinđãtậphợpcác mẫu mã độc từ hơn 15000 ứng dụng Android, dữ liệu được gán nhãn và xửlývớicác tập dữ liệu huấn luyện và dữ liệu kiểm tra được phân chia rõ ràng
Về mô hình XGBoost, thông quacácđánhgiávàsosánhcụthể,đâyđượcxem là một
mô hình có hiệu suất dự đoán rất cao vàtốcđộxửlýtươngđốitốt.Khisosánh với những máy học hàng đầu hiện nay, XGBoost luôn có ít nhất một điểm mạnh để cạnh tranh, đặc biệt
là trong bài toán phân loại mã độc này
Tuy nhiên, qua góc nhìn từ ma trận nhầm lẫn cho thấy mô hình này cần được cải thiện thêm về độ chính xác trong việc phân loại lớp ứng dụng có mã độc sang lớp ứng dụng an toàn Dù vậy, trong nghiên cứu này XGBoost đã làm rất tốt trong công việc phân loạimãđộctừcácứngdụngAndroid,đâyvẫnlàmộtmôhìnhphânloạitiềm năng, có nhiều ưu điểm cạnh tranh và có thể cảitiếnhơnđểpháttriểntrongnhữngbài toán phân loại khác
III.4 Quanđiểmcủanhómthựchiện:
Qua công tác tìm hiểu và nghiên cứu đề tài “Tìm hiểu XgBoost cho phân loại
mã độc Android”, nhóm chúng em đã có cơ hội thực hành và triển khai một mô hình máy học mới, qua đó học được cách đưa ra kết luận và đánh giá cho mô hình này
Mã độc Android là một chủ đề rất cần thiết để nghiên cứu trong thời điểm an ninh mạng trên thiết bị di động đang bị đe dọa bởi các mã độc đến từ những nềntảng khác nhau trên không gian mạng Đây là vấn đề ảnh hưởng rất nhiềuđếnanninhthiết bị và quyền riêng tư của người dùng Android, hacker có thể lợi dụng điều đó để phát triển các loại mã mới tinh vi và mạnh mẽ hơn Qua đó, thực hiện những hành viđánh cắp thông tin, chiếm quyền kiểm soát để trục lợi từ người dùng
Mô hình thuật toán XGBoost đã thực hiện một thử nghiệm cho bài toán phân loại này và đem đến một kết quả khả quan Thuật toán tiềmnăngnàyxứngđángđược cảitiếnvàpháthuynhữngưuđiểmnổibật đểphụcvụchonhữngcôngtrìnhnghiên
Trang 12TÀILIỆUTHAMKHẢO
[1]https://www.researchgate.net/figure/A-general-architecture-of-XGBoost_fig3_33548
3097
[2]https://www.astesj.com/publications/ASTESJ_050566.pdf
[3]https://www.researchgate.net/publication/
348000368_Android_malware_classificati on_based_on_permission_categories_usin g_extreme_gradient_boosting