Chương 1: TONG QUAN DE TÀI Nêu ra cái nhìn toàn diện về đề tài và các định hướng nghiên cứu mà chúng tôi hướng đến. Chương 2: TONG QUAN TINH HÌNH NGHIÊN CUU Dua ra các bai báo, các công trình nghiên cứu có liên quan đến khóa luận của chúng tôi để làm cơ sở tham khảo. Chương 3: CƠ SỞ LÝ THUYET Trình bày các lý thuyết nền tảng, khái niệm cũng như là các kiến thức có liên quan dé có thé thực hiện khóa luận. Chương 4: PHƯƠNG PHÁP THỰC HIỆN Đây chính là chương quan trọng nhất, đưa ra và mô tả chỉ tiết về mô hình mà chúng tôi đề xuất.
Chương 5: KET QUÁ THUC NGHIỆM Thực nghiệm mô hình đã đề xuất ở Chương 4 và đưa ra các kết quả sau quá trình thực nghiệm. Chương 6: KET LUẬN VA HƯỚNG PHAT TRIÊN Dua ra kêt luận cuôi cùng về dé tài đông thời nêu ra các định hướng phát triên dé nâng cao chất lượng mô hình trong tương lai. | TONG QUAN TINH HÌNH NGHIÊN CỨU 2. Tinh hình nghiên cứu và các công trình liên quan Khi đê cập tới chiên thuật phân tích tĩnh trong việc chọn kiêu đặc trưng, xử lí và huân luyện mô hình, đã có rât nhiêu công trình nghiên cứu giới thiệu và đê xuât phương pháp nghiên cứu khác nhau và cho kết quả thực nghiệm cao.
Về kiểu đặc trưng Permission, Sanz và cộng sự [1] đã đề xuất và thực nghiệm băng cách tìm ra các sự khác nhau trong việc sử dụng Permission trong các ứng dụng mã độc. Họ cụ thê đã tìm ra rằng là các ứng dụng mã độc có xu hướng sử dụng chỉ 1 Permission trong khi các ứng dụng lành tính sử dụng 2, 3 hoặc nhiều Permission hơn. Nhóm tác giả đã cho huấn luyện nhiều mô hình học máy như SimpleLogistic, NaiveBayes, SMO, J58, Cây Ngẫu Nhiên (Random Forest) dé có thé tìm ra được mô hình phù hợp và cuối cùng họ đạt được 92% độ chính xác. Ngoài ra, một nghiên cứu khác cũng dé xuất phân tích với Permission là nhóm của Liang và cộng sự [2], họ đề xuất một chiến thuật phân tích dựa trên sự kết hợp của nhóm các Permission.
Do đó họ đã đi thu thập nhiều nhóm Permisssion được sử dụng kết hợp trong các ứng dụng mã độc nhưng hiểm được sử dụng trong các ứng dụng lành tính. Dựa vào đó họ đã phát triển một công cụ không sử dụng học máy để có thể trích xuất nhóm các Permission cũng như tần suất được sử dụng trong tệp tin manifest của ứng dụng, và họ đạt được độ chính xác cao trong cả việc phát hiện mã độc cũng như nhận diện đúng ứng dụng lành tính, lần lượt là 96% và 88%. Tuy nhiên van đề đặt ra là, Permission đóng vai trò quan trọng trong ứng dụng, nhưng chỉ riêng mỗi phương pháp dựa vào riêng loại đặc trưng này có thê không thực tiễn trong môi trường hiện nay khi ngày càng nhiều mã độc phức tạp hơn, có thé sử dụng nhiều Permission hơn để che giấu đi mục đích độc hại của nó, có thể cần xem xét áp dụng thêm các biện pháp kết hợp với đặc trưng khác dé nâng cao hiệu năng cho mô hình. Về kiểu đặc trưng Intent, intent là một sự mô tả trừu tượng cho hoạt động trong ứng dụng về cách mà nó được thực thi.
Kết hợp với việc truy vết tới các API call liên quan tới cả Permission, nhóm tác gia Wu và các cộng sự [3] đã thiệt kê và triên khai DroidMat và dat tới 97,87% độ chính xác. Có thê một van đề nổi lên với phương pháp của nhóm nghiên cứu là phụ thuộc vào thông tin từ tệp tin AndroidManifest.xml và API call, nếu như một vài mã độc không yêu cầu gọi API call trực tiếp, chúng có thé đánh lừa vào thoát khỏi sự phát hiện cua mô hình. Về kiểu đặc trưng Opcode, đặc biệt là Dalvik opcode như lệnh mã máy cho bộ xử lí của hệ thống, có thé nam được những thông tin quan trọng về hành vi của ứng dụng, đã được ứng dụng trong nghiên cứu của Canfora và cộng sự [4]. Bằng cách chỉ chọn lọc ra nhóm các opcode cụ thể, nhóm tác giả đã có thé huấn luyện một mô hình phân loại đạt được độ chính xác 93,9%.
Tuy việc phụ thuộc vào một thập hợp opcode cụ thể có thể cho hiệu quả cao trong việc phân loại tính chất các ứng dụng Android, phương pháp này có thê sẽ bị lỗi thời vì ngày càng nhiều biến thể mã độc được sinh ra và không sử dụng tập hợp đó, yêu cầu phải cập nhật mô hình theo thời gian. Ngoài ra sự kết hợp sử dụng giữa 2 loại đặc trưng có khả năng thể hiện nhiều thông tin nhất về hành vi của một ứng dụng Android đó là Permission và API call cũng được ứng dụng nhiều trong nhiều nghiên cứu như của nhóm tác giả Peiravian và cộng sự [5]. API call được sử dụng từ các API Package đóng góp nhiều trong việc thể hiện hành vi, được nhóm tác giả trích xuất và huấn luyện mô hình phân loại với độ chính xác lên tới 94,9%. Cùng sử dụng chung ứng dụng 2 loại đặc trưng này, nhóm tác giả Liu Yue và cộng sự [6] đã thực hiện trích xuất và huấn luyện mô hình, từ đó áp dụng XAI (Explainable AI) dé có thé hiểu được phan nào lí do dang sau việc các mô hình học máy có thê đưa ra dự đoán có độ chính xác cao đên như vậy.
Tuy việc sử dụng chung 2 hoặc nhiều hơn số loại đặc trưng trong cùng một mô hình học máy có thê cho ra kết quả dự đoán cao, nhưng thay vì sử dụng kết hợp trong bộ dữ liệu đề huấn luyện mô hình, có thể việc tách rời riêng các loại đặc trưng rồi cho huấn luyện riêng mỗi loại đặc trưng hoặc nhiều loại đặc trưng có cùng tính chất cùng một nhóm, rồi phối những véc tơ thé hiện giữa những mô hình như vậy đề huấn luyện một mô hình sau cùng dé cho ra kết quả với kì vọng độ chính xác cao hơn. Đó là mô hình đa phương thức, vì các đặc trưng được xử lí thành đầu vào riêng lẻ cho từng mô hình khác nhau, giúp cho mỗi mô hình có thé hoc được nhiều thông tin quan trọng hơn cho từng đặc trưng, từ đó khi đưa ra dự đoán mô hình có thể thực hiện với kết quả tiềm năng hơn. Việc ứng dụng mô hình học sâu đa phương thức đã được áp dụng trong một trong những công trình nghiên cứu về mô hình đa phương thức, đó là của nhóm tác giả TaeGuen và cộng sự [7]. Nhìn chung nhóm tác giả đã sử dụng đến 7 loại đặc trưng, và sắp xếp chúng vào 5 nhóm véc tơ đặc trưng dé huấn luyện với 5 mô hình học sâu DNN, sau đó phối chúng lại rồi thực hiện dự đoán, kết quả dự đoán đạt 98% độ chính xác, cao hơn một số nghiên cứu dùng mô hình đơn đề cập trong công trình.
Từ đó cho thấy việc thực hiện huấn luyện đa phương thức có tiềm năng lớn trong việc phát hiện và phân loại mã độc Android. Định hướng nghiên cứu sử dụng kết hợp đa phương thức đầu vào, đặc trưng Dalvik Opcode, API Package va System Commands Ở trong khóa luận này chúng tôi sẽ tiến hành nghiên cứu và xây dựng một bộ khung phát hiện mã độc Android băng mô hình học sâu đa phương thức. Chúng tôi sẽ chỉ tập trung vào chiến thuật phân tích tĩnh, trích xuất đặc trưng Dalvik Opcode, API Package va System Command, xử lí dữ liệu đặc trưng bang phương pháp biến thành ảnh xám, ma trận hai chiều với kích thước NxN trong đó N là số lượng đặc trưng Opcode và phương pháp sử dụng véc tơ tần suất của kết hợp API Package và System Command. Việc chọn những loại đặc trưng như vậy giúp kết hợp các điểm mạnh của chúng dé giúp mang lại nhiều thông tin giá trị, hữu ich tăng hiệu năng của mô hình học sâu, nâng cao tiềm năng của mô hình so với sự phát triển của mã độc.
Opcode (Dalvik Opcode) - _ Có thé phân tích chi tiết hành vi mã nguồn: Opcode thé hiện từng lệnh cụ thé được thực thi bởi ứng dụng, giúp chúng ta có cái nhìn chi tiết và chính xác về hành vi của ứng dụng. - Có khả năng kha năng phát hiện các mẫu phức tap: Việc chuyển đổi opcode thành ma trận liền kề hai chiều cho phép mô hình học sâu phát hiện các mẫu và mối quan hệ phức tạp trong mã nguồn, giúp nhận diện các hành vi độc hại khó phát hiện. System Commands - — Giúp phản ánh hoạt động hệ thống: Các lệnh hệ thống cho thấy cách ma ứng dụng tương tác với hệ thống, bao gồm các hành vi truy cập tập tin, quản lý quy trình và mạng, giúp phát hiện các hoạt động đáng ngờ. - Dé đàng trích xuất và phân tích: Chuỗi tần suất sử dụng lệnh hệ thống có thé dé dàng trích xuất và phân tích, cung cấp thông tin trực tiếp về cách ứng dụng hoạt động.
API Package - Có thé phân tích các hành vi phức tap: API call được sử dung trong các gói, thu viện hàm thể hiện các chức năng và dịch vụ mà ứng dụng sử dụng, từ đó suy ra được các hành vi của ứng dụng, như truy cập mạng, sử dụng camera hoặc truy cập dữ liệu ảnh. - — Giúp phát hiện hành vi bất thường: Việc phân tích tần suất sử dụng các API Package giúp nhận diện các mau hành vi bat thường, là dâu hiệu của mã độc. Dinh hướng nghiên cứu sử dụng kết hợp và phối mô hình học sâu CNN va FENN cho các đặc trưng khác nhau Ở trong khóa luận này, chúng tôi nghiên cứu áp dụng xây dựng mô hình học sâu mạng nơ ron tích chập CNN và mạng nơ ron chuyên tiếp FFNN với ba loại đặc trưng dữ liệu ké trên là Dalvik Opcode, System Command và API Package. Mô hình CNN được sử dụng dé phân tích chuỗi Dalvik Opcode chuyền đổi thành ma trận liền k hai chiều, tận dụng khả năng và hiệu suất của CNN trong việc nhận diễn các mẫu dưới dạng hình ảnh hai chiều biểu thị mối quan hệ giữa các lệnh trong mã nguồn chương trình.
Trong khi đó, mô hình FENN được huấn luyện dựa trên véc tơ chuỗi tần suất sử dụng của các System Command và API Package, nhờ việc làm việc với phân tích xử lí chuỗi dữ liệu tốt của mô hình này. Tiềm năng của việc phối hợp các mô hình nằm ở khả năng kết hợp các điểm mạnh của từng loại đặc trưng và mô hình học sâu. Nếu như mô hình CNN mạnh về nhận diện các mẫu không gian thể hiện trong mã nguồn thì FENN sẽ hiệu quả trong việc phân tích tần suất.