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

Khóa luận tốt nghiệp An toàn thông tin: Phân tích Kết hợp các ứng dụng Android để phát hiện và phân loại ứng dụng độc hại bằng cách sử dụng học sâu

78 0 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 đề Phân tích Kết hợp các ứng dụng Android để phát hiện và phân loại ứng dụng độc hại bằng cách sử dụng học sâu
Tác giả Nguyen Ngoc Truong
Người hướng dẫn TS. Le Kim Hung
Trường học Trường Đại học Công nghệ Thông tin - ĐHQG HCM
Chuyên ngành An Toàn Thông Tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 78
Dung lượng 41,99 MB

Nội dung

Trong đó, kỹ thuật phân tích tĩnh và kỹ thuật phân tích động là hai kỹ thuật được sử dụng chủ yêu dé thực hiện trích xuất các đặc trưng của ứng dụng Android cho các mô hình ML và DNN này

Trang 1

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MÁY TÍNH VÀ TRUYÈN THÔNG

NGUYEN NGỌC TRƯỞNG - 19522440

KHÓA LUẬN TÓT NGHIỆP

PHAN TÍCH KET HỢP CÁC UNG DUNG ANDROID

DE PHAT HIEN VA PHAN LOẠI UNG DUNG ĐỘC

HAI BANG CÁCH SỬ DỤNG HỌC SÂU

HYBRID ANALYSIS OF ANDROID APP

FOR DETECTION AND CLASSIFICATION

MALWARE USING DEEP LEARNING

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN

TS LE KIM HUNG

TP HO CHÍ MINH, 2023

Trang 2

LOI CAM ON

Dau tiên, em xin trân thành cảm on quý thay cô dang giảng day tại khoa Mang máy tính và Truyền thông, và toàn thể các quý thầy cô đang công tác tại trường Đại học Công nghệ Thông tin - ĐHQG HCM đã truyền đạt những kiến thức, bài học, kinh nghiệm quý báu cho em trong suốt quãng thời gian bốn năm vừa qua.

Em xin chân thành cảm ơn các thầy cô trong nhóm nghiên cứu IEC đã tạo nhiều điều kiện và môi trường tốt nhất dé em có thé tiếp cận và thực hiện các nghiên cứu

khoa học sinh viên Nó là tiền dé dé giúp em định hướng thực hiện và hoàn thành

khóa luận tốt nghiệp này Đặc biệt, em xin gửi lời cảm ơn chân thành nhất đến thầy

Lê Kim Hùng và cô Lê Minh Khánh Hội đã hướng dẫn em thực hiện và hoàn thiện

khóa luận tốt nghiệp Cảm ơn thầy cô đã chia sẻ nhiều kinh nghiệm, bài học quý

báu và luôn quan tâm, giúp đỡ em giải quyết những vấn đề phát sinh cũng như là

những khó khăn trong quá trình thực hiện và hoàn thành khóa luận.

Cuối cùng em xin cảm ơn bố mẹ đã luôn quan tâm và động viên em trong suốt quá

trình học tập tại trường Đại học Công nghệ Thông tin - ĐHQG HCM Đồng thời

em cũng xin cảm ơn các anh, chị và các bạn sinh viên tại trường Đại học Công nghệ

Thông tin - ĐHQG HCM trong thời gian học tập đã luôn nhiệt tình hỗ trợ, chia sẻ ý

kiến và góp ý cho em trong thời gian thực hiện khóa luận.

TP Hồ Chí Minh, ngày 15 tháng 06 năm 2023

Nguyễn Ngọc Trưởng

Trang 3

Chương 1 MỞ ĐẦU 52222 E2 E21521E21121211211211211 1111111111 c0 2

1.1 Đặt vấn đề tt HH he 2

1.3 Đối tượng và phạm vi nghiên CỨU 2- 2 2 +2 £+££+E££E£Eerxerxerxrrezreee 5

1.3.1 _ Đối tượng nghiên cứu -©-¿©-+¿+2++2+++Ex++rkerkerkeerkesree 5

1.3.2 Phạm vi nghiÊn CỨU - -.G SG 3139319 11 9 1181111 vn rệt 5

Chương2 CƠ SỞ LÝ THUYÊT - 2-2: 5£+£+EE+EE£EE+EEEEtEErrkerrerrkervee 6

2.1 Kiến trúc và Ung dụng Android -s-2+s s+x+£E++EE£EEerxerxezrerrkerxee 6

2.1.1 Kiến trúc của Andfroid -©cc©cc+cxvrxerxcrrerrserxered 62.1.2 Các thành phần của ứng dụng Android -¿-z +52 7

2.1.3 Phan loại ứng dụng AndOId 5 5555 2< SE EEsseseeeeseeeree 8

2.2 Các kỹ thuật Deep Learning được sử dụng - ¿+ cc+sxssesseesse 9

2.2.1 | Multi-Layer Perceptron (MILP) - 556 55+ s*ssseeeseeeees 9

2.2.2 Recurrent Neural Network (RNN) -cc TS TS 10 2.2.3 Gated Recurrent Unit (GRU) - 5 52325 ***‡+++++evesseeessss 12 2.2.4 Convolutional Neural Network (CNN) ccc Sài 12

2.2.5 Long Short-Term Memory (LSTM) ecsccssseeseeceseeeeneeeeaeeeseeeaes 13

2.2.6 Bidirectional Long Short-Term Memory (BILSTM) 14

2.2.7 Convolutional Neural Network - Multi-Layer Perceptron MLP) 16

(CNN-2.3 Tensorflow cccccccccccccccccscccccccccceccessecsccssssssssssssssssseseeeeeseeeceseeeeeeeeessssssssaaeaes 16

2.3.1 Giới thiệu Temsorflow - 2011111216111 1 11 n9 111 ng kg 16

2.3.2 Một số khái niệm - - +: St+k+ESEESE+EEEEEESEEEEEEEEEEEEEEkEEEEkrkrkerrre 17

Trang 4

2.3.3 Cài đặt TensOrÍÏOW - G G01 0121 11112111119 1111101 1111801111 82k tre, 17 2.4 Công cụ phân tích ứng dụng Android server 17

2.4.1 AndrOBUard Ăn TH TH ng kg 17 24.2 Frida TOOÌS SH HH HH ghế 19

2.4.3 DroIdBO( Ăn TH HH ng 20

Chuong 3 CÔNG TRINH LIEN QUAN 2-2 2+c++E+Ecrkerxerxersrree 21

3.1 Dựa trên kỹ thuật phân tích tĩnh - - ¿+55 +2 + + +*EEsekEerrrerssrrrrerrree 21

3.2 Dựa trên kỹ thuật phân tích động - 5 55+ + *sEEsserrerserrrrrses 22

3.3 Dựa trên kỹ thuật phân tích kết hợp -¿-¿+cx+x++zx+zxezzxees 23

3.4 Dựa trên kỹ thuật xử lý ảnh - - c5 5c 5c S SH rưkt 24

3.5 Tổng kết đ⁄Z⁄⁄ sfc À 25

3.5.1 Vấn để còn tổn tại cccrriirrrriirrrrriiirririrrrre 25

3.5.2 Van dé cần tập trung, nghiên cứu giải quyết -5z-ss¿ 26

Chương 4 FRAMEWORK DE XUẤT 2-©2¿©25+22+ccz+vrxesrxrsrxeee 27

4.1 Mô hình tổng quan : 2:©22 ©2222 2EE2EEEEEESEE2EEEEEEEEESrkrrrrerkrsree 27

4.2 Feature EXTACtIOH Quy 28

4.2.1 Static Feature EX{TACtIOTI - 5Á 3S HH nh HH gệt 28

4.2.2 Dynamic Feature EXtFaCfION G1 vn vn 29

4.3 Feature PTeDTOC€SSITE QG HH TH HH HH nh 30 4.4, Feature S€Ï€CfIOII c- Ăn TH ng TH HH ng crờ 36 4.5 Deep Learning CaSSIÍT€T G1 1n ng nh 40

4.5.1 Mô hình phát hiện ứng dụng độc hại - s5 555 ++<<++c+sxxsxx 40 4.5.2 Mô hình phân loại loại ứng dụng độc hại - - 55 5-<<+<<+<+ 44

Chương 5 TRÌNH BAY, DANH GIÁ KET QUA THỰC NGHIỆM 45

Trang 5

5.1 Môi trường thực nghiỆm - - <5 +5 + vn HH HH ng tưệt 45

5.2 BO dit na a 45

5.3 Chỉ số đánh giá ¿5c tt EE 1211211211 21111111111111 1111111111 c0 415.4 Hiệu suất 0:80 49

5.4.1 Phát hiện ứng dụng Android độc hại - 5 55+ s2 <++s+sssss 49

5.4.2 Phân loại loại ứng dụng Android độc hại 55-5 s55+++<+ 51

5.5 So Sanh CO na .3431 53

5.5.1 Phát hiện ứng dung Android độc hại - -.- 5555 +<<++s+sxsxx 53

5.5.2 Phân loại loại ứng dụng Android độc hại 5525 <+<<+ 56

5.6 Phát triển ứng dụng Web cceccecccccscsssecssesssecseessecssssssssseessecssecssssecssecsseseessecs 57Chương 6 KET LUẬN -+EEE+EE+EEEEEEEEEEEEErEerkerkerkrree 61Chương7 HƯỚNG PHÁT TRIEN -¿©-¿©c++2+++cxe+rxsrxeee 62

Trang 6

DANH MỤC HÌNH

Hình 2.1: Ngăn xếp phần mềm Android - + £+£2£+2££+E£+E££E+EE+E++EEzEzrezea 6

Hình 2.2: Ví dụ minh họa 3 lớp trong mô hình MLP - 5 5 «+5 £+<x<xx 10 Hình 2.3: Hoạt động của RNN Là HH HH TH TH TH HH HH HH 11 Hình 2.4: Ví du minh họa cách hoạt động của mô hình CNN .-. 13

Hình 2.5: Mô hình LSTM - + S3 919 TH HH ng Hưng gưàt 14

Hình 2.6: Mô hình hoạt động của BILSTM -. 225 S21 srsirrrrrrirrrrrre 15

Hình 4.1: Mô hình tổng quan mô tả hoạt động của các thành phan trong

AndroAnalyzer framework - - - k1 HH TH HH HH 27

Hình 4.2: Mô hình hoạt động của thành phan Feature Preprocessing 30Hình 4.3: Sơ đồ khối cho thuật toán Feature Selection -‹ ++-<<<<s<<++++ 37Hình 4.4: Ví dụ minh họa cho quá trình tạo shadow feature và tạo bảng hợp nhất

original feature va shadow Í€afUTG ó5 S911 ng ng ệt 38 Hình 4.5: Mô hình học sâu phát hiện ứng dụng độc hại của chúng tôi 40

Hình 4.6: Mô hình hoc sâu phân loại loại ứng dụng độc hại của chúng tôi 44 Hình 5.1: Mô hình hoạt động của ứng dụng web phân tích và phát hiện ứng dụng

Hình 5.2: Giao diện chức năng tải file APKs dé thực hiện phân tích và phân loại

Ung 9i01150:0e8: 07777 e 58

Hình 5.3: Giao diện chức năng hiển thị danh sách các file APKs đã được phân tích

¬— 59

Hình 5.4: Giao diện chức năng hién thị kết quả phân tích l - - 59Hình 5.5: Giao diện chức năng hién thị kết quả phân tích 2 :-5: 60

Trang 7

DANH MỤC BANG

Bang 4.1: Mô tả chỉ tiết các loại đặc trưng memory, network, battery, logcat,

process được thu thập bởi thành phan Feature Preprocessing - - 33Bảng 4.2: So sánh hiệu suất của mô hình Random Forest trên tập dữ liệu với 9841

feature và 232 feature đã ÏỌC - - G11 1221111121111 1201 11110 1111001111111 11180111 kgyyn 39

Bang 5.1: Cau hình máy chủ được dùng dé xây dựng và đánh giá bộ phân loai 45Bảng 5.2: Tổng hợp các dữ liệu được sử dụng dé đánh giá và so sánh hiệu suất của

công trình của chúng tôi với các công trình khác .- - -«+++sx++eexsseeess 47

Bang 5.3: Mô ta confusion matrix cua mô hình chúng tôi trên các tập dữ liệu trong

bài toán phát hiện ứng dụng Android độc hại .- - 6 5< + ++cEseesserssersee 49 Bảng 5.4: Mô tả classification report của mô hình chúng tôi trên các tập dữ liệu

trong bài toán phát hiện ứng dụng Android độc hại - - 55s «5s<+s+2 50 Bang 5.5: Confusion matrix của mô hình chúng tôi trên tap dữ liệu được phân tích

cua chúng tôi trong bài toán phân loại loại ứng dụng Android độc hại 51

Bảng 5.6: Classification report của mô hình chúng tôi trên tập dữ liệu được phân

tích của chúng tôi trong bài toán phân loại loại ứng dụng Android độc hại 52

Bảng 5.7: Hiệu suất phân loại loại ứng dụng Android độc hại ứng dụng độc hại của

các mô hình học sâu phổ biến trên AndroAnalyzer Dataset -2 s- 552 s2 53

Bảng 5.8: Hiệu suất phát hiện ứng dụng Android độc hại ứng dụng độc hại của các

công trình nghiên cứu trước đây trên MiniMalDroid Dataset - - 53

Bang 5.9: So sánh hiệu suất của mô hình chúng tôi đề xuất với mô hình tốt nhất

được đề xuất trên các tập dữ liệu phát hiện mã độc Android được công khai 54

Bang 5.10: Hiệu suat phân loại loại ứng dung Android độc hai ứng dụng độc hại của

các mô hình học sâu phổ biến trên AndroAnalyzer Dataset - 5-5 s2 56Bảng 5.11: Hiệu suất phân loại loại ứng dụng Android độc hại ứng dụng độc hại củacác công trình nghiên cứu trước đây trên tập dữ liệu APKs đã đề xuất của chúng tôi

Trang 8

DANH MỤC TỪ VIET TATNgữ nghĩa Từ viết tắt

Deep Neural Network DNN

Convolutional Neural Network - CNN-MLP

Multi-Layer Perceptron

Machine Learning ML

Dalvik Virtual Machine DVM

Control Flow Graph CFG

Data Flow Graph DFG

Computer Vision CV

Natural Language Processing NLP

Trang 9

TÓM TẮT KHÓA LUẬN

Trong những năm gần đây, điện thoại Android đã được sử dụng rộng rãi và có sựtăng trưởng nhanh chóng Nhiều ứng dụng độc hại cũng nhanh chóng ra đời để đánhcắp và khai thác thông tin của người Người dùng Android có thể tải xuống và càiđặt các ứng dụng chủ yếu trên các cửa hàng ứng dụng Việc phát hiện, phân loại

loại các ứng dụng độc hại do các nhà phát triển tải lên trên các cửa hàng ứng dụng

là rất quan trọng Để phát hiện và phân loại loại các ứng dụng Android độc hại,

nhiều nhà nghiên cứu đã ứng dụng kỹ thuật máy hoc (ML) và học sâu (DNN).

Trong đó, kỹ thuật phân tích tĩnh và kỹ thuật phân tích động là hai kỹ thuật được sử

dụng chủ yêu dé thực hiện trích xuất các đặc trưng của ứng dụng Android cho các

mô hình ML và DNN này Tuy nhiên, cả hai kỹ thuật phân tích đều có những tháchthức khác nhau, chủ yếu dựa trên kỹ thuật che giấu phức tạp như obfuscated code,anti-sandbox, Để khai thác hiệu quả các ưu điểm của từng kỹ thuật phân tích,

chúng tôi phát triển một framework cho phép trích xuất nhiều đặc trưng tĩnh và

động khác nhau từ các tệp APK Các đặc trưng nay được coi làm đầu vào dé đào tao

mô hình học sâu nhằm phân loại các loại ứng dụng Android độc hại khác nhau

Thông qua các thực nghiệm trên cùng tập file APK, framework của chúng tôi đạt độ

chính xác cao hơn các công trình liên quan khác gần đây Cụ thé, trong bài toán

phát hiện ứng dụng Android độc hại, chúng tôi đạt được độ chính xác là 98.08%,

trong khi một SỐ công trình khác đạt được độ chính xác cao nhất là 96.39% (cao

hơn khoảng 2%) Đối với bài toán phân loại loại ứng dụng Android độc hại, chúngtôi đạt độ chính xác cao với 94.83% trong khi một sỐ công trình khác đạt được độchính xác cao nhất là 87% (cao hơn khoảng 7%)

Trang 10

Chương 1 MỞ ĐẦU

1.1 Đặt vấn đề

Ngày nay, hệ điều hành Android được sử dụng rộng rãi trên nhiều loại thiết bị di

động khác nhau như smartphones và tablets Theo số liệu của Statcounter tính đến

tháng 12 năm 2022, hệ điều hành Android chiếm 72.37% thị phần hệ điều hành diđộng được sử dụng [1] Đề đánh cắp dữ liệu cá nhân và xâm phạm tính bảo mật củathiết bị, các tội phạm mạng đã tạo ra nhiều ứng dụng độc hại dành cho điện thoạiAndroid Theo báo cáo mới nhất của Kaspersky vào cuối tháng 2 năm 2023 về

Android threat của Kaspersky cho năm 2022 [2], từ các sản phẩm và công nghệ di

động của minh, Kaspersky đã được phát hiện: 1,661,743 malicious installers,

196,476 ứng dụng loại banking trojans mới va 10,543 ứng dụng ransomware trojans

mới Cũng trong báo cáo này, từ thông kê về phân bố các cuộc tấn công theo loạiứng dụng được sử dụng vào năm 2022 cho thấy, tỷ lệ các cuộc tan công sử dụng các

ứng dụng loại adware từ 16.92% vào năm 2021 tăng lên 26.91%, riskware đã từ

2.38% vào năm 2021 tăng lên 5.31% và các ứng dụng loại malware khác chiếm tỉ lệ

67.78% Vì người dùng Android tải xuống và cài đặt các ứng dụng chủ yếu trên các

cửa hàng ứng dụng như Apkcombo, Apkpure, Google Play nên việc phát hiện, phan

loại các ứng dụng độc hại do các nhà phát triển tải lên trên các cửa hàng ứng dụng

là rất quan trọng Bên cạnh đó, người dùng có thé cần cài đặt một số ứng dụng khác

không có trên cửa hàng ứng dụng Google Play mà ở các nguồn khác trên mạnginternet, vì vậy người dùng cũng cần phải kiểm tra ứng dụng tải về có phải là ứng

dụng độc hại không dé tránh bị mat cắp thông tin và bị tan công

Trong thập kỷ qua, các nhà nghiên cứu đã đề xuất nhiều phương pháp phù hợp vàcông cụ cần thiết để phát hiện các ứng dụng độc hại trên nền tảng Android nhằmbảo vệ người dùng hợp pháp khỏi các mối đe dọa Có 2 hướng tiếp cận được đềxuất bao gồm: tiếp cận dựa trên kỹ thuật phân tích truyền thống và tiếp cận dựa trên

kỹ thuật học máy [3] Với hướng tiếp cận dựa trên kỹ thuật phân tích truyền thống,

nó tập trung vào phân tích tĩnh hoặc động đê xác minh các mau xác minh có mã

Trang 11

code độc hại trong các ứng dụng Android Các mã code độc hại có thé được tim

thấy dựa trên opcodes, permission, các lời gọi hệ thống hoặc API chứa trong mã

nguồn Tuy nhiên, với hướng tiếp cận này đòi hỏi chi phí cao va sự phát triển nhanh

chóng của các ứng dụng độc hại làm cho nó còn hiệu quả Trong hướng tiếp cận thứhai, các kỹ thuật học máy đã được đưa ra dé phát hiện ứng dụng Android độc haibăng cách sử dụng bộ dữ liệu lớn dé xây dựng mô hình phát hiện hoặc phân loại

ứng dụng độc hại Để thực hiện, các nhà nghiên cứu đã thực hiện nhiều kỹ thuật

phân tích khác nhau bao gồm phân tích tĩnh, phân tích động hoặc kết hợp cả hai đểtrích nhiều loại đặc trưng [4] Tuy nhiên, dé dat được chất lượng phát hiện hoặcphân loại ứng dụng độc hại trên nền tảng Android với hiệu suất cao thì chúng ta cần

phải xây dựng bộ dữ liệu được gán nhãn chính xác và xây dựng bộ đặc trưng phù

hợp như permissions, API và opcode [3] Bên cạnh đó, nhiều nghiên cứu đã đề xuất

các kỹ thuật phát hiện ứng dụng Android độc hại dựa trên hình ảnh và nó cũng đã

có nhiều thành tựu ấn tượng [5] Kỹ thuật này giải quyết được việc xử lý các mẫu

ứng dụng có kích thước lớn và tập dữ liệu có kích thước lớn gây ra [6], đồng thời

giảm thời gian phân tích và phát hiện ứng dụng độc hại và đạt độ chính xác cao [7].

Mặc dù phương pháp phát hiện ứng dụng độc hại dựa trên hình ảnh đã được đưa ra

như một giải pháp tiềm năng, nhưng nó cũng có những hạn chế cần được xem xét.Một trong số đó là không thể phát hiện injection attacks [8] [9] Tương tự với

phương pháp phân tích tĩnh, phương pháp này cũng gặp phải thách thức với kỹ

thuật code obfuscation - kỹ thuật ấn danh mã nguồn [10] [11] Phân tích tinh là một

kỹ thuật nhằm mục đích nắm bắt hành vi của ứng dụng Android mà không cần thựcthi ứng dụng Những đặc trưng quan trọng của ứng dụng có thê được thu thập bởi

các công cụ hoặc framework như Flowdroid [12], AmAndroid [13], từ đó xây dựng

sơ đồ luồng điều khiển (CFG), sơ đồ luồng dữ liệu (DFG) [3] Ưu điểm của nó làgiúp việc phân tích mã nguồn trở nên dễ dàng hơn Tuy nhiên, hạn chế của phươngpháp phân tích tĩnh là không thể phát hiện các ứng dụng độc hại tạo ra các hoạt

động động, như gọi tài nguyên mạng, truy cập dữ liệu hay thực thi mã độc sau khi

file APK được cài đặt trên thiết bị người dùng [14] Phương pháp phân tích động là

Trang 12

một giải pháp khác dé phát hiện ứng dụng độc hai từ việc thực thi chúng trên thiết

bị Android và giám sát hoạt động của các ứng dụng này Nó có thể cải thiện đượcnhiều khó khăn của phân tích tĩnh, đồng thời cũng có một số hạn chế trong việc tìm

ra tất cả các đường dẫn thực thi mã, dẫn đến bỏ sót cảnh báo [15] Ngoài ra, mộtứng dụng độc hại có thể nhận ra rằng nó đang được thực thi trong một trình giả lập,tức là không phải trên điện thoại thực, và có thé ấn phần độc hại của ứng dụng đểtránh bị phát hiện [16] Trong nhiều trường hợp, ứng dụng độc hại sẽ tắt chức năngđộc hại dé tránh việc bị phát hiện khi thực thi trên môi trường sandbox Tuy nhiên,với phân tích tĩnh vẫn có thé trích xuất các tinh năng tĩnh (ví dụ lệnh gọi API trong

mã ứng dụng) của ứng dụng và phát hiện mức độ độc hại của nó Ngược lại, phân

tích động có thể được sử dụng dé giám sát các ứng dụng có mã bi xáo trộn hoặc cóhành vi tải mã động dé phát hiện các hành vi độc hai của chúng [14] Vì vậy, việckết hợp cả hai phương pháp phân tích tĩnh và động là một phương pháp hiệu quả

hơn so với việc chỉ sử dụng một loại phân tích đơn lẻ, sẽ tăng cường khả năng phát

hiện ứng dụng độc hại.

1.2 Mục tiêu của đề tài

Mục tiêu chính của dé tài là phân tích kết hợp các ứng dụng Android dé phát hiện

và phân loại ứng dụng độc hại với độ chính xác cao Đề đạt được mục tiêu này, đề

tài sẽ tập trung vào:

- Dé xuất một framework cho phép trích xuất nhiều đặc trưng tĩnh và động của

ứng dụng Android từ file APK, đặt tên là AndroAnalyzer.

- Dé xuất mô hình học sâu dé phát hiện ứng dụng độc hại

Trang 13

o SMS Malware

o Mobile Riskware

o Benign

- Trién khai website dé người dùng có thé có thé thực hiện phân tích va tra cứu

thông tin của các ứng dụng độc hại khác.

1.3 Đối tượng và phạm vi nghiên cứu

1.3.1 Đối tượng nghiên cứu

Tp APK là một trong năm loại ứng dụng sau:

- Adware là loại malware hiền thị quảng cáo trong các ứng dụng hợp pháp

- Banking malware là các ứng dụng đánh cắp thông tin ngân hàng của người

dùng.

- SMS malware là ứng dụng lợi dụng dịch vụ tin nhắn đề tiễn hành tấn công

- Riskware là các ứng dung hợp pháp có thé gây hại khi bị lợi dụng

- Begin là các mau còn lại, không độc hại được xác minh qua VirusTotal.

1.3.2 Phạm vi nghiên cứu

Nghiên cứu hướng đến các ứng dụng được lưu trữ trên các cửa hàng ứng dụng đượccác nhà phát triển tải lên, cần các cửa hàng ứng dụng kiêm duyệt và cho phép ngườidùng tải về Bên cạnh đó, nghiên cứu sẽ tập trung vào phân tích và mô hình phát

hiện các ứng dụng Android độc hại thuộc các loại SMS Malware, Banking

Malware, Adware, Mobile Riskware và các ứng dụng bình thường Phạm vi nghiên

cứu sẽ không bao gồm các nền tang di động khác ngoài Android và các loại độc hại

khác.

Trang 14

Chương2 CƠ SỞ LÝ THUYET

Activity Location Package Notification

View System Resource Telephony

Native C/C++ Libraries Android Runtime

Webkit OpenMAX AL Android Runtime (ART)

Media Framework OpenGL ES = Core Libraries

Blu Camera Sensors

- Hat nhân Linux: Nó cung cấp nhiều dịch vụ và thực hiện quản lý tài nguyên

cho các ứng dụng.

! Platform architecture Đường dẫn: https://developer.android.com/guide/platform

Trang 15

- Hardware Abstraction Layer (HAL): Đây là lớp trung gian giữa hệ điều hành

Android và phần cứng của thiết bị Nó cung cấp các giao diện chuẩn cho việc

giao tiếp với phần cứng

- Moi trưởng chạy Android (Android Runtime): Nó là môi trường thực thi mã

của ứng dụng Trước phiên bản Android 5.0, hệ thống sử dụng DVM, sau đóđược thay thé bang Android Runtime Môi trường chạy Android biên dich và

thực thi mã nguồn Java của ứng dụng

- Native Libraries: Nó là được viết bằng C hoặc C++ và cung cấp một số chức

năng cần thiết cho ứng dụng

- Java API framework: N6 thực hiện việc cung cấp các API dé phát triển ứng

dụng.

- Cac ung dụng hệ thong (System apps): Với những ứng dụng này, nhà phat

triển có thé truy cập những chức năng chính từ ứng dụng của riêng họ Đồng

thời nó cũng hoạt động như ứng dụng dành cho người dùng.

2.1.2 Các thành phan của ứng dụng Android

Ứng dụng Android? được xây dựng bởi một số thành phần quan trọng thiết yếu, bao

gom:

- Activities: Day là các màn hình mà người dùng tương tác với ứng dụng va

trao đổi thông tin với nó

- Services: Day là các tién trinh chay ngam thực hiện tinh toán va thực hiện

một số chức năng khác

- Content Provider: Nó được sử dung dé làm việc với dit liệu, như trao đôi dữ

liệu giữa các content provider khác nhau, truy cập vào tập tin, cơ sở dữ liệu

và tài nguyên khác.

- Broadcast Receiver: Nó được sử dụng dé phan hồi các sự kiện thông báo

trong hệ thống, ví dụ như một tin nhắn mới.

? Application fundamentals Đường dẫn: https://developer.android.com/guide/components/fundamentals

Trang 16

Bên cạnh đó, ứng dụng Android cũng có thể sử dụng các permissions để truy cậpmột số tài nguyên hệ thống hoặc phần cứng của thiết bị Những quyền này được

khai báo trong tệp tin AndroidManifest.xml và người dùng cần cấp phép truy cập

khi cài đặt ứng dụng hoặc khi sử dụng tài nguyên đó.

2.1.3 Phân loại ứng dung Android

Ứng dụng Android được thiết kế để thực thi trên nhiều nền tảng khác nhau, như

thực thi trực tiếp trên hệ điều hành, trên trình duyệt di động của thiết bị hoặc sửdụng cần sự kết hợp của cả hai Dựa vào hướng dẫn kiểm thử của OWASP chúng

ta có thé phân loại ứng dụng Android theo các biến thé như sau:

- Native App: là các ứng dụng được phat triển với bộ công cụ Android SDK dé

danh riéng cho hé diéu hanh

Các ứng dụng nay được phát triển và tuân thủ theo nguyên tắc thiết kế dànhriêng cho Android, có hiệu suất, độ tin cậy cao, có thể truy cập trực tiếp vàohầu hết các thành phần của thiết bị Các ứng dụng được phát triển bởi các

framework như Xamarin, Google Flutter, React Native được sử dụng các

API gốc của hệ thống và có hiệu suất tương đương với các ứng dụng gốc, và

đồng thời có thê sử dụng tắt cả các tính năng của thiết bị như GPS, máy ảnh,

hệ thống thông báo, Do vậy, chúng cũng có thể coi là Native App

- Web App: là các trang web được thiết kế nhìn giống như Native App, được

phát triển bằng HTMLS Các ứng dụng này bị hạn chế với các thành phan

của thiết bị, vì chúng chạy trong giới hạn của trình duyệt Các ứng dụng này

có thể có giao diện người dùng khác với một số nguyên tắc thiết kế của mộtnền tảng

- Hybrid App: là ứng dụng thực thi giống như Native App, nhưng phan lớn các

quy trình dựa trên công nghệ web, có nghĩa một phần của ứng dụng đượcchạy trong trình duyệt web được nhúng (WebView) Chúng có ưu điểm của

3 Mobile Application Taxonomy Đường dan:

https://mobile-security.gitbook.io/mobile-security-testing-guide/overview/0x04a-mobile-app-taxonomy

Trang 17

cả 2 loại ứng dụng Native App và Web App Một số framework đề phát triển

Hybrid App: Apache Cordova, Framework7, jQuery Mobile,

Progressive Web App: giống như như Web App, nhưng khác theo một số

cách, ví dụ như nó có thể làm việc ngoại tuyến, có thé truy cập vào phancứng của thiết bị mà theo truyền thống nó chỉ có sẵn cho Native App

2.2 Các kỹ thuật Deep Learning được sử dụng

Trong việc phát hiện cũng như phân loại ứng dụng Android, học sâu đã trở thành một công cụ mạnh mẽ đê xử lý nhiêu bài toán phức tạp Học sâu là một lĩnh vực của

trí tuệ nhân tao tập trung vào việc phát hiện và huân luyện các mạng noron sâu

DNN để học và rút trích đặc trưng từ dữ liệu Có nhiều thuật toán học sâu được

được sử dụng phổ biến, nhưng trong nghiên cứu của mình, chúng tôi đã sử dụngmột số thuật toán phù hợp với dữ liệu của mình bao gồm:

2.2.1 Multi-Layer Perceptron (MLP)

Dinh nghĩa: Multi-Layer Perceptron (MLP) là một loại mang noron nhân

tạo dựa trên kiến trúc feedforward, dữ liệu chỉ truyền từ /ớp đầu vào qua các

lớp ẩn cho đến lớp dau ra* MLP bao gồm các noron được tô chức thành

nhiều lớp khác nhau, mỗi lớp có thé có nhiều noron, và các noron trong mỗilớp kết nối với các noron của lớp kế tiếp

Hoạt động: Mỗi nơron trong MLP nhận đầu vào từ các noron ở lớp trước

đó, tính toán tổng trọng số đầu vào, áp dụng một hàm kích hoạt phi tuyến (ví

dụ: sigmoid, ReLU) và truyền giá trị đầu ra tới noron ở lớp tiếp theo Quátrình này được lặp lại qua các lớp ấn cho đến khi đạt được đầu ra dự đoán.Quá trình huấn luyện MLP thường sử dụng thuật toán lan truyền ngược

(backpropagation) dé điều chỉnh các trọng số của mạng noron dựa trên sai số

dự đoán và đâu ra thực tê.

4 Multilayer perceptron Đường dan: https://en.wikipedia.org/wiki/Multilayer_perceptron

Trang 18

Outputs inputs

Output Input Hidden Layer Layer Layer

Hình 2.2: Ví dụ minh họa 3 lớp trong mô hình MLP

- Ưu điểm”:

o MLP có thể học và biểu diễn các hàm phi tuyến, cho phép nó ánh xạ

từ không gian đặc trưng vào không gian đầu ra phức tạp

o MLP có thé xử lý các bài toán phức tap và học từ dit liệu không gian

cao.

o Nó được áp dụng rộng rãi trong nhiều lĩnh vực như CV, NLP và nhiều

bài toán khác.

- Nhược điểm:

o MLP có thể gặp overfitting nếu có quá nhiều nơron hoặc lớp an so với

dữ liệu huấn luyện

o Cần huấn luyện với lượng lớn dữ liệu dé đạt độ chính xác cao

2.2.2 Recurrent Neural Network (RNN)

- _ Định nghĩa: RNN là một kiến trúc mạng noron nhân tao được thiết kế dùng

dé xử lý dữ liệu có tính tuần tự như âm thanh, chuỗi văn bản hoặc chuỗi thời

gian RNN có thé lưu trữ thông tin trước đó và sử dụng chúng dé dự đoán cácquá trình tiếp theo trong chuỗi

- _ Hoạt động: RNN có một quá trình tái sử dụng thông tin bên trong mạng Nó

tái sử dụng các noron để truyền dữ liệu qua các bước thời gian và lưu trữthông tin trạng thái ấn Quá trình này cho phép RNN có khả năng nhớ các

5 Multi-Layer Perceptron Learning in Tensorflow Đường dẫn:

https://www.geeksforgeeks.org/multi-layer-perceptron-learning-in-tensorflow/

© Neural network models (supervised) Đường dẫn:

https://scikit-learn.org/stable/modules/neural_networks_ supervised.htm]l

10

Trang 19

thông tin trong quá khứ và áp dụng chúng vào các dự đoán trong tương lai.

Mạng RNN có thể được huấn luyện bằng thuật toán lan truyền ngược thông

qua các bước thời gian.

y vít-2) yit-1) yt) yit+t) yit+2)

o RNN có thé không mô hình hóa được mối quan hệ xa giữa các thành

phần trong chuỗi dữ liệu

o Mạng RNN có xu hướng mất đi thông tin lâu dài khi quá trình lan

Trang 20

2.2.3 Gated Recurrent Unit (GRU)

- Dinh nghĩa: GRU là một biến thé của RNN dùng dé giảm mat mát thông tin

khi xử lý các chuỗi dài GRU sử dụng các công (gates) đề điều khiển luồng

thông tin và lưu trữ thông tin quan trọng trước đó.

- _ Hoạt động: GRU cũng có cấu trúc lặp lại như RNN, nhưng nó sử dụng hai

công: update gate và reset gate Update gate quyết định thông tin nào sẽ đượclưu trữ từ trước đó và reset gate quyết định thông tin nào sẽ được ghi dé lêntrạng thái ân hiện tại Điều này giúp GRU duy trì thông tin quan trọng trongmỗi bước lặp và giảm thiểu mat mát thông tin

- Ưuđiểm:

o GRU giảm thiểu van đề mat mát thông tin

o_ Nó có thé học các mô hình phức tạp hơn so với RNN và đạt hiệu suất

tốt hơn trong nhiều tác vụ NLP

o GRU có it tham số hơn so với LSTM, do đó nó tiết kiệm thời gian và

tài nguyên huấn luyện.

- Nhược điểm:

o_ Khi huấn luyện GRU có thê xảy ra ordering dependence và long-term

dependency trong ditt liệu.

o GRU có thé vẫn gặp van đề về mat mát thông tin trong các chuỗi rất

đài.

2.2.4 Convolutional Neural Network (CNN)

- Dinh nghĩa: CNN là một kiến trúc mạng noron nhân tạo được thiết kế đặc

biệt cho xử lý và phân tích dữ liệu không gian như hình ảnh và âm thanh Nó

sử dụng các lớp tích chập (convolutional layers) để học các đặc trưng mộtcách tự động ở các mức độ khác nhau của dữ liệu đầu vào

- Hoạt động: CNN sử dụng các bộ lọc (filters) để thực hiện phép tích chập

trên dữ liệu đầu vào Các bộ lọc này trượt qua toàn bộ không gian đầu vào và

tạo ra các feature maps Sau đó, các feature maps nảy được thông qua các

12

Trang 21

hàm kích hoạt phi tuyến và các pooling layers để giảm kích thước và tăng

cường các đặc trưng quan trọng Cuối cùng, các đặc trưng đã học được đượcđưa qua các fully-connected layers để đưa ra các dự đoán cuối cùng

Convolutions Subsampling Convolutions Subsampling Fully connected

Hình 2.4: Ví dụ minh họa cách hoạt động của mô hình CNN?

- Uudiém:

o CNN có khả năng học tự động và trích xuất các đặc trưng hữu ích từ

dir liệu.

o_ Nó có thể xử lý dữ liệu không gian lớn và hiệu quả trong việc nhận

dạng hình ảnh, phân loại và phân tích âm thanh.

o CNN giảm thiêu số lượng tham số cần thiết so với mạng noron tiêu

chuẩn, giúp tiết kiệm thời gian và tài nguyên huấn luyện

- Nhược điểm:

o CNN không có khả năng giải quyết van đề phụ thuộc thứ tự và ngữ

cảnh trong dữ liệu chuỗi.

o Không thé áp dụng trực tiếp cho đữ liệu có cấu trúc không gian khác

như chuỗi thời gian.

2.2.5 Long Short-Term Memory (LSTM)

- Dinh nghĩa: LSTM là một kiến trúc mang noron nhân tạo được thiết kế dé

giải quyết việc mat mát thông tin xa trong các chuỗi dữ liệu dài Nó được

9 “Thuật toán CNN là gì? Cấu trúc mạng Convolutional Neural Network” Đường dẫn:

https://topdev.vn/blog/thuat-toan-cnn-convolutional-neural-network/

13

Trang 22

thiết kế trên cơ sở của RNN và sử dụng các công (gates) dé điều chỉnh việc

lưu trữ và truyền thông tin trong mạng

- Hoat động: LSTM sử dung các cổng đầu ra (output gate), công cập nhật

(update gate) và cổng quên (forget gate) để kiểm soát quy trình truyền tảithông tin trong mạng Các công này cho phép LSTM lưu trữ thông tin quantrọng từ trước đó và quyết định thông tin nào sẽ được chuyền tiếp và thông

tin nào sẽ bị quên đi Quá trình lan truyền ngược thông qua các công này

giúp LSTM học và lưu trữ thông tin xa trong chuỗi dữ liệu.

hại

Hình 2.5: Mô hình LSTM!°

- Ưuđiểm:

o Giải quyết được việc mat mát thông tin xa trong các chuỗi dữ liệu dài

o Có khả năng học và biểu dién các mô hình phức tạp hơn so với RNN

o LSTM duoc sử dụng rộng rãi trong nhiều lĩnh vực khác nhau như

NLP, dịch máy và nhiều tác vụ liên quan đến chuỗi thời gian

- Nhược điểm:

o Có số lượng tham số lớn và yêu cầu nhiều tài nguyên dé huấn luyện

o_ Việc huấn luyện LSTM có thể chậm và phức tạp hơn so với mạng

nơron tiêu chuẩn

2.2.6 Bidirectional Long Short-Term Memory (BiLSTM)

- Dinh nghĩa: BiLSTM là một biến thé của LSTM, được phát triển dé xử lý

thông tin từ cả quá khứ và tương lai trong một chuỗi dữ liệu Nó kết hợp hai

10 “How LSTM networks solve the problem of vanishing gradients” Đường dẫn:

https://medium.datadriveninvestor.com/how-do-Istm-networks-solve-the-problem-of-vanishing-gradients-a6784971a577

14

Trang 23

LSTM độc lập, một theo hướng chuỗi từ trái sang phải và một theo hướng từ

phải sang trái.

- _ Hoạt động: Mạng BiLSTM chia chuỗi đữ liệu thành hai phan, một phan từ

đầu đến cuối và một phần từ cuối về đầu Mỗi phần được đưa vào một LSTMđộc lập, và đầu ra của cả hai LSTM được kết hợp lại dé tạo ra kết quả dựđoán cuối cùng Quá trình này làm cho BiLSTM có cái nhìn toàn diện về dữ

liệu từ cả hai phía và tạo ra dau ra phụ thuộc vào ca quá khứ va tương lai.

outputs

backward layer

forward

layer

inputs

- Uudiém:

o_ BiLSTM có khả năng nhận biết và sử dụng lại thông tin từ cả quá khứ

và tương lai trong chuỗi dữ liệu.

o Nó thích hợp cho các tác vụ yêu cầu phân tích ngữ cảnh toàn điện như

dịch máy, gán nhãn chuỗi và phân tích tình cảm.

o BiLSTM có thé giảm thiểu sự phụ thuộc vào ngữ cảnh trong dữ liệu

so với LSTM.

- Nhược điểm:

o BiLSTM có số lượng tham số lớn hơn so với LSTM, do đó đòi hỏi

nhiều tài nguyên hơn đề huấn luyện

o_ Quá trình huấn luyện BiLSTM có thé phức tạp hơn so với LSTM vì

nó cân xử lý cả hai hướng của chuối dữ liệu.

1! “Differences Between Bidirectional and Unidirectional LSTM” Đường dẫn:

https://www.baeldung.com/cs/bidirectional-vs-unidirectional-lstm

15

Trang 24

2.2.7 Convolutional Neural Network - Multi-Layer Perceptron

(CNN-MLP)

- Dinh nghĩa: CNN-MLP [17] là một mô hình kết hop giữa kiến trúc mạng

nơron tích chập và mạng noron da tầng Nó sử dụng lớp tích chập dé trích

xuất các đặc trưng từ dữ liệu và sau đó sử dụng các lớp kết nối day du dé xử

lý đặc trưng đã trích xuất và đưa ra dự đoán cuối cùng

- _ Hoạt động: CNN-MLP bắt đầu bằng các lớp tích chập và lớp gộp dé trích

xuất đặc trưng từ không gian dữ liệu Sau đó, chuyển các đặc trưng đã tríchxuất được qua các lớp kết nối day đủ dé xử lý và đưa ra dự đoán cuối cùng.Kiến trúc này cho phép mô hình học các đặc trưng hữu ích từ không gian dữliệu và áp dụng chúng dé thực hiện các tác vụ như phân loại hoặc nhận dạng

- Uudiém:

o CNN-MLP kết hợp khả năng trích xuất đặc trưng hữu ích của CNN

với khả năng mô hình hóa dữ liệu phi tuyến của MLP

o Nó có khả năng xử lý không gian dữ liệu lớn và phân loại chính xác

trong nhiều tác vụ như nhận dạng đối tượng, phân loại hình ảnh và

NLP.

- Nhược điểm:

o CNN-MLP có số lượng tham số lớn và yêu cầu nhiều tài nguyên dé

huấn luyện

o Quá trình huấn luyện có thể chậm và phức tạp hơn so với mạng nơron

tiêu chuẩn do kết hợp cả hai kiến trúc CNN và MLP

2.3 Tensorflow

2.3.1 Giới thiệu Tensorflow!?

TensorFlow là một thư viện mã nguồn mở và một nền tảng tính toán số hàng đầu

trong lĩnh vực trí tuệ nhân tạo TensorFlow cung cấp khả năng xử lý tính toán số

học một cách mạnh mẽ và linh hoạt đề triển khai các mô hình máy học phức tạp.

12 TensorFlow basics Đường dẫn: https://www.tensorflow.org/guide/basics

16

Trang 25

2.3.2 Một số khái niệm

- Tensor là một cấu trúc dir liệu nhiều chiều, tương tự như một ma trận hoặc

một mảng nhiều chiều Nó là đơn vị cơ bản dé lưu trữ và truyền dữ liệu trongquá trình tính toán TensorFlow sử dụng các Tensor đề biểu diễn dữ liệu đầu

vào, trọng số mô hình và kết quả dự đoán

- Graph là một chuỗi các phép tính (operations) trên các Tensor Đồ thị biểu

diễn quá trình tính toán và quan hệ giữa các Tensor Graph cung cấp mộtcách tối ưu dé thực hiện tính toán song song trên các thiết bi phần cứng như

CPU hoặc GPU.

- Variable là một loại Tensor có thé được thay đổi giá trị trong khi huấn luyện

mô hình Chúng được sử dụng dé lưu trữ các trọng số của mô hình và đượccập nhật trong quá trình tối ưu hóa

2.3.3 Cài đặt Tensorflow

- Dé cài đặt, ta sử dụng lệnh: pip install tensorflow

- Dé bat đầu ta thực hiện: import tensorflow as tf

- Tao CT Tensorflow chia thanh 2 phan

o Construction phase: Xây dung mô hình tính toán

o Execute phase: Chạy mô hình tính toán

2.4 Công cụ phân tích ứng dung Android

2.4.1 Androguard

- Androguard là một thư viện Python mạnh mẽ được dùng để thực hiện việc

phân tích và kiểm tra ứng dụng di động Android Nó hỗ trợ một số chức năng

dé thao tác với file APK và dữ liệu Android nhằm hiểu rõ cấu trúc, hành vi

và các thành phần của ứng dụng Android

- Cai đặt Androguard, chúng ta sử dụng lệnh pip install androguard Sau khi

cài đặt thành công, ta có thể import Androguard vào script Python của mình

đê sử dụng các chức năng của nó.

17

Trang 26

- Một số lệnh co bản

from androguard.core.bytecodes import apk

# Đường dan tới file APK

from androguard.core.bytecodes import dvm

# Lay mã nguồn Smali

Trang 27

for method in methods:

# In ra tên phương thức

prừm(method.get_name())

2.4.2 Frida Tools

- Frida là một bộ công cu dùng để hỗ trợ kiểm tra các ứng dụng Android, đặc

biệt là các ứng dụng loại Native App Frida cho phép chúng ta Intercept việc

truyền dit liệu va inject code của chúng ta vào process đang chạy Ưu điểm

của việc dùng Frida so với các phương pháp patch khác là Frida có tính linh

hoạt cao, đơn giản, dé thay đổi code và tốn ít công sức hơn việc phải patchứng dụng va build lại rất nhiều

- Cài đặt frida trên máy tính bằng lệnh:

pip install frida

- Cai đặt frida-server trên thiết bi Android

o Chọn phiên ban frida-server phù hợp, chúng ta cần biết abi của thiết bi

Android bang lệnh:

adb shell getprop ro.product.cpu.abi

o Tải xuống frida-server cho nền tang Android tương ứng từ trang web:

https://github.com/frida/frida/releases

o Sao chép frida-server vao thư mục /data/local/tmp của Android

adb push <đường dẫn file server tải ve> /data/local/tmp/frida

o Cấp quyên thực thi cho tệp

adb shell "chmod +x /data/localtmp/#rida”

o Khởi chạy frida-server

adb shell "su ; /data/ocal/tmp/frida"

- Kiểm tra frida có hoa động không bang cách sử dung frida-ps -U dé kiểm tra

một số tiến trình đang chạy trên thiết bị

19

Trang 28

2.4.3 DroidBot

- DroidBot [18] là một công cụ tạo ra các sự kiện đầu vào (input events) dé

kiểm thử ứng dụng Android một cách nhẹ nhàng Nó có thé gửi các sự kiện

ngẫu nhiên hoặc theo kịch bản (scripted) tới ứng dụng Android, giúp việc

kiểm thử nhanh hơn và tạo ra đồ thị chuyển đổi giao diện người dùng (UItransition graph - UTG) sau quá trình kiểm thử

Một số ưu điểm của DroiBot:

o DroidBot không yêu cầu sửa đổi hệ thống hoặc instrument ứng dụng

để tạo ra các sự kiện đầu vào Điều này giúp giảm thời gian và công

sức câu hình hệ thống và các ứng dụng

o Các sự kiện đầu vào của DroidBot dựa trên mô hình GUI của ứng

dụng thay vì hoàn toàn ngẫu nhiên Điều này giúp tạo ra các sự kiện

có tính tương quan với giao diện người dùng thực tế

o DroidBot cho phép tùy chỉnh các sự kiện đầu vào cho các giao điện

người dùng cụ thể Chúng ta có thé viết mã dé kiểm soát các sự kiệnđầu vào dựa trên trạng thái của ứng dụng và các yêu cầu kiểm thử cụthể,

o_ DroidBot có thé tạo ra cau trúc giao diện người dùng (UI structures)

và truy vết phương thức (method trace) dé phân tích Nó giúp ngườidùng xác định được cấu trúc và hành vi của ứng dụng trong quá trìnhkiểm thử

Các bước cài đặt:

o_ Đề cài đặt DroidBot chúng ta thực hiện các lệnh sau:

git clone https://github.com/honeynet/droidbot git

cd droidbot/

pip install -e

o Chúng ta có thé sử dung lệnh droidbot -h dé thực hiện kiểm tra ứng

dụng đã được cài đặt thành công chưa.

20

Trang 29

Chương 3 CÔNG TRINH LIÊN QUAN

Ngày nay, việc mã hóa các ứng dụng độc hại dé biến chúng thành các biến thé có

tính năng từ nhiều họ mã độc khác nhau đặt ra một thách thức lớn trong quá trìnhphát hiện và phân loại ứng dụng độc hại Trong phần này, chúng tôi sẽ thực hiệnphân tích và đánh giá một số hướng nghiên cứu trong và ngoài nước có nội dungliên quan đến đề tài Chúng tôi sẽ xem xét các ưu điểm và hạn chế của các kỹ thuậtphân loại dựa trên phân tích tĩnh và động dé phát hiện ứng dụng độc hại Ngoài ra,

chúng tôi cũng sẽ xem xét một số công trình liên quan với đề tài phát hiện hoặc

phân loại các ứng dụng độc hại dựa trên kỹ thuật xử lý hình ảnh.

3.1 Dựa trên kỹ thuật phân tích tinh

Có nhiều hướng tiếp cận trong lĩnh vực máy học cho việc phát hiện ứng dụng độnghại sử dụng các features phân tích tĩnh Các đặc trưng tĩnh được trích xuất dễ dàng

từ các tệp APK với ưu điểm lớn nhất là không tốn nhiều thời gian, nhanh chóng và

có thể mở rộng Năm 2017, một trong những hướng tiếp cận trong lĩnh vực này đãđược Suarez cùng các cộng sự [19] đề xuất trong DroidSieve - là một hệ thống phânloại ứng dụng độc hại sử dụng phân tích tĩnh dé trích xuất đặc trưng của ứng dụngAndroid độc hại, bao gồm API calls, code structure, permissions va components,với một số ưu điểm nổi bậc là nhanh, có thé mở rộng, độ chính xác cao và có khảnăng chống xáo trộn (trong bài toán nhận dạng họ ứng dụng độc hại bị xáo trộn,

nhóm tác giả đã đạt được accuracy 99.26% trên tập dữ liệu thực nghiệm của họ).

Duc cùng các cộng sự [20] đã đề xuất framework NADM dé phat hiện ứng dungđộc hại trên Android bằng cách áp dung tat cả các đặc trưng tĩnh của một ứng dụngvào phân tích học sâu vào năm 2018 NADM trích xuất các đặc trưng tĩnh bao gồm

requested permission, application component, intent filter, feature hardware, API

request, used permission, url trong tập 129,013 mẫu dé liệu, và sử dung mô hình

học sâu MLP dat được hiệu suất của Fl-score lên đến 92.3% Năm 2019, Nawaycùng cộng sự [21] đã sử dụng mạng noron sâu nhằm tăng khả năng phát hiện ứngdụng độc hại trên Android bang cách trích xuất các feature từ tệp AndroidManifest

21

Trang 30

và tệp java Cụ thể, bộ đữ liệu gồm các features như: permission combinations, API

calls, intent filters, valid certificates và các thành phần của APK files trong asset

folder, được đưa vào bộ phân loại mạng DNN dé phan loai tng dung thanh lanh

tính hoặc độc hai Trên tập dữ liệu gồm ứng dụng lành tính và ứng dụng độc hại đã

đề xuất, bộ phân loại mạng DNN đã dé xuất đạt độ chính xác 95.31% Trong nghiên

cứu gần đây, Rahali và các cộng sự [4] cũng đã tạo bộ dữ liệu phân tích tinh không

lồ (400.000 mẫu Android) được dán nhãn và chứa nhiều feature tĩnh từ file

AndroidManifest như permissions, intents actions, intents categories, Dong thoi,nhóm tác giả đã dé xuất và phát triển một hệ thống phát hiện ứng dụng Android độchại dựa trên học sâu và đạt hiệu suất cao với độ chính xác 93.36%

3.2 Dựa trên kỹ thuật phân tích động

Khác với kỹ thuật phân tích tĩnh, kỹ thuật phân tích động mặc dù tốn nhiều thờigian để chạy, nhưng nó có thê phát hiện được một số hành vi độc hại ngay cả khi

khi mã của nó bị xáo trộn Trong lĩnh vực này, vào năm 2016, Dash và cộng sự [22]

đã giới thiệu DroidScribe, một hệ thống phân loại các mẫu ứng dụng Android thành

các loại ứng độc hại DroidScribe sử dụng các hành vi trong quá trình chạy như theo

dõi các cuộc gọi hệ thống, truy cập tệp hoặc tài nguyên mạng va giao tiếp binder dé

xây dựng các đặc trưng động Bên cạnh đó, tác giả đã cải tiến bộ phân loại SVM

bang Conformal Prediction [23] dé nâng cao độ chính xác, từ 84% lên 94%, ngay cả

trên các mẫu hành vi hiếm Năm 2018, Martin và cộng sự [24] đã phát triển

CANDYMAN, một công cụ phân loại các họ ứng dụng Android độc hại bằng cáchkết hợp phân tích động và chuỗi Markov Quá trình phân tích động trích xuất

feature của ứng dụng độc hại dưới dạng một chuỗi các trạng thái và chuỗi Markov

cho phép mô hình hóa chuyền tiếp giữa các trạng thái của chuỗi, chúng sẽ được sử

dụng làm tinh năng cho bộ phân loại dé phân biệt 24 họ của 4,442 mẫu ứng dụng

Android độc hại từ bộ dữ liệu Drebin Thông qua kết quả thực nghiệm, tác giả đã

đạt được hiệu suất precision là 81.8% trên tập dữ liệu này Vào năm 2019, Dinh vàcộng sự [25] đã trình bày một phương pháp mới dé phat hién phan mềm độc hai dựa

22

Trang 31

trên hành vi, thông qua việc tăng cường quá trình lựa chọn đặc trưng Đầu tiên, họ

thực hiện phân tích toàn diện hành vi của các ứng dụng trong môi trường Cuckoo

sandbox, sau đó tìm kiếm và trích xuất những đặc trưng cần thiết để tạo ra tập dữ

liệu cho việc huấn luyện mô hình phân loại, nhăm nhận diện chính xác các ứng

dụng độc hại Kết quả thực nghiệm đạt được độ chính xác cao nhất với 95.49% trên

tập dữ liệu chứa 2,068 mẫu phần mềm độc hại thuộc 8 loại khác nhau Alzaylaee và

cộng sự [26] cũng đã phát triển DL-Droid vào năm 2020, nó là một hệ thống họcsâu dé phát hiện các ứng dụng Android độc hại thông qua phân tích động bằng cách

sử dụng đầu vào có trạng thái, thực hiện với hơn 30.000 ứng dụng (lành tính và độchại) trên các thiết bị thực Năm 2021, Keyes và cộng sự [l6] đã giới thiệuEntropLyzer dé thực hiện phân tích động các mẫu ứng dụng độc hại trên nền tangAndroid trong tập dữ liệu CCCS-CIC-AndMal2020 Tập dữ liệu này bao gồm 12danh mục phần mềm độc hai và 147 ho ứng dụng độc hại trên nền tảng Android, và

sử dụng sáu loại đặc trưng bao gồm memory, API, network, battery, logcat, và

process Thực nghiệm cho thấy, EntropLyzer đạt hiệu suất cao nhất khi sử dụng bộ

phân loại Decision Tree, với Fl-score dat 98.3% trên bộ dữ liệu được trích xuất

này.

3.3 Dựa trên kỹ thuật phân tích kết hop

Đề đề xuất một phương pháp có thể phát hiện được một số hành vi độc hại ngay cả

khi mã của nó bị xáo trộn, đồng thời trích xuất nhiều thông tin tĩnh thu thập từ file

APKs mà bỏ qua các hành vi né tránh khi chạy trên môi trường sandbox, các nha

nghiên cứu và bảo mật đã phát triển một phương pháp khác là kết hợp hai quá trìnhphân tích tĩnh và phân tích động Trong đề tài này, Ferrante và cộng sự [27] đã dựa

trên frequency của opcodes, và kết quả của giám sát của memory, CPU, network,

thống kê của system calls, để đánh giá hiệu quả của phương pháp phân tích tĩnh,phân tích động và phương pháp kết hợp trong việc phát hiện ứng dụng tống tiền di

động Một nghiên cứu khác, Lashkari và cộng sự [28] đã xây dựng bộ dữ liệu phân

tích ứng dụng độc hại đã được gán nhãn có tên là CICAndMal2017 bao gồm luồng

23

Trang 32

thực thị mạng, logs, api/sys calls, memory dumps và thống kê các tài nguyên của 42

họ malware Họ phân tích tập dữ liệu đã tạo, đồng thời đào tạo và đánh giá chúng

thông qua ba thuật toán học máy phô biến: RF, KNN và DT Năm 2019, Taheri

cùng cộng sự [29] đã cung cấp phần thứ 2 của bộ đữ liệu CICAndMal2017 bao gồm

permission và intent cho static features, API calls cho dynamic features Va ho cũng

dé xuất bộ phân tích Android hại hai lớp dựa trên các features tĩnh và động, cải

thiện các phân tích luồng mạng trước đây của chúng tôi bằng cách nối thêm các mốiquan hệ tuần tự n-gram được trích xuất của lệnh gọi API Năm 2020, Chaulagaincùng cộng sự [14] cũng đã xây dựng bộ phân loại kết hợp dựa trên DNN và sử dụng

các features của phân tích tĩnh và phân tích động cho việc kiêm tra bảo mật của các

ứng dung Android Tác gia thu thập API-calls (phân tích tinh) có trong mã ứng

dụng dé huấn luyện LSTM classifier (hoặc biến thé của nó), thu thập system-call

(phân tích động) do ứng dụng gọi trong runtime và đào tạo LSTM classifler khác,

cuối cùng hợp nhất kết quả của 2 model thông qua sơ đồ tổng hop Như vậy bỏ qua

hạn chế về thời gian phân tích, chúng ta thấy răng phương pháp kết hợp kỹ thuậtphân tích tĩnh và động đã tích hợp được hai ưu điểm của kỹ thuật phân tích tĩnh vaphân tích động, trích xuất đầy đủ thông tin đặc trưng của các ứng dụng Android độchại góp phần nâng cao độ chính xác trong việc phát hiện và phân loại các ứng dụng

độc hại.

3.4 Dựa trên kỹ thuật xử lý ảnh

Vì các phương pháp phân tích thường có nhiều mặt hạn chế riêng như đã được đềcập trước đó nên có nhiều phương pháp phát hiện ứng dụng độc hại cũng được cácnhà nghiên cứu đề xuất, bên cạnh đó có thể kế đến là biểu diễn hình ứng dụngAPKs thành hình ảnh, và sử dung các mô hình phô biến trong lĩnh vực CV dé họctập và phân loại Với hướng nghiên cứu này, chúng ta tạm chia thành 2 loại: chuyênđổi thành hình ảnh xám và hình ảnh màu Một cách thông thường dé tạo hình ảnhthang độ xám là coi byte của thành phan trong file APK dưới dạng giá trị pixel [9]hoặc chỉ chuyên đổi tệp Manifest thành permission vectors Các công trình khác sử

24

Trang 33

dụng biểu diễn ảnh màu thường dựa trên tệp dex như MalNet [30] hoặc dựa trên

phân tích tệp DEX [31], hoặc kết hợp các file nguồn có trong APKs, được Sun và

cộng sự [5] đề xuất trong công trình của mình

3.5 Tổng kết

3.5.1 Vấn dé còn tồn tại

Một số van đề còn tôn tại trong các nghiên cứu đã dé cập ở trên:

- Đối với bài toán dựa trên kỹ thuật phân tích, một số công trình (ví dụ như

[23] [29]) còn thiếu các tính năng quan trọng dé xây dung bộ phan loại dẫn

đến không đạt được độ chính xác cao

- Đối với bài toán phát hiện và phân loại ứng dụng độc hại dựa trên hình ảnh,

các giải pháp đề ra không đáp ứng với sự phát triển của công nghệ hiện nay.Ngày nay có các ứng dụng đi động phần lớn được tạo ra bởi các framework

như Flutter, Xamarin, React Native và phần nhỏ các ứng dụng được phát

triển trên ngôn ngữ Java và Kotlin như trước kia Do vậy,

o Với hướng chuyên đổi một loại file DEX thành hình ảnh, trong

framework Flutter, Xamarin các hàm được định nghĩa trong các thư

viện, một file DEX chưa đủ dé nhận diện được ứng dụng độc hại

o_ Với hướng chuyên đổi nhiều file như [5], đầu tiên các thư viện trong

các framework dùng phần mở rộng là khác nhau Trên thực tế, trongcác tệp APKs không chỉ chứa chứa một file so hoặc dIl duy nhất, dovậy hướng tiếp cận lay 1 file so hay dll dé làm 1 thành phan trongfile ảnh cũng không thực tế

- C6 ít nghiên cứu đối với bài toán phân loại loại ứng dụng Android độc hại

trong lĩnh vực phân loại tệp APK.

- Nhiều số công trình (như công trình [20] [24] [26]) có không cung cấp cách

thức rõ ràng dé kiêm tra và thực nghiệm kết quả phân loại tệp APK

- _ Các công trình phân loại tệp APK thường gặp khó khăn khi phải phát hiện

các tệp APK độc hại mới và chưa biết đến trước đó Các tác giả tệp APK độc

25

Trang 34

hại liên tục đổi mới các kỹ thuật đề tránh việc phát hiện Điều này đòi hỏi cáccông trình phát hiện, phân loại tệp APK độc hại phải liên tục cập nhật dé tiépcận xu hướng mới nhằm duy trì hiệu suất tốt.

3.5.2 Vấn đề cần tập trung, nghiên cứu giải quyết

Dé nâng cao hiệu suất phát hiện, phân loại ứng dụng APK độc hại chúng tôi tập

trung thực hiện:

- Xây dựng framework phân tích ứng dụng Android độc hai để trích xuất

nhiều feature phù hợp cho các mô hình máy học

- Tim hiểu và xây dựng mô hình học sâu phù hợp với nhiều loại dit liệu phân

tích ứng dụng Android.

- _ Tích hợp hệ thống phân tích và phát hiện ứng dụng Android độc hai với file

APK đầu vào

26

Trang 35

Chương 4 FRAMEWORK ĐÈ XUẤT

4.1 Mô hình tông quan

Before/After

Emulator x86 Reboot Data

Hình 4.1: Mô hình tổng quan mô tả hoạt động của các thành phan trong

AndroAnalyzer framework

AndroAnalyzer là một framework xác định các ứng dụng Android độc hại bằng các

đặc trưng tĩnh và động kết hợp với bộ phân loại học sâu Cụ thể, framework được

dé xuất của chúng tôi trong hình 4.1 bao gồm bốn giai đoạn chính:

- Phân tích, tríh xuất đặc trưng tĩnh và động: Ở giai đoạn này,

AndroAnalyzer thực hiện phân tích tĩnh và phân tích động để tự động tạo racác tệp lưu trữ đặc trưng cụ thể

- Tién xử lý đặc trưng: Giai đoạn này sử dụng thành phan Feature

Preprocessing dé biểu diễn các vecto đặc trưng từ các tệp được xây dựng ở

bước trước đó Các vectơ này sau đó được lưu vào các tệp CSV.

- Lựa chọn đặc trưng: Tập hợp những vecto đặc trưng chuyên đổi được lọc

bằng thuật toán Random Forest dé loại bỏ một số đặc trưng không cần thiết,

từ đó giảm thiểu quá trình huấn luyện và đánh giá bộ phân loại

- _ Phát hiện hoặc phân loại loại ứng dụng độc hại: AndroAnalyzer thực hiện

huấn luyện và đánh giá bộ phân loại CNN-MLP thông qua các vectơ đặc

trưng từ bước lựa chọn đặc trưng Trong bài toán phát hiện ứng dụng

Android độc hại, AndroAnalyzer dự đoán một tệp APK đầu vào là có phải làứng dụng độc hại không Đối với nhiệm vụ phân loại loại loại ứng dụngAndroid độc hại, AndroAnalyzer xác định một tệp đầu vào là một trong

27

Trang 36

trong số năm loại sau: Mobile riskware, Adware, SMS Malware, Banking và

Benign.

Chi tiết về bốn thành phan chính của AndroAnalyzer, bao gồm Feature Extraction,

Feature Preprocessing, Feature Selection và Deep Learning Classifier, được trình

bày trong các mục tiếp theo

4.2 Feature Extraction

Feature Extraction là thành phan quan trọng của AndroAnalyzer, chịu trách nhiệm

thực hiện cài đặt file APK trên thiết bị phân tích Đồng thời, thực thi kịch bản phântích tĩnh và động dé ghi nhận thông tin các đặc trưng được cho là cần thiết được

tham khảo bởi các công trình nghiên cứu trước đó như memory, battery, network,

process, logcat vào các file riêng biệt Chúng tôi xây dung Feature Extraction với

ngôn ngữ chính là NodeJS và sử dụng ngôn ngữ Python để viết các kịch bản cho

các nội dung phân tích Feature Extraction bao gồm 2 bộ phận: Static Feature

Extraction và Dynamic Feature Extraction, chúng tôi sẽ trình bày chúng ở bên dưới:

4.2.1 Static Feature Extraction

Android Package Kit (APK) là một kho lưu trữ zip chứa một số thành phan quan

trọng, bao gồm AndroidManifest.xml, classes.dex, resources, va other folders Tép

AndroidManifest.xml chứa nhiều features tĩnh, vi vay Static Feature Extractionthực hiện dịch ngược file APK và trích xuất một số features cần thiết như làactivities, services, intents bang cách sử dung thư viện Androguard Bên cạnh đó,chúng tôi sử dụng DIDroid [4] làm cơ sở tham khảo dé tạo kịch bản trích xuất cácfeature tĩnh nhằm tạo ra một file text lưu trữ thông tin về các feature này Cụ thé,

các tinh năng được trích xuất từ tệp AndroidManifest.xml bao gồm:

- Activities là thành phan chính hiền thị giao diện người dùng

- Services là thành phần dùng dé thực hiện các tiến trình nền mà người dùng

không nhìn thấy được

- Receivers/providers cho phép các thành phần ứng dung giao tiếp với nhau

một cách an toàn.

28

Trang 37

- Intents actions và Intents categories là các thành phan chỉ ra loại hành động

mà người dùng đang yêu cầu thực hiện

- Permissions là thành phần dùng để kiểm soát quyền truy cập vào các tài

nguyên được bảo vệ bởi một ứng dụng.

- Meta-data là dữ liệu mô tả dữ liệu khác như tên của ứng dung, thông tin

phiên bản.

Ngoài các đặc trưng tĩnh đã đề cập, chúng tôi tính toán số lượng các tài nguyên

khác xuất hiện trong các tệp APK, chăng hạn như biéu tuong, 4m thanh, video vahinh anh Diéu nay được thực hiện vi, theo Rahali và cộng sự [4], các tài nguyênnày có thé được dùng dé phân tích tính nhất quán của một ứng dụng và nó có thégiúp chúng ta xác định mã nguồn của ứng dụng, hoặc các mã độc hoặc các lỗ hồng

an toàn có thể xuất hiện trong ứng dụng Cuối cùng, các đặc trưng tĩnh bao gồmactivities, services, receivers/providers, permissions, metadata, va số lượng của các

tài nguyên khác trong file APK.

4.2.2 Dynamic Feature Extraction

Thanh phan này được thiết kế dé theo dõi và ghi nhận các tài nguyên hệ thống cũngnhư là các API call mà ứng dụng sử dụng nhằm trích xuất đặc trưng động của fileAPKs như memory, battery, network traffic, Trong phần phân tích động này,

chúng tôi thiết kế dựa trên Entroplyzer framework [16] nhằm xây dựng bộ phân tích

động có khả năng trích xuất các feature động trước và sau khi reboot trình giả lập.Trong hình 4.1, mô tả cơ bản quá trích xuất đặc trưng động của file APKs mà

AndroAnalyzer của chúng tôi sử dụng Sau khi thực hiện phân tích tĩnh hệ thống

thu được static data, va tiép tuc thuc hién cai dat file APK trén thiét bi emulator, sau

đó ứng dung được thực thi tự động theo kịch bản cua Dynamic Feature Extraction

Server và trích xuất thông tin cũng như là số liệu về API call, process, logcat,

battery status, network traffic, memory usage trong quá trình thực thi ứng dụng Déthực hiện việc trích xuất các đặc trưng động này, hệ thong đã dùng Frida Tools và

DroidBot làm công cụ dé xây dựng kịch bản kiểm tra trong quá trình phân tích của

Dynamic Feature Extraction Tiép tục, nó ra lệnh reboot thiết bi emulator, dé trích

29

Trang 38

xuất lại các feature khi thực thi lại ứng dụng sau khi reboot, đây là một bước quantrọng để có thể nhận biết sự biến đổi của các thông số hệ thống khi thực thi ứng

dụng Kết quả ta có hai bộ dữ liệu riêng biệt được tạo ra, một là trước khi reboot

trình mô phỏng va một là sau đó Chúng ta gọi chúng lần lượt là before reboot data

và after reboot data, hai phan dữ liệu này cho chúng ta thay được tin chỉ tiết có giátrị về những thay đổi của ứng dụng độc hại trước và sau khi trình mô phỏng reboot

Lý giải cho việc ghi nhận những thay đổi trước và sau khi khởi động lại thiết bị,

Keyes và các cộng sự [16] cho rằng việc này giúp hiểu rõ hơn về hành vi của ứng

dụng độc hại, phương pháp này cũng có thê hữu ích trong việc xác định hành vinguy hiểm tiềm ấn, cũng như phát hiện ra bat kỳ tiến trình đáng ngờ nào ma ứngdụng độc hại có thé thực hiện

4.3 Feature Preprocessing

Static Data Feature Preprocessing

> Cres € RM

Cy & RS”

ermissions, actions, categories,

P - 8 Encode > gay, € RO?

Before Reboot Data Lt Ca er LY

| api-call —L—> Encode ——>_ Cupi,,,,, C RTM

CSV File rocess, logcat, battery status, oe 5

là ty > Statistics >| Caynane & Re

network traffic, memory usage

36 318

After Reboot Data >) Cam © R > Caynamic € R

rocess, logcat, battery status, Pa 36

P ~ y > Statistics > Ca, € Re

network traffic, memory usage š

api-call > Encode > Cam „CC RI

Hình 4.2: Mô hình hoạt động của thành phần Feature PreprocessingĐây là một thành phần thực hiện trích xuất và biểu diễn các đặc trưng tinh và động

đã được thu thập thành vector dé làm đầu vào cho Feature Selection Sau khi xác

định tập các đặc trưng được cho là quan trọng của ứng dụng mã độc đối với các mô

hình học máy cơ bản, chúng tôi tiến hành chuyên đổi dữ liệu của các đặc trưng lưu

30

Trang 39

trữ trong các file được thu tập bởi Feature Extraction thành vector một chiều, nhưđược mô tả trong hình 4.2 Cụ thể:

- Với các đặc trưng tinh, một SỐ tài nguyên hệ thống như image, audio, video

và một số đặc trưng khác như meta-data, receivers, providers, activities

chúng tôi thực hiện đếm số lượng của chúng được sử dụng trong file APKs

dé chuyền đổi chúng thành vector một chiều Œ„„ € R°(vớ/Nạ = 13) Vớicác đặc trưng tĩnh khác khác bao gồm permissions, actions, categories,

services, chúng tôi đã chuyển đổi các loại đặc trưng này thành vector mộtchiều tương ứng Cụ thể, chúng tôi thực hiện phân tích tất cả các file APK

trong tập dir liệu đầu vào nhằm lưu lại tập hợp các thuộc tính duy nhất củamỗi loại đặc trưng tương ứng Gọi X;, X>, Xz, X, lần lượt là loại đặc trưngpermissions, actions, categories va services Tap hợp các tất cả các thuộc tínhcủa loại đặc trưng X; là {x,,%2, ,xy,}, trong đó N; là số lượng thuộc tính

duy nhất có trong loại đặc trưng X; trong tập file APKs, và i € {1, 2, 3, 4}

Khi đó, với mỗi file APK trong tập dữ liệu, ta xác định được một vector C; =

[ca, ca, , Cy, | € Ri duy nhất ứng với loại đặc trưng X; Lúc này, giá trị của

c; được xác định bởi:

| 1, nếu thuộc tính x; tồn tại

c=

j 0, néu thuộc tính x; không tồn tại

Khi đó, các đặc trưng static của mỗi file APKs được biểu diễn bởi vector một

chiều Cyratic € RY (voi N = 9523), xác định bởi công thức:

Cstatic = Cres ® Cy ® Cy ® C3 @® Cy

Trong đó: @ là phép nối chuỗi của 2 vector

- Đối với các đặc trưng động, quá trình phân tích động thu thập tất cả các

feature khi hoạt động ở cả 2 trường hợp thực thi ứng dụng Android trên thiết

bị emulator kiến trúc x86 trước khi reboot và sau khi reboot Các đặc trưng

như memory, network, battery, logcat, process được lưu ở các file cũng được

31

Ngày đăng: 02/10/2024, 03:50

w