Đặt vấn đề Tính đến năm 2023, đã có ít nhất 13 bản phát hành chính thức của hệ điều hành di động Android ké từ bản phiên bản thương mại đầu tiên, Android 1.0, được phát hành vào ngày 23 tháng 9 năm 2008 và ngay sau đó, smartphones chạy hệ điều hành mã nguồn mở mới có mặt ở khắp mọi nơi. Bản phát hành mới nhất tính đến thời điểm hiện tại là Android 14, tuy nhiên đây chỉ là bản phát hành beta và dự kiến sẽ có phiên bản ôn định vào cuôi năm nay. Theo những dit liệu gần đây nhất cho thay Android đang thống trị thị trường điện thoại thông minh toàn cầu với 71% thị phan, tiếp theo là iOS của Apple với 28%. Những con số này có thể thay đôi theo thời gian và sự cạnh tranh trên thị trường phát triển.
Tuy nhiên, vẫn có thé thay Android đang là hệ điều hành đang được sử dụng rộng rãi nhât trên thê giới. StatCounter Global Stats Mobile Operating System Market Share Worldwide from May 2022 - May 2023 ớ 0, ` <0>, Đ Ÿ ` & ` ‘ 8 « ` 2 < $ ộ $ Sử § v S £ ° _ = ¢ Š¢ S$ & = s = © Android iOS Samsung © Unknown © KaiOS © Windows © Nokia Unknown — Other (dotted) Hình 1: Thi phan hệ diéu hành di động trên toàn thé giới Với sự phô biến rộng rãi như vậy và bản chất mã nguồn mở của các ứng dụng Android đã khiến nó trở thành mục tiêu cho các cuộc tấn công bảo mật và đe dọa nghiêm trọng đến tình toàn vẹn của của các ứng dụng Android. Nhiều kẻ tan công đã phát trién mã độc Android ngày càng tinh vi, ngày càng có nhiều biến thể của những mã độc này xuất hiện làm cho việc kiểm soát và phòng tránh trở nên khó khăn hơn bao giờ hết. Theo thống kê, hơn 50 triệu phần mềm độc hại và ứng dụng có khả năng không mong muốn (PUA) đã được xác định cho Android, điều này làm nổi bật quy mô và mức độ nghiêm trọng của van đề.
Đánh giá Bảo mật Android 2016 của Google cũng tuyên bố rằng “PHA vẫn là mối đe dọa với người dùng Android, vì những kẻ tắn công gia tăng nỗ lực lừa người dùng cài đặt các ứng dụng có khả năng gây hại”. Báo cáo về mối đe dọa trên thiết bị di động cua McAfee năm 2021 nêu bật một số Xu hướng về mối đe đọa trên thiết bị di động. Theo báo cáo, nhiều ứng dụng độc hại đã được phát hiện vào năm 2021 hơn bat kỳ năm nào trước đó. Các cuộc tan công phan mềm độc hại trên thiết bị di động đã tăng 33% so với năm trước và cách phô biến nhất dé phát tán phần mềm độc hại trên thiết bị di động là thông qua các cuộc tan công lừa dao.
Các trang lừa đảo tăng 80% so với năm trước. Về hệ điều hành di động, Android tiếp tục là nền tảng được nhắm mục tiêu nhiều nhất cho phần mềm độc hại đi động. Ngoài ra, báo cáo cho thấy phần mềm quảng cáo di động và trojan ngân hàng đặc biệt phố biến vào năm 2021. TOTAL AMOUNT OF MALWARE AND PUA UNDER ANDROID 6,000,000 5,000,000 4,000,000 3,000,000 2,000,000 2 2009 201 2011.
2012" 2013 2014 15 2016 47 2018 2019 2020 2021 2022 2023 GBB Android Malware BE Android PUA Hình 2: Sự phát triển của Android Malware/PUA Các nhà nghiên cứu đã nghiên cứu bản chât của các ứng dụng phân mêm độc hại trong những năm qua và phân loại chúng thành các họ khác nhau như: - Trojan: chúng xuất hiện dưới dang các ứng dụng lành tình và nhằm đánh cắp thông tin của người dùng. - Backdoor: chúng khai thác các đặc quyền cấp quyên root và nhăm mục đích chiếm được quyền kiểm soát thiết bị và thực hiện bất kỳ hành động nào mong muốn. - Worms: phần mềm độc hại nay tao ra các bản sao của chính nó và lây lan trên mạng của thiết bị di động. - Spyware: những phần mềm spyware được thiết kế dé giám sát thông tin bí mật của người dùng, chang hạn như tin nhắn, danh bạ, vị trí, thông tin ngân hàng,.
dẫn đến hậu quả không mong muon. - Botnet: là một mạng gồm các thiệt bị Android bị xâm nhập do một máy chủ điều khiển từ xa. - Riskwares: là các ứng dụng hợp pháp có tiềm năng gây nguy hiểm hoặc đe dọa đến tình bảo mật của hệ thống. pe Malicious Behavior (Bot ).nnnii Remote Access Trojan )‡?: -- -- -- -- --+* ** tttttr tr tttrrr er re Scareware Stealing C om p ut i n g Ei y uri r r st n ** * * ** ** * ? *r ?* 2 2 ?? ?2t” Fs Cryptominer ---------+ Hình 3: Các loại phân mêm độc hại.
Các phương pháp tiếp cận tiêu chuân đề phát hiện phần mềm độc hại có hai loại: - Phuong pháp tĩnh: với hướng tiếp cận nay, các chức năng va tính độc hại của một ứng dụng được kiểm tra bang cách disassembling và phân tích mã nguồn của nó mà không cần thực thi ứng dụng. - Phuong pháp động: ứng dụng sẽ được phân tích và kiểm tra trong quá trình thực thi có thé giúp xác định các ứng dụng không bị phát hiện bởi phân tích tĩnh do xáo trộn mã và mã hóa phân mêm độc hại. DYNAMIC ANALYSIS Executes suspected malicious code in a safe environment HYBRID ANALYSIS STATIC ANALYSIS Examines the file for signs of malicious intent Hình 4: Các phương pháp phân tích phan mém độc hại Với sự phát triển mạnh mẽ của phần mềm độc hai bằng chứng là ngày càng có nhiều biến thé của những họ phần mềm độc hai này xuất hiện dẫn đến việc ngăn chặn va phát hiện chúng ngày càng trở nên khó khăn. Tuy nhiên, với sự phát triển của các kiến trúc học sâu và các mô hình học máy như hiện nay chúng ta có thê tích hợp các mô hình này vào việc phát hiện các phần mềm độc hại trên các thiết bị Android nhằm đạt hiệu quả tốt hơn so với các phương pháp phân tích truyền thống như phân tích tĩnh và phân tích động.
Bằng cách sử dụng các mô hình này, có thể phát triển các phương pháp phát hiện tinh vi và chính xác hon dé có thể phát hiện phần mềm độc hại ngay cả khi nó chưa được biết đến hoặc nhận dạng trước đó. Ngoài ra, các mô hình này có thể học hỏi từ các mẫu phần mềm độc hại mới, liên tục cải thiện độ chính xác của việc phát hiện và cải thiện tính bảo mật trên các thiệt bị Android. | |- ee e s ése» mans) s̰ẽ: Deep learning algorithms ee | | +} 1 4 a aluation |ri { evmetrics | 3 Malwares ` preprocessing >| | Intelligence (Al) Artificial | i _,Ƒ TT] | l | benign Datasets ——y classification ` Machine learning algorithms Hình 5: Áp dụng ML/DL trong việc phát hiện Android Malware 1. Mục tiêu đề tài - Tim hiểu về hệ điều hành Android, những thành phan trong Android cũng như các loại mã độc thường xuất hiện trong Android.
- Tim hiểu các kỹ thuật và công cụ được sử dụng dé phân tích các mẫu phan mềm độc hại trong Android. - Tim hiểu Machine Learning, cũng như những phương pháp học máy tự động để xây dựng một mô hình phát hiện phần mềm độc hại sử dụng Machine Learning. - Thuc nghiệm va đánh giá mô hình phát hiện dựa trên những đặc trưng của một tệp tin APK như Permissions, Opcodes, API callls. Đối tường và phạm vi nghiên cứu Đối tượng nghiên cứu: - _ Những mô hình máy học được áp dụng trong việc phát hiện phần mềm độc hại trên các thiết bị Android.
Phạm vi nghiên cứu: - Nghién cứu các thuật toán máy học, các phương pháp học máy tự động và các đặc trưng được sử dụng dé xây dựng mô hình học máy từ tệp tin APK. CƠ SỞ LÝ THUYET Trong chương này, tôi xin được trình bày một số cơ sở lý thuyết về kiến thức máy học, các thuật toán máy học, hệ điều hành Android, các đặc trưng của một tệp tin APK, kỹ thuật lựa chọn đặc trưng cho các bài toán phát hiện mã độc Android, và cuối cùng là kỹ thuật lựa chọn mô hình máy học phù hợp với tập dữ liệu. Đây là kiến thức cơ bản dé xây dựng mô hình phát hiện mã độc trên nên tảng thiết bị di động. Machine Learning Machine Learning (máy học) là 1 nhánh con của trí tuệ nhân tạo (AI) và khoa học máy tính.
Machine learning sử dụng dữ liệu, thuật toán đầu vào để tự xử lý các vấn dé và liên tục tối ưu dé tao ra những phương án xử lý mới, hiệu quả hơn; giống như cách tự học của não bộ con người. Với những lợi thế mà máy học mang lại, nó có thé được áp dung trong nhiều lĩnh vực khác nhau, bao gồm cả việc phát hiện phan mềm độc hại trên các thiết bị Android. Trong đó Machine Learning có thể học các đặc trưng của các ứng dụng Android và tạo ra một mô hình phát hiện dựa trên các đặc trưng đó. Bằng cách áp dụng Machin Learning vào trong công việc phát hiện mã độc giúp tăng độ phát hiện và giảm thiêu số lượng các ứng dụng độc hại được truyền tải và cài đặt trên các thiết bị người dùng.
Đồng thời, Machine Learning cũng có khả năng điều chỉnh và cải thiện mô hình dựa trên các dữ liệu mới, giúp nâng cao độ chính xác và khả năng phát hiện trong thời gian thực. Các mô hình Machine Learning phố biến 2. Linear Regression Linear Regression là một trong những thuật toán co bản nhất va đơn giản nhất trong Machine Learning. Day là một thuật toán học có giám sát (Supervised learning).
Linear Regression giả định rằng mối quan giữa biến đầu vào và đầu ra có thể được biểu diễn bằng một đường thắng. Mô hình Linear Regression có công thức chung y = Do + bịxi + box. +++ bạx„, trong đó y là giá trị đầu ra, x¡, xạ, ., x„ là các biến đầu vào, và bạ, b, ., Dy là các hệ số (hay trọng số) của mô hình. Mục tiêu là tìm ra các giá trị tối ưu cho các hệ số bạ, b, ., by sao cho mô hình hợp lý nhất.
Các mô hình Linear Regression thường được điều chỉnh bằng sử dụng phương pháp bình phương nhỏ nhất (Least Squares) nhưng chúng cũng có thể được điều chỉnh theo những cách khác. x Hinh 6: Vi du Linear Regression 2. Decision Trees Decision Trees (hay cây quyết định) là một những thuật toán học có giám sát trong Machine Learning. Không giống như các thuật toán học có giám sát khác, Decision Trees có thê được sử dụng dé giải quyết các bài toán hồi quy (regression) va phân loại (classification).