Phát Hiện Khả Năng Rò Rỉ Thông Tin Riêng Tư Trong Ứng Dụng Android

Tài liệu nghiên cứu Luận văn phát hiện khả năng rò rỉ thông tin riêng tư trong ứng dụ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ề .

Trường đại học

Trường Đại Học Quy Nhơn

Chuyên ngành

Khoa Học Máy Tính

Người đăng

Ẩn danh

Thể loại

luận văn

2021

60
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN VỀ ANDROID VÀ VẤN ĐỀ RÒ RỈ THÔNG TIN RIÊNG TƯ TRONG CÁC ỨNG DỤNG

1.1. GIỚI THIỆU TỔNG QUAN VỀ ANDROID

1.1.1. Kiến trúc chung của Android

1.1.2. Các thành phần của ứng dụng Android

1.1.3. Kiến trúc tệp APK

1.1.4. Tính năng bảo mật của Android

1.1.5. Mô hình phân quyền của Android

1.1.6. Các cấp độ bảo vệ quyền của Android

1.1.7. Phần mềm độc hại Android

1.2. RÒ RỈ VÀ PHƯƠNG PHÁP PHÂN TÍCH PHÁT HIỆN RÒ RỈ THÔNG TIN RIÊNG TƯ

1.2.1. Rò rỉ thông tin và tính bảo mật trong các ứng dụng Android

1.2.2. Nguyên nhân chính làm rò rỉ thông tin trên Android

1.2.3. Các phương pháp phân tích để phát hiện rò rỉ thông tin

1.2.3.1. Phương pháp phân tích tĩnh
1.2.3.2. Phương pháp phân tích động

1.3. TIỂU KẾT CHƯƠNG 1

2. CHƯƠNG 2: PHÁT HIỆN KHẢ NĂNG RÒ RỈ THÔNG TIN RIÊNG TƯ TRONG ỨNG DỤNG ANDROID SỬ DỤNG SVM

2.1. PHÁT HIỆN KHẢ NĂNG RÒ RỈ THÔNG TIN TRONG ỨNG DỤNG ANDROID THEO HƯỚNG HỌC MÁY

2.1.1. Một số phương pháp phân tích phát hiện rò rỉ thông tin theo hướng học máy

2.1.2. Phương pháp phân tích dựa vào các quyền truy cập theo hướng học máy

2.1.3. Phân tích dựa trên mã nguồn theo hướng học máy

2.1.4. Phát hiện rò rỉ thông tin riêng tư theo hướng mô hình học máy

2.1.5. Kiến trúc chung của các mô hình học máy

2.2. SỬ DỤNG SVM ĐỂ PHÁT HIỆN RÒ RỈ THÔNG TIN TRONG ỨNG DỤNG ANDROID

2.2.1. Cơ sở toán học của mô hình SVM

2.2.2. Kiến trúc của mô hình SVM trong việc phát hiện rò rỉ thông tin

2.2.3. Ưu điểm mô hình SVM trong việc phát hiện rò rỉ thông tin

2.3. ĐẶC TRƯNG TRONG CÁC ỨNG DỤNG ANDROID

2.3.1. Đặc trưng quyền truy cập

2.3.2. Đặc trưng Broadcast Receivers

2.3.3. Đặc trưng các lớp API

2.3.4. Tiền xử lý dữ liệu và lựa chọn đặc trưng

2.3.4.1. Vector hóa các đặc trưng

2.3.5. Giới thiệu về phương pháp đánh giá chéo

2.4. TIỂU KẾT CHƯƠNG 2

3. CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ

3.1. GIỚI THIỆU PHÁT BIỂU BÀI TOÁN

3.1.1. Phát biểu bài toán

3.2. CÀI ĐẶT MÔ PHỎNG

3.2.1. Môi trường và ngôn ngữ lập trình

3.2.2. Công cụ và thư viện

3.2.3. Bộ dữ liệu. Trích xuất và lựa chọn đặc trưng

3.2.3.1. Đặc trưng quyền truy cập
3.2.3.2. Đặc trưng đồ thị luồng điều khiển
3.2.3.3. Vector hóa đặc trưng

3.3. KẾT QUẢ CÀI ĐẶT THỰC NGHIỆM VÀ ĐÁNH GIÁ

3.3.1. Kết quả cài đặt

3.3.2. Đánh giá kết quả của mô hình

3.3.3. Nhận xét và kết quả cài đặt

3.4. TIỂU KẾT CHƯƠNG 3

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

DANH MỤC TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Rò Rỉ Thông Tin Riêng Tư Android Mối Nguy

Android, hệ điều hành mã nguồn mở phổ biến, đang đối mặt với thách thức lớn về rò rỉ dữ liệu Android. Sự gia tăng của các thiết bị Android đã tạo điều kiện cho các cuộc tấn công mạng, đặc biệt là thông qua các ứng dụng Android độc hại. Các ứng dụng này có thể thu thập và làm rò rỉ thông tin cá nhân Android của người dùng. Các kỹ thuật tấn công ngày càng tinh vi, vượt qua các hệ thống phát hiện truyền thống. Do đó, việc nghiên cứu và phát triển các phương pháp phát hiện rò rỉ thông tin hiệu quả là vô cùng quan trọng. Luận văn này tập trung vào việc phát hiện khả năng rò rỉ thông tin riêng tư trong các ứng dụng Android, sử dụng các kỹ thuật học máy để đối phó với các mối đe dọa ngày càng phức tạp.

1.1. Sự Phổ Biến Của Android Và Nguy Cơ Rò Rỉ Dữ Liệu

Theo International Data Corporation (IDC), Android chiếm thị phần lớn trên thị trường điện thoại thông minh. Điều này khiến nó trở thành mục tiêu hấp dẫn cho các tác giả phần mềm độc hại Android. Sự phổ biến của Android, cùng với tính chất mã nguồn mở, tạo điều kiện cho việc phát triển và phân phối các ứng dụng độc hại, gây ra data breach Androidprivacy violation Android. Các ứng dụng này có thể lạm dụng các tính năng của nền tảng hoặc khai thác các lỗ hổng bảo mật để truy cập và làm rò rỉ dữ liệu bí mật của người dùng.

1.2. Các Phương Pháp Phân Tích Phát Hiện Rò Rỉ Thông Tin

Các nghiên cứu về phát hiện phần mềm độc hại Android thường sử dụng ba phương pháp chính: phân tích tĩnh ứng dụng Android, phân tích động ứng dụng Android, hoặc kết hợp cả hai. Phân tích tĩnh tập trung vào việc phân tích mã nguồn để trích xuất các đặc trưng. Phân tích động giám sát ứng dụng trong quá trình chạy trong môi trường ảo. Cả hai phương pháp đều sử dụng các thuật toán học máy để xây dựng mô hình phân loại và phát hiện các ứng dụng độc hại. Các mô hình này được huấn luyện bằng dữ liệu về các đặc trưng malware Android thu thập được từ phân tích tĩnh hoặc động.

II. Kiến Trúc Android Hiểu Rõ Để Phát Hiện Rò Rỉ Dữ Liệu

Kiến trúc Android được chia thành bốn lớp chính, từ phần cứng đến ứng dụng người dùng. Lớp nhân Linux là nền tảng, cung cấp các dịch vụ hệ điều hành và quản lý phần cứng. Lớp thư viện gốc cung cấp các thư viện nguồn mở để xử lý dữ liệu. Lớp khung ứng dụng (Application framework) bao gồm các API Android để phát triển ứng dụng. Cuối cùng, lớp ứng dụng cung cấp các chức năng cho người dùng cuối. Hiểu rõ kiến trúc này là rất quan trọng để kiểm tra bảo mật ứng dụng Androidphát hiện lỗ hổng bảo mật Android.

2.1. Các Thành Phần Của Ứng Dụng Android

Một ứng dụng Android bao gồm các lớp, tài nguyên và tệp AndroidManifest.xml. Tệp AndroidManifest.xml là tệp cấu hình quan trọng, liệt kê thông tin về ứng dụng, bao gồm tên gói Java, các thành phần của ứng dụng, quyền truy cập và các thư viện khác. Cấu trúc của ứng dụng Android bao gồm bốn thành phần chính: Activity, Service, BroadCastReceiver và ContentProvider. Tất cả các thành phần này được khai báo trong tệp AndroidManifest.

2.2. Tệp APK Cấu Trúc Và Thành Phần Quan Trọng

Tệp APK (Android Package Kit) là định dạng tệp được sử dụng để phân phối các ứng dụng Android. Nó bao gồm các thành phần chính như tệp dex (mã bytecode), AndroidManifest.xml (thông tin về ứng dụng), lib (thư viện hỗ trợ), res (tài nguyên), assets (tài sản), và META-INF (chữ ký số). Việc phân tích cấu trúc tệp APK là một bước quan trọng trong quá trình reverse engineering ứng dụng Androidphân tích tĩnh ứng dụng Android để tìm kiếm các dấu hiệu của ứng dụng Android nguy hiểm.

2.3. Tính Năng Bảo Mật Của Android Cơ Chế Hoạt Động

Bảo mật Android dựa trên các yếu tố chính: nhân Linux, Sandboxing ứng dụng, chữ ký ứng dụng và mô hình phân quyền. Sandboxing ứng dụng cô lập các quy trình và dữ liệu của ứng dụng. Chữ ký ứng dụng xác định tác giả của ứng dụng. Mô hình phân quyền bảo vệ tài nguyên và chức năng của điện thoại, chỉ cho phép các ứng dụng được cấp quyền truy cập. Các nhà phát triển cần khai báo các quyền cần thiết trong tệp AndroidManifest.xml, và người dùng cần cấp quyền tại thời điểm cài đặt.

III. Phương Pháp SVM Phát Hiện Rò Rỉ Thông Tin Hướng Dẫn Chi Tiết

Luận văn này sử dụng Support Vector Machine (SVM) để phát hiện rò rỉ thông tin riêng tư trong các ứng dụng Android. SVM là một thuật toán học máy mạnh mẽ, có khả năng phân loại dữ liệu hiệu quả. SVM được sử dụng để xây dựng mô hình phân loại dựa trên các đặc trưng của ứng dụng, như quyền truy cập, Broadcast Receivers và các lớp API. Mô hình này có thể dự đoán khả năng rò rỉ thông tin của một ứng dụng dựa trên các đặc trưng này.

3.1. Học Máy Trong Phát Hiện Rò Rỉ Thông Tin Android

Các kỹ thuật học máy đang ngày càng trở nên phổ biến trong việc phát hiện rò rỉ thông tin Android. Các phương pháp này bao gồm phân tích dựa trên quyền truy cập, phân tích dựa trên mã nguồn và phân tích dựa trên mô hình học máy. Các mô hình học máy có thể học các mẫu từ dữ liệu và dự đoán khả năng rò rỉ thông tin của một ứng dụng. Kiến trúc chung của các mô hình học máy bao gồm các bước: thu thập dữ liệu, tiền xử lý dữ liệu, lựa chọn đặc trưng, huấn luyện mô hình và đánh giá mô hình.

3.2. Cơ Sở Toán Học Và Kiến Trúc Của Mô Hình SVM

SVM là một thuật toán học máy dựa trên cơ sở toán học vững chắc. Nó tìm kiếm một siêu phẳng (hyperplane) tối ưu để phân tách các lớp dữ liệu. Kiến trúc của mô hình SVM trong việc phát hiện rò rỉ thông tin bao gồm các bước: trích xuất đặc trưng từ ứng dụng Android, vector hóa các đặc trưng, huấn luyện mô hình SVM và đánh giá hiệu suất của mô hình. Ưu điểm của SVM là khả năng xử lý dữ liệu phi tuyến tính và khả năng khái quát hóa tốt.

3.3. Đặc Trưng Quan Trọng Trong Ứng Dụng Android

Các đặc trưng quan trọng trong ứng dụng Android bao gồm quyền truy cập (permission Android), Broadcast Receivers và các lớp API (API Android). Quyền truy cập cho biết các tài nguyên mà ứng dụng có thể truy cập. Broadcast Receivers cho phép ứng dụng nhận và phản hồi các tin nhắn quảng bá. Các lớp API cho biết các chức năng mà ứng dụng sử dụng. Việc lựa chọn đặc trưng phù hợp là rất quan trọng để xây dựng một mô hình SVM hiệu quả.

IV. Cài Đặt Thử Nghiệm Và Đánh Giá Mô Hình SVM Kết Quả Bất Ngờ

Để đánh giá hiệu quả của phương pháp SVM, luận văn đã thực hiện cài đặt thử nghiệm và đánh giá mô hình trên một bộ dữ liệu các ứng dụng Android. Môi trường và ngôn ngữ lập trình được sử dụng là Android Studio và Java. Các công cụ và thư viện hỗ trợ bao gồm scikit-learn. Kết quả thử nghiệm cho thấy mô hình SVM có khả năng phát hiện rò rỉ thông tin với độ chính xác cao. Tuy nhiên, vẫn còn một số hạn chế cần được khắc phục trong tương lai.

4.1. Phát Biểu Bài Toán Và Cài Đặt Mô Phỏng

Bài toán được phát biểu là xây dựng một mô hình SVM để phân loại các ứng dụng Android thành hai loại: ứng dụng có khả năng rò rỉ thông tin và ứng dụng không có khả năng rò rỉ thông tin. Quá trình cài đặt mô phỏng bao gồm các bước: thu thập bộ dữ liệu, trích xuất và lựa chọn đặc trưng, vector hóa đặc trưng và huấn luyện mô hình SVM. Các đặc trưng được sử dụng bao gồm quyền truy cập và đồ thị luồng điều khiển.

4.2. Kết Quả Cài Đặt Thực Nghiệm Và Đánh Giá

Kết quả cài đặt thực nghiệm cho thấy mô hình SVM có khả năng dự đoán chính xác khả năng rò rỉ thông tin của các ứng dụng Android. Các chỉ số đánh giá như độ chính xác, độ thu hồi và độ đo F1 đều đạt giá trị cao. Tuy nhiên, mô hình vẫn còn một số hạn chế, như khả năng xử lý dữ liệu không cân bằng và khả năng khái quát hóa trên các bộ dữ liệu khác nhau.

4.3. Nhận Xét Về Kết Quả Và Hướng Phát Triển

Kết quả cài đặt cho thấy phương pháp SVM là một phương pháp tiềm năng để phát hiện rò rỉ thông tin trong các ứng dụng Android. Tuy nhiên, cần có thêm nghiên cứu để cải thiện hiệu suất của mô hình và giải quyết các hạn chế hiện tại. Hướng phát triển trong tương lai bao gồm sử dụng các thuật toán học máy khác, kết hợp các đặc trưng khác nhau và xây dựng các mô hình phân loại phức tạp hơn.

V. Kết Luận Và Hướng Phát Triển Tương Lai Của Bảo Mật Android

Luận văn đã trình bày một phương pháp sử dụng SVM để phát hiện rò rỉ thông tin riêng tư trong các ứng dụng Android. Kết quả thử nghiệm cho thấy phương pháp này có tiềm năng lớn trong việc bảo vệ người dùng khỏi các mối đe dọa bảo mật. Tuy nhiên, vẫn còn nhiều thách thức cần được giải quyết trong tương lai. Các hướng phát triển bao gồm nghiên cứu các thuật toán học máy mới, kết hợp các kỹ thuật phân tích tĩnh và động, và xây dựng các hệ thống phát hiện rò rỉ thông tin tự động.

5.1. Tóm Tắt Kết Quả Đạt Được

Luận văn đã đạt được các kết quả sau: (1) Xây dựng được một mô hình SVM để phát hiện rò rỉ thông tin trong các ứng dụng Android. (2) Đánh giá hiệu suất của mô hình trên một bộ dữ liệu thực tế. (3) Xác định các đặc trưng quan trọng trong việc phát hiện rò rỉ thông tin. (4) Đề xuất các hướng phát triển trong tương lai.

5.2. Những Vấn Đề Còn Tồn Tại

Luận văn vẫn còn một số vấn đề tồn tại, bao gồm: (1) Khả năng xử lý dữ liệu không cân bằng. (2) Khả năng khái quát hóa trên các bộ dữ liệu khác nhau. (3) Khả năng phát hiện các ứng dụng độc hại mới. (4) Yêu cầu về tài nguyên tính toán lớn.

5.3. Hướng Phát Triển Tiếp Theo

Các hướng phát triển tiếp theo bao gồm: (1) Sử dụng các thuật toán học máy khác, như mạng nơ-ron sâu. (2) Kết hợp các kỹ thuật phân tích tĩnh và động. (3) Xây dựng các hệ thống phát hiện rò rỉ thông tin tự động. (4) Nghiên cứu các phương pháp bảo vệ người dùng khỏi rò rỉ dữ liệu Android.

04/06/2025
Luận văn phát hiện khả năng rò rỉ thông tin riêng tư trong ứng dụng android

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

Chương 1 trình bày tổng quan về hệ điều hành Android và vấn đề rò rỉ thông tin riêng tƣ trong các ứng dụng chạy trên Android, một số nghiên cứu tiêu biểu liên quan đến bài 2 toán. Chương 2 trình bày kiến thức cơ sở về mô hình SVM và phƣơng pháp áp dụng nó vào giải quyết bài toán đặt ra trong luận văn. Chương 3 trình bày phƣơng pháp cài đặt thử nghiệm và đánh giá. Cuối mỗi chƣơng đều có phần Tiểu kết để tổng kết lại nội dung của chƣơng.

Ngoài các chƣơng chính đã nêu trên, luận văn kết thúc với phần Kết luận và hướng phát triển để tóm tắt những kết quả đạt đƣợc, những vấn đề còn tồn tại và dự kiến hƣớng phát triển tiếp theo của luận văn. TỔNG QUAN VỀ ANDROID VÀ VẤN ĐỀ RÒ RỈ THÔNG TIN RIÊNG TƢ TRONG CÁC ỨNG DỤNG Chương này trình bày, giới thiệu tổng quan về Android, cách hoạt động của các ứng dụng Android. Đồng thời, chương này cũng làm sáng tỏ cơ chế bảo mật của Android, kiến trúc của các ứng dụng chạy trên nó. GIỚI THIỆU Theo International Data Corporation (IDC), hệ điều hành Android là nền tảng điện thoại thông minh phổ biến nhất với 82,2% thị phần điện thoại thông minh, trong khi iOS là 13,9% trong quý 2 năm 2015 [1].

Nói theo thống kê, nó cũng là nền tảng đƣợc nhắm mục tiêu đầu tiên bởi các tác giả phần mềm độc hại đang tìm cách chiếm quyền kiểm soát hàng triệu điện thoại thông minh Android trên thế giới. Do sự phổ biến của điện thoại thông minh Android, bảo mật của ứng dụng chạy trên nó là một vấn đề nghiêm trọng đối với 80% ngƣời dùng điện thoại thông minh. Android là một môi trƣờng phát triển mã nguồn mở cung cấp Bộ công cụ phát triển (SDK – Software Development Kit) phong phú, cho phép các nhà phát triển triển khai các ứng dụng của riêng họ và phân phối chúng thông qua các kho ứng dụng Android. Sự phổ biến của Android là kết quả của việc trở thành nguồn mở, trung tâm phân phối của bên thứ ba, SDK phong phú và sự phổ biến của ngôn ngữ lập trình Java.

Điều quan trọng là do môi trƣờng mở này, các tác giả phần mềm độc hại có thể phát triển các ứng dụng độc hại lạm dụng các tính năng mà nền tảng cung cấp hoặc đóng gói một ứng dụng hợp pháp bằng một đoạn mã độc hại. Bên cạnh đó, khai thác các lỗ hổng trong nền tảng, phần cứng hoặc các ứng dụng đã cài đặt khác để thực hiện các hành vi độc hại. Chủ yếu, các tác giả phần mềm độc hại tìm cách truy cập vào dữ liệu bí mật làm rò rỉ thông tin riêng tƣ của ngƣời dùng thiết bị. Ngay cả 4 các ứng dụng hợp pháp cũng có nguy cơ xâm phạm quyền riêng tƣ.

Các nghiên cứu trong lĩnh vực phát hiện phần mềm độc hại Android hoạt động theo ba cách tiếp cận: phân tích tĩnh, phân tích động hoặc kết hợp. Trong phân tích tĩnh, phần mềm độc hại đƣợc tách rời thành mã nguồn từ nơi các tính năng cụ thể đƣợc trích xuất. Trong phân tích động, phần mềm độc hại đƣợc giám sát tại thời điểm chạy trong môi trƣờng ảo. Trong cả hai cách tiếp cận, các thuật toán học máy đã đƣợc sử dụng để xây dựng các mô hình phân loại bằng cách huấn luyện các bộ phân loại với bộ dữ liệu về các tính năng malware đƣợc thu thập từ phân tích tĩnh hoặc động.

Sau đó, các mô hình phân loại đã học đƣợc sử dụng để phát hiện và phân loại các ứng dụng độc hại. Hầu hết, các nghiên cứu về phát hiện phần mềm độc hại trên Android tập trung vào việc xác định các tính năng của ứng dụng độc hại bằng cách sử dụng các kỹ thuật máy học để nhận ra và mô hình hóa các mẫu độc hại của các tính năng tĩnh và hành vi động của phần mềm độc hại. GIỚI THIỆU TỔNG QUAN VỀ ANDROID 1. Kiến trúc chung của Android Kiến trúc tổng quát của Android bao gồm bốn lớp quản lý toàn bộ hệ thống, bắt đầu từ cảm biến phần cứng đến các ứng dụng cấp cao của ngƣời dùng.

Mỗi lớp cung cấp các dịch vụ cụ thể và các nhóm chƣơng trình chạy các chức năng tƣơng ứng. Kiến trúc chung của Android Các lớp đầu tiên, lớp nhân Linux là lớp quan trọng nhất và nằm ở dƣới cùng; nó đại diện cho trái tim của hệ thống Android. Nó cung cấp các dịch vụ hệ điều hành và quản lý các chức năng của phần cứng nhƣ bộ nhớ, nguồn, trình điều khiển, ngăn xếp mạng, cài đặt bảo mật, thƣ viện đƣợc chia sẻ. Lớp thứ hai, lớp thƣ viện gốc, cung cấp các thƣ viện gốc là một tập hợp các hƣớng dẫn quản lý việc xử lý dữ liệu.

Lớp gốc cung cấp các thƣ viện nguồn mở, chẳng hạn nhƣ trình quản lý giao diện, phƣơng tiện, SQLite, Webkit, OpenGL — ES, FreeType và SSL. Tóm lại, các thƣ viện đó thực hiện các công việc sau: Thƣ viện trình quản lý giao diện để trình bày các cửa sổ trên màn hình; thƣ viện khung phƣơng tiện để xử lý đầu vào và đầu ra của dữ liệu video và âm thanh; Thƣ viện SQLite dành cho các hoạt động cơ sở dữ liệu; Webkit để hỗ trợ các trình duyệt web; OpenGL- ES để hỗ trợ đồ họa 2D và 3D hiệu suất cao; FreeType để hỗ trợ phông chữ; Thƣ viện SSL dành cho việc cung cấp các dịch vụ của giao thức SSL và TLS. 6 Lớp thứ ba, lớp khung ứng dụng (Application framework), bao gồm các API Android. API là các lớp và giao diện để phát triển ứng dụng Android.

Lớp này tƣơng tác với các ứng dụng đang chạy và quản lý các chức năng cơ bản trên thiết bị. Các chƣơng trình quan trọng nhất trong lớp này là trình quản lý hoạt động, nhà cung cấp nội dung, trình quản lý điện thoại, trình quản lý vị trí và trình quản lý tài nguyên. Mỗi trình quản lý chịu trách nhiệm quản lý một chức năng cụ thể. Ví dụ: trình quản lý hoạt động kiểm soát vòng đời của ứng dụng.

Trình cung cấp nội dung quản lý việc chia sẻ dữ liệu giữa các ứng dụng. Trình quản lý điện thoại cung cấp các thiết bị liên quan đến cuộc gọi thoại. Trình quản lý tài nguyên quy định các tài nguyên cần thiết để chạy ứng dụng. Cuối cùng, lớp ứng dụng là lớp trên cùng, nơi các chức năng của điện thoại đƣợc cung cấp cho ngƣời dùng cuối.

Lớp ứng dụng cung cấp các chức năng bao gồm thực hiện cuộc gọi, quản lý danh bạ, gửi tin nhắn và duyệt web. Trong lớp này, Android cung cấp một tập hợp các ứng dụng cốt lõi, chẳng hạn nhƣ ứng dụng email, lịch, trình duyệt, bản đồ, danh bạ, chƣơng trình SMS, thƣ viện. Các thành phần của ứng dụng Android Một ứng dụng Android bao gồm hai thƣ mục và một tệp: Lớp, tài nguyên và AndroidManifest.xml tƣơng ứng. Thành phần ứng dụng Android và các loại tính năng tĩnh Thƣ mục Lớp (class) chứa mã nguồn của ứng dụng; thƣ mục Tài nguyên chứa đa phƣơng tiện của ứng dụng; AndroidManifest.xml là tệp cấu hình của ứng dụng liệt kê thông tin cần thiết về ứng dụng dành cho hệ thống Android.

Thông tin đƣợc liệt kê trong tệp AndroidManifest.xml nhƣ sau: tên gói Java, các thành phần của ứng dụng, các quy trình đƣợc lƣu trữ, quyền, các lớp thiết bị đo và các thƣ viện khác. Trong giai đoạn biên dịch, các thƣ mục và tệp AndroidManifest.xml đƣợc nhóm lại với nhau để tạo tệp thực thi của ứng dụng ở định dạng. Cấu trúc của ứng dụng Android bao gồm bốn thành phần: Activity, Service, BroadCastReceiver và ContentProvider [2]. Tất cả các thành phần đó đƣợc nhà phát triển ứng dụng xác định trong tệp AndroidManifest.

• Activities: Xác định giao diện ngƣời dùng, đƣợc kích hoạt bởi ngƣời 8 dùng khi họ tƣơng tác với các thành phần giao diện của ứng dụng, chẳng hạn nhƣ: nút, menu, biểu tƣợng. • Services: Xác định các tiến trình nền nhƣ tải xuống tệp hoặc phát nhạc sau khi đóng giao diện ứng dụng ngƣời dùng. Bất kỳ thành phần nào cũng có thể bắt đầu một dịch vụ bằng cách gọi một của hai phƣơng pháp: - StartService(): Dịch vụ tiếp tục chạy cho đến khi dừng một cách rõ ràng. - BinService(): Dịch vụ đƣợc liên kết với thành phần.

Nó tiếp tục chạy miễn là thành phần đang chạy và dừng khi thành phần dừng lại. • BroadCastReceiver: đƣợc ứng dụng sử dụng nhƣ một hộp thƣ để nhận và trả lời các tin nhắn quảng bá (intent) của các ứng dụng khác hoặc hệ thống, chẳng hạn nhƣ tin nhắn đƣợc gửi bởi hệ thống khi Pin đạt đến giới hạn thấp. • ContentProvider: đƣợc sử dụng để lƣu trữ dữ liệu của ứng dụng và chia sẻ dữ liệu đó với các ứng dụng khác; nó cung cấp các chức năng chèn, xóa và truy vấn cơ sở dữ liệu. Kiến trúc tệp APK Các phần trƣớc đã trình bày ngắn gọn các thành phần khác nhau của hệ thống Android, cần thiết cho một ứng dụng chạy trên Android.

Phần này cung cấp tổng quan về các thành phần khác nhau của tệp APK. Tệp APK (gói ứng dụng) là định dạng tệp đƣợc sử dụng để phân phối các ứng dụng trong Android. Gói APK bao gồm thành phần chính của ứng dụng Android, là tệp dex đƣợc tạo sau khi biên dịch mã bytecode của tất cả các tệp nguồn Java trong Android. Sau đây là thông tin chi tiết về các thành phần khác xuất hiện trong một tệp APK.

Android Manifest: Tệp kê khai Android trình bày thông tin cần thiết về ứng dụng cho hệ thống Android, thông tin mà hệ thống phải có trƣớc khi có thể chạy bất kỳ mã nào của ứng dụng. Mọi ứng dụng đều đi kèm với tệp AndroidManifest.xml thông báo cho hệ thống về các thành phần của ứng dụng.xml chứa thông tin về gói ứng dụng, bao gồm các thành phần của ứng dụng nhƣ hoạt động, dịch vụ, bộ thu phát sóng, nhà cung cấp nội dung.xml cũng chỉ định các yêu cầu ứng dụng nhƣ yêu cầu phần cứng đặc biệt (ví dụ: truy cập camera hoặc cảm biến GPS ) hoặc phiên bản API tối thiểu cần thiết để chạy một ứng dụng. Để truy cập các thành phần đƣợc bảo vệ (ví dụ: quyền truy cập vị trí hoặc quyền truy cập vào thẻ SD), một ứng dụng cần đƣợc cấp quyền. Tất cả các quyền cần thiết phải đƣợc xác định trong AndroidManifest.xml của ứng dụng.

Bằng cách này, trong quá trình cài đặt, hệ điều hành Android có thể nhắc ngƣời dùng tổng quan về các quyền đã sử dụng mà sau đó ngƣời dùng phải cấp cho ứng dụng quyền truy cập để sử dụng các thành phần này một cách rõ ràng.

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 Rò Rỉ Thông Tin Riêng Tư Trong Ứng Dụng Android" cung cấp cái nhìn sâu sắc về vấn đề bảo mật thông tin cá nhân trong các ứng dụng Android. Nó nêu bật những rủi ro tiềm ẩn mà người dùng có thể gặp phải khi sử dụng các ứng dụng này, đồng thời đưa ra các phương pháp phát hiện và ngăn chặn rò rỉ thông tin. Độc giả sẽ nhận được những lợi ích thiết thực từ việc hiểu rõ hơn về cách thức bảo vệ thông tin cá nhân của mình, cũng như các biện pháp cần thiết để đảm bảo an toàn khi sử dụng công nghệ.

Để mở rộng thêm kiến thức về an ninh mạng, bạn có thể tham khảo tài liệu Nghiên cứu tìm hiểu thực trạng về an ninh mạng và biện pháp khắc phục. Tài liệu này sẽ giúp bạn có cái nhìn tổng quan hơn về tình hình an ninh mạng tại Việt Nam và các giải pháp khả thi để cải thiện tình hình. Hãy khám phá thêm để nâng cao hiểu biết của bạn về lĩnh vực quan trọng này!