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 (232.23 KB, 12 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>ĐẠIHỌCQUỐCGIATHÀNHPHỐHỒCHÍMINHTRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA</b>
<b>KHOA HỌC VÀ KỸ THUẬT THÔNG TIN</b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>I.1. Đềtàinghiêncứu:</b>
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ácbiệ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 choviệc phát hiện mã độc trở nên khó hơn từng ngày.
Trongnghiêncứunày,thuậttố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 sosá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ânloại mã độc trên Android và có thể đạt đến 98% thang điểm F1 Score.
<b>I.2. MãđộcAndroid:</b>
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ềnkiểm soát người dùng. 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ừcácnguồnkhơngđángtin cậy, các trang webkhơng an tồ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âydự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ộtmô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.
<b>I.3. ỨngdụngthuậttoánXGBoost</b>
XGBoost(eXtremeGradientBoosting)làmộtloạimáyhọctăngcường,sửdụng
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">thuật tốn học tập dựa trên mơ hình cây. XGBoost sử dụng kỹ thuật boosting để xâydựng cáccâyquyếtđịnhtuầntự,mỗicâysửalỗicủacâytrướcđóđểcảithiệnđộchính xác. Saukhi đủ số câyđượctạora,tổngcủatấtcảcácdựđốnvềcâyquyếtđịnhđược tính tốn để tạo ragiá trị dự đốn cuối cùng.
Có rất nhiều cơng cụkhácnhauđểtriểnkhaiXGBoostnhưC++,Python,Java,... Trongnghiê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ườngtốt nhất cho việc phát triển các mô hình học máy hiện nay.
<i>Hình1.Sơđồhệthống.</i>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>II.1. Giaiđoạntiềnxửlý:</b>
Xử lý trước dữ liệu là bước đầu tiên trong hệ thống mơ hình (Hình 1). Trongnghiê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 ga n t o à n ) .
Giai đoạn tiềnxửlýlàqtrì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ụngantồ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ãnkhông phải dạng số thành giá trị nhị phân (0 và 1).
transact onServiceConnected … WRITE_SECURE_SETTINGS class
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="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ành2 tập dữ liệu huấn luyện và dữ liệu kiểm tra, cụ thể là 80% dữ liệuhuấn luyệnvà20%d ữ liệu kiểm tra.
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ạicủa XGBoost, hay còn gọi là XGBoost Classifier (Hình 3). Điểm mạnh của bộ phânloại này là tốc độ và hiệu suất, 2 ưu điểmnàyđượcthiếtkếchoviệcsửdụngthờigian tínhtốn vàtàingunbộnhớhiệuquả.Bêncạnhđó,XGBoostcịncóhiệunăngđược đánh giá caotrong 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 đặctrư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ểnsang bước dự đốn với dữ liệu kiểm tra. Tại đây, q trình dự đốn trên tập kiểm tragiú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.
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><b>II.3. Giaiđoạnphânloạivàkếtquả:</b>
Để đ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ụngphầndưhoặcphầnlỗicủacâyphíatrướcđểcảithiện,từđóđưaracácdựđốn.Cácdự đốn saucùng sẽ được tính tố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ấphơ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ơntrongc ấ 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 á np 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 ề un à 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ứctạp trong phân loại mã độc, khi mà việc tinh chỉnh mơ hình để tối ưu hố hiệu suất là khácần thiết.
<i>Hình4.SơđồcấutrúcmơhìnhXGBoost.</i>
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">Trong các thamsố,tốcđộhọc(learningrate)thườngđượckếthợpvớisốlượng cây đểđiều chỉnh q 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.
Tại nghiên cứu này, bộ dữ liệu được sử dụng bao gồm cácvectơđặctrưngcủa 215thuộc tính được trích xuất từ 15036 ứng dụng (5560 ứng dụngcómãđộcvà9476 ứng dụngan tồn) của dự án Drebin. Dữ liệu nàyđượcchiathành2phầndữliệuhuấn luyện cho 12028mẫu và dữ liệu kiểm tra cho 3008 mẫu.
<b>III.2. Đánhgiámơhình:</b>
Ở báo cáo này, ngồ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 để sosá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ìnhXGBoost cóchỉsốAccuracyvàF1Scoređạtmức0.98(Hình6).Đâylàmộtmứcđiểm rất cao đốivới phương pháp phân loại mã độc này. Khi so sánh với mơ hình Random ForestvàDecisionTreevớicácthamsốkỹthuậttươngđương,XGBoostcóưuthếhơn
trongviệcxửlýphânloại,trongkhi2thuậttốntrênđược đánhgiávớithangđiểm0.94tạiAccuracyvàF1Score.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">Accuracy Precision F1-Score
Đứ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đếnkhihồn
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Bên cạnh những so sánh trên, nghiên cứu này áp dụng Confusion Matrix (matrậ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).
Matrậnnày đã thể hiện một kết quả khá tốt khi số lượng TrueNegative (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 đúngvà chỉ 23 trường hợp bị phân loại sai. Đối với phần Negative, mơ hìnhcũ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ânloạ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 đánhgiá,thuậttố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ơngần 4 lần so với một mơ hình có hiệu suất khá cao như Support Vector Machine.
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><b>III.3. Kếtluận:</b>
Qua qtrì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ệuhuấ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ộtmơ 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áyhọc hàng đầu hiện nay, XGBoost ln có ít nhất một điểm mạnh để cạnh tranh, đặc biệtlà 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 đượccả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 tồn. Dù vậy, trong nghiên cứu này XGBoost đã làm rất tốt trong cơngviệ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 tốn phân loạikhác.
<b>III.4. Quanđiểmcủanhómthựchiện:</b>
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ạimã độc Android”, nhóm chúng em đã có cơ hội thực hành và triển khai một mơ hìnhmá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 anninh 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ảngkhá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ácloạ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 sốt để trục lợi từ người dùng.
Mơ hình thuật tốn XGBoost đã thực hiện một thử nghiệm cho bài toán phânloại này và đem đến một kết quả khả quan. Thuật tốn tiềmnăngnàyxứngđángđượccảitiếnvàpháthuynhữngưuđiểmnổibật đểphụcvụchonhữngcơngtrìnhnghiên
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><b>[1]</b> 3097
<b>[2]</b>
348000368_Android_malware_classificati on_based_on_permission_categories_using_extreme_gradient_boosting
</div>