Báo Cáo Tổng Hợp Kết Quả Nhiệm Vụ Nghiên Cứu Hệ Thống Phát Hiện Spyware Trên Nền Tảng Android

Tài liệu nghiên cứu Xây dựng hệ thống phát hiện spyware trên nền tảng android, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về kỹ thuật.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

báo cáo tổng hợp

2017

134
4
0

Phí lưu trữ

35 Point

Mục lục chi tiết

1. CHƯƠNG 1: GIỚI THIỆU CHUNG

1.1. Giới thiệu chung

1.2. Một số công trình trên thế giới liên quan đến việc phát hiện nguy cơ gây thất thoát thông tin nhạy cảm trên Android

1.2.1. Phân tích tĩnh

1.2.2. Phân tích động

1.2.3. Kỹ thuật phân tích tổng hợp

2. CHƯƠNG 2: PHÁT HIỆN NGUY CƠ BẢO MẬT TRÊN THIẾT BỊ DI ĐỘNG SỬ DỤNG HỆ ĐIỀU HÀNH ANDROID BẰNG CÁCH PHÂN TÍCH LIÊN ỨNG DỤNG

2.1. Giới thiệu tổng quan

2.2. Hệ thống đề xuất: IACDroid

2.2.1. Một số ví dụ làm động lực nghiên cứu

2.2.2. Inter-Application Communication

2.2.3. Hệ thống IACDroid

2.3. Đánh giá hệ thống

2.3.1. Môi trường thử nghiệm

2.3.2. Kết quả thử nghiệm

2.3.3. Các công trình liên quan

2.3.4. Tổng kết chương

3. CHƯƠNG 3: PHÁT HIỆN NGUY CƠ RÒ RỈ THÔNG TIN NHẠY CẢM QUA NHIỀU ỨNG DỤNG TRÊN HỆ ĐIỀU HÀNH ANDROID BẰNG KỸ THUẬT PHÂN TÍCH TỔNG HỢP

3.1. Hệ thống đề xuất

3.2. Đánh giá hệ thống

3.3. Kết luận chương

4. CHƯƠNG 4: TỐI ƯU HÓA ĐỘ CHÍNH XÁC CỦA KỸ THUẬT PHÂN TÍCH TĨNH BẰNG KỸ THUẬT PHÂN TÍCH ĐỘNG

4.1. Giải pháp đề xuất

4.2. Kết quả thử nghiệm

4.3. Kết luận chương

5. CHƯƠNG 5: TỐI ƯU THUẬT TOÁN ÁNH XẠ CÁC THÀNH PHẦN CỦA CÁC GIAO TIẾP LIÊN ỨNG DỤNG TRONG VIỆC PHÂN TÍCH NGUY CƠ THẤT THOÁT THÔNG TIN NHẠY CẢM TRÊN ANDROID

5.1. Mô hình đề xuất

5.1.1. Xác định khả năng cho phép truy cập của từng component

5.1.2. Xem xét permission của component/app trong quá trình tìm ICC

5.2. Phương pháp cải tiến cơ chế ánh xạ luồng thông tin qua liên ứng dụng

5.3. Thử nghiệm và đánh giá mô hình cải tiến

5.4. Kết luận chương

6. CHƯƠNG 6: TRIỂN KHAI HỆ THỐNG

6.1. Mô hình triển khai

6.2. Các giao diện chính

6.2.1. Agent trên thiết bị

6.2.2. Ứng dụng Web

6.3. Kết luận chương

Tài liệu tham khảo

Tóm tắt

I. Tổng Quan Hệ Thống Phát Hiện Spyware Android Giới Thiệu

Sự gia tăng nhanh chóng của các thiết bị Android kéo theo nguy cơ về bảo mật Android. Thống kê cho thấy, phần lớn malware Android mới nhắm mục tiêu vào hệ điều hành này, đe dọa quyền riêng tư Androidbảo vệ quyền riêng tư Android của người dùng. Bài viết này giới thiệu tổng quan về các phương pháp và cơ chế phát hiện spyware trên nền tảng Android. Nghiên cứu tập trung vào việc xây dựng một hệ thống phát hiện spyware hiệu quả, nhằm giảm thiểu rủi ro từ các ứng dụng độc hại Android. Theo một thống kê, số lượng thiết bị Android bán ra hàng năm đang gia tăng, khiến hệ điều hành này trở thành mục tiêu hấp dẫn cho những kẻ tấn công. Mục tiêu chính là bảo vệ người dùng khỏi các nguy cơ spyware lây lan như thế nào trên Android.

1.1. Tại Sao Cần Phát Hiện Spyware Trên Android

Điện thoại thông minh ngày càng trở nên quan trọng trong cuộc sống hàng ngày, chứa đựng nhiều thông tin cá nhân nhạy cảm. Sự gia tăng của phần mềm độc hại Android, đặc biệt là spyware, đe dọa nghiêm trọng đến bảo mật Android của người dùng. Spyware có thể đánh cắp dữ liệu, theo dõi vị trí, và thậm chí kiểm soát thiết bị từ xa. Việc phát hiện và loại bỏ spyware kịp thời là vô cùng quan trọng để bảo vệ thông tin cá nhân và ẩn danh trên Android.

1.2. Mục Tiêu Của Hệ Thống Phát Hiện Spyware Android

Hệ thống phát hiện spyware hướng đến việc xác định và ngăn chặn các ứng dụng có hành vi gián điệp. Mục tiêu bao gồm: phát hiện phần mềm gián điệp Android dựa trên các cơ chế phát hiện spyware khác nhau, cung cấp thông tin chi tiết về các mối đe dọa, và hỗ trợ người dùng gỡ spyware trên Android. Hệ thống cần phải hiệu quả, chính xác và dễ sử dụng, đảm bảo bảo mật Android tối ưu.

II. Các Thách Thức Trong Phát Hiện Spyware Trên Android

Việc phát hiện phần mềm gián điệp Android đặt ra nhiều thách thức lớn. Phần mềm độc hại Android ngày càng tinh vi, sử dụng các kỹ thuật che giấu phức tạp để tránh bị phát hiện. Các kỹ thuật này bao gồm làm rối mã nguồn, mã hóa, và thực hiện các hành vi độc hại chỉ khi đáp ứng các điều kiện nhất định. Thêm vào đó, sự đa dạng của các thiết bị và phiên bản Android khác nhau làm tăng tính phức tạp của việc xây dựng một hệ thống phát hiện spyware hiệu quả. Theo một nghiên cứu, spyware thường lợi dụng các lỗ hổng bảo mật trong hệ điều hành để xâm nhập và lây lan. Nguy cơ spyware Android ngày càng cao đòi hỏi các giải pháp bảo mật tiên tiến.

2.1. Kỹ Thuật Che Giấu Của Spyware Android

Spyware thường sử dụng các kỹ thuật như làm rối mã nguồnmã hóa để gây khó khăn cho việc phân tích và phát hiện. Một số spyware chỉ kích hoạt các hành vi độc hại khi đáp ứng một số điều kiện nhất định, ví dụ như khi thiết bị kết nối với một mạng Wi-Fi cụ thể hoặc khi người dùng thực hiện một thao tác cụ thể. Điều này làm cho việc phát hiện malware Android trở nên khó khăn hơn rất nhiều.

2.2. Sự Đa Dạng Của Thiết Bị Android Vấn Đề Phân Mảnh

Hệ sinh thái Android rất đa dạng, với nhiều nhà sản xuất và phiên bản hệ điều hành khác nhau. Sự phân mảnh này gây khó khăn cho việc xây dựng một hệ thống phát hiện spyware hoạt động hiệu quả trên tất cả các thiết bị. Mỗi thiết bị có thể có các lỗ hổng bảo mật riêng, và một phương pháp phát hiện spyware hiệu quả trên một thiết bị có thể không hiệu quả trên một thiết bị khác. Do đó, việc bảo mật Android đòi hỏi các giải pháp linh hoạt và có khả năng thích ứng cao.

2.3. Khó Khăn Trong Phân Tích Hành Vi Ứng Dụng Android

Việc phân tích hành vi ứng dụng Android gặp nhiều khó khăn do ứng dụng có thể thực hiện các hành động khác nhau tùy thuộc vào điều kiện môi trường. Ví dụ, một ứng dụng có thể thu thập thông tin vị trí chỉ khi người dùng cho phép, hoặc có thể gửi tin nhắn SMS chỉ khi được kích hoạt bởi một sự kiện cụ thể. Việc theo dõi và phân tích hành vi ứng dụng Android đòi hỏi các kỹ thuật phức tạp và khả năng xử lý lượng lớn dữ liệu.

III. Phương Pháp Phân Tích Tĩnh Để Phát Hiện Spyware Android

Phân tích tĩnh là một phương pháp quan trọng trong việc phát hiện phần mềm gián điệp Android. Phương pháp này không yêu cầu thực thi ứng dụng, mà thay vào đó, tập trung vào việc phân tích mã nguồn, quyền truy cập ứng dụng Android và các thông tin khác có trong gói cài đặt. Phân tích tĩnh có thể phát hiện các ứng dụng yêu cầu quyền đáng ngờ, sử dụng các API nhạy cảm, hoặc chứa các mẫu mã độc hại đã biết. Theo báo cáo, phân tích tĩnh có thể phát hiện phần lớn các ứng dụng độc hại Android đơn giản, nhưng gặp khó khăn với các ứng dụng sử dụng kỹ thuật làm rối mã nguồn.

3.1. Phân Tích Quyền Truy Cập Ứng Dụng Android

Một trong những bước quan trọng nhất trong phân tích tĩnh là kiểm tra các quyềnứng dụng yêu cầu. Các ứng dụng yêu cầu quá nhiều quyền so với chức năng của chúng có thể là dấu hiệu của spyware. Ví dụ, một ứng dụng đèn pin không nên yêu cầu quyền truy cập vào danh bạ hoặc tin nhắn SMS. Phân tích quyền truy cập ứng dụng Android giúp xác định các ứng dụng có khả năng xâm phạm quyền riêng tư Android của người dùng.

3.2. Phân Tích Mã Nguồn Để Tìm Mẫu Spyware Android

Phân tích mã nguồn là một kỹ thuật phức tạp hơn, đòi hỏi khả năng dịch ngược mã và kiểm tra các đoạn mã có dấu hiệu đáng ngờ. Các nhà phân tích có thể tìm kiếm các mẫu mã đã biết liên quan đến spyware, hoặc tìm kiếm các API nhạy cảm được sử dụng một cách bất thường. Kỹ thuật này có thể phát hiện các ứng dụng độc hại Android tinh vi hơn, nhưng đòi hỏi kiến thức chuyên sâu về lập trình và bảo mật Android.

3.3. Ưu Điểm và Hạn Chế Của Phân Tích Tĩnh

Ưu điểm của phân tích tĩnh là nhanh chóng, không yêu cầu thực thi ứng dụng, và có thể phát hiện nhiều loại spyware đơn giản. Tuy nhiên, phân tích tĩnh gặp khó khăn với các ứng dụng sử dụng kỹ thuật làm rối mã nguồn, mã hóa, hoặc chỉ thực hiện các hành vi độc hại khi đáp ứng các điều kiện nhất định. Do đó, phân tích tĩnh thường được sử dụng kết hợp với các phương pháp khác, chẳng hạn như phân tích động.

IV. Phương Pháp Phân Tích Động Để Phát Hiện Spyware Android

Phân tích động là một phương pháp bổ sung cho phân tích tĩnh, tập trung vào việc quan sát hành vi của ứng dụng khi nó đang chạy. Ứng dụng được thực thi trong một môi trường kiểm soát, và các hành động của nó được theo dõi để phát hiện các hành vi đáng ngờ, chẳng hạn như truy cập trái phép vào dữ liệu cá nhân, gửi tin nhắn SMS mà không có sự đồng ý của người dùng, hoặc kết nối đến các máy chủ lạ. Theo nghiên cứu, phân tích động có thể phát hiện các spyware tinh vi hơn, nhưng đòi hỏi nhiều tài nguyên và thời gian hơn so với phân tích tĩnh.

4.1. Giám Sát Hành Vi Ứng Dụng Trong Môi Trường Kiểm Soát

Trong phân tích động, ứng dụng được thực thi trong một môi trường kiểm soát, thường là một máy ảo hoặc một thiết bị thực tế được giám sát chặt chẽ. Mọi hành động của ứng dụng được ghi lại, bao gồm truy cập vào dữ liệu cá nhân, gửi tin nhắn SMS, kết nối đến các máy chủ, và sử dụng các API hệ thống. Việc giám sát này giúp phát hiện các hành vi đáng ngờ có thể chỉ ra sự hiện diện của spyware.

4.2. Phát Hiện Hành Vi Đáng Ngờ Của Spyware Android

Các hành vi đáng ngờ mà phân tích động có thể phát hiện bao gồm truy cập trái phép vào danh bạ, tin nhắn SMS, lịch sử cuộc gọi, vị trí GPS, và các thông tin cá nhân khác. Ngoài ra, phân tích động có thể phát hiện các ứng dụng gửi dữ liệu đến các máy chủ lạ, cài đặt các thành phần độc hại, hoặc thực hiện các hành động khác mà không có sự đồng ý của người dùng. Việc phát hiện các hành vi này giúp xác định và ngăn chặn spyware.

4.3. Ưu Điểm và Hạn Chế Của Phân Tích Động

Ưu điểm của phân tích động là có thể phát hiện các spyware tinh vi hơn, đặc biệt là những ứng dụng sử dụng kỹ thuật làm rối mã nguồn hoặc chỉ thực hiện các hành vi độc hại khi đáp ứng các điều kiện nhất định. Tuy nhiên, phân tích động đòi hỏi nhiều tài nguyên và thời gian hơn so với phân tích tĩnh, và có thể bị đánh lừa bởi các spyware được thiết kế để tránh bị phát hiện trong môi trường kiểm soát.

V. Ứng Dụng Thực Tiễn Hệ Thống Phát Hiện Spyware Android

Hệ thống phát hiện spyware có thể được triển khai trong nhiều ứng dụng thực tiễn, từ các ứng dụng bảo mật Android cho người dùng cá nhân đến các giải pháp bảo mật Android cho doanh nghiệp. Hệ thống này có thể cung cấp thông tin về nguy cơ spyware Android và giúp người dùng kiểm tra điện thoại Android có bị theo dõi không? Ngoài ra, hệ thống có thể được sử dụng để đánh giá an ninh của các ứng dụng trước khi chúng được phân phối trên các cửa hàng ứng dụng.

5.1. Ứng Dụng Bảo Mật Cho Người Dùng Cá Nhân

Hệ thống phát hiện spyware có thể được tích hợp vào các ứng dụng bảo mật Android để cung cấp cho người dùng cá nhân khả năng phát hiện phần mềm gián điệp Android trên thiết bị của họ. Các ứng dụng này có thể quét các ứng dụng đã cài đặt và cảnh báo người dùng về các ứng dụng có hành vi đáng ngờ. Ngoài ra, chúng có thể cung cấp các công cụ để gỡ spyware trên Android và bảo vệ quyền riêng tư Android của người dùng.

5.2. Giải Pháp Bảo Mật Android Cho Doanh Nghiệp

Doanh nghiệp có thể sử dụng hệ thống phát hiện spyware để bảo vệ dữ liệu và thiết bị của nhân viên. Hệ thống có thể được triển khai trên các thiết bị di động do công ty cung cấp hoặc trên các thiết bị cá nhân của nhân viên (BYOD). Nó có thể giúp ngăn chặn spyware xâm nhập vào mạng lưới của công ty và đánh cắp thông tin nhạy cảm.

5.3. Đánh Giá An Ninh Ứng Dụng Trên Cửa Hàng Ứng Dụng

Các cửa hàng ứng dụng có thể sử dụng hệ thống phát hiện spyware để đánh giá an ninh của các ứng dụng trước khi chúng được phân phối. Điều này giúp ngăn chặn việc phân phối các ứng dụng độc hại Android và bảo vệ người dùng khỏi nguy cơ spyware Android.

VI. Kết Luận và Hướng Phát Triển Hệ Thống Phát Hiện Spyware

Hệ thống phát hiện spyware trên nền tảng Android là một lĩnh vực nghiên cứu quan trọng và đầy thách thức. Các phương pháp phân tích tĩnh và động đóng vai trò quan trọng trong việc phát hiện phần mềm gián điệp Android. Hướng phát triển trong tương lai tập trung vào việc kết hợp các phương pháp phân tích khác nhau, sử dụng các kỹ thuật học máy để cải thiện độ chính xác, và phát triển các giải pháp bảo mật Android tự động hơn.

6.1. Tích Hợp Phân Tích Tĩnh và Động Nâng Cao Khả Năng Phát Hiện

Việc kết hợp phân tích tĩnh và động có thể tạo ra một hệ thống phát hiện spyware mạnh mẽ hơn. Phân tích tĩnh có thể được sử dụng để nhanh chóng loại bỏ các ứng dụng vô hại và xác định các ứng dụng có khả năng độc hại. Sau đó, phân tích động có thể được sử dụng để quan sát hành vi của các ứng dụng đáng ngờ và xác định xem chúng có thực sự là spyware hay không.

6.2. Ứng Dụng Học Máy Trong Phát Hiện Spyware Android

Các kỹ thuật học máy có thể được sử dụng để tự động hóa quá trình phát hiện spyware và cải thiện độ chính xác. Các mô hình học máy có thể được huấn luyện trên một tập dữ liệu lớn các ứng dụng đã biết để nhận diện các mẫu hành vi liên quan đến spyware. Điều này có thể giúp phát hiện các spyware mới và tinh vi hơn.

6.3. Phát Triển Giải Pháp Bảo Mật Tự Động và Chủ Động

Hướng phát triển trong tương lai là phát triển các giải pháp bảo mật Android tự động hơn, có khả năng chủ động phát hiện và ngăn chặn spyware trước khi chúng có thể gây hại. Các giải pháp này có thể sử dụng các kỹ thuật như phân tích hành vi theo thời gian thực, phát hiện xâm nhập, và phản ứng tự động để bảo vệ thiết bị và dữ liệu của người dùng.

24/05/2025
Xây dựng hệ thống phát hiện spyware trên nền tảng android

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

Chương 1 trình bày tổng quan chung và lý do thực hiện đề tài, từ đó nêu lên mục tiêu và nội dung chính trong đề tài. Chúng tôi trình bày chi tiết kết quả đạt được của đề tài trong phần 1. Cuối cùng, chúng tôi tóm tắt cấu trúc của báo cáo.1 Giới thiệu chung Theo thống kê của Gartner [1], số lượng thiết bị điện tử có sử dụng hệ điều hành được bán ra trong các năm 2016 và 2017 đạt gần 2,4 tỷ thiết bị. Trong đó các điện thoại thông minh chiếm gần hai tỷ thiết bị, tức là chiếm 77% tổng số lượng các thiết bị.

Mức tăng trưởng của các thiết bị điện thoại thông minh có xu hướng tăng đều. 1 Thị phần thiết bị máy tính (Đơn vị: Triệu) 2500 2000 1500 1000 500 0 2016 2017 2018 2019 Traditional PCs (Desk-Based and Notebook) Ultramobiles (Premium) Ultramobiles (Basic and Utility) Mobile Phones Linear (Mobile Phones) Hình 1. Số lượng thiết bị được bán theo thời gian Theo thống kê của IDC [2], thì hệ điều hành Android là hệ điều hành được sử dụng phổ biến nhất liên tục trong các năm từ 2014 đến 2017. Trong quý 1 năm 2017, số thiết bị sử dụng hệ điều hành Android được bán ra chiếm 85%.

Và dự báo tỷ lệ này tăng đều vào các năm tiếp theo. Thống kê thị phần hệ điều hành được sử dụng Theo thống kê của F-Secure [3] thì trong năm 2013 có 99% malware mới nhắm vào mục tiêu là hệ điều hành Android. Theo thống kê của Symantec [4], trong năm 2014 có 94% malware mới nhắm vào hệ điều hành Android. Do đặc tính cấu hình và mục đích sử dụng của các điện thoại thông minh khác với các máy tính truyền thống nên hành vi tấn công của các phần mềm độc hại trên điện thoại thông minh và trên máy tính truyền thống có nhiều khác biệt.

Bảng 1 mô tả các nhóm hành vi tấn công của phần mềm độc hại trên điện thoại thông minh. Nhóm các hành vi tấn công trên điện thoại thông minh Nhóm hành vi Mô tả Steals device data Thu thập các thông tin của thiết bị, như mã số IMEI hoặc IMSI. Thông tin về hệ điều hành và thông tin cấu hình của điện thoại. 3 Spies on user Cố tình thu thập các thông tin trên thiết bị để theo dõi người dùng, ví dụ: thu thập nhật ký cuộc gọi, nội dung tin nhắn SMS rồi gởi đến cho một máy chủ trên Internet.

Sends premium SMSs Gởi tin nhắn đến các tổng đài tính phí để tính phí tin nhắn. Downloader Có thể tải các thành phần nguy hiểm khác từ Internet lên thiết bị nạn nhân. Back door Cho phép kẻ tấn công giao tiếp và điều khiển thiết bị nạn nhân từ xa. Tracks location Thu thập thông tin GPS để theo dõi vị trí của nạn nhân.

Modifies settings Thay đổi thông tin cấu hình trên thiết bị nạn nhân. Spam Gởi hàng loạt email hoặc tin nhắn đến thiết bị của nạn nhân. Steals media Gởi các nội dung số, ví dụ: ảnh, phim đến một máy chủ trên mạng. Elevates privileges Tìm cách gán thêm quyền cho ứng dụng nhiều hơn so với các quyền mà người dùng nhìn thấy khi cài đặt ứng dụng.

Banking Trojan Theo dõi các giao dịch ngân hàng trên thiết bị, lấy cắp thông tin nhạy cảm và thực hiện các hành vi nguy hiểm liên quan. SEO poisoning Truy cập đến những địa chỉ URL trên Internet nhằm làm tăng thứ hạng của trang web có URL này. Adware/ Annoyance Quảng bá thông tin quảng cáo đến người dùng. DDOS Utility Tấn công từ chối dịch vụ Hacktool Kẻ tấn công dùng thiết bị của nạn nhân trong việc tấn công mạng, thậm chí lấy thông tin trên thiết bị của nạn nhân.

4 Theo thống kê của Symantec [4] thì nhóm hành vi đánh cắp thông tin trên thiết bị và theo dõi người dùng chiếm tỷ lệ cao nhất với 36%. Thống kê tỷ lệ nhóm hành vi tấn công trên điện thoại thông minh trong hai năm 2013 và 2014 Tỷ lệ trong năm Tỷ lệ trong năm Nhóm hành vi 2014 2013 Steals Device Data 36% 17% Spies On User 36% 28% Sends Premium SMS 16% 5% Downloader 18% 8% Back door 18% 12% Tracks Location 9% 3% Modifies Settings 20% 8% Spam 7% 3% Steals Media 0% 3% Elevates Privileges 7% 2% Banking Trojan 7% 3% SEO Poisoning 0% 0% Adware/ Annoyance 13% 9% DDOS Utility 0% 0% Hacktool 0% 0% Như vậy, nguy cơ bảo mật trên các thiết bị điện thoại thông minh sử dụng hệ điều hành Android ảnh hưởng đến nhiều người dùng trên thế giới. Việc nghiên cứu bảo mật trên điện thoại thông minh nói chung và trên điện thoại thông minh sử dụng hệ điều hành Android trở nên cấp thiết.2 Một số công trình trên thế giới liên quan đến việc phát hiện nguy cơ gây thất thoát thông tin nhạy cảm trên Android Các nghiên cứu liên quan đến việc phát hiện nguy cơ gây thất thoát thông tin nhạy cảm trên Android có thể được phân thành ba nhóm: phân tích tĩnh, phân tích động và phân tích kết hợp. Các phương pháp phân tích malware Phân tích tĩnh là phương pháp phân tích không cần thực thi ứng dụng trong khi đó phân tích động là phương pháp phân tích dựa vào các thông tin thu được khi chạy ứng dụng.

Phương pháp phân tích tổng hợp là phương pháp kết hợp cả phương pháp phân tích tĩnh và phương pháp phân tích động.1 Phân tích tĩnh Phân tích tĩnh là phương pháp phân tích được sử dụng phổ biến [5-14]. Phân tích tĩnh không cần thực thi ứng dụng. Các thông tin dùng để phát hiện malware nằm trong gói tập tin cài đặt, hoặc mã nguồn của hệ điều hành. Ví dụ: thông tin từ tập tin AndroidManifest.xml, tập tin Java, hàm API và mã nguồn khác được rút trích từ tập tin của ứng dụng.

Hình 4 mô tả cấu trúc của tập tin APK. Cấu trúc tập tin apk Quá trình phân tích tĩnh có thể bao gồm các bước chính sau: - Dịch ngược các tập tin cài đặt của ứng dụng sang mã nguồn có thể đọc được như mã hợp ngữ, mã Java, hay mã Jimple. - Rút trích các thông tin đặc trưng từ mã nguồn. - Phân tích các đặc trưng thu được để phát hiện các bất thường nếu có.

Quá trình phân tích tĩnh Trong bước dịch ngược các tập tin cài đặt sang mã nguồn, các công cụ như ApkTool [15], Dalvik decompider [16] thường được sử dụng. Các thông tin đặc trưng thường dùng là permission, system call, control flow graph (CFG), data flow graph, activity flow graph, component flow graph, thậm chí là application flow graph. Các nghiên cứu [5-10] dùng thông tin permission trong tập tin AndroidManifest.xml như là các đặc trưng cho quá trình phân tích. DroidAnalytics [17] sử dụng thông tin về việc gọi hàm API để làm đặc trưng cho 7 mỗi ứng dụng.

Trong khi đó FlowDroid [11], PCLeaks [12], DidFail [13] và IccTA [14] dùng Control Flow Graph trong quá trình phân tích. Ưu điểm: Phân tích tĩnh có ưu điểm là không cần thiết lập môi trường để thực thi ứng dụng. Việc phân tích này có thể thực hiện độc lập với việc chạy ứng dụng. Việc phân tích này có thể triển khai trên các máy tính có cấu hình mạnh mà không cần thiết giả lập các thiết bị di động.

Nhược điểm: Kỹ thuật này gặp khó khăn khi phân tích các malware sử dụng kỹ thuật làm rối mã nguồn, mã hóa mã nguồn hoặc các malware chỉ thực hiện các thao tác nguy hiểm khi chạy chương trình.2 Phân tích động Khác với phân tích tĩnh, phân tích động là phương pháp phân tích cần thực thi chương trình. Các ứng dụng được thực thi trong các máy ảo, môi trường giả lập hoặc trên một thiết bị thật. Việc thực thi các ứng dụng này cho phép các nhà nghiên cứu giám sát các hành vi của ứng dụng thay vì dựa vào mã nguồn của ứng dụng. Hình 6 mô tả các bước chính trong phân tích động.

Quá trình phân tích động CrowDroid [18], Paranoid [19], TaintDroid [20], MADAM [21], Andromaly [22] đều sử dụng kỹ thuật phân tích động. Hình 7 mô tả quá trình phân tích động của TaintDroid. 8 Mobile Phone Install App New application Virtual Machine Taint tracking: -Variable level Dynamic Taint -Method level Analysis -Message level -File level Hình 7. Quá trình phân tích động của TaintDroid Kỹ thuật phân tích động thường gắn tracer (đoạn mã dùng để ghi lại những hành vi của ứng dụng) ở các lớp khác nhau của kiến trúc Android.

Từ đó tiến hành phân tích những thông tin thu thập được để phát hiện những hành vi bất thường. Hình 8 mô tả kiến trúc của hệ điều hành Andoid. Các lớp trong kiến trúc của hệ điều hành Android Để thuận tiện cho việc thu thập thông tin của tracer, kỹ thuật phân tích động thường phải tạo môi trường giả lập (emulator) để thực thi ứng dụng mục tiêu. Các 9 emulator và hệ điều hành Android thường được chỉnh sửa các module phù hợp để tiến hành ghi lại các hành vi của ứng dụng.

Số lượng các hành vi của ứng dụng lúc thực thi rất nhiều, do đó cần phải kết hợp với kỹ thuật phân tích tĩnh để giới hạn các hành vi mục tiêu. Ví dụ: TaintDroid [20] sử dụng taint tracking bằng cách gắn tracer vào Dalvik VM. Trong khi đó, DroidBox [23] sử dụng cả taint tracking và core lib tracking. Còn TraceDroid [24] thực hiện API tracking bằng cách chỉnh sửa các thành phần của hệ điều hành Android và tiến hành trên emulator.

DroidScope [25] sử dụng VMI tracking và chỉnh sửa Dalvik VM để tiến hành tracking trên emulator. Mobile-Sandbox [26] giống như DroidBox, chỉ khác ở điểm là tracer được gắn ở core lib thay vì Dalvik VM. Ưu điểm: Kỹ thuật phân tích động có thể phát hiện các hành vi nguy hiểm của ứng dụng trong lúc chạy. Điều này giải quyết các hạn chế của kỹ thuật phân tích tĩnh.

Nhược điểm: Kỹ thuật phân tích động thường phụ thuộc vào các emulator và các chỉnh sửa trong hệ điều hành Android. Trong khi đó, một số malware có khả năng kiểm tra môi trường thực thi có phải là emulator hay không, từ đó sẽ thay đổi hành vi khác đi nếu chạy trên emulator. Bên cạnh đó, việc sử dụng công cụ Android Monkey [27] để phát sinh ngẫu nhiên các tương tác người dùng trong quá trình thực thi các ứng dụng cũng gặp nhiều thách thức như: các tương tác phát sinh thường không giống với tương tác của người dùng thực sự. Điều này không thể kiểm tra chính xác tất cả các hành vi trong thực tế.

Bên cạnh đó, việc lựa chọn vị trí để gắn tracer cũng ảnh hưởng nhiều đến độ chính xác trong việc phân tích. Nếu tracer gắn ở các lớp cao thì có khả năng thu thập được một số hành vi giới hạn. Ngược lại, nếu gắn tracer ở các lớp thấp thì thông tin thu thập được nhiều, tuy nhiên việc này có thể gây tốn nhiều tài nguyên và thời gian.

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

Tóm tắt tài liệu "Hệ Thống Phát Hiện Spyware Trên Nền Tảng Android" trình bày một hệ thống được thiết kế để phát hiện phần mềm gián điệp (spyware) trên các thiết bị Android. Tài liệu này có thể cung cấp cho người đọc kiến thức về các kỹ thuật và phương pháp được sử dụng để xác định và loại bỏ các ứng dụng độc hại, giúp bảo vệ thông tin cá nhân và dữ liệu trên điện thoại của họ. Việc hiểu rõ cách thức hoạt động của các hệ thống phát hiện spyware là vô cùng quan trọng trong bối cảnh các mối đe dọa an ninh mạng ngày càng gia tăng.

Nếu bạn quan tâm đến các phương pháp phát hiện mã độc nói chung, bạn có thể tìm hiểu thêm trong luận văn nghiên cứu về Luận văn nghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máy. Tài liệu này sẽ cung cấp cho bạn cái nhìn sâu sắc hơn về việc sử dụng học máy để phát hiện các loại mã độc khác nhau, không chỉ giới hạn ở spyware.