Khóa Luận Tốt Nghiệp: Xây Dựng Hệ Thống Kiểm Thử Bảo Mật Ứng Dụng Android

Khóa luận tốt nghiệp công nghệ thông tin về hệ thống kiểm thử bảo mật ứng dụng Android, cung cấp giải pháp bảo vệ hiệu quả cho ứng dụng.

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

2024

54
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1. Giới thiệu đề tài

2. CHƯƠNG 2: CÁC CƠ SỞ LÝ THUYẾT LIÊN QUAN ĐỂ HIỂU VỀ KHÓA LUẬN

2.1. Hệ điều hành Android

2.2. Kiến trúc của hệ điều hành Android

2.3. Tệp APK là gì?

2.4. Kiểm thử xâm nhập Android

2.4.1. Kiểm thử xâm nhập là gì?

2.4.2. Các giai đoạn kiểm thử xâm nhập

2.4.3. Các phương pháp kiểm thử xâm nhập

2.5. Giới thiệu sơ lược các công nghệ sử dụng trong ứng dụng

2.6. Học máy trong bảo mật di động

3. CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG

3.1. Kết nối với máy điện thoại Android và lấy file

4. CHƯƠNG 4: CHẠY THỰC NGHIỆM VÀ ĐÁNH GIÁ

4.1. Thống kê một số kết quả

4.2. Đánh giá

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về Hệ Thống Kiểm Thử Bảo Mật Ứng Dụng Android

Hệ thống kiểm thử bảo mật ứng dụng Android là một phần quan trọng trong việc đảm bảo an toàn thông tin cho người dùng. Với sự phát triển nhanh chóng của công nghệ, các ứng dụng Android ngày càng trở nên phổ biến, đồng nghĩa với việc các mối đe dọa bảo mật cũng gia tăng. Việc kiểm thử bảo mật giúp phát hiện và khắc phục các lỗ hổng bảo mật, từ đó bảo vệ thông tin cá nhân của người dùng.

1.1. Khái niệm về kiểm thử bảo mật ứng dụng Android

Kiểm thử bảo mật ứng dụng Android là quá trình đánh giá và phân tích các ứng dụng nhằm phát hiện các lỗ hổng bảo mật. Điều này bao gồm việc kiểm tra các quyền truy cập mà ứng dụng yêu cầu và xác định mức độ rủi ro liên quan.

1.2. Tầm quan trọng của bảo mật ứng dụng di động

Bảo mật ứng dụng di động không chỉ bảo vệ thông tin cá nhân mà còn giữ gìn uy tín của nhà phát triển. Một ứng dụng bị tấn công có thể dẫn đến mất mát dữ liệu và thiệt hại tài chính cho cả người dùng và nhà phát triển.

II. Các thách thức trong kiểm thử bảo mật ứng dụng Android

Mặc dù kiểm thử bảo mật ứng dụng Android rất quan trọng, nhưng vẫn tồn tại nhiều thách thức. Các ứng dụng ngày càng phức tạp, và các phương pháp tấn công cũng ngày càng tinh vi hơn. Điều này đòi hỏi các nhà phát triển và chuyên gia bảo mật phải liên tục cập nhật kiến thức và công nghệ mới.

2.1. Sự đa dạng của các ứng dụng Android

Với hàng triệu ứng dụng trên Google Play, việc kiểm thử tất cả các ứng dụng là một thách thức lớn. Mỗi ứng dụng có thể yêu cầu các quyền khác nhau, và việc phân tích tất cả các quyền này là rất khó khăn.

2.2. Tính phức tạp của các phương pháp tấn công

Các phương pháp tấn công ngày càng trở nên tinh vi, từ malware đến phishing. Điều này yêu cầu các công cụ kiểm thử phải có khả năng phát hiện và ngăn chặn các mối đe dọa này một cách hiệu quả.

III. Phương pháp kiểm thử bảo mật ứng dụng Android hiệu quả

Để đảm bảo an toàn cho ứng dụng Android, nhiều phương pháp kiểm thử bảo mật đã được phát triển. Các phương pháp này không chỉ giúp phát hiện lỗ hổng mà còn cung cấp giải pháp khắc phục hiệu quả.

3.1. Phân tích tĩnh và động

Phân tích tĩnh giúp phát hiện lỗ hổng mà không cần chạy ứng dụng, trong khi phân tích động yêu cầu ứng dụng phải được chạy để kiểm tra hành vi của nó. Cả hai phương pháp đều có ưu và nhược điểm riêng.

3.2. Sử dụng công cụ kiểm thử tự động

Các công cụ kiểm thử tự động như RiskInDroid+ giúp tiết kiệm thời gian và công sức trong việc phát hiện lỗ hổng bảo mật. Những công cụ này có thể quét hàng loạt ứng dụng và cung cấp báo cáo chi tiết về mức độ rủi ro.

IV. Ứng dụng thực tiễn của hệ thống kiểm thử bảo mật

Hệ thống kiểm thử bảo mật ứng dụng Android đã được áp dụng rộng rãi trong thực tiễn. Nhiều công ty đã sử dụng các công cụ này để đảm bảo an toàn cho ứng dụng của mình trước khi phát hành ra thị trường.

4.1. Kết quả từ các nghiên cứu thực nghiệm

Nhiều nghiên cứu đã chỉ ra rằng việc áp dụng kiểm thử bảo mật giúp giảm thiểu rủi ro và tăng cường độ tin cậy của ứng dụng. Các ứng dụng được kiểm thử thường có ít lỗ hổng hơn so với các ứng dụng không được kiểm thử.

4.2. Tích hợp kiểm thử vào quy trình phát triển

Việc tích hợp kiểm thử bảo mật vào quy trình phát triển phần mềm giúp phát hiện sớm các lỗ hổng, từ đó giảm thiểu chi phí khắc phục và nâng cao chất lượng sản phẩm.

V. Kết luận và tương lai của kiểm thử bảo mật ứng dụng Android

Kiểm thử bảo mật ứng dụng Android sẽ tiếp tục đóng vai trò quan trọng trong việc bảo vệ thông tin người dùng. Với sự phát triển của công nghệ, các phương pháp và công cụ kiểm thử cũng sẽ ngày càng được cải tiến.

5.1. Xu hướng phát triển trong tương lai

Trong tương lai, việc áp dụng trí tuệ nhân tạo và học máy vào kiểm thử bảo mật sẽ giúp nâng cao hiệu quả phát hiện lỗ hổng và giảm thiểu thời gian kiểm thử.

5.2. Tầm quan trọng của giáo dục và đào tạo

Giáo dục và đào tạo về bảo mật ứng dụng sẽ trở nên cần thiết hơn bao giờ hết. Các nhà phát triển cần được trang bị kiến thức và kỹ năng để phát triển ứng dụng an toàn.

10/07/2025
Khóa luận tốt nghiệp công nghệ thông tin xây dựng hệ thống kiểm thử bảo mật ứng dụng android

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

Chương 1. TONG QUAN DE TÀI 1. Giới thiệu đề tài Android là tên gọi của hệ điều hành phổ biến nhất hiện nay trên các thiết bị di động, được phát triển trên nền tảng Linux. Thế giới hiện nay phát triển cực kì nhanh chóng, đặc biệt là trong những lĩnh vực liên quan đến công nghệ.

Các thiết bị di động nói chung và các thiết bị Android nói riêng đang ngày càng phát triển mạnh mẽ và da dạng. Phát triển lớn mạnh và rộng khắp khiến vẫn đề bảo mật trên các thiết bị di động cũng trở thành mối quan tâm rất lớn của các nhà phát triển phần mềm cũng như người dùng. Có rất nhiều các mối de doa an ninh như phần mém lừa đảo (Malware), ứng dung lừa đảo (Phising), lỗ hong bảo mật (Vulnerabilities). Vậy nên kiểm thử xâm nhập (Penetration Testing - Pentest) đối với các thiết bị và ứng dụng Android dang trở thành một chủ dé quan trọng và có sự phát triển mạnh mẽ nhanh chóng.

Trong khoá luận này em đã thực hiện phân tích và xây dựng thêm cho một công cu dùng đề kiểm thử thâm nhập Android tên RiskInDroid+. Công cu này được tham khảo [1]. Mục đích xây dựng công cụ nay là dé đánh giá mức độ rủi ro của các ứng dụng Android dựa trên các quyền mà ứng dụng yêu cầu. RiskInDroid+ sử dụng kết hợp Java và Python trong quá trình xây dựng ứng dụng.

Một số công trình nghiên cứu tương tự 1. Phân Tích Quyền (Permission Analysis): "Android Permissions Demystified" [2] Các ứng dụng bên thứ ba được hệ điều hành Android cung cấp một API bao gồm quyên truy cập phần cứng điện thoại, cài đặt và dữ liệu người dùng. Quyền này liên quan đến vấn đề bảo mật được kiểm soát bởi hệ thống cấp quyền ứng dụng tại thời điểm cài đặt. Các tác giả đã xây dựng công cu Stowaway dé phát hiện quyền truy cập quá mức trong các ứng dụng Android đã biên dịch.

Công cụ xác định tập hợp các lệnh gọi API mà một ứng dụng sử dụng và sau đó ánh xạ chúng tới các quyền tương ứng. Dé phát hiện quyên truy cập quá mức, trong bài nghiên cứu, tác giả Andrienne Porter Felt và các cộng sự đã sử dụng các công cụ kiểm thử tự động trên API Android để xây dựng bản đồ các quyền cần thiết. Sau khi áp dụng Stowaway vào 940 ứng dụng Android trên chợ Android, các tác giả phát hiện khoảng một phần ba các ứng dụng yêu cầu quyền quá mức. Nguyên nhân thường do tài liệu API không đầy đủ khiến các nhà phát triển phải thêm quyền để đảm bảo cho ứng dụng hoạt động đúng như mong đợi.

Stowaway bao gồm hai phần: một công cụ phân tích tĩnh xác định các lời gọi API mà một ứng dụng thực hiện và một bản đồ quyền xác định các quyền cần thiết cho mỗi lời gọi API. Những đóng góp của nghiên cứu này: e_ Phát triển Stowaway. e Xác định và định lượng các mau lỗi của nhà phát triển dẫn đến quyền truy cập quá mức. e Xác định chính sách kiểm soát truy cập của Android.

Phân Tích Tĩnh (Static Analysis) a. "FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps" [3] Người dùng điện thoại thông minh hay bị làm phiền bởi các ứng dụng được lập trình cầu thả dẫn đến việc rò ri dữ liệu quan trọng một cách tình cờ, hoặc các ứng dụng độc hại lợi dụng các quyền được cấp để sao chép dữ liệu một cách cố ý. Trong công trình nghiên cứu các tác giả đã giới thiệu FlowDroid là một phương pháp phân tích luồng tĩnh mới dành cho các ứng dụng Android. FlowDroid phân tích bytecode và các tệp cấu hình của ứng dụng để tìm các rò ri quyén riéng tu tiềm An, hoặc do lập trình câu thả hoặc được tạo ra với ý định độc hại.

Những đóng góp của công trình này: o Phát triển FlowDroid o Cung cấp DroidBench, một bộ benchmark micro mới, mở và toàn diện để so sánh hiệu quả của các phân tích luồng cho Android o Các thí nghiệm áp dụng FlowDroid cho hơn 500 ứng dụng từ Google Play và khoảng 1000 ứng dụng độc hại từ dự án VirusShare. "DroidSafe: Information-Flow Analysis of Android Applications in DroidSafe" [4] Là một công cụ phân tích luồng thông tin tĩnh rồi báo cáo các rò ri tiềm ân của thông tin nhạy cảm trong các ứng dụng Android. DroidSafe kết hợp mô hình toàn diện, chính xác và chỉ tiết của Android runtitme với các quyết định thiết kế phân tích tinh cho phép phân tích các ứng dụng lớn. Kết quả phân tích thực nghiệm cho thấy: o DroidSafe đạt được độ chính xác và độ tin cậy cao trong phân tích luồng thông tin của Android o Phát hiện các rò ri luồng thông tin độc hại được chèn vào 24 ứng dụng Android thực tế bởi ba tô chức Red-Team độc lập Với việc đánh giá DroidSafe trên 24 ứng dụng Android đã nói ở trên cho kết quả: o Phát hiện chính xác tất cả 69 luồng độc hại trong các ứng dụng này (trong khi báo cáo tổng số luồng có thé quản lý được) o FlowDroid [4] + IccTA (phương pháp phân tích hiện dai) chi phát hiện được 6 trong số 69 luồng độc hai và có ty lệ tổng số luồng báo cáo lớn hơn số luồng độc hại thực sự được báo cáo.

Ngoài ra, DroidSafe còn được đánh giá trên DroidBench [4] với một bộ 94 bai kiểm tra luồng thông tin Android từ các nhà phát triển FlowDroid + IccTA. Cuối cùng các tác giả còn đánh giá DroidSafe trên một bộ 40 bài kiểm tra luồng thông tin rõ ràng của Android do họ tự phát triển dé bé sung cho DroidBench. Cả hai bài kiếm tra đều cho kết quả rất tốt. Học Máy Trong Bảo Mật Di Động: "Drebin: Effective and Explainable Detection of Android Malware in Your Pocket" [5] Bài bao giới thiệu Drebin, một phương pháp nhẹ nhàng dé phat hiện phan mềm độc hại trên Android, cho phép xác định các ứng dụng độc hại trực tiếp trên điện thoại thông minh.

Có ba ưu điểm chính được nhắn mạnh trong bài báo: o_ Phát hiện hiệu quả: Drebin kết hợp phân tích tĩnh và học máy, cho phép xác định phần mềm độc hại trên Android với độ chính xác cao và ít báo động giả. Điều quan trọng là DREBIN không phụ thuộc vào các mẫu phát hiện được tạo thủ công, giúp nó thích ứng tốt hơn với các loại phần mềm độc hại mới o Kết quả có thê giải thích: Drebin không chi phân loại ứng dụng là độc hại hay lành tính mà còn cung cấp khả năng giải thích cho kết quả. Băng cách truy vết ngược các mẫu đặc trưng trong không gian vectơ, người dùng có thể hiểu được tại sao một ứng dụng cụ thể bị công cụ này đánh giá là độc hại o Phân tích hợp lý: Drebin sử dụng các kỹ thuật phân tích và học tập tuyến tính. Điều này cho phép Drebin vừa phát hiện phần mềm độc hại trực tiếp trên điện thoại thông minh, vừa phân tích một lượng lớn ứng dụng trong thời gian hợp lý 1.

Mục tiêu, đối tượng, phạm vi nghiên cứu 1. Mục tiêu của dé tài Phân tích rủi ro trên Android nhằm cung cấp các chỉ số cho người dùng dé đánh giá độ tin cậy của các ứng dụng mà họ sắp cài đặt. Có nhiều đề xuất về việc tính toán giá trị rủi ro của một ứng dụng nhưng nhiều trong số đó cung cấp các giá trị không đáng tin cậy. Với mong muốn khắc phục hạn chế, dé tài này giới thiệu RiskInDroid+.

Công cụ này tính toán giá tri rủi ro dựa trên các quyên mà ứng dụng yêu câu và sử dụng các kỹ thuật học máy nhằm phục vụ mục đích. Công cụ này được thừa kế lại từ RiskInDroid - ứng dụng đã thực hiện các đánh giá thực nghiệm rộng rãi trên hon 112K ứng dụng và 6K mẫu phần mềm độc hại. Quá trình đánh giá thực nghiệm cho thấy RiskInDroid cũng như RiskInDroid+ đã đáp ứng được nguyện vọng của đề tài nghiên cứu này. Doi Tượng Nghiên Cứu e_ Chỉ số nguy hại của các ứng dụng Android: Nghiên cứu tập trung vào việc tinh toán khả năng rủi ro các file apk đã và đang được phát hành trên nhiều nguồn như Google Play Store,.

Nó sẽ bao gồm các ứng dụng phổ biến và cà những ứng dụng ít được biết đến. e_ Quyên truy cập (Permissions): Tập trung phân tích các quyền mà ứng dụng yêu cầu, xác định mức độ rủi ro dựa trên các quyền này. Phạm Vi Nghiên Cứu e Phân tích quyén truy cập: Dịch ngược, phân tích và đánh giá các quyền (permissions) mà các ứng dụng Android yêu cầu, dựa trên cơ sở đữ liệu về quyên và các nghiên cứu trước đây. e Tính toán mức độ rủi ro: Phát triển và thử nghiệm các mô hình đánh giá rủi ro, bao gồm các thuật toán học máy để xác định và dự đoán mức độ rủi ro.

e Tích hợp va thử nghiệm công cụ: Tích hợp các phương pháp va mô hình vào công cụ, sau đó thử nghiệm công cụ nảy trên một tập hợp các ứng dụng Android dé đánh giá hiệu quả và tính chính xác. e Đánh giá và so sánh: So sánh công cụ này với các công cụ hiện có khác trong lĩnh vực phân tích bảo mật và quyền truy cập trên Android. Hệ điều hành Android 2. Kiến trúc của hệ điều hành Android [6] Android hiện nay đang thuộc quyền sở hữu của là Google.

Đây là một nền tang di động mã nguồn mở, cho phép các nhà phát triển và nhà sản xuất thiết bị tuỳ chỉnh và cải tiên theo nhu câu của họ. Điêu này tạo ra sự đa dạng và linh hoạt trong việc phát triển các ứng dụng và thiết bị di động. Android được xây dựng dựa trên nhân Linux - Linux kernel và có câu trúc phân lớp bao gồm : Nhân Lunix (The Linux Kernel) là nền móng xây dựng nên Android, điều khiển phan cứng như bộ nhớ, CPU và thiết bị và quan lý tài nguyên hệ thống. Cung cấp nhiều chức năng quan trọng như phân luông, quản lý bộ nhớ, quy trình, bảo mật, , mạng.

Lớp trửu tượng phần cứng (Hardware abstraction layer - HAL) đóng vai trò trung gian giữa phần mềm và phần cứng thiết bị, giúp ứng dụng truy cập và sử dụng phần cứng sẵn có mà không cần biết chỉ tiết về cách thức hoạt động của phần cứng. Android Runtime: Là môi trường thực thi cho ứng dụng. Với Android phiên bản 5.0 (API cấp 21) trở lên, mỗi ứng dụng chạy với ART riêng. Trước đây, Dalvik là Android runtime.

Cung cấp một số tính năng như thu gom rác, gỡ lỗi và tối ưu hoá hiệu suất. ART chuyển đổi mã bytecode của ứng dụng Android thành mã máy mà CPU có thể thực thi.

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

Tài liệu "Hệ Thống Kiểm Thử Bảo Mật Ứng Dụng Android" cung cấp cái nhìn sâu sắc về các phương pháp và công cụ cần thiết để đảm bảo an toàn cho các ứng dụng Android. Nó nhấn mạnh tầm quan trọng của việc kiểm thử bảo mật trong bối cảnh ngày càng gia tăng các mối đe dọa an ninh mạng. Bằng cách áp dụng các kỹ thuật kiểm thử hiện đại, tài liệu này giúp người đọc hiểu rõ hơn về cách phát hiện và khắc phục các lỗ hổng bảo mật, từ đó nâng cao độ tin cậy của ứng dụng.

Để mở rộng kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo tài liệu Luận văn thạc sĩ khoa học máy tính kết hợp các phương pháp sinh mẫu thử tự động và khoanh vùng lỗi để tăng hiệu quả trong quá trình kiểm thử phần mềm. Tài liệu này sẽ giúp bạn hiểu rõ hơn về cách kết hợp các phương pháp kiểm thử để tối ưu hóa quy trình và nâng cao hiệu quả kiểm thử phần mềm.

Khám phá thêm các tài liệu liên quan sẽ giúp bạn có cái nhìn toàn diện hơn về các phương pháp và kỹ thuật trong kiểm thử bảo mật ứng dụng.