1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo đồ án tìm hiểu thuật toán xgboost cho phân loại mã độc android

12 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu thuật toán XGBoost cho phân loại mã độc Android
Tác giả Lê Thành Phát, Đoàn Thị Tuyết Phương
Người hướng dẫn TS Nguyễn Tấn Cầm
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Khoa học và Kỹ thuật Thông tin
Thể loại Báo cáo đồ án
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 12
Dung lượng 137,07 KB

Nội dung

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 2

MỤCLỤC

CHƯƠNG I: KHÁI QUÁT CHUNG MÔ HÌNH XGBOOST VÀ MÃ

Trang 3

CHƯƠ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 4

thuậ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 5

II.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 6

nà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 7

II.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 8

Trong 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 9

Accuracy 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 10

Bê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 11

III.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 12

TÀ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

Ngày đăng: 13/06/2024, 22:34

w