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ình phá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ện phân tích và đánh giá một số hướng nghiên cứu trong và ngoài nước có nội dung liê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ật phâ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 động hạ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ân loạ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ụng Android độ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ụng và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, Naway cùng cộng sự [21] đã sử dụng mạng noron sâu nhằm tăng khả năng phát hiện ứng dụng độc hại trên Android bang cách trích xuất các feature từ tệp AndroidManifest
21
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 độc hạ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ời gian để 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ách kế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
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ọc sâ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à độc hại) trên các thiết bị thực. Năm 2021, Keyes và cộng sự [l6] đã giới thiệu EntropLyzer dé thực hiện phân tích động các mẫu ứng dụng độc hại trên nền tang Android trong tập dữ liệu CCCS-CIC-AndMal2020. Tập dữ liệu này bao gồm 12 danh 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ình phâ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
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ối quan hệ tuần tự n-gram được trích xuất của lệnh gọi API. Năm 2020, Chaulagain
cù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ật phâ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 va phân tích động, trích xuất đầy đủ thông tin đặc trưng của các ứng dụng Android độc hạ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ác nhà nghiên cứu đề xuất, bên cạnh đó có thể kế đến là biểu diễn hình ứng dụng APKs thành hình ảnh, và sử dung các mô hình phô biến trong lĩnh vực CV dé học tậ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 ảnh thang độ 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
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ế, trong các tệp APKs không chỉ chứa chứa một file .so hoặc .dIl duy nhất, do vậy hướng tiếp cận lay 1 file .so hay .dll dé làm 1 thành phan trong file ả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
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ác cô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ép cậ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