Nghiên Cứu Qui Trình Kiểm Thử Xâm Nhập Cho Ứng Dụng Chạy Trên Thiết Bị Android

Tài liệu nghiên cứu Nghiên cứu qui trình kiểm thử xâm nhập cho ứng dụng chạy trên thiết bị 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ề .

Chuyên ngành

An toàn thông tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2023

76
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

LỜI MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ ỨNG DỤNG VÀ KIỂM THỬ ỨNG DỤNG TRÊN HỆ ĐIỀU HÀNH ANDROID

2. CHƯƠNG 2: XÂY DỰNG QUI TRÌNH KIỂM THỬ XÂM NHẬP TRÊN ỨNG DỤNG DI ĐỘNG ANDROID

3. CHƯƠNG 3: THỰC NGHIỆM KIỂM THỬ ỨNG DỤNG ANDROID THEO QUI TRÌNH VÀ CÔNG CỤ ĐỀ XUẤT

TÀI LIỆU THAM KHẢO

DANH MỤC TỪ VIẾT TẮT

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG

Tóm tắt

I. Tổng quan về qui trình kiểm thử xâm nhập ứng dụng Android

Nghiên cứu qui trình kiểm thử xâm nhập ứng dụng Android là một phần quan trọng trong việc đảm bảo an toàn cho các ứng dụng di độ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ở thành mục tiêu của các cuộc tấn công mạng. Việc hiểu rõ qui trình kiểm thử xâm nhập giúp các nhà phát triển nhận diện và khắc phục các lỗ hổng bảo mật, từ đó bảo vệ dữ liệu người dùng và nâng cao độ tin cậy của ứng dụng.

1.1. Khái niệm về kiểm thử xâm nhập ứng dụng Android

Kiểm thử xâm nhập ứng dụng Android là quá trình đánh giá bảo mật nhằm phát hiện các lỗ hổng có thể bị khai thác. Mục tiêu chính là xác định các điểm yếu trong ứng dụng để cải thiện bảo mật trước khi phát hành.

1.2. Tầm quan trọng của kiểm thử xâm nhập

Kiểm thử xâm nhập không chỉ giúp phát hiện lỗ hổng mà còn nâng cao nhận thức về an ninh mạng. Điều này đặc biệt quan trọng trong bối cảnh các cuộc tấn công mạng ngày càng tinh vi và phức tạp.

II. Các thách thức trong kiểm thử xâm nhập ứng dụng Android

Mặc dù kiểm thử xâm nhập mang lại nhiều lợi ích, nhưng cũng tồn tại nhiều thách thức. Các ứng dụng Android thường xuyên cập nhật và thay đổi, điều này làm cho việc kiểm thử trở nên khó khăn hơn. Ngoài ra, sự đa dạng của các thiết bị và phiên bản Android cũng tạo ra nhiều vấn đề trong việc đảm bảo tính nhất quán của quy trình kiểm thử.

2.1. Độ phức tạp của ứng dụng Android

Các ứng dụng Android thường tích hợp nhiều tính năng và dịch vụ khác nhau, điều này làm tăng độ phức tạp trong việc kiểm thử. Việc xác định các lỗ hổng trong một hệ thống phức tạp đòi hỏi nhiều kỹ năng và kinh nghiệm.

2.2. Sự đa dạng của thiết bị và phiên bản Android

Sự đa dạng về thiết bị và phiên bản Android khiến cho việc kiểm thử trở nên khó khăn. Mỗi thiết bị có thể có cấu hình phần cứng và phần mềm khác nhau, điều này ảnh hưởng đến cách thức hoạt động của ứng dụng.

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

Để thực hiện kiểm thử xâm nhập hiệu quả, cần áp dụng các phương pháp phù hợp. Các phương pháp này bao gồm kiểm thử hộp trắng, hộp đen và hộp xám. Mỗi phương pháp có những ưu điểm và nhược điểm riêng, và việc lựa chọn phương pháp phù hợp sẽ giúp tối ưu hóa quy trình kiểm thử.

3.1. Kiểm thử hộp trắng

Kiểm thử hộp trắng cho phép người kiểm thử truy cập vào mã nguồn và cấu trúc hệ thống. Phương pháp này giúp phát hiện các lỗ hổng từ bên trong, nhưng cũng đòi hỏi nhiều thời gian và công sức.

3.2. Kiểm thử hộp đen

Kiểm thử hộp đen không yêu cầu thông tin về mã nguồn. Người kiểm thử sẽ thực hiện các cuộc tấn công từ bên ngoài để tìm kiếm lỗ hổng. Phương pháp này giúp mô phỏng các cuộc tấn công thực tế.

3.3. Kiểm thử hộp xám

Kiểm thử hộp xám kết hợp giữa hai phương pháp trên. Người kiểm thử có thể sử dụng một số thông tin về hệ thống nhưng không có quyền truy cập đầy đủ. Phương pháp này giúp tiết kiệm thời gian và tăng hiệu quả kiểm thử.

IV. Công cụ hỗ trợ kiểm thử xâm nhập ứng dụng Android

Việc sử dụng các công cụ hỗ trợ kiểm thử xâm nhập là rất cần thiết để nâng cao hiệu quả và độ chính xác của quy trình kiểm thử. Các công cụ này giúp tự động hóa nhiều bước trong quy trình kiểm thử, từ việc quét lỗ hổng đến phân tích mã nguồn.

4.1. Công cụ quét lỗ hổng

Các công cụ quét lỗ hổng như OWASP ZAP và Burp Suite giúp phát hiện các lỗ hổng bảo mật trong ứng dụng. Chúng tự động kiểm tra và báo cáo các vấn đề bảo mật, giúp tiết kiệm thời gian cho người kiểm thử.

4.2. Công cụ phân tích mã nguồn

Công cụ phân tích mã nguồn như SonarQube giúp phát hiện các vấn đề trong mã nguồn. Chúng cung cấp thông tin chi tiết về các lỗ hổng bảo mật và cách khắc phục chúng.

V. Kết quả nghiên cứu và ứng dụng thực tiễn

Nghiên cứu qui trình kiểm thử xâm nhập ứng dụng Android đã chỉ ra rằng việc áp dụng các phương pháp và công cụ phù hợp có thể giúp phát hiện và khắc phục các lỗ hổng bảo mật hiệu quả. Kết quả này không chỉ có giá trị cho các nhà phát triển mà còn cho các tổ chức, doanh nghiệp trong việc bảo vệ dữ liệu người dùng.

5.1. Đánh giá hiệu quả kiểm thử

Kết quả kiểm thử cho thấy nhiều lỗ hổng đã được phát hiện và khắc phục kịp thời. Điều này giúp nâng cao độ tin cậy của ứng dụng và bảo vệ thông tin người dùng.

5.2. Ứng dụng trong thực tiễn

Các phương pháp và công cụ kiểm thử xâm nhập đã được áp dụng thành công trong nhiều dự án thực tế, giúp cải thiện bảo mật cho các ứng dụng Android.

VI. Kết luận và hướng phát triển tương lai

Nghiên cứu qui trình kiểm thử xâm nhập ứng dụng Android đã chỉ ra tầm quan trọng của việc bảo mật trong phát triển ứng dụng. Trong tương lai, cần tiếp tục nghiên cứu và phát triển các phương pháp và công cụ mới để đối phó với các mối đe dọa ngày càng tinh vi.

6.1. Tương lai của kiểm thử xâm nhập

Với sự phát triển của công nghệ, kiểm thử xâm nhập sẽ ngày càng trở nên quan trọng hơn. Cần có các phương pháp mới để phát hiện và khắc phục các lỗ hổng bảo mật.

6.2. Đề xuất nghiên cứu tiếp theo

Cần nghiên cứu sâu hơn về các công cụ tự động hóa kiểm thử và cách tích hợp chúng vào quy trình phát triển phần mềm để nâng cao hiệu quả bảo mật.

11/07/2025
Nghiên cứu qui trình kiểm thử xâm nhập cho ứng dụng chạy trên thiết bị android

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

Chương 1: Tổng quan Trinh bày tổng quan về hệ điều hành Android, ứng dụng di động Android, các phương pháp kiểm thử xâm nhập, các công cụ hỗ trợ kiểm thử ứng dụng di động Android. Chương 2: Xây dựng qui trình kiểm thử xâm nhập trên ứng dụng di động Android Giới thiệu về các lỗ hồng phô biến thường tôn tại trên ứng dụng Android, các qui trình kiểm thử xâm nhập hiện có trên thế giới, xây dựng một qui trình kiểm thử xâm nhập mới dựa trên các qui trình sẵn có. Chương 3: Thực nghiệm kiểm thử ứng dụng android theo qui trình và công cụ đề xuất Giới thiệu công cụ kiểm thử xây dựng, thực hiện áp dụng công cụ kiểm thử, đưa ra đánh giá về công cụ mới. Kết luận Dua ra kết luận về những nghiên cứu của đồ án và phương hướng phat trién.

Dang Kiều Phong — B19DCAT137 1 Đồ án tốt nghiệp CHUONG 1: TONG QUAN VE UNG DỤNG VA KIEM THU UNG DUNG TREN HE DIEU HANH ANDROID Chương | giới thiệu tong quan về kiến trúc của hệ điều hành Android, các thành phần trong ứng dụng Android, các khái niệm liên quan đến kiểm thử xâm nhập, cùng với các công cụ hỗ trợ kiểm thử xâm nhập ứng dụng Android. Giới thiệu về hệ điều hành Android Android là một hệ điều hành dựa trên Linux mã nguồn mở dành cho các thiết bị di động (điện thoại thông minh và máy tính bảng). Nó được phát triển bởi Open Handset Alliance, do Google và các công ty khác lãnh đạo. Hệ điều hành Android dựa trên Linux, và nó có thé được lập trình bằng C/C++, nhưng phần lớn việc phát triển ứng dụng được thực hiện bằng Java (Java truy cập vào thư viện C thông qua JNI, viết tắt của Java Native Interface) [1].

Hệ điều hành Android được chia thành năm tang chính. Do là Linux Kernel (Hạt nhân linux), Libraries (Thư viện), Android Runtime (Môi trường thực thi Android), Application Framework (Khung ứng dụng), và Applications (Ứng dụng). APPLICATIONS Phone APPLICATION FRAMEWORK Telephony Manager LIBRARIES ANDROID RUNTIME LINUX KERNEL Fiash Hình 1. Kiến trúc hệ điều hành Android Linux Kernel (Hạt nhân Linux): Là tang dưới cùng và hoạt động như một tầng trừu tượng giữa phần mềm và phần cứng của thiết bị.

Hạt nhân chịu trách nhiệm quản lý các yêu cầu vào và ra từ phần mềm. Hạt nhân chứa các trình điều khiển Dang Kiều Phong — B19DCAT137 2 Đồ án tốt nghiệp dé xử lý phần cứng đầu vào. Hạt nhân cũng xử lý các chức năng hệ thống như quản lý các tiễn trình và bộ nhớ, cũng như bảo mật và mạng. Libraries (Thư viện): Bao gồm các thư viện C/C++ được cung cấp với nhiều công cụ mã nguồn mở.

Vi du như WebKit một engine trình duyệt web mã nguồn mở cung cấp các chức năng duyệt web, OpenGL cung cấp một giao diện ứng dụng đa nền tang dé tạo đồ họa máy tinh 2D và 3D, và còn có SSL (Secure Socket Layer) giúp cung cấp giao tiếp Internet an toàn. Android Runtime (Môi trường thực thi Android): Cung cấp một môi trường thực thi ứng dụng cho hệ điều hành băng cách dịch bytecode thành các chỉ thị cơ bản mà môi trường thực thi của thiết bị thực hiện. Máy ảo Dalvik đã dựa trên máy ảo Java dé phù hợp tốt hơn với hệ điều hành Android, nhưng sau đó đã được thay thế bởi Android Runtime trong các phiên bản sau của hệ điều hành. Điều này cung cấp cho các nhà phát triển các chức năng đã được xây dựng sẵn cho ứng dụng của họ.

Ví dụ, View System xây dựng giao diện người dùng và xử lý các chế độ xem và bố cục. Application (Ứng dụng): Là tầng cao nhất của kiến trúc Android và đây là nơi ứng dụng được viết và cài đặt. Các ứng dụng có thể bao gồm từ các ứng dụng được cài sẵn đến các cài đặt từ bên thứ ba [2]. Giới thiệu về ứng dụng Android Các ứng dụng Android có thể được viết bằng các ngôn ngữ Java, Kotlin hoặc C++.

Các công cụ SDK Android có thể được sử dụng để biên dịch mã nguồn và tài nguyên thành một gói ứng dụng Android, gọi là APK (Android Package). Tập tin APK là một tệp lưu trữ chứa tất cả nội dung của ứng dụng và là tệp được sử dụng để cài đặt ứng dụng trên các thiết bị Android. Tap tin APK bao gom một thư mục classes.dex chứa các lớp ma nguồn đã được biên dịch thành định dạng tệp dex, mà Android Runtime có thể hiểu được, một thư mục resources chứa chuỗi va hình anh cùng với giao diện XML. Tập tin APK cũng còn gồm một tệp AndroidManifest.

xml chứa thông tin về ứng dụng như tên gói ứng dụng, các thành phần, các quyền ứng dụng cần yêu cầu và các tính năng phần mềm và phần cứng mà ứng dụng cần. Có bốn loại thành phần trong các ứng dung Android: Activities, Services, Broadcast Receivers va Content Providers. Dang Kiều Phong — B19DCAT137 3 Đồ án tốt nghiệp Activities: Đại diện cho một man hình đơn với giao diện người dùng và là điểm khởi đầu cho tương tác của người dùng. Services: Là điểm đầu vào cho việc duy trì ứng dụng hoạt động ở nén.

Ví dụ, dich vụ có thé được sử dụng dé phat nhac trong nền hoặc truy xuất đữ liệu từ internet ma không làm gián đoạn hoạt động hiện tai của người dùng. Broadcast Receivers: Cho phép hệ thống gửi các sự kiện đến các ứng dụng ngoài luéng người dùng thông thường. Chúng có thé gửi phát sóng đến các ứng dụng ngay cả khi chúng không hoạt động. Rất nhiều phát sóng đến từ chính hệ thống như sự kiện tắt màn hình hoặc pin yếu.

Tuy nhiên, nó cũng có thê đến từ các ứng dụng, ví dụ, thông báo cho ứng dụng khác biết răng một hình ảnh đã được tải về và có thé được ứng dụng đó sử dụng. Content Providers: Quản lý một tập dữ liệu chia sẻ có thể được lưu trữ trong hệ thống tệp của thiết bị cũng như trên web bằng cách sử dụng ví dụ như cơ sở dữ liệu SQLite. Khi được cấp quyền, các ứng dụng khác có thé truy vấn và sửa đổi dữ liệu thông qua nhà cung cấp nội dung này. Dé kích hoạt các Activities, Services va Broadcast Receivers, người ta su dung Intents (Y định).

Intent là một mô ta trừu tượng cua | hoạt động sẽ được thực hiện. Intents có hai loại là Implicit Intents (Intents không tường minh) hoặc Explicit Intents (Intents tường minh). Một Intent không tường minh kích hoạt chỉ ra hành động cần được thực hiện và dit liệu cho hành động đó, trong khi một Intent tường minh xác định rõ và cụ thé các thành phần tham gia hành động. Content providers được kích hoạt thông qua ContentResolver [2].

Khái niệm về kiểm thử xâm nhập ứng dụng di động Kiểm thử xâm nhập ứng dụng di động, còn được gọi là Mobile Application Penetration Testing là quá trình đánh giá bảo mật của ứng dụng di động bằng cách tìm kiếm và khai thác các lỗ hồng bảo mật có thé được tan công bởi tin tặc hoặc kẻ xâm nhập. Mục tiêu của kiểm thử này là xác định các điểm yếu trong ứng dụng di động dé giúp nhà phát triển vá và cải thiện bảo mật của ứng dụng trước khi nó được phát hành. Các ứng dụng di động là một phần của hệ sinh thái di động lớn hơn, tương tác với mọi thứ từ thiết bị di động, cơ sở hạ tang mạng, máy chủ, và trung tâm dữ liệu. Bề mặt tấn công càng mở rộng hơn với việc sử dụng ngày cảng tăng của các thiết bị di động có khả năng cao.

Với sự tinh vi của các cuộc tấn công mạng các tô chức đã bắt đầu đầu tư vào việc kiểm thử xâm nhập ứng dụng di động [3]. Dang Kiều Phong — B19DCAT137 4 Đồ án tốt nghiệp 1. Các phương pháp kiểm thử xâm nhập Mọi sản phẩm phần mềm đều không thể tránh khỏi lỗi, bởi vì chúng được xây dựng bởi con người, không thể đảm bảo răng sản phẩm sẽ hoàn toàn không có khuyết điểm. Vi vậy, cần phải có người, nhóm hoặc tổ chức độc lập dé tiến hành kiểm thử xem sản phẩm có van đề hay lỗi gì không.

Dé thực hiện kiểm thử phần mềm, chúng ta cần xây dựng kế hoạch và chiến lược kiểm thử, cùng với việc áp dụng các kỹ thuật và phương pháp thích hợp cho mỗi cấp độ kiểm thử. Kiểm thử phần mềm bao gồm ba phương pháp cơ bản: kiểm thử hộp trắng và kiểm thử hộp đen và kiểm thử hộp xám, mỗi phương pháp đòi hỏi những kỹ năng riêng biệt [4]. Kiểm thử hộp trắng Kiểm thử hộp trắng là loại kiểm thử diễn ra khi nhóm kiểm thử có quyền truy nhập sơ đồ mạng, hồ sơ tài sản và các thông tin hữu ích khác. Tat cả các thông tin này có thé được sử dụng dé khởi tạo các cuộc tấn công nhắm vào một mục tiêu nhiều hơn là đối với hạ tang hệ thống.

Input Output WHITE BOX Hình 1. Phương pháp kiểm thr xâm nhập hộp trắng Kiểm thử xâm nhập hộp trắng, liên quan đến việc chia sẻ thông tin toàn bộ mạng và hệ thống với người kiểm thử, bao gồm bản đồ mạng và thông tin đăng nhập, thông tin về mã nguồn và kiến thức về cách hoạt động bên trong của phần mềm. Điều này giúp tiết kiệm thời gian và giảm chi phí tông cộng của một dự án. Kiểm thử xâm nhập hộp trắng hữu ích dé mô phỏng một cuộc tan công nhăm vào một hệ thống cụ thể, sử dụng càng nhiều phương thức tan công có thể.

Được thực hiện tốt nhất trong giai đoạn đầu của một sản phẩm, khi các nhà phát triển và kỹ sư đang xây dựng. Như vậy, người kiểm thử xâm nhập có thé tìm ra các lỗ hồng và lỗi trước khi sản phâm được công bố, va các nhà phát triển có thể làm việc trên nó trong thời gian thực. Uu điểm: + Kiểm thử toàn diện: Người kiểm thử xâm nhập có quyền truy cập mở đối với tất cả thông tin liên quan đến hệ thống và kiến trúc của nó. Điều này cho Dang Kiều Phong — B19DCAT137 5 Đồ án tốt nghiệp phép người kiểm thử đi qua tất cả các khu vực và phương pháp có thé dé tìm kiếm các lỗ hồng và điểm yếu.

+ Phương pháp này quan trọng cho các hệ thống phức tạp và quan trọng cần mức độ bảo mật cao. Đối với những loại tô chức này, mọi khu vực của hệ thong phải được kiêm thử dé đảm bao an ninh hàng dau. + Phát hiện sớm các lỗ hồng: Như đã đề cập ở trên, kiểm thử xâm nhập hộp trắng thường được thực hiện khi một ứng dụng đang được tạo ra, và điều này cho phép phát hiện sớm các lỗi và lỗ hồng.

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

Tài liệu "Nghiên Cứu Qui Trình Kiểm Thử Xâm Nhập Ứng Dụng Android" cung cấp cái nhìn sâu sắc về quy trình kiểm thử bảo mật cho các ứng dụng Android, một lĩnh vực ngày càng quan trọng trong bối cảnh an ninh mạng hiện nay. Tài liệu này không chỉ nêu rõ các phương pháp và công cụ cần thiết để thực hiện kiểm thử xâm nhập, mà còn phân tích các lỗ hổng phổ biến mà các ứng dụng Android thường gặp phải. Độc giả sẽ nhận được những lợi ích thiết thực từ việc hiểu rõ quy trình này, giúp nâng cao khả năng bảo mật cho ứng dụng của mình.

Để mở rộng kiến thức về an toàn thông tin, bạn có thể tham khảo thêm tài liệu Khóa luận tốt nghiệp an toàn thông tin bộ khung điều tra số hỗ trợ lưu trữ và quản lí chuyển giao bằng chứng số dựa trên blockchain, nơi bạn sẽ tìm thấy các phương pháp lưu trữ và quản lý dữ liệu an toàn. Ngoài ra, tài liệu Khóa luận tốt nghiệp an toàn thông tin bộ khung kiểm thử bảo mật tự động tích hợp cơ chế giăng bẫy và chia sẻ thông tin tình báo mối đe dọa cũng sẽ cung cấp cho bạn những kiến thức bổ ích về kiểm thử bảo mật tự động và cách thức chia sẻ thông tin tình báo trong lĩnh vực an ninh mạng. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về các vấn đề an toàn thông tin hiện nay.