
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC BÁCH KHOA HÀ NỘI
LÊ ĐỨC THUẬN
PHÂN LOẠI MÃ ĐỘC ANDROID SỬ DỤNG HỌC SÂU
Ngành: Kỹ thuật Máy tinh
Mã số: 9480106
TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT MÁY TÍNH
Hà Nội – 2024

Công trình được hoàn thành tại:
Đại học Bách khoa Hà Nội
Người hướng dẫn khoa học:
1. TS. Nguyễn Kim Khánh
2. TS. Hoàng Văn Hiệp
Phản biện 1:
Phản biện 2:
Phản biện 3:
Luận án được bảo vệ trước Hội đồng đánh giá luận án tiến sĩ cấp Đại
học Bách Khoa Hà Nội họp tại Đại học Bách khoa Hà Nội
Vào hồi …….. giờ, ngày ….. tháng ….. năm ………
Có thể tìm hiểu luận án tại thư viện:
1. Thư viện Tạ Quang Bửu – Đại học Bách khoa Hà Nội
2. Thư viện Quốc gia Việt Nam

1
GIỚI THIỆU
Ngày nay, xu hướng áp dụng chuyển đổi kỹ thuật số và trí tuệ nhân
tạo trong các thiết bị thông minh ngày càng tăng do cuộc cách mạng
công nghiệp lần thứ tư thúc đẩy. Android thống trị thị trường hệ điều
hành di động với 70,79% tính đến tháng 6 năm 2023, được sử dụng
trong nhiều thiết bị khác nhau như điện thoại, TV, đồng hồ, ô tô, v.v.
[1]. Sự đa dạng này đã dẫn đến sự gia tăng mã độc (mã độc là các phần
mềm độc hại) trên Android. Năm 2021, có 3,36 triệu mã độc trên thị
trường hệ điều hành Android [2], gây rủi ro cho người dùng. Giải
quyết vấn đề phát hiện mã độc là một nhu cầu cấp thiết, có 1.081
nghiên cứu từ năm 2013 đến năm 2022 trong cơ sở dữ liệu DBLP [3].
Hai phương pháp phổ biến để phát hiện mã độc trên Android là phân
tích tĩnh và phân tích động. Phân tích tĩnh bao gồm việc kiểm tra cấu
trúc, đặc điểm và mã của các tập tin thực thi mà không thực sự chạy
cac đoạn mã đó, điều này sẽ an toàn hơn. Nó có thể xác định mã độc
bằng cách phân tích mã được dịch ngược nhưng có thể bỏ sót mã độc
phức tạp (cấu trúc tập tin trong ứng dụng mã độc phức tạp hoặc một
phần tập tin đã bị mã hoá, làm rối mã,v.v.). Mặt khác, phân tích động
chạy mã độc tiềm ẩn trong môi trường độc lập (sandbox) để giám sát
hành vi của nó, giảm rủi ro cho hệ thống. Mặc dù phân tích động có
thể phát hiện ra các mối đe dọa mà phân tích tĩnh có thể bỏ sót nhưng
nó đòi hỏi nhiều thời gian và nguồn lực hơn. Phân tích động có thể
không bao quát được tất cả các lộ trình thực thi. Tóm lại, phân tích
tĩnh rất hữu ích cho các mối đe dọa và lỗ hổng đã biết, trong khi phân
tích động phù hợp để phát hiện các mối đe dọa mới, bao gồm cả các
mối đe dọa chưa từng có. Phân tích động được khuyến nghị cho các tổ
chức có chuyên môn về hành vi của mã độc, trong khi phân tích tĩnh
phổ biến hơn do tính đơn giản trong phân loại và phát hiện mã độc.
Trong luận án này, tôi chỉ sử dụng phương pháp phân tích tĩnh để trích
xuất đặc trưng [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].
Phân loại mã độc (cả phần mềm sạch) là việc chia thành các nhóm (các
họ) mã độc. Hai phương pháp chính được sử dụng cho mục đích phân

2
loại mã độc này là phương pháp dựa trên chữ ký và dựa trên học máy.
Các phương pháp dựa trên chữ ký, được sử dụng rộng rãi trong những
năm gần đây, dựa vào việc khớp "chữ ký" của các mẫu mã độc đã biết
với các mẫu chưa biết, được trích xuất thông qua phân tích tĩnh hoặc
động [15, 16, 17]. Tuy nhiên, chúng có những hạn chế, bao gồm không
có khả năng phát hiện mã độc mới hoặc chưa xác định, lỗ hổng bảo
mật và mã hóa cũng như nhu cầu cập nhật cơ sở dữ liệu chữ ký liên
tục. Ngược lại, các phương pháp dựa trên học máy đang nổi lên như
những kỹ thuật đầy hứa hẹn, tận dụng nhiều thuật toán khác nhau để
phân loại mã độc dựa trên các đặc điểm (gồm đặc điểm riêng và đặc
điểm chung) của ứng dụng. Phương pháp dựa trên học máy có thể giải
quyết một số thách thức của các phương pháp dựa trên chữ ký, chẳng
hạn như phát hiện mã độc mới và giảm phân tích thủ công. Tuy nhiên,
phương pháp dựa trên học máy đòi hỏi nhiều thời gian và nguồn lực
hơn cũng như phụ thuộc vào chất lượng của dữ liệu đào tạo được gắn
nhãn và mô hình học tập. Trong luận án này, tôi tập trung vào phương
pháp dựa trên học máy để phân loại mã độc trên Android do những
tiến bộ của phương pháp này so với phương pháp dựa trên chữ ký.
Học máy, một nhánh quan trọng của trí tuệ nhân tạo, được ứng dụng
rộng rãi trong nhiều lĩnh vực khác nhau. Nó bao gồm hai loại chính:
học tập có giám sát và không giám sát. Trong bối cảnh phát hiện và
phân loại mã độc trên Android, các mô hình học tập không giám sát
(là mô hình học không cần dữ liệu được gắn nhãn) khiến mô hình có
thể hoạt động với bất kỳ ứng dụng Android nào mà không cần có kiến
thức trước về lớp của ứng dụng đó. Tuy nhiên, những mô hình này có
thể kém tin cậy và khó hiểu hơn, có khả năng nhóm các ứng dụng dựa
trên các tính năng tùy ý hoặc không liên quan và không thể nắm bắt
chính xác các đặc điểm của mã độc. Do đó, học có giám sát phổ biến
hơn đối với việc phân loại mã độc trên Android, mang lại kết quả chính
xác và dễ hiểu hơn [6, 18 19 20, 21, 22, 23, 24, 25, 26, 27]. Trong luận
án này, tôi tập trung vào mô hình học tập có giám sát, đòi hỏi một tập
dữ liệu đáng kể và đáng tin cậy với các ứng dụng Android được gắn

3
nhãn là lành tính hoặc mã độc. Tôi sử dụng những bộ dữ liệu được
cung cấp trên Internet, những bộ dữ liệu này đã được tổng hợp của
phòng nghiên cứu, trường đại học có uy tín trên thế giới.
Trong học máy có hai bước chính là chuẩn bị dữ liệu và đánh giá mô
hình.
− Chuẩn bị dữ liệu bao gồm việc thu thập, làm sạch, chuyển đổi và
lựa chọn dữ liệu được sử dụng cho mô hình học máy. Điều này rất
quan trọng vì chất lượng và hiệu suất của mô hình học máy phụ
thuộc vào việc chuẩn bị dữ liệu này. Dữ liệu không đầy đủ, không
chính xác, không liên quan hoặc không nhất quán có thể cản trở
khả năng của mô hình trong việc tìm hiểu các mẫu và đưa ra dự
đoán đáng tin cậy.
− Đánh giá mô hình là quá trình đo lường và so sánh hiệu suất của
mô hình học máy trên dữ liệu chưa nhìn thấy (dữ liệu kiểm tra).
Điều quan trọng là phải đánh giá mức độ khái quát của mô hình đối
với các tình huống mới và độ tin cậy trong các dự đoán mà mô hình
đưa ra.
Chuẩn bị dữ liệu trong quá trình phân loại mã độc trên Android bao
gồm việc trích xuất các đặc trưng thô từ tập tin APK, chẳng hạn như
quyền, lệnh gọi API và tài nguyên thông qua phân tích tĩnh. Các đặc
trưng này ban đầu ở định dạng "chuỗi" và yêu cầu chuyển đổi thành
giá trị số cho học máy. Nghiên cứu trước đây thường sử dụng các đặc
trưng thô này một cách riêng lẻ hoặc kết hợp chúng mà không xem xét
mối quan hệ của chúng [4, 5, 7, 26, 28, 29]. Trong luận án này, hai
phương pháp tăng cường các đặc trưng thô được đề xuất, tập trung vào
mối quan hệ giữa các đặc trưng. Cụ thể, sự xuất hiện đồng thời của
các quyền và lệnh gọi API được khám phá để cải thiện mối quan hệ
giữa các tính năng.
Để đánh giá mô hình, nhiều mô hình học máy truyền thống khác nhau
như SVM, RF, DT, KNN và NB đã được xem xét và cho thấy độ chính
xác cao trong việc phát hiện mã độc [14, 25, 27, 30]. Các mô hình học
sâu, đặc biệt là mạng nơ-ron tích chập (CNN), đã phân loại tốt trong

