kaspersky Hình 5: Thong kê phan mềm độc hại phát hiện theo loại, Q4 2022 va Q1 2023 Dé bảo vệ thiết bi Android khỏi mã độc, người dùng nên cập nhật hệ điều hành vaứng dụng thường xuyên,
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BOK CR
hes,
NGO HUU PHUC
PHAN LOAI MA DOC ANDROID DUA TREN QUYEN HAN,
LOI GOI HAM HE THONG VA DANH SACH THU VIEN
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
Mã số: 8.48.02.01
GIẢNG VIÊN HƯỚNG DAN:
TS NGUYÊN TẤN CẢM
TP HÒ CHÍ MINH, 12/2023
Trang 2LỜI CAM ĐOAN CỦA HỌC VIÊN
Tôi xin cam đoan luận văn với đề tài “PHAN LOẠI MA ĐỘC ANDROID DUA TREN QUYỀN HAN, LOI GOI HAM HE THONG VÀ DANH SÁCH THU VIỆN” được thực hiện một cách độc lập dưới su hướng dẫn tận tâm của Thay TS Nguyễn
Tấn Cầm, báo cáo trung thực không gian lận các kết quả và số liệu Tôi đã thực hiện nghiên cứu, tìm hiểu và tự thân viết báo cáo luận văn, không sao chép mà không được ghi chú từ bat kỳ nguồn nào Nếu phát hiện được bất kỳ sự gian lận nào, tôi xin chịu
trách nhiệm về công trình nghiên cứu viết trong bài báo cáo luận văn này.
Học viên
Ngô Hữu Phúc
Trang 3LỜI CẢM ƠN CỦA HỌC VIÊN
Trân trọng cảm ơn một cách sâu sắc đến thay TS Nguyễn Tấn Cầm hỗ trợ và hướng dẫn tôi hoàn thành nghiên cứu và thực hiện báo cáo tốt nghiệp cuối khóa Tôi cũng trân trong cảm ơn đến các thay, cô, gia đình đã cé vũ tôi trong suốt khoảng thời
gian học tập Ngoài ra, xin cảm ơn tất cả các bạn bè, anh chị, đã giúp đỡ, hỗ trợ, chia
sẻ kinh nghiệm và kiến thức dé tôi có thể học hỏi và tích lũy thêm kiến thức bản thân trong suốt thời gian qua Kính mong thay cô và các bạn góp ý dé hoàn thành báo cáo
luận văn một cách tốt nhất.
Tran trong!
TPHCM, ngay 16 thang 5 nam 2023
Hoc vién thuc hién
Ngô Hữu Phúc
Trang 4MỤC LỤC CỦA LUẬN VĂN
LOT CAM DOAN CUA HỌC VIÊN cccesccczreeetrrrxessrtrrreererrresere 2 LOT CAM ON CUA HỌC VIEN wesecscssssesssssssesssssseccessssescsssnecsssssseccesssecsessasecessansecets 3 MỤC LUC CUA LUẬN VĂN
DANH MỤC CÁC HÌNH ANH DUNG TRONG LUẬN VĂN 7
DANH MỤC BANG BIỀU ccee<©©CEEEE+xetetttrvrkkkreertrkrrkrressrivl 9
DANH MỤC TỪ NGỮ VIET TAT SỬ DỤNG -ss<ccssssees 10
TOM wvyv0n 029 11
Chuong 1 GIOI THIEU
1.1 Xu hướng di động thông mỉnh s- << s «se «s4 «se ssseseseses 12
1.2 Cấu trúc AndroidOS ‹ e«s ccxxxeesstrrrtrrkkirrrrrrrrrkke 14
1.3 Nguy cơ mã độc tan công.
1.4 Phan loại mã độc Android -ssessesseseesesessrsersrssssee 19
1.5 Cách tiếp cận nghiên cứu của dé tài -c‹ss<c+veexxeeseerer 20
Chương 2 LÝ THUYET HQC MAY, MỘT SO BÀI BAO NGHIÊN CỨU VA CONG TRÌNH LIEN QUAN ccscssccssssssssssssssssssssusnusssssssseccececeeceeseeesecesssssnnnnnsessetsee 23 2.1 Lý thuyết học máy -veesstettrrr+xseettsrrrrkksesrttrrrkkkrsee 23
2.2 Trí thông minh nhân tao
2.2.1 Học máy HGS - kh HH HH it 24 2.2.2 Học máy HKGS - S2 HH 24 2.2.3 Học máy HBGS S2 TH HH HH grưy 25
2.3 Một số giải thuật máy học cs-ceeeccvveseeerrxeseerrrsssrrrrrsee 26
2.3.1 Giải thuật hồi quy logistic -5cccccccessrrrrrtrrrrrrrrrrrrrrrrree 26
2.3.2 Giải thuật k-NN SH HH rưe, 27 2.3.3 Giải thuật SVM Ăn ưei 28
Trang 52.3.4 Thuật toán DĨT -cc + 2t rrertrrerierirrerrrrrrerrrrerdee 28
2.3.5 Thuật toán RE LH HH HH ky 29
2.3.6 Giải thuật Mạng Nơ-ron óc S55 stsseerersreerrerrrrrrrrererree OO
2.4 Một số bài báo liên quan nghiên cứu se sccsseeccsssse 31 Chương 3 MÔ HÌNH DE XUẤT ccs 222vvsseeeevvvvvvesseersrerrree 43 3.1 Nguồn trích xuất đặc tính -«ss<+veseecxseetrsserrsssrrrssee 43
3.2 Mô tả bộ dữ liệu huấn luyện -secvsseevvvxeseeervssserrrrsee 43
3.3 Chuẩn hóa bộ dữ liệu -©©©++eeearrrkeeeeretrrrrirrrree 44 3.4 Trích xuất dữ liệu
3.4.1 Các bước trong quá trình trích xuât đặc trưng từ AndroPyTool 46 3.4.2 Thực hiện rút trích đặc trưng thư viỆn ¿+ =+xsszx+x++=xe 46
4.2.4 Recall (REC) cưa 54
4.2.5 Fl-score (F1)
4.3.1 RE HH hờn 55
Trang 6= ° " 57
43.4 DT nhi 58
¬ h ố.ốố 59 4.3.6 MLP os.2 222222222 1E 60
4.3.7 Giá trị kết quả trung bình huấn luyện các mô hình 6l
4.3.8 So sánh kết quả huấn luyện mô hình SVM với ba loại đặc trung 62
4.3.10 Đề thị điểm Fl-score -ccccvvvrvevrrrrrrirrrrrrrrrirrrrrrrrri 64 Chương 5 KET LUẬN VÀ ĐỊNH HƯỚNG CÁC CHIEN LƯỢC NGHIÊN CỨU THOT GIAN TỚII 2 -+©2s°VE+++EEEE+SdEvEvveseetvvxseterrrxseeerrrsseesrrsssedi 66
5.1 Kết luận kết quả thực nghiệm -«°vvvvvveseertrrrrrxxesee 66
5.11 Kết quả thử nghiệm sau khi thực hiện huấn luyện -«- 66
5.1.2 Một số thách thức, hạn chế gặp phải -c-¿ cccc+ 67 5.2 Hướng phát triỂn .-. -e se©©cseeereeeerxeeerrseeersesersesrrrssed 67
TÀI LIỆU THAM KHẢO
Trang 7DANH MỤC CÁC HÌNH ANH DUNG TRONG LUẬN VAN
Hình 1: Thống kê thị phần hệ điều hành di động đến quý 01/2023 - 13 Hình 2: Kiến trúc AndroidOS - s55 ckccEềE tk E111 1112111211122 Erree 15 Hình 3: Thành phân tập tin APK 5- 25522 2222S 222221 E11 ccerrrerree, 17
Hình 4: Thống kê mã độc được phát hiện, Q2 2022—Q2 2023 19 Hình 5: Thống kê phan mém độc hại phát hiện theo loại, Q4 2022 và Q1 2023 20 1857/17/18 26
Hình 7: Một ví dụ về phân lớp Kecccccsscsssssssssessssscssssessssssessusssssessssessssuessssessssessssesesses 27
Hình 8: Một mô tả ví dụ mô hình ŠVÌM - 55c 5+ +vESE+veeretrrxeerrrrrrerexrr 28
Hình 9: Một hình ảnh mình họa ví dụ về mô hình DT e-cccccxccrxeerxeerxeerrcer 29
Hình 10: Một mô ta ví dụ mô hình RF eccssssssssssssssssssssssessssssssssssessscssssssssssssssessessesess 30
Hình 11: Kiến trúc của đơn vị RNN và khối bộ nhớ LSTM[ l] - - 31 Hình 12: Kiến tric dé xuất phân loại Android dựa vào quyển - 3⁄2
Hình 13: Quy trình xứ lý của PerinMdjDs 5ằcc5ccc+ccscereerererrreeree 32
Hình 14: Sơ đô quy trình phân loại APK độc hại và lành tính „33 Hình 1ã: Kiến trúc hệ thong phát hiện và phân loại PMĐH bằng cách dùng lời gọi
34 35
Hình 17: Mô hình tổng thé phát hiện mã độc Android bằng cách kết hợp các quyén
hàm
Hình 16: Quy trình đề xuất phân loại phần mém độc hai tự động.
Hình 18: Sơ đô AFCŒDroid 5 2222222222+222222+2E2223112212111221111 22211 cxer 36
Hình 19: Mô hình phân loại kết hợp quyên và chữ ký cccccccccccccescr 37
Hình 21: M6 hình DeejDC@fFd 5 St S*S‡eEEverererekerrserrerrerrrrre DO
Hình 22: M6 hình MAPAS đề xuất của nhóm tác giả ccccccccccev 39
Hình 23: Mô hình Bayesian của tac giả cScSc St Skk+k++tEkkekkkeskkisekkekerree 39
Hình 24: Tổng quan về thiết kế của MADS -2255:525sc22cxccccxersrxersrreeerrvee 40
Hi 010/00/78 0Nnnn8Ẻ8Ẻ88 41
Hình 26: M6 hình hệ thống của công cụ AndroPyTool - ccc:©cccscczcc2 45
Hình 27: Hàm duyệt lấy tên đanh sách thư vIiỆn ¿+ 5+ +++s+s+ssesvxeersesssez 47
Trang 8Hình 28: Hàm trích xuất dữ liệu thư viện .2 2¿¿2222+z++22vvvzesrrrxeeerrr 47
Hình 29: Hàm code thực hiện chọn lọc đặc trưng . ¿- 5 +5 ++++xecse 48
Hình 30: Giải pháp dé xuất phát hiện APK là độc hại hay lành tính - 48 Hình 31: Bộ dit liệu đã chuẩn hóa hoàn tắt eccccccccccceerrrrrrrrrrrrrrrre 49 Hình 32: Mô hình tổng thể hệ thong dé xuất - 22252c52csccscccvvccscrvseerrr 50
Hình 33: CFM mô hình RF Nomalize c5 SeSSE‡k‡EeEEkeketekerkrkrkererrre 55 Hình 34: CFM mô hình LR NoinidÌÏiZ6 - 5-5555 SeS*‡E‡tsreetrkekerererrrrterrrsee 56
Hình 35: CFM mô hình KNN Nomalize «c5 ScSxtétererkreketrrerrkekererre 57
Hình 36: CFM mô hình DT Nomalize 5-5 5< 5S S*Sk‡‡k‡EkEkEkekEErkrrkrkekererre 58 Hình 37: CFM mô hình SVM NOimiÏiZ€ - 5-5-5555 E‡S‡E‡E+v+EeEekerrkrkererre 59
Hình 38: CFM mô hình MLP Nomalize 55-5-5552 5+2++ccce+erereeesrersre 60
Hình 39: Độ chính xác và Loss qua từng EpCho -c-+ccccsccccscceeercer 61
Hinh 40: Dé thi ROC cua tập đữ liệu CIC-MalDroid2020 55+ <+55c>+ 64 Hình 41: Điển F1 tập dữ liệu CIC-MalDroid2020 sau khi huấn luyện 65
Trang 9DANH MỤC BANG BIEU
Bang 1: Cau hình máy rút trích đặc trunng - 55-5 cc+cs+cccEczterkerkerkerkererree 51Bang 2: Ý nghĩa các biến số trong CF M 2+ ©c+Sk+E+E+EEESEEEEEerEerkerkersrree 52Bang 3: Thông số đánh giá huấn luyện bằng RF ©555cccccceccrcerkerecres 55
Bang 4: Thông số đánh giá huấn luyện LR vecescescessesssessessesseesessesseessessesseesesssesseeseees 56
Bang 5: Thông số đánh giá huấn luyện băng KNN -2c©cccccccccsrrrssree 57
Bang 6: Kết quá đánh giá huấn luyện bằng DT 5-52 5c<+cccceceesrsreerecres 58
Bang 7: Kết quả đánh giá huấn luyện bằng SVM - 2 2©52+se+ee£te£erersscez 59Bang 8: Két quả đánh giá huấn luyện bằng ANN 555 Scccccckerererrree 60Bảng 9: Giá trị trung bình kết quả huấn luyện các mô hình với dữ liệu CIC-
Bang 10: Bang kết quả so sánh với ba bộ dữ liệu veesceecescescescescsseesseseesessesseesesseesesseess 62
Trang 10Recurrent Neural Network
Support Vector Machine
Convolutional Neural Network
Application Programming Interface
Học có giám sát Học bán giám sát Học không giám sát
10
Trang 11TÓM TAT LUẬN VĂN
Phần mềm độc hại (malware) đang trở thành một trong những mối đe doa
lớn nhất đối với bảo mật trên Internet Sự phát triển nhanh như vũ bão của
malware và việc chúng ngày càng trở nên tinh vi làm cho việc phát hiện va
ngăn chặn chúng trở nên cực kỳ khó khăn Ngày nay, mã độc phát triển ngày trở nên tinh vi băng cách ân bản thân với các kỹ thuật mã hóa, nên phát hiện ra PMDH là rất khó khăn và cực ky thử thách Ngoài ra, sự gia tăng nhanh chóng của nhiều loại phần mềm mã độc với nhiều thé loại tiếp tục là nguyên nhân của
việc xác định và phát hiện chúng.
Ở bài cáo này, chúng tôi thu thập đữ liệu bằng cách trích xuất đặc trưng của tập tin APK, sau đó chọn lọc đặc trưng, phát hiện và phân loại mã độc băng
giải thuật học máy như SVM, RF, LR, KNN va DT được sử dụng Kết quả thực
nghiệm dé đánh giá hiệu quả của thuật toán với các độ đo FI, Precision va
Recall.
11
Trang 12Chương 1
GIỚI THIỆU
Nội dung tóm tắt trong chương này bao gồm xu hướng di động thông minh, rủi ro
nhắm đến người dùng sử dụng các thiết bị di động thông mình chạy AndroidOS.Chương này cũng giới thiệu kiến trúc AndroidOS, trình bày các loại mã độc và mộtvài phương pháp phân tích mã độc Qua đó, mô tả đối tượng, mục tiêu và cách tiễn
hành, hướng tiếp cận nghiên cứu của đề tài
1.1 Xu hướng di động thông minh
Điện thoại di động thông minh là một công cụ không thé thiếu trong cuộc sống hiệnđại Với khả năng kết nối internet, chụp ảnh, gọi điện, nhắn tin và hàng loạt các tác
vụ khác Cùng với sự phát triển của công nghệ, smartphone ngày càng xử lý nhanh
và mạnh mẽ, mang đến cho con người nhiều tiện ích, thay đối nhiều thói quen giải trí
và làm việc từ xa.
Trong số các hệ điều hảnh điện thoại di động thông minh, Android được coi
là một hệ điều hành di động phô biến nhất và mạnh mẽ Android được coi là hệ điềuhành di động nổi tiếng nhất AndroidOS được Google phát triển, cung cấp một giaodiện dễ sử dụng, đa dạng ứng dụng và tính năng linh hoạt Android là một hệ điềuhành mở được thiết kế dành cho điện thoại di động thông minh, máy tính bảng vàthiết bị di động có màn hình cảm ứng Do khả năng tùy biến cao và mã nguồn mở,
Android được nhiều nhà sản xuất sử dụng Thiết bị di động chiếm 71,44% thị phần
của hệ điều hành di động quý 01/2023
Với Android, người dùng có thể truy cập vào kho ứng dụng từ Google Play
Store, từ các ứng dụng xã hội, trò chơi, ứng dụng học tập đến công cụ làm việc và
quản lý tài chính Sự phổ biến của Android là nền tảng thuận lợi cho các ứng dụngđộc hại như lừa đảo, phần mềm gián điệp và phần mềm khai thác lỗ hồng hoặc thư
rác.
12
Trang 13.Ø ORO OOM CRN O DOIN ^ 28.ở 2Ð ð 2ð ở 2Ð ở 2ồ ở ở ở 2ð 2ö 29 ở ở ở
“® Android =@® iOS Samsung =@ Windows Phone
=@ Symbian OS* =@ Series 40 (Nokia)* =@®= BlackBerry OS »@ Unknown / Other
Hình 1: Thống kê thị phan hệ điều hành di động đến quý 01/2023!
Vào năm 2020, tông cộng hơn 43.000.000 PMĐH trên thiết bị di động đã được phát
hiện Chỉ trong quý 4 năm 2020, đã có hơn 3.200.000 PMĐH mới (Mcafee, 2021).
Đây là một tín hiệu bao động VỀ sự bùng phát của mã độc, chính vì điều đó cần phải
có cách thức tìm ra mã độc chưa biết trước đó một cách nhanh chóng và hiệu quả
Có một số cách khác nhau đề phát hiện malware trên thiết bị Android Trong
bài báo cáo nghiên cứu, chúng tôi đưa ra trình bày cách phát hiện PMDH dựa trên
việc phân tích các quyên, lời gọi hàm và danh sách thư viện Phương pháp này giảinén tệp APK và giải mã nó dé trích xuất các quyền, lời gọi hàm và danh sách thư
viện Sau đó, chúng tôi dùng mô hình học máy phân loại tệp APK dựa trên các đặc
trưng thu được.
Trên Android, các tập tin cai đặt được triển khai dưới dang gói công cụ APK
(Android Package Kit), các tập tin được đóng gói dựa trên định dạng nén ZIP truyềnthống nên việc chỉnh sửa và đóng gói lại tập tin tương đối dễ dàng Thiết bị phải luôn
đối mặt với nguy cơ nhiễm mã độc và các lỗ hồng khác Các ứng dụng thường đượcchỉnh sửa, chèn quảng cáo và sau đó đóng gói lại để hưởng doanh thu quảng cáo,
tương tự như việc chèn quảng cáo xấu Kẻ xấu có thé thêm mã độc dé lấy thông tin
nhạy cảm hoặc gây nhiều tác hại đến thiết bị mà người dùng chúng không hè hay biết
'
https://www.statista.com/statistics/272698/global-market-share-held-by-mobile-operating-systems-since-13
Trang 14Phương pháp phân tích phần mềm được chia thành ba cách Phương thức độngcần thực thi chương trình và kiểm tra kết quả sau đó, phương pháp tĩnh cần phân tích
mã nguồn, xác định dựa trên kỹ năng của người phân tích và phương pháp còn lại thì
gộp cả hai cách trên.
1.2 Cấu trúc AndroidOS
Cấu trúc Android (AndroidOS) là một phần quan trọng trong việc xây dựng và hoạt
động của hệ điêu hành Nó là cơ sở đê quản lý tài nguyên và cung câp các dịch vụ
cho ứng dụng và người dùng AndroidOS sử dụng kiến trúc "Linux kernel-based",
điêu này có nghĩa răng nên tảng Android được tạo ra dựa trên nhân Linux, cung câp
khả năng đa nhiệm, bảo mật và hiệu suât cao Câu trúc của AndroidOS gôm các thành
phân sau:
Kernel (Nhân): Chính là trung tâm của AndroidOS Kernel quản lý tác vụ như
quan lý tài nguyên phần cứng, bộ nhớ, trao đồi thông tin với phan cứng và xử
lý thông tin yêu cầu từ các ứng dụng
Libraries (Bộ thư viện): AndroidOS cung cấp thư viện liên quan các chức năng
và tiện ích Các thư viện này bao gồm các chức năng liên quan đến đồ họa,mang, âm thanh, xử lý hình ảnh Các nhà phát triển có thé sử dụng các thưviện này dé tăng cường kha năng và tính năng của ứng dụng
Runtime (Thực thị): Android sử dụng môi trường thực thi gọi là Android
Runtime (ART) ART chuyên đôi mã nguồn Java thành mã máy tương ứng déchạy ứng dụng trên thiết bị ART cũng hỗ trợ các tính năng như quản lý bộnhớ, xử lý tương đồng và tối ưu hóa hiệu suất
Framework (Khung ứng dung): Android Framework là tập hợp các lớp va giao
diện lập trình ứng dụng (API) dé xây dựng các ứng dung Android Framework
cung cấp các chức năng như xử lý sự kiện, các giao diện người dùng, quản lýtài nguyên, truy cập vào dịch vụ hệ thống và nhiều tính năng khác
Applications (Ứng dụng): Giao diện người dùng tương tác trực tiếp Các ứng
dụng này có thể bao gồm ứng dụng có sẵn (như ứng dụng thoại, ứng dụng hỗtrợ nhắn tin, email) và các ứng dụng bên thứ ba (như trò chơi, ứng dụng xử lý
chuyên ngành ) Các ứng dụng này tận dụng các tính năng và khả năng của
14
Trang 15AndroidOS hỗ trợ người dùng đa dạng và phong phú.
Activity Location Package
View System Resource Telephony
Android Runtime
OpenMAX AL Android Runtime (ART
Media Framework OpenGL ES
Các thành phần trên giao tiếp với nhau dé tạo nên một hệ thong hoạt động linh hoạt
và mạnh mẽ trên thiết bị Android
Thành phần của một tập tin ứng dụng Android (APK) bao gồm:
e_ Tập tin mã nguồn (code files): Day là phần chứa mã nguồn được viết bằng
? https://developer.android.com/guide/platform
15
Trang 16ngôn ngữ lập trình Java hoặc Kotlin Tệp mã nguồn này bao gồm các lớp,phương thức và tài nguyên khác cần để xây dựng và chạy được ứng dụng.
Tập tin tài nguyên (resource files): Tệp tài nguyên chứa các tải nguyên như
hình anh, âm thanh, video, văn bản Các tài nguyên này được dùng dé hiểnthị giao diện ứng dụng và cung cấp các tài nguyên hỗ trợ khác cho ứng dụng.Tập tin Manifest: Day là tệp XML chứa thông tin câu hình và quyền của ứngdụng Tệp Manifest cung cấp thông tin liên quan ứng dụng như tên ứng dụng,phiên bản, quyền truy cập hệ thống, thành phan chính (như hoạt động, dich vụ,giao diện người dùng), và các cấu hình khác Tệp Manifest giúp AndroidOShiểu và quản lý ứng dụng
Tập tin cau hình (configuration files): Các tệp cấu hình lưu thông tin câu hình
và tùy chỉnh của ứng dụng, bao gồm các thông số kỹ thuật, tùy chọn, cài đặtmạng và các câu hình khác Các tệp cấu hình này giúp ứng dụng hoạt độngđúng cách trên các thiết bị và môi trường khác nhau
Tập thư viện (library files): Các tệp chứa mã nguồn được viết trước và có théđược sử dụng lại trong nhiều ứng dụng khác nhau Thư viện giúp chúng tagiảm thiểu thời gian và công sức đề phát triển chức năng mới bang cách cungcấp chức năng sẵn có mà không cần phải viết lại từ đầu
Tập tin khác: Ngoài các thành phần chính đã đề cập, một tập tin APK còn cóthể chứa các tệp khác như tệp dữ liệu, tệp cau hình hệ thống hoặc các tệp khácliên quan đến ứng dụng
16
Trang 17YÝ App example
Hinh 3: Thanh phan tập tin APK?
Tất cả các thành phan này đóng vai trò quan trọng trong việc cai đặt, xây dựng va
chạy các ứng dụng Các tập tin APK kết hợp các thành phần này thành một gói ứng
dụng.
1.3 Nguy cơ mã độc tan công
Mã độc Android là một loại PMĐH được thiết kế đặc biệt dé tan công và xâmnhập vào các thiết bị chạy AndroidOS Nó có khả năng thực hiện các hoạt động độchại mà người dùng không biết và không đồng ý Mã độc Android thường được pháttán qua những ứng dụng giả mạo, các trang web độc hại, tin nhắn hoặc email lừa đảo
Khi người dùng cài đặt ứng dụng hoặc tương tác với nội dung độc hại, mã độc sẽ tiễn
3
https://www.appdome.com/how-to/devsecops-automation-mobile-cicd/appdome-basics/structure-of-an-android-app-binary-apk
17
Trang 18hành khai thác lỗ hồng trong hệ thống để xâm nhập vào thiết bị Mã độc Android hoạt
động đa dạng:
e Trộm thông tin cá nhân: Mã độc có thé âm thầm thu thập thông tin nhạy cảm
như mật khẩu, danh bạ, tài khoản giao dịch ngân hàng, tin nhắn, thông tin thẻ
tín dụng, cuộc gọi và vị trí GPS của người dùng.
e Hiển thị các quảng cáo mà người dùng không mong muốn: Mã độc có thé hiền
thị quảng cáo liên tục và gây phiền toái cho người dùng Quảng cáo này có thể
xuất hiện trong các ứng dụng, trình duyệt hoặc màn hình chính của thiết bị
e Gay hại hệ thống: Mã độc có thê làm chậm hoạt động của thiết bị, tiêu tốn tài
nguyên hệ thống, gây sự cố hoặc treo may
e Lây nhiễm và lây lan: Mã độc có khả năng lây nhiễm sang các thiết bị khác
thông qua kết nối mạng, Bluetooth, thẻ SD hoặc email Nó có thể tạo ra hàng
loạt các thiết bị đã nhiễm và thực hiện các hoạt động độc hại trên quy mô lớn
e Kiểm soát từ xa: Mã độc có thé cho phép kẻ tan công từ xa kiểm soát và điều
khiến thiết bị của người dung, gửi và nhận các lệnh từ xa mà không được sự
Trang 19Hình 4: Thống kê mã độc được phát hiện, Q2 2022-02 20234
Dé bảo vệ thiết bị Android khỏi mã độc, người dùng nên cập nhật hệ điều hành
và bản vá lỗi ứng dụng thường xuyên, cài đặt các ứng dụng từ những nguồn tin cậy,thường xuyên diệt virus và chú ý đến các thông báo bảo mật và quyền truy cập ứng
dụng.
1.4 Phân loại mã độc Android
Mã độc Android được phân loại dựa trên tính năng của chúng và hoạt động của chúng.
Dưới đây là một số phân loại phô biến của mã độc Android:
Worms: Có khả năng sao chép và gửi tập tin sang thiết bị khác, worm trên thiết
bị Android thường được gửi qua tin nhắn văn bản SMS / MMS và thường không
cần người dùng can thiệp mà tự động thực thi
Trojan: Là loại mã độc giả mạo thành các ứng dụng hợp pháp hoặc đính kèm vào
các ứng dụng khác Một khi được cài đặt, TroJan thường thực hiện hoạt động độc
hại mà người sử dụng thiết bị không biết
Spyware: Là loại mã độc giám sát và thu thập thông tin cá nhân của người dùng
một cách trái phép, gồm các thông tin như tin nhắn, cuộc gọt, vị tri GPS, danh ba
va thông tin tài khoản ngân hang.
Ransomware: Là loại mã độc có khả năng mã hóa dt liệu trên thiết bị của ngườidùng và yêu cầu một khoản tiền chuộc dé giải mã Ransomware gây ra sự matđiều khiển đối với người dùng và có thé gây thiệt hại nghiêm trọng cho dit liệu cá
nhân và doanh nghiệp.
Adware: Là loại mã độc được thiết kế cho phép hiên thị quảng cáo trên thiết bi
của người dùng Adware thường làm giảm trải nghiệm sử dụng và gây khó chịu
cho người dùng bằng cách hiền thị quảng cáo liên tục và không mong muốn
Phishing: Là loại mã độc hoặc các trang web giả mạo được thiết kế nhằm lừa đảongười dùng lay cá nhân nhạy cảm, ví dụ như tên đăng nhập, mật khẩu, thông tin
tài khoản ngân hàng.
* https://securelist.com/it-threat-evolution-q 1-2023-mobile-statistics/109893/
19
Trang 20e Rootkit: Là loại mã độc có khả năng chiếm quyền kiểm soát toàn bộ hệ thống
Android và ân đi sự tồn tại của nó Rootkit thường khó phát hiện và loại bỏ, và có
thê cho phép tin tặc có quyền truy cập và kiểm soát thiết bị từ xa
kaspersky
Hình 5: Thong kê phan mềm độc hại phát hiện theo loại, Q4 2022 va Q1 2023
Dé bảo vệ thiết bi Android khỏi mã độc, người dùng nên cập nhật hệ điều hành vaứng dụng thường xuyên, cài đặt các ứng dụng từ các nguồn đáng tin cậy, sử dụng
phần mềm diệt virus và chú ý đến các thông báo bảo mật và quyên truy cập của ứng
dụng.
1.5 Cách tiếp cận nghiên cứu của đề tài
1.5.1 Đặt vấn đề
e Phần mềm độc hại thường sử dụng các chiến thuật ngụy trang dé che giấu bản
chất thực sự của chúng và tránh bị phát hiện Mã độc có thể được nhúng vàotrong các ứng dụng giả mạo hoặc ngụy trang thành ứng dụng hữu ích và phố
Š https://securelist.com/it-threat-evolution-q 1-2023-mobile-statistics/109893/
20
Trang 21biến để người dùng tải về Mã độc có thể được thiết kế dé phát hiện khi nó
đang chạy trên môi trường kiêm thử hoặc trong quá trình phân tích động Phầnmềm độc hại thường tập trung vào việc gây tôn that tài chính, đánh cắp thôngtin cá nhân, hoặc thậm chí kiểm soát và tận dụng các thiết bị mà chúng xâm
nhập.
Việc phân tích mã độc từ mã nguồn bằng phương pháp thủ công có thé rất khóđối với đa số người dùng, đặc biệt là những người không có kinh nghiệmchuyên sâu về bảo mật và lập trình, việc này có thé là một thách thức đặc biệt.Người dùng cần công cụ phát hiện, cảnh báo phần mềm độc hại Công cụ phải
mạnh mẽ và nhẹ nhàng, thực hiện phân loại các tập tin trước khi chúng được
cài đặt Công cụ cần phải có hiệu suất tốt mà không làm giảm tốc độ hoạt động
của hệ thống quá mức Điều này đặc biệt quan trọng dé đảm bao trải nghiệmngười dùng không bi ảnh hưởng đáng ké Việc phân loại tập tin trước khichúng được cài đặt là một bước quan trọng dé ngăn chan người dùng từ việctải về và cài đặt các tập n có khả năng chứa mã độc Công cụ nên tích hợpcác công nghệ bảo mật hiện đại như máy học để có khả năng phát hiện vàphòng ngừa mối đe đọa phức tạp
1.5.2 Phát biểu bài toán cần giải quyết
Từ những vấn đề trên đặt bài toán cần giải quyết: Phân loại mã độc Android từ
tập tin cài đặt (APK) sử dụng mô hình học máy.
Đầu vào: Tập tin cài đặt ứng dụng Android (APK)
Đầu ra: Kết quả tập tin thuộc về loại nào (mã độc hay lành tính)
Ràng buộc đữ liệu: Các đặc tính được trích xuất từ tập tin cai đặt: quyền, lời
gọi hàm và thư viện, vector đầu vào dưới dạng tập CSV Các mã độc được
phân thuộc một loại duy nhất.
Trong phạm vi bài nghiên cứu này, chúng tôi đưa ra giải pháp dùng học máy phân
loại phần mềm dựa trên trích xuất dữ liệu quyên, lời gọi hàm và thư viện Sau khi
nghiên cứu va phân tích sâu vê các trích xuat dtr liệu trên, luận văn sẽ giúp hiêu rõ
hơn về các loại mã độc Android, nghiên cứu và tìm hiêu các mô hình phát hiện mã
21
Trang 22độc thông qua quyên, lời gọi hàm và thư viện Sau đó kiểm thử với các mô hình LR,
RF, SVM, KNN, MLP, DT.
1.6 Tinh mới của của luận văn
Luận văn áp dụng học máy và học sâu vào nghiên cứu phân loại mã độc Androd,
dé xuất phương pháp lay dữ liệu từ các tập tin ứng dụng APK mã độc và lành tính,
kế thừa công cụ AndroPyTool rút trích dữ liệu quyền và lời gọi hàm, kết hợp thực
hiện code python để rút trích đặc trưng thư viện dùng cho các mô hình huấn luyện
Logistic Regression, Random Forest, Support Vector Machine, K-Nearest
Neighbors, Multi-layer Perceptron, Decision Tree dé phân loại mã độc.
Luận văn này tập trung vào việc phan loại các mẫu mã độc loại mã độc, điều này
là rất quan trọng đo tính linh hoạt và thay đổi của các mẫu mã độc Mặc dù chúng
có thê thay déi dé tránh bị phát hiện, nhưng những đặc tính về quyên, lời gọi hàm
và thư viện mà phần mềm sử dụng mang đặc tinh chung, ít thay đồi, việc này giúp
nâng cao khả năng phát hiện và phân loại hiệu quả, đặc biệt là khi mẫu mã độc có
sự biên đôi.
22
Trang 23Chương 2
LÝ THUYÉT HỌC MAY, MOT SO BÀI BAO NGHIÊN CỨU VÀ
CÔNG TRÌNH LIÊN QUAN
Nội dung tóm tắt trong chương này bao gồm giới thiệu về học máy, thuật toán ápdụng vào phân loại mã độc Android Một số bài báo liên quan cũng được trình bày
trong chương này.
2.1 Lý thuyết học máy
Quy trình học máy thường gồm các giai đoạn:
Thu thập đặc trưng từ nguồn: Thu thập những dữ liệu có khả năng liên quanđến vấn dé cần giải quyết Dữ liệu có thé được thu thập từ nguồn bên ngoài
hoặc từ dữ liệu có sẵn.
Thực hiện xử lý bộ dữ liệu đầu vào trước khi thực hiện huấn luyện: Ban đầu
dữ liệu trích xuất được thường không hoàn hảo, cần phải được xử lý trước.
Bước này cần thực hiện việc loại bỏ dữ liệu thiếu thông tin, gây nhiễu, và mã
hóa các đặc trưng.
Tạo mô hình huấn luyện: Chọn mô hình giải quyết phù hợp một van đề, CNN,
DT hoặc các mô hình nào đó tùy thuộc vào vấn đề cụ thể Lựa chọn mô hình
cũng phụ thuộc vào kích thước của dữ liệu, tính đa dạng của đặc trưng, va
nhiều yếu tô khác Thường thì việc thử nghiệm và so sánh nhiều mô hình nhằmxác định cái tốt nhất cho vấn đề của chúng ta là cách tiếp cận giải quyết vần
đề tốt nhất
Mô hình sử dụng dữ liệu huấn luyện được xử lý trước, tiếp theo thực hiện huấn
luyện, mô hình học và tìm hiểu các mối quan hệ của dữ liệu.
Đánh giá mô hình: Sử dụng dữ liệu kiểm tra hoặc dữ liệu chưa được nhìn thấytrước đó dé đánh giá độ hiệu qua làm việc của mô hình Độ đo phô biến bao
gồm đường cong ROC, độ chính xác, F1-score va recall
Tinh chỉnh mô hình: Dựa vào kết quả đánh giá, điều chỉnh mô hình đề tănghiệu suất Điều chỉnh có thể bao gồm thay đôi tham số, đặc trưng hoặc kiến
trúc mô hình.
23
Trang 24e_ Mô hình được chỉnh sửa, khi đã đạt được hiệu suất mong muốn, sau đó thực
hiện trong môi trường thực tế, sử dụng trong các ứng dụng thực tế
© Quy trình học máy có thé lặp đi lặp lại nhiều lần dé cải thiện mô hình và hiệu
suất dự đoán
2.2 Trí thông minh nhân tạo
Trí tuệ nhân tạo (AI) là lĩnh vực nghiên cứu, phát triển công nghệ có khả năng mô phỏng, mô hình hóa và tái tạo trí tuệ con người qua các hệ thống thiết bị máy móc.
Mục tiêu là tạo ra những công cụ thực hiện các công việc của con người một cách
thông minh.
2.2.1 Học máy HGS
HGS (SL) là một phương pháp trong lĩnh vực hoc máy, giải thuật được huấn luyện
từ tập dữ liệu đầu vào có gan nhan(labeled data) Trong lĩnh vực HGS, thông tin đầu
ra mong muốn cho tung mau đữ liệu va mục tiêu là tạo ra một mô hình hoặc hàm giảthuyết (hypothesis) nhăm dự đoán đầu ra khi có mẫu dữ liệu mới
Quá trình huấn luyện trong lĩnh vực HGS bao gồm việc tìm kiếm, điều chỉnhcác tham số cho phù hợp, sao cho kết quả dự đoán của mô hình gần với thực tế Cácthuật toán phổ biến trong HGS bao gồm giải thuật hồi quy tuyến tinh(linear
regression) và giải thuật phân loại (classification).
Vi dụ, lĩnh vực HGS dùng một tập dữ liệu dùng huấn luyện gồm các email đượcgán nhãn "spam" hoặc "không spam" dé phân loại email vào hai loại: "spam" và
"không spam" Thuật toán sẽ tạo mô hình đủ khả năng phân loại các email mới vào
các lớp tương ứng bang cách học từ những đặc điểm mỗi email như địa chỉ nguồn, từkhóa, độ dài, địa chỉ đến
HGS đòi hỏi tập dữ liệu dé huấn luyện mô hình có nhãn và quá trình thực hiệnhuấn luyện dựa trên việc so sánh nhãn dự đoán và nhãn thực tế Tuy nhiên, HGS có
thê đối mặt với các thách thức như overfitting (quá khớp) hoặc bias (thiên hướng) khi
mô hình không đủ phức tạp hoặc quá phức tap so với dir liệu.
2.2.2 Học máy HKGS
HKGS (USL) là một phương pháp trong lĩnh vực học máy, trong đó thuật toán được
huấn luyện từ một tập dữ liệu đầu vào không có nhãn (unlabeled data) Trong HKGS,
24
Trang 25chúng ta không có thông tin đầu ra mong muốn và mục tiêu là khám phá cấu trúc, môhình hoặc các mẫu ân trong tập dữ liệu.
Quá trình huấn luyện trong HKGS liên quan đến việc tìm kiếm sự tương tự
hoặc sự khác biệt giữa các mau dé liệu, phan nhóm các mẫu đữ liệu tương đồng, hoặc
khám phá các thuộc tính và mỗi quan hệ trong dữ liệu mà không có sự hướng dẫn từnhãn Các giải thuật phô biến trong HKGS bao gồm phân cum (clustering), phân phối(density estimation), và giảm chiều dữ liệu (dimensionality reduction)
Bài toán phân cum dữ liệu, HKGS sé sử dung các thuật toán như K-means
hoặc DBSCAN dé phân nhóm các mẫu dữ liệu dựa vào sự tương đồng giữa chúng.Mục tiêu là tìm ra các nhóm tự nhiên hoặc cụm trong tập dữ liệu mà không cần biết
trước nhãn của từng mẫu.
HKGS có thé làm việc với các dạng dữ liệu không cấu trúc, không có sự chuan
bị trước và không yêu cầu nhãn Tuy nhiên, việc đánh giá và đạt được sự chính xáctrong HKGS thường khó hơn so với lĩnh vực HGS, vì không có sự so sánh trực tiếp
với nhãn.
2.2.3 Học máy HBGS
HBGS (SSL) là cách kết hợp lĩnh vực HGS và lĩnh vực HKGS trong học máy TrongHBGS, chúng ta gán nhãn đữ liệu một phần nhỏ(labeled data) và
không được gán nhãn (unlabeled data).
Mục tiêu của HBGS là dùng cả dữ liệu được gan nhãn và không được gan nhãn
dé phat triển mô hình học va dự đoán nhãn cho mẫu dé liệu chưa được gán nhãn.HBGS giúp cải thiện kết quả dự đoán của mô hình và độ chính xác của mô hình bằng
mô hình phân loại rác thư điện tử.
25
Trang 262.3 Một số giải thuật máy học
2.3.1 Giải thuật hồi quy logistic
Phương pháp Hồi quy Logistic (LR) là giải thuật thuộc máy học dùng chủ yếu thựchiện phân loại LR được dùng khi ta muốn tìm xác suất của một mẫu nào đó bat kỳthuộc vào nhóm nhất định nào đó trong các nhóm phân loại có sẵn Nó thích hợp chogiải quyết van đề thuộc phân loại kiểu nhị phân hoặc đa nhãn (có nhiều hơn hai nhãn)
Trong thuật toán LR, hàm logistic (sigmoid) biểu diễn xác suất của một mẫu
thuộc vao nhóm dương (1) hoặc nhóm âm (0) dựa trên các đặc trưng đầu vào Hàmsigmoid đưa ra kết quả nằm trong khoảng (0 ; 1), trong đó 0.5 được chọn làm ngưỡng
để phân loại
LR tìm kiếm các tham số tối ưu (hệ số và chặn) cho dữ liệu huấn luyện là mộtphan của quá trình huấn luyện LR Dé làm điều này, thuật toán sử dụng phương phápgradient descent để thay đổi các tham số dựa trên độ lỗi (loss) giữa nhãn thực tế và
nhãn dự đoán.
Cuối cùng, mô hình cũng đã được huấn luyện hoàn tat, chúng ta có thé dùng
dự đoán nhãn cho mẫu mới dựa trên xác suất đầu ra đạt được Hiệu suất, độ chính xácđược đánh giá qua những thông số như độ phân loại, F1-score, độ chính xác, độ phủ
Phương pháp Hồi quy Logistic là một phương pháp tương đồi phô biến và rất mạnh
mẽ trong Machine Learning, ứng dụng nhiều trong giải quyết vẫn đề như phân loạiemail, phát hiện bệnh, dự đoán khách hàng tiềm năng v.v
26
Trang 272.3.2 Giải thuật k-NN
Giải thuật k-NN là giải thuật máy học giám sát, dùng nhiều trong lĩnh vực dự đoáncũng như phân loại Cơ bản, thuật toán KNN làm việc bằng cách xác định khoảngcách các điểm dữ liệu mới và các điểm dữ liệu đã được huấn luyện KNN lựa chọn K
vị trí dữ liệu gần nhất với vị trí di liệu mới dựa trên khoảng cách và sau đó sử dụng
đa số (majority voting) từ K điểm gần nhất đó dé xác định nhãn gan cho điểm dữ liệu
mới.
KNN được dùng ở nhiều lĩnh vực như hệ thống gợi ý, phân các loại văn bản,
và phân tích nhận dạng hình ảnh Nó là một giải thuật đơn giản và hữu ích trong
Machine Learning.
Việc phân loại email là thư rác (spam) hoặc không đúng thư rác (non-spam)
dựa trên nội dung của email Phân loại email là thư rác hoặc không phải thu rác dựa
trên nội dung của email Bộ dữ liệu email có các mẫu email đã gán nhãn là spam hoặc
non-spam Mỗi mẫu email được thể hiện bằng một vector đặc trưng, mỗi phần tử
tương ứng với một từ trong email và giá trị là sô lân xuât hiện của nó trong email.
Trang 282.3.3 Giải thuật SVM
Giải thuật SVM(Support Vector Machine) là một giải thuật học máy dùng cho
giải quyết các van đề liên quan đến hôi quy và liên quan phân loại Giải thuật SVM
xử lý dữ liệu tương đối mạnh, cả dữ liệu tuyến tính và dữ liệu phi tuyến tính, và nồibật với khả năng xác định đường ranh giới để phân chia điểm dữ liệu vào lớp khác
nhau.
Giả sử, chúng ta có tập dữ liệu gồm những điểm dữ liệu hai chiều, chúng thuộc
vào hai lớp hoàn toàn khác nhau: lớp A (màu xanh) và lớp B (màu đỏ) Chúng ta
muốn tạo mô hình SVM dé phân loại các điểm dit liệu mới vào đúng lớp tương ứng
Hình 8: Mội mô ta ví dụ mô hình SVM
Đường ranh giới chia không gian thành hai vùng: vùng A và vùng B Các điểm
dữ liệu nằm sát ranh giới được gọi là vector hỗ trợ (support vectors), và chúng quyết
định vị trí và hình dạng của đường ranh giới Sau khi xây dựng mô hình SVM, chúng
ta dùng đường ranh giới này nhằm dự đoán lớp của các điểm dữ liệu mới Nếu mộtđiểm dữ liệu mới nằm trên vùng A của đường ranh giới, nó sẽ được phân loại vào lớp
A, và ngược lại SVM có một số ưu điểm quan trọng:
VY Hiệu suất cao trong việc xử lý các van dé phân loại phi tuyến tính và tuyến tính
Y Tinh tổng quát và khả năng tự động xác định đường ranh giới tối ưu
* Khả năng xử lý dit liệu số chiều lớn
2.3.4 Thuật toán DT
Cây quyết định (DT) là một cấu trúc dạng cây sử dụng trong machine learning và
data mining nhằm thực hiện phân loại và dự đoán dữ liệu Các nút trong cây truong
28
Trang 29trưng cho các quyết định hay thuộc tính, các cạnh kết nối các nút va đại diện cho các
quy tắc quyết định
Quá trình tạo ra cây quyết định đi từ nút sốc, sau đó tại một nút, mỗi thuộc
tính được chọn lựa dựa vào tiêu chí như độ đo thông tin (information gain) hoặc độ
do Gini (Gini index) dé tao ra các nhánh con Quá trình cứ được tiếp tục thực hiệncho đến khi chạm đến điều kiện dừng Mỗi nút lá trong cây tượng trưng một giá trị
dự đoán hoặc cho một lớp Cây quyết định được dùng phân loại dữ liệu mới bằng
cách duyệt qua các quyết định từ gốc đến các nút lá
Giải thuật DT dùng nhiều trong giải quyết van dé phân loại dữ liệu có cau trúc
và các thuộc tính rời rạc hoặc liên tục Ngoài ra, cây quyết định được mở rộng xử lýbài toán dự đoán giá trị số (regression) Điều này được thực hiện bang cách dùng kỹthuật như cây hồi quy (regression tree) hoặc các biến thé của thuật toán cây quyết
định như Random Forest.
cao / eae binh manh / nhe
No Yes No’ Yes
Hình 9: Một hình anh minh hoa ví du về mô hình DT’
2.3.5 Thuật toán RE
Giải thuật Rừng ngẫu nhiên (RF) là giải thuật được sử dụng dé dự đoán hoặc phân
loại dựa trên một tập dữ liệu đầu vào RF hoạt động theo cách xây dựng tập hợp các
cây độc lập Một cây trong RF được tạo bằng cách chọn một tập con của dữ liệu đầu
vào.
7 https://trituenhantao.io/kien-thuc/thuat-toan-machine-learning-ma-lap-trinh-vien-nen-biet/
29
Trang 30Khi một dữ liệu mới cần dự đoán, RF sẽ thực hiện bằng cách cho dữ liệu điqua từng cây trong tập hợp Một cây đưa ra một kết quả riêng và kết quả dự đoán cuốicùng sẽ được áp dụng phương pháp voting (bỏ phiếu) Cụ thể, kết quả sẽ là giá trịđược bỏ phiếu nhiều nhất trong các cây.
RE có nhiều ưu điểm, khả năng vận hành xử lý bộ dữ liệu cực lớn, khả năng
xử lý các thuộc tính rời rạc và liên tục, khả năng xử lý nhiễu và khả năng đánh giá độ
quan trọng của bộ thuộc tính Ngoài ra, RF giúp giảm thiểu hiện tượng (quá khớp)
mà thường xảy ra trong các cây quyết định đơn lẻ RF được dùng trong các lĩnh vực,
bao gôm phân loại email rác, dự đoán giá cô phiêu và nhiêu vân đê khác.
Training Training Training
2.3.6 Giải thuật Mạng Nơ-ron
Giải thuật mạng nơ-ron (ANN) là một giải thuật máy học lay cảm hứng từ cách tương
tự mà hệ thần kinh con người hoạt động ANN bao gồm một mạng các "no-ron" nhântạo được tô chức thành các lớp, và thông tin chuyên qua từng lớp thông qua trọng sốliên kết giữa các nơ-ron ANN dùng rộng rãi trong lĩnh vực trí tuệ nhân tạo AI, ứng
Trang 31vào chứa các pixel của hình ảnh, các lớp an (hidden layers) giữa và lớp đầu ra với 10
nơ-ron (mỗi nơ-ron trượng trưng một chữ số trong khoảng từ 0 đến 9) Dùng tập dữliệu lớn gồm các hình ảnh và nhãn có số đúng, huấn luyện mạng ANN sao cho nó họccách ánh xạ từ hình ảnh đầu vào sang chữ số đúng Quá trình này bao gồm điều chỉnhtrọng số liên kết giữa các nơ-ron nhằm làm giảm thiêu sai số Khi mạng ANN đượchuấn luyện hoàn tất, chúng ta dùng nó nhằm dự đoán chữ số trong các mẫu hình mớibằng cách đưa hình ảnh này vào lớp đầu vào và xem xem nơ-ron nào cho dự đoán
cao.
ANN là một công cụ mạnh mẽ trong lĩnh vực máy học và có khả năng học từ
dữ liệu, nhưng việc câu hình và huân luyện mang cân sự am hiệu và kỹ năng cụ thê.
2.4 Một số bài báo liên quan nghiên cứu
* Trong nghiên cứu [1] đã đưa ra tính hiệu quả của mạng LSTM dé phát hiện, phân
loại chính xác các ứng dụng độc hại bằng cách coi các quyền của Android là đầu
vào cho mạng LSTM Các quyền thô của Android được mô hình hóa ở cấp độ
quyền bằng cách dùng khái niệm về mô hình cấp độ từ dé nhận các giá trị số détìm hiểu ý nghĩa ngữ nghĩa của quyền trong Android và mối tương quan với cácquyền khác
HN: tanh activation function
Element-wise product
— Connection with weights
— Connection with un-weight
time-lagin connection :hde1⁄ ý Peepholes š 10 Qutnut meu
Input sequence :
Forget gate
md Recurrent sequence
Sigmoid activation function
Hình 11: Kiến tric cua đơn vị RNN và khối bộ nhớ LSTM[1]
* Trong nghiên cứu [2] các phương trình được tạo ra là kết qua của giải thuật hồi
quy tuyến tính, hai bộ phân loại dựa trên quy tắc khác nhau được tạo ra Hệ thống
phát hiện ra PMDH thu từ quy tắc đầu tiên là LinRegDroidl và hệ thống phát
3l
Trang 32hiện ra PMĐH thu từ quy tắc thứ hai là LinRegDroid2 Các thuật toán phân loại
thu được được so sánh với KNN, SVM, cây quyết định (DT).
ML Algorithms
Classification Modets
Applications
Feature Vector
Permission-n
Classification
Hình 12: Kiến trúc dé xuất phân loại Android dựa vào quyền
Y Trong nghiên cứu [3], tác giả đưa ra bản đồ quyền (PermMaps) kết hợp thông tin
quyền của Android và mức độ nghiêm trọng tương ứng của các quyền đó dé phânloại PMDH RE có thé đạt được độ chính xác 91%
[tandroid permission WRI:
Trang 33*_ Hệ thống phát hiện PMĐH dựa trên quyền (PerDRaML) [4] được đề xuất trích
xuất việc sử dụng quyền từ các gói ứng dụng, nhưng thay vì phân tích tất cả quyềnđược yêu cầu, PerDRaML chủ yếu nhắm mục tiêu tập hợp quyền đã chọn có hiệu
quả trong việc phân biệt và cải thiện tỷ lệ phát hiện PMDH
Hình 14: Sơ đồ quy trình phân loại APK độc hại và lành tính
Features set of trained model (Fig 1a)
——— Machine Learning Model! ~ | 1 Malicious
jachine Learning Model: APKs
Y=] Filtered |
v
Y Trong nghiên cứu [5], nhóm tác giả chỉ ra cách phát hiện PMĐH android bằng
cách sử dụng lệnh gọi hệ thống Các ứng dụng độc hại được thực thi trong môi
trường được giám sát và kiêm soát bằng cách sử dụng trình giả lập dé phát hiệnPMĐH Hành vi độc hại được kích hoạt với một số sự kiện mô phỏng trong thờigian chạy của nó dé kích hoạt hành vi phá hoại của nó Nhật ký được thu thập
trong thời gian chạy của ứng dụng được phân tích nhằm thực hiện phân loại
PMDH Kết quả chỉ ra rằng K-Nearest Neighbor và giải thuật Cây quyết định cókết quả cho ra độ chính xác tốt nhất trong việc phát hiện PMĐH và Phân loại hophần mềm tương ứng
33
Trang 34Analysis & Malware with
Preprocessing Family Name
Benign
Hinh 15: Kién trúc hệ thống phát hiện và phân loại PMĐH
băng cách dùng lời gọi hàm
w Trong bài báo [6], tác giả đề xuất bốn tinh năng quy mô nhỏ và dễ trích xuất, đó
là kích thước và quyền của các phần PE, độ phức tạp của nội dung và thư việnnhập, dé phân loại họ PMDH và su dung máy hoc tim kiếm mô hình tốt nhất vàcác siêu thông số cho từng tính năng Phân tích dựa trên các tập lệnh tĩnh và mãmáy thập lục phân Không giống như phân tích hành vi động, phân tích tĩnh là tiếtkiệm tài nguyên và cung cấp phạm vi toàn bộ mã, các tính năng được đề xuất mớicùng với thuật toán máy học cô điển (Rừng ngẫu nhiên) thể hiện rất tốt độ chính
xác ở mức 99,40% và vectơ đặc trưng có kích thước nhỏ hơn Chúng tôi chứng
minh hiệu quả của phương pháp này thông qua tích hợp trong IDA Pro, điều nàycũng tạo điều kiện thuận lợi cho việc thu thập các mẫu mới và đào tạo lại mô hình
tiếp theo
34
Trang 35Model Training Classification
Manual Classification
Hình 16: Quy trinh dé xuất phan loai phan mém độc hai tự động
Y Trong bài viết [7], trước tiên tác giả nghiên cứu khác biệt giữa các tính năng tai
nguyên của ứng dụng độc hại và ứng dụng thông thường, sau đó đề xuất cách tiếpcận phát hiện mã độc Android bằng cách kết hợp các quyên và tính năng API vớicác tính năng tài nguyên Các thử nghiệm cho thê hiện kết quả phân loại của
phương pháp này tốt hơn so với các phương pháp trước sử dụng quyền hoặc tính
năng API, nó sẽ bù đắp hiệu quả cho sự thiếu sót của các phương pháp phát hiệntruyền thống và do đó được sử dụng hiệu quả nhằm phát hiện ứng dụng độc hại
Application detection
APKDecom
pression
Hình 17: Mô hình tong thể phát hiện mã độc Android bằng cách
két hop các quyên va API
Y Trong bài [8], nhóm tác giả đưa ra mô hình dùng dé phát hiện PMĐH Android
bang cách sử dụng GCN dựa trên Biểu đồ lệnh gọi hàm (FCG) FCG ghi lại quan
35
Trang 36hệ người gọi và quan hệ các phương thức bên trong APK dưới dạng biểu đồ cóhướng Mỗi nút trong FCG được gán một vectơ đặc trưng biểu thị các đặc tínhcủa nó Một tập hợp các thử nghiệm được thực hiện bằng cách thay đôi thuật toánGCN, tính năng nút và số lớp GCN trong mô hình , sau đó thực hiện đánh giá.Khi các GCN xem xét số lượng nút của FCG, dữ liệu được cân bang băng cách
sử dụng một kỹ thuật mới dé phân phối số lượng nút của APK PMĐH và APKlành tính tương tự nhau Kết quả của những thử nghiệm này là thu được độ chính
xác tối đa là 92,29% với điểm F1 là 0,9223, cho thấy rằng GCN có khả năng phát
= Trong nghiên cứu [9], nhóm tác giả đưa ra một mô hình phát hiện PMDH Android
băng cách sử dụng phát hiện mã độc Android bằng cách kết hợp các quyền và chữ
ký Ban dau, dữ liệu đều thực hiện qua quá trình phân tích và chuyên đổi từ dữ liệu
thô thành tập các thuộc tính nhằm thu hẹp phạm vi thuộc tính rộng lớn Bước tiếp
là xác định một ứng dụng độc hại hay an toàn bằng cách dùng một trong nhiều môhình phân loại được giám sát có được từ khai thác dữ liệu Cuối cùng, nhóm tác giảthấy răng phương pháp dựa trên chữ ký vượt trội hơn so với phương pháp dựa trênquyền Các phương pháp như kNN, hồi quy logistic, SVM và rừng ngẫu nhiên (RF)đều có hiệu quả tương đương nhau
36
Trang 37Android Application
Dataset
| Clean the noisy
data
| Testing Set | Validation Set | | Testing Set |
Hình 19: Mô hình phân loại kết hợp quyên và chữ ký
" Trong nghiên cứu [11], nhóm tác gia đưa ra một mô hình phát hiện PMĐH Android
bang cách sử dụng một khung phát hiện PMĐH Android GA-StackingMD, mô hình
sử dụng Stacking tạo ra năm bộ phân loại cơ sở khác nhau giải thuật di truyền được
áp dụng nhằm tối ưu hóa các siêu tham số của khung Các thử nghiệm cho thấy Xếp
chông có thê cải thiện hiệu quả độ chính xác của việc phát hiện PMĐH so với các
bộ phân loại đơn lẻ.
Data set construction
AA AB
Static feature extraction
|
Raw feature set
Feature dimension reduction
300110111 10-1 111000110-11
High-dimension feature set
GA-StackingMD
Stacking
J_—
d quali binati Ză
Good quality combination 1 l |
of basic classifiers
1 Parameters optimization by GA.
1
ao
Classifiers with optimal parameters
vo ue
Normal Malware application
t †
— Stacking
Hinh 20: Khung GA-StackingMD
= Trong nghiên cứu [12] tác giả đưa ra mô hình DeepCatra, một phương pháp học tập
đa chế độ xem đề phát hiện PMĐH trên Android, có mô hình bao gồm LSTM haichiều (BiLSTM) và mạng lưới thần kinh đồ thị (GNN) dưới dạng các mạng con
37
Trang 38Hai mạng con được trích xuất từ dấu vết cuộc gọi được tính toán tĩnh dẫn đến các
API quan trọng bắt nguồn từ các lỗ hồng công khai Đối với mỗi ứng dụng Android,trước tiên DeepCatra xây dựng biểu đồ cuộc gọi và tính toán các dấu vết cuộc gọiđến các API quan trọng Sau đó, các tính năng mã lệnh tạm thời được sử dụng bởimạng con BILSTM được trích xuất từ các dấu vết cuộc gọi, trong khi các tính năng
biểu đồ luồng được sử dụng bởi mang con GNN được xây dung từ tất cả các dấu
vết cuộc gọi và liên lạc giữa các thành phần Nhóm tác giả so sánh DeepCatra vớimột số phương pháp phát hiện tiên tiến nhất, điều này cho thấy hiệu quả củaDeepCatra Kết quả thử nghiệm trên hơn 18.000 ứng dụng trong thế giới thực vàPMDH phô biến cho thấy DeepCatra đạt được sự cải thiện đáng kể, vi dụ: 2/7%—
14,6% trên thước đo F1
Call graph generation
Hinh 21: M6 hinh DeepCatra
" Bai báo nghiên cứu [13], nhóm tác giả đưa ra MAPAS, mô hình phát hiện PMDH,
độ chính xác đạt được tương đối cao, khả năng tiêu thụ tài nguyên máy tinh có thé
thích ứng MAPAS phân tích hành vi của các ứng dụng độc hai dựa trên đồ thị lệnh
gọi API của chúng bang cách dùng mạng thần kinh tích chập (CNN) Tuy nhiên,MAPAS không sử dụng mô hình phân loại do CNN tạo ra, nó chỉ sử dụng CNN đềkhám phá các tính năng phổ biến của biểu đồ lệnh gọi API của PMĐH Dé pháthiện PMĐH một cách hiệu qua, MAPAS sử dụng một bộ phân loại nhẹ để tính toán
mức độ tương đồng giữa biéu đồ lệnh gọi API được sử dụng cho các hoạt động độc
hai và biéu đồ lệnh gọi API của các ứng dụng sắp được phân loại Nhóm tác giả đã
38
Trang 39thực hiện so sánh MAPAS với MaMaDroid Kết quả đánh giá chứng minh răngMAPAS có thê phân loại ứng dụng nhanh hơn 145,8% và sử dụng bộ nhớ thấp hơnkhoảng mười lần so với MaMaDroid MAPAS có dự đoán kết quả với độ chính xáccao (91,27%) so với MaMaDroid (84,99%) dé phát hiện PMDH không xác định.
API Call Graph
Extractor U App
Jaccard
Malware
Classification
Hình 22: Mô hình MAPAS dé xuất cua nhóm tác giả
= Trong nghiên cứu [14], nhóm tác giả đưa ra một hệ thống phát hiện PMDH trên
Android dựa trên các tính năng cấp phép sử dụng phân loại Bayesian 10.000 mẫu
đánh giá được lấy từ CSDL AndroZoo và Drebin Sau đó, thử nghiệm được tiếnhành bang hai thuật toán dé lựa chọn tính năng: thu thập thông tin và chi bìnhphương Tỷ lệ phát hiện các tính năng cấp phép chính xác đạt được cao nhất khoản
Hình 23: Mô hình Bayesian cua tác giả
= Trong bài báo nghiên cứu [16], nhóm tác giả đưa ra cách phát hiện PMĐH trên
Android bao gồm một tập hợp các trình phát hiện loại cụ thể, trong đó mỗi trìnhphát hiện thực hiện phân tích nhiều giai đoạn, dựa trên các quy tắc và kỹ thuật ML,
trong các giai đoạn khác nhau cua chu trình ứng dụng (trước va sau cải đặt của nó).
39
Trang 40Cách tiếp cận mới của tác giả cũng khác biệt giải pháp tiên tiến ở chỗ không xâm
lấn, vì nó thúc đây một quy trình dé có được các tính năng của ứng dụng không viphạm giấy phép và điều khoản sử dụng của ứng dụng Ngoài ra, theo các thử nghiệmđược thực hiện trên điện thoại di động thông minh Android thực, đề xuất của nhómtác giả mang lại những lợi ích bổ sung sau so với các giải pháp tiên tiến: quy trìnhphân loại ứng dụng hiệu quả hơn, nhanh hơn ba lần và yêu cầu mức sử dụng CPU
ít hơn mười lần trong một số trường hợp giúp tiết kiệm năng lượng, hiệu suất phát
hiện tốt hơn, số trường hợp đương tính giả ít hơn chín lần và số trường hợp âm tính
giả ít hơn mười lân.
Solution modeling Detection solution
APK files APK file
Hình 24: Tổng quan về thiết kế của MADS
= Ở bài báo nghiên cứu [17], nhóm tác giả đưa ra quy trình gồm phân tích PMĐH
tĩnh cùng với phương pháp động dé đưa ra cái nhìn day đủ về mối đe dọa Quy trình
chuẩn hóa và trích xuất đặc trưng được dùng trong giai đoạn xử lý dữ liệu đầu tiên
Cả hai tính năng tĩnh và động đều trải qua quá trình lựa chọn tính năng trong giaiđoạn thứ hai Hai chiến lược lựa chọn tính năng được đề xuất dé chọn tập hợp con
các tính năng tốt nhất dé sử dụng cho cả tính năng tĩnh và động Giai đoạn thứ ba
liên quan đến việc áp dụng mô hình phát hiện mới được đề xuất dé phân loại ứngdụng Android; mô hình dùng mạng thần kinh được tối ưu hóa với phiên bản cải
40