Chương 1: Giới thiệu tổng quan về dé tài khóa luận. e Chương 2: Trình bày cơ sở lý thuyết, các nghiên cứu liên quan và kiến thức nền tảng liên quan đến dé tài. e Chương 3: Giới thiệu phương pháp, dé xuất mô hình dùng để tạo biến thể mã độc Android. * Chương 4: Đề xuất một hệ thống phát sinh mã độc Android đánh lừa học máy bằng mạng sinh đối kháng ¢ Chương 5: Trinh bày môi trường thực nghiệm, tập dữ liệu, phương pháp đánh giá và kết quả thực nghiệm.
e Chương 6: Kết luận và hướng phát triển trong tương lai. CHUONG 2 CƠ SỞ LÝ THUYET Tóm tắt chương Trong chương này, chúng tôi sẽ trình bày cơ sở lý thuyết liên quan đến dé tài để có một nền tảng kiến thức vững chắc hỗ trợ cho các chương tiếp theo.1 Các nghiên cứu liên quan Renjith cùng với các cộng sự của ông [5] đã dé xuất một hệ thống có tên GANG-MAM có thể tạo ra các biến thể mới từ mã độc Android hiện có bằng cách sửa đổi các vectơ đặc tính trong khi vẫn duy trì chức năng của nó. Hệ thống này được tạo ra để cải thiện hiệu quả của bộ phân loại và mở rộng tập dữ liệu để hỗ trợ các nhà nghiên cứu đạt được tập dữ liệu chất lượng cao cho các thí nghiệm của họ. MalGAN [6 là công trình tiên phong về các cuộc tan công mẫu đối kháng hộp đen nhằm phát hiện phần mềm độc hại trên Android.
Nó tạo ra các mẫu đối kháng để tấn công các thuật toán phát hiện mã độc trong hộp đen. Như đã được đề cập trong phần giới thiệu bài toán, có hai cách tiếp cận phát hiện chủ yếu trong phát hiện mã độc Android, có thể được mô tả là phân tích tĩnh (Static Analysis) và phân tích động (Dynamic Analysis). Đối với phân tích tĩnh, chúng ta sẽ dịch ngược các tập tin APK và sau đó sẽ phân tích những tập tin chứa mã nguồn trước khi thực thi chúng. Kĩ thuật này có thể cung cấp một kết quả nhanh chóng và an toàn để phát hiện mã độc Android.
Các nhà nghiên cứu thường chọn theo dõi luéng dữ liệu hoặc thông tin thuộc tính có liên quan từ APK để phân biệt mã độc. Li [7] đã xây dựng một phương pháp phát hiện mã độc sử dụng Chương 2. COSO LY THUYET phương pháp hoc sâu được điều chỉnh theo trọng số (weight-adjusted deep learning) trong việc phát hiện mã độc cho nền tang Android. Họ sử dung kết hợp hai loại đặc tinh, các API call nguy hiểm va các permission rủi ro để xây dựng mô hình DBN.
Họ thử nghiệm trên bộ dữ liệu Drebin và kết quả cho thay mô hình dat được độ chính xác 90%. Li đã phát triển một hệ thống phát hiện mã độc Android dựa trên các thuật toán phân loại khác nhau như Linear Discriminant, Cubic SVM, Weighted KNN, Complex Tree, Linear SVM, Course KNN. Họ sử dụng các loại đặc tính như quyền được truy cập (Requested Permission), quyền đã khai báo (Declared Permission) và bộ lọc Intent (Intent Filter). Họ chia bộ dữ liệu thành 3 phần, phần thứ nhất chỉ gồm bộ lọc Intent, phần thứ hai chỉ gồm quyền được truy cập và quyền được khai báo và phần còn lại sẽ kết hợp cả 2 phần thứ nhất và thứ hai.
Cách chia này nhằm mục đích so sánh độ chính xác giữa việc tách và kết hợp các đặc tính. Họ thử nghiệm trên 500 mẫu mã độc và 500 mẫu lành tính, đồng thời để xác định độ chính xác họ sử dụng sơ đồ 10-fold validation. Kết quả thu được cho thây việc kết hợp các đặc tính lại sẽ mang lại hiệu quả cao hơn so với tách từng đặc tính. Trong một bài báo khác, MS Saleem cùng với các cộng sự của mình [9] da tiép can một phương pháp dựa trên hệ thống quyền của Android để phat hiện mã độc.
Họ loại bỏ quyền không cần thiết mà không có tác động nào và áp dụng hai thuật toán xếp hạng quyền Chi-Square Test và Fisher’s Exact Test để giảm kích thước của tập dữ liệu mà không làm mất nội dung thông tin. Họ cũng thực hiện trên ba loại thuật toán phân loại sau: Decision Tree (DT), Random Forest (RE) va Support Vector Machine (SVM) với bộ dữ liệu Drebin (gần 120,000 mẫu mã độc và mẫu lành tính). Kết quả thu được chi ra rằng cách tiếp cận của họ khi kết hợp với Fisher’s Exact Test và thuật toán Random Forest có tỷ lệ độ chính xác và F1-score cao. Với phân tích 7 Chương 2.
COSO LY THUYET động, ta sẽ thu thập được các tính nang khi thực thi ứng dụng trên môi trường ảo hoặc thiết bị vật lý bằng cách theo doi các hành vi hoặc trạng thái của dữ liệu nhạy cảm, mã độc có thể được tìm ra. Ví du, Qiao đã giới thiệu một framework có tên là CBM, trong framework đó tác giả có sử dụng Cuckoo để trích xuất chuỗi lệnh gọi API thu được từ việc giám sát quá trình thực thi động của mã độc. Elish đã dé xuất một phương pháp học máy có độ chính xác cao bằng cách trích xuất một đặc tính luồng dữ liệu (data-flow) về cách người dùng đầu vào kích hoạt các lệnh gọi API nhạy cảm. Với phương pháp đó tác giả đã phát hiện ra các ứng dụng độc hại mới trong thị trường Google Play mà các công cụ quét vi rút không thể phát hiện được.
Mỗi cách phân tích trên đều có ưu và nhược điểm riêng, để có thể đạt được các kết quả tốt hơn và giảm tối đa nhược điểm, nhiều nhà nghiên cứu đã kết hợp cả phân tích tĩnh và phân tích động được gọi là phân tích kết hợp (Hybrid Analysis). Giống với các bài báo sử dung phân tích tinh khác, Ankita Kapratwar cùng Fabio Di Troia và Mark Stamp cũng trích xuat một đặc tinh đơn giản dựa trên quyền. Còn với phân tích động, họ trích xuất các system call bằng cách thực thi các ứng dụng độc hại đó trên một môi trường ảo. Từ đó, họ chỉ ra rằng chỉ với mỗi đặc tính system call không mang lại kết quả phát hiện đặc biệt mạnh mẽ.
Vì vậy, nó chỉ tương đối mạnh mẽ khi kết hợp với các đặc tính khác để có thể phục vụ cho một mục đích hữu ích.2 Tập tin cài đặt Úng dụng Android (còn được gọi là APK - Android package) là một phần mềm được thiết kế để chạy trên thiết bị Android hoặc trên một trình giả lập. Tập tin này là một kho lưu trữ Zip chứa mã ứng dụng, tài nguyên va thông tin meta. Các ứng dụng Android này có thể được viết bằng các ngôn 8 Chương 2. COSO LY THUYET ngữ lập trình như Kotlin, Java, C++ và được chạy bên trong môi trường máy ảo.
Có bốn thành phan cơ bản trong một tập tin APK bao gồm: Activ- ities, Services, Broadcast Receiver, Content Providers. Mỗi thành phần đại điện cho một điểm vào (entry point) mà hệ thống hoặc người dùng có thể truy cập vào ứng dụng. Đối với phạm vi của khóa luận này, chúng tôi sẽ tập trung vào các đặc tính tinh của một ứng dụng Android, cu thể là permissions, activities, ser- vices, receivers, providers, actions va categories (Hinh 2. Dé có thể thu thập được các đặc tinh nay, chúng ta sẽ sử dụng ki thuật dich ngược, một ki thuật được khai thác dùng để phân tích mã độc Android.
Trong quy trình này, việc dịch ngược các ứng dụng giúp ta có thể hiểu được các chức năng và hoạt động của nó bằng cách phân tích mã. Sau khi tập tin APK được dịch ngược, nó chứa các thành phần như tập tin AndroidManifest. Tất cả các đặc tính mà ta đã đề cập sẽ được trích xuất từ các tập tin này. Broadcast Recievers Content Providers HINH 2.1: Các thành phan của ứng dụng Android Chương 2.
COSO LY THUYET 2.3 Mang sinh đối khang (Generative Adversarial Networks) Trong những năm gan đây, lĩnh vực học sâu ngày càng được phát triển để áp dụng vào các thiết bị, nâng cao khả năng hoạt động của chúng để phục vụ con người tốt hơn. Rất nhiều lĩnh vực được áp dụng phương pháp này như phương tiện tự động, xử lý hình ảnh, xử lý ngôn ngữ tự nhiên, dự báo, y tế và giáo dục. Chúng ta hiện đang ở thời điểm mà học sâu và mạng thần kinh mạnh mẽ đến mức có thể tạo ra một khuôn mặt người mới chưa từng tổn tại nhưng trông giống that dựa trên một số đữ liệu được đào tạo. Mặc dù các mô hình học sâu đạt được nhiều thành công lớn trong việc giải quyết các van dé trong thé giới thực, chúng có thể dé dang bị đánh lừa bởi các mẫu đối nghịch, tăng khả năng phân loại sai khi đữ liệu bị thêm nhiễu.
Van dé này làm day lên lo ngại trong nhiều lĩnh vực như an toàn hay phương tiện tự động. Vì vậy, điều quan trọng là phải nghiên cứu ảnh hưởng của các mẫu đối nghịch đối với hiệu suất của các mô hình học sâu. Trong đó, mạng sinh đối kháng (Generative Adversarial Network - GAN) là công nghệ tiến bộ và phổ biến thường được dùng để giải quyết van dé này. GAN được phát triển vào năm 2014 bởi nhóm của lan Goodfellow 21.
GAN thường được sử dụng nhiều nhất trong việc xử lý hình ảnh và xử lý ngôn ngữ tự nhiên nhằm mục đích tạo ra các mẫu mới với một số biến thể thông qua phân phối học tập của các mẫu huấn luyện.1 Giới thiệu tổng quan Có 2 loại mô hình trong bối cảnh học tập có giám sát là mô hình sinh và mô hình phân biệt. Mô hình phân biệt chủ yêu được sử dụng để giải quyết nhiệm vụ phân loại, dự đoán điểm dữ liệu thuộc về lớp nào. Mặt khác, mô hình sinh chủ yêu được sử dung dé tạo ra các điểm dữ liệu tổng hợp, tuân 10 Chương 2. COSO LY THUYET theo cùng một phan phối xác suất với phân phối của dữ liệu huấn luyện.
GAN là một loại của mô hình sinh, vì vậy GAN có khả năng sinh ra dữ liệu mới. Cau trúc cơ bản của GAN là vanilla GAN, đó là sự kết hợp giữa hai mô hình chính (hai mạng nơ-ron) là Bộ sinh (chịu trách nhiệm tao dữ liệu giả giống với dữ liệu thật) và Bộ phân biệt (chịu trách nhiệm phân biệt dữ liệu giả với dữ liệu thật). Hai mô hình này được huấn luyện và hoạt động theo mục tiêu trái ngược nhau, vì vậy nó còn có tên khác là mạng sinh đối kháng. Chúng cạnh tranh với nhau và có thể sao chép và phân tích sự đa dang trong một tập dữ liệu.
Sự cạnh tranh giữa cả hai thành phan này tiếp tục cho đến khi đạt được mức độ hoàn hảo. Các ưu điểm của GAN bao gồm: s Việc tạo mẫu đơn giản.