Phát Hiện Malware Android Sử Dụng Machine Learning và Opcode

Khóa luận tốt nghiệp nghiên cứu tốt nghiệp an toàn thông tin ứng dụng phát hiện mã độc trong các ứng dụng android dựa trên opcode, vận dụng lý thuyết vào thực tế, đề xuất giải

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2023

63
5
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. MỤC TIÊU ĐỀ TÀI

2. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

3. CƠ SỞ LÝ THUYẾT

3.1. Machine Learning

3.2. Các mô hình Machine Learning phổ biến

3.2.1. Linear Regression

3.2.2. Decision Trees

3.2.3. Random Forest

4. KỸ THUẬT LỰA CHỌN ĐẶC TRƯNG CHO CÁC BÀI TOÁN PHÂN LOẠI MÃ ĐỘC ANDROID

5. KỸ THUẬT LỰA CHỌN MÔ HÌNH MÁY HỌC PHÙ HỢP VỚI DATASET

6. HỆ THỐNG PHÁT HIỆN

6.1. Giai đoạn tiền xử lý

6.2. Trích xuất đặc trưng từ tệp tin APK

6.3. Lựa chọn đặc trưng

6.4. Giai đoạn chọn mô hình máy học huấn luyện và thử nghiệm

6.5. Xây dựng ứng dụng web

7. THỰC NGHIỆM MÔ HÌNH ĐỀ XUẤT

7.1. Các chỉ số đánh giá

7.2. Kết quả thực nghiệm

7.3. So sánh với mô hình khác sử dụng cùng Dataset

8. TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Phát Hiện Malware Android Bằng Machine Learning

Trong bối cảnh công nghệ 4.0, việc phát hiện malware Android trở thành một thách thức lớn. Hệ điều hành Android, với sự phổ biến rộng rãi, đã trở thành mục tiêu chính cho các cuộc tấn công mạng. Việc áp dụng machine learning trong phát hiện mã độc không chỉ giúp nâng cao hiệu quả mà còn giảm thiểu rủi ro cho người dùng. Bài viết này sẽ đi sâu vào các phương pháp và công nghệ hiện đại trong việc phát hiện mã độc trên nền tảng Android.

1.1. Tình Hình Hiện Tại Về Malware Trên Android

Sự gia tăng của malware trên Android đã đạt đến mức báo động. Theo thống kê, hơn 50 triệu phần mềm độc hại đã được phát hiện, cho thấy quy mô và mức độ nghiêm trọng của vấn đề này. Các loại mã độc như trojan, spyware và backdoor đang ngày càng tinh vi hơn.

1.2. Tại Sao Machine Learning Là Giải Pháp Hiệu Quả

Sử dụng machine learning giúp phát hiện mã độc một cách nhanh chóng và chính xác hơn. Các mô hình học máy có khả năng học hỏi từ dữ liệu mới, từ đó cải thiện độ chính xác trong việc phát hiện các biến thể mã độc chưa được biết đến.

II. Thách Thức Trong Việc Phát Hiện Malware Android

Mặc dù có nhiều phương pháp phát hiện, nhưng việc phát hiện malware Android vẫn gặp nhiều thách thức. Các phương pháp truyền thống như phân tích tĩnh và động thường không đủ hiệu quả trước sự phát triển nhanh chóng của mã độc. Điều này đòi hỏi các nhà nghiên cứu phải tìm ra những giải pháp mới và hiệu quả hơn.

2.1. Hạn Chế Của Phân Tích Tĩnh

Phân tích tĩnh không thể phát hiện mã độc nếu mã đã được mã hóa hoặc xáo trộn. Điều này làm cho nhiều ứng dụng độc hại có thể lẩn tránh mà không bị phát hiện.

2.2. Khó Khăn Trong Phân Tích Động

Phân tích động yêu cầu môi trường an toàn để thực thi mã, điều này có thể gây khó khăn trong việc phát hiện các hành vi độc hại trong thời gian thực.

III. Phương Pháp Phát Hiện Malware Bằng Machine Learning

Các phương pháp phát hiện mã độc bằng machine learning đang trở thành xu hướng mới. Việc sử dụng các đặc trưng như opcode, permissions và API calls giúp xây dựng mô hình học máy hiệu quả. Các mô hình này có khả năng phân loại và phát hiện mã độc một cách chính xác.

3.1. Sử Dụng Opcode Trong Phân Tích Malware

Opcode là một trong những đặc trưng quan trọng trong việc phân tích mã độc. Việc trích xuất opcode từ các tệp tin APK giúp nhận diện các hành vi độc hại của ứng dụng.

3.2. Các Mô Hình Machine Learning Phổ Biến

Các mô hình như Decision Trees, Random Forest và Neural Networks đang được áp dụng rộng rãi trong việc phát hiện mã độc. Những mô hình này có khả năng học hỏi từ dữ liệu và cải thiện độ chính xác theo thời gian.

IV. Ứng Dụng Thực Tiễn Của Machine Learning Trong Phát Hiện Malware

Việc áp dụng machine learning trong phát hiện mã độc đã mang lại nhiều kết quả khả quan. Các nghiên cứu cho thấy rằng các mô hình học máy có thể phát hiện mã độc với độ chính xác cao hơn so với các phương pháp truyền thống. Điều này mở ra hướng đi mới cho việc bảo mật trên nền tảng Android.

4.1. Kết Quả Nghiên Cứu Về Hiệu Quả Phát Hiện

Nghiên cứu cho thấy rằng các mô hình học máy có thể phát hiện mã độc với độ chính xác lên đến 95%. Điều này chứng tỏ rằng việc áp dụng công nghệ mới là cần thiết trong việc bảo vệ người dùng.

4.2. Tương Lai Của Phát Hiện Malware Trên Android

Với sự phát triển không ngừng của công nghệ, việc phát hiện mã độc sẽ ngày càng trở nên hiệu quả hơn. Các mô hình học sâu và trí tuệ nhân tạo sẽ tiếp tục được cải thiện để đáp ứng nhu cầu bảo mật ngày càng cao.

V. Kết Luận Về Phát Hiện Malware Android Bằng Machine Learning

Việc phát hiện malware Android bằng machine learning là một giải pháp hiệu quả trong bối cảnh hiện nay. Các phương pháp mới không chỉ giúp nâng cao độ chính xác mà còn giảm thiểu rủi ro cho người dùng. Tương lai của công nghệ này hứa hẹn sẽ mang lại nhiều tiến bộ trong việc bảo vệ an toàn thông tin.

5.1. Tầm Quan Trọng Của Bảo Mật Trên Android

Bảo mật trên Android là một vấn đề cấp bách. Việc phát hiện mã độc kịp thời có thể giúp bảo vệ thông tin cá nhân và tài sản của người dùng.

5.2. Hướng Đi Tương Lai Trong Nghiên Cứu

Nghiên cứu trong lĩnh vực này cần tiếp tục được đẩy mạnh. Việc phát triển các mô hình học máy mới và cải tiến các phương pháp hiện tại sẽ là chìa khóa để nâng cao hiệu quả phát hiện mã độc.

10/07/2025
Khóa luận tốt nghiệp an toàn thông tin ứng dụng phát hiện mã độc trong các ứng dụng android dựa trên opcode và học sâu

Trích đoạn nội dung tài liệu

Đặ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).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu có tiêu đề "Phát Hiện Malware Android Bằng Machine Learning và Opcode" cung cấp cái nhìn sâu sắc về việc sử dụng công nghệ machine learning để phát hiện mã độc trên nền tảng Android. Bài viết nhấn mạnh tầm quan trọng của việc phân tích opcode trong mã nguồn ứng dụng, giúp nhận diện các mẫu hành vi đáng ngờ và từ đó phát hiện malware một cách hiệu quả hơn. Độc giả sẽ được trang bị kiến thức về các phương pháp hiện đại trong lĩnh vực an ninh mạng, cũng như cách thức mà machine learning có thể cải thiện khả năng bảo vệ thiết bị di động.

Để mở rộng thêm kiến thức về các phương pháp phát hiện mã độc và an ninh mạng, bạn có thể tham khảo tài liệu "Phát hiện xâm nhập mạng bất thường dựa trên phân tíh lưu lượng mạng sử dụng á kỹ thuật trong machine learning", nơi bạn sẽ tìm thấy các kỹ thuật phân tích lưu lượng mạng tương tự. Ngoài ra, tài liệu "Luận án tiến sĩ nghiên cứu xây dựng hệ thống v sandbox trong phân tích và phát hiện mã độc iot botnet" sẽ cung cấp cái nhìn sâu hơn về việc sử dụng sandbox trong phát hiện mã độc. Cuối cùng, tài liệu "Khóa luận tốt nghiệp an toàn thông tin xây dựng và tối ưu hệ thống federated ids" sẽ giúp bạn hiểu rõ hơn về các hệ thống phát hiện xâm nhập liên kết cho IoT, một lĩnh vực đang ngày càng trở nên quan trọng trong an ninh mạng.

Những tài liệu này không chỉ mở rộng kiến thức của bạn mà còn cung cấp các góc nhìn đa dạng về các vấn đề an ninh mạng hiện nay.