Ngày nay, việc mã hóa các ứng dụng độc hại để 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 là 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. Khi các ứng dụng độc hại được phát triển và thực thi trong kernel, chúng trở nên khó phát hiện hơn so với các ứng dụng độc hại truyền thống. Đồng thời, vấn đề phát hiện phần mềm độc hại như vậy đưa ra những thách thức đặc biệt do tài nguyên hạn chế có sẵn và các đặc quyền hạn chế được cấp cho người dùng, nhưng cũng mang đến cơ hội duy nhất trong siêu dữ liệu bắt buộc được đính kèm với mỗi ứng dụng [2]. Bên cạnh đó, các thách thức về tài nguyên huấn luyện
mô hình học máy phát hiện và kiêm thử vẫn còn tồn đọng — Paul Miller trình bày [3].
3.1. Phan tích tĩnh
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 được trích xuất từ việc phân tích tĩnh. Các đặc trưng tinh được trích xuất dễ dàng từ các tệp APK với ưu điểm lớn nhất là hiệu quả cao, trích xuất nhanh, không tác động xấu đến máy tính hoặc các phần cứng tính toán. Chang
hạn trong công trình [4] của Mauro Conti và những người khác, mô hình phân tích
tĩnh ANASTASIA đã được sử dụng dé dự đoán mã độc, với số lượng lớn thuộc tinh tĩnh được trích xuất từ Anadrolyze và AndroGuard. Sự hiệu quả trong việc huấn luyện
mô hình tỉ lệ thuận với số lượng tai nguyên thuộc tính, càng có nhiều và chính xác thì
mô hình sẽ có khả năng học hiệu quả. Một số công cụ có tích hợp báo cáo của antivirus được đề xuất như [5] DeepRefiner được sử dụng để trích xuất tốt hơn Storm Droid. Wang đã đề xuất mô hình DroidDeepLearner có hiệu suất vượt trội so với các hiện
có và là phương pháp phát hiện phần mềm độc hại được sử dụng rộng rãi [6]. Một số kết quả nghiên cứu cho thấy DNN hoạt động tốt hơn các phương pháp lâu đời dựa trên n-gram, CNN đã chứng minh là tốt hơn LSTM [7]. Một số mô hình nghiên cứu cải tiến khác như HIMDAM [8] của Demertzis cho thấy sự tối ưu về tài nguyên tính
43
toán và mang lại kết quả tương đối. Mặt khác, mô hình Droiapiminer lâu đời của Aafer Y và những người khác mang lại hiệu quả về độ chính xác cao và thời gian huấn luyện nhanh và ôn định [9]
3.2. Phân tích động
Kỹ thuật phân tích tĩnh tuy có nhiều ưu điểm, song lại không mang lại hiệu quả với những malware được cải tiến ngày nay, vi du: Packer, Loader, Encryptor, ... thuộc các dòng malware bị mã hóa hoặc sử dụng phương pháp làm rối mã [10]. Khác với phương pháp phân tích tĩnh, phương pháp phân tích động mặc dù tốn nhiều thời gian
dé 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 hoặc làm rối. Kỹ thuật làm rỗi mã được gọi là obfuscated và những
mã độc bị làm rối có mục đích đề trốn tránh bị phát hiện bởi phân tích tĩnh và trong một số trường hợp dé trén tránh sandbox (môi trường kiêm thử) và bởi người kiểm thử xâm nhập hoặc nhà phân tích malware [10][11]. Một số công trình cũng đã được
thực hiện và nghiên cứu trên phương pháp này, Yang, Chao, và những người khác
[12] đã sử dụng Dagger một hệ thông nhẹ đề tự động phân tích hành vi nhạy cảm của Android. Schmidt và cộng sự [13] đề xuất phân tích ham tĩnh được gọi từ mã nhị phân bằng cách áp dụng thuật toán phân cụm (clustering) cho
dấu vét thu thập được. Bên cạnh đó, Yan et al. [14] đã phát triển một nền tảng phân tích Android có tên là DroidScope dựa trên truyền thống ảo hóa phân tích phần mềm
độc hại dựa trên các ứng dụng. Ngoài ra, có một nghiên cứu khác của Li và cộng sự.
[15], đã đề xuất DroidADDMiner, một công cụ hiệu qua và hệ thống chính xác dé phát hiện, phân loại và mô tả phần mềm độc hại Android. Riêng về công việc phát hiện phần mềm độc hại, DroidADDMiner đạt 98% ty lệ phát hiện, với tỷ lệ dương
tính giả 0,3%.
3.3. Phân tích kết hợp tĩnh và động
Phân tích tĩnh dựa trên các tính năng tính toán bang cách kiểm tra mã kê khai và mã
đã phân tách của ứng dụng khi ngoại tuyến. Trong khi đó, các phương pháp phân tích
44
động kiểm tra và theo đõi hành vi của ứng dụng trong thời gian chạy [16]. Do đó về bản chất, cả phân tích tĩnh và động đều có điểm mạnh yếu khác nhau và thực hiện riêng biệt [17]. Phân tích động ít có thé bị những kẻ tan công vượt qua [18].
Các kỹ thuật phân tích tĩnh có thể bị phần mềm độc hại vượt qua đóng gói lại và các
kỹ thuật che giấu có sẵn khác. Trong khi đó, phương pháp phân tích động có thê được khắc phục nếu phần mềm độc hại được chú ý khi nó đang thực thi trong hộp cát môi trường hoặc trong trình giả lập [19]. Việc triển khai mô hình phân tích kết hợp được
sử dụng rộng rãi nhất trong các mô hình học máy phòng chống mã độc hiện nay, Liu
X va Liu J. [20] đề xuất sơ đồ phát hiện hai lớp dé phát hiện phần mềm độc hai trong các ứng dụng Android dựa trên quyền có trong tệp manifest.xml . F.Noorbehbahani
và những người khác. [21] đã kiểm tra bằng thực nghiệm tính hợp lệ của áp dụng các phương pháp máy học dé phát hiện ransomware vào năm 2019 và đã chứng minh rằng các Random Forest vượt trội so với các phân loại được thử nghiệm khác trên
mỗi thử nghiệm. Ngoài ra, trong công trình nghiên cứu của Blanc W và cộng sự [22],
nhóm tac giả đã phát triển một phương pháp phân tích tĩnh nhẹ và
đã xác định một bộ chỉ sé để kiêm tra phần mềm độc hại trên Android. Mặc dù phương pháp đạt được một FPR là 1,2% trên các tính năng được trích xuất bằng cách sử dụng rừng ngẫu nhiên, nó vẫn có thể không xác định được mã code chương trình đã bị xáo
trộn hoặc được lộ rõ.
45