Chương 1: Tổng quan phần của ứng dụng nguyên bản để cho phép xem trang web. Mỗi ứng dụng có bộ nhớ cache WebView riêng, không được chia sẻ với Trình duyệt nguyên ban hoặc các ứng dụng khác. Trên Android, WebViews sử dụng bộ động WebKit dé hiển thị trang web, nhưng các trang web này được thu gọn xuống chức năng tối thiểu, ví dụ, các trang không có thanh địa chỉ. Nếu triển khai WebView quá lỏng lẻo và cho phép sử dụng JavaScript, JavaScript có thé được sử dụng để tan công ứng dụng và truy cập vào dir liệu của nó.
Nguyễn Kiều Trinh — 12 Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử CHƯƠNG 2: PHƯƠNG PHÁP KIEM THU AN TOÀN UNG DỤNG ANDROID 2. Tổng quan về kiểm thử an toàn (security testing) 2. Giới thiệu về kiểm thử an toàn (security testing) Kiểm thử an toàn là quá trình đánh giá và đảm bảo răng một hệ thống, ứng dụng, hay một sản phẩm phần mềm đáp ứng các tiêu chuan bảo mật và không có lỗ hồng an ninh nao có thé bị lợi dụng. Mục tiêu chính của kiểm thử an toàn là đảm bảo rằng hệ thống hoặc ứng dụng đáp ứng các tiêu chuẩn bảo mật và không có lỗ hồng nào trong quá trình triển khai.
Giới thiệu về kiểm thử an toàn trên ứng dụng Android Kiểm thử an toàn trên ứng dụng Android là bước quan trọng để đảm bảo người dùng trải nghiệm an toàn. Chuyên gia kiểm thử đảm bảo tính bảo mật của dữ liệu truyền tải và ngăn chặn lạm dụng cảm biến như camera, microphone. Đánh giá an toàn của quản lý đăng nhập và quyên truy cập là trọng tâm, giúp hệ thống chống lại các tấn công. Kiểm thử an toàn không chỉ bảo vệ ứng dụng mà còn xây dựng niềm tin từ người dùng, đặc biệt trong bối cảnh quan tâm ngày càng cao về quyên riêng tư và an toàn thông tin.
So sánh kiểm thir an toàn (security testing) và kiểm thử xâm nhập (penetration testing) Bang 1. So sánh kiểm thử an toàn và kiểm thử xâm nhập Tiêu chí Kiêm thử an toàn Kiêm thử xâm nhập Phạm vi Bao gồm một loạt các | Tập trung hơn vao việc tìm kiếm phương pháp kiểm thử để | và khai thác lỗ héng bảo mật cụ đảm bảo rằng hệ thống, ứng | thể trong hệ thống hoặc ứng dụng hoặc sản phẩm đáp | dụng. Kiểm thử xâm nhập được ứng các yêu cầu bảo mật cơ | thực hiện để kiểm tra khả năng bản. Kiêm thử an toàn có | chông lại các cuộc tân công thực thê bao gôm kiêm thử bảo | tê và xác định cách mà một kẻ Nguyễn Kiều Trinh — 13 Đồ án tốt nghiệp Chương 2: Phương pháp kiêm thử mật, kiểm thử chấp nhận, và tân công có thê xâm nhập vào hệ kiểm thử chức năng để đảm thống.
bảo rằng tất cả các khía cạnh của hệ thống đều an toàn. Mục tiêu Đảm bảo răng hệ thống Tìm hiểu cách một kẻ tấn công hoặc ứng dụng đáp ứng các có thể xâm nhập vào hệ thống, tiêu chuẩn bảo mật và đánh giá mức độ nguy cơ thực tế không có lỗ hồng nảo trong và cung cấp thông tin chỉ tiết về quá trình triển khai. cách bảo mật có thể được cải thiện. Phương Thường sử dụng các kỹ Thường đòi hỏi sự can thiệp thủ pháp thực thuật kiểm thử tự động và công để thực hiện các kịch bản hiện kiểm thử thủ công để đánh tan công và tìm kiếm lỗ hồng giá mức độ an toàn của hệ bảo mật cụ thê.
Thời điểm Có thể được thực hiện ở Thường được thực hiện sau khi thực hiện nhiều giai đoạn trong quá hệ thống hoặc ứng dụng đã hoàn trình phát triển và triển khai thành và trước khi triển khai, hệ thống. hoặc định kỳ để kiểm tra định kỳ mức độ an toản. Phản hoi và Tập trung vào việc xác định Cung cấp một báo cáo chỉ tiết về báo cáo các vân đê bảo mật và đưa lỗ hồng cụ thé được tim thấy và ra gợi ý đê cải thiện tính an cách chúng có thể được khắc toàn của hệ thống. Phương pháp thực hiện kiểm thử an toàn [1] Phương pháp thực hiện kiểm thử an toàn bao gồm hai khía cạnh quan trọng: phân tích tinh (static analysis) và phân tích động (dynamic analysis).
Nguyễn Kiêu Trinh — 14 Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử 2. Phân tích tinh (static analysis) Phân tích tinh là quá trình đánh giá các thành phan của hệ thống ma không thực hiện thực tế các thử nghiệm chạy. Trong kiểm thử an toàn, phân tích tĩnh tập trung vào đánh giá mã nguồn, cau trúc dữ liệu, và thiết kế dé xác định các 16 hồng bảo mật có thé xuất hiện mà không cần chạy ứng dụng. Phan tích tinh thủ công Người kiểm thử thực hiện kiểm tra mã nguồn thủ công băng cách phân tích mã nguồn của ứng dụng di động dé tìm kiếm lỗ hồng bảo mật.
Phương pháp có thể đa dạng từ việc tìm kiếm từ khóa cơ bản thông qua lệnh 'grep' đến việc kiêm tra từng dòng mã nguồn. Các môi trường phát triển tích hợp (IDEs) thường cung cấp các chức năng kiểm tra mã nguồn co bản và có thé được mở rộng băng các công cụ khác. Phương pháp phổ biến cho kiểm tra mã nguồn thủ công bao gồm việc xác định các chỉ báo lỗ hồng bảo mật quan trong bang cách tìm kiếm các API và từ khóa nhất định, như cuộc gọi phương thức liên quan đến cơ sở dữ liệu như "executeStatement" hoặc "executeQuery". Mã chứa các chuỗi này là điểm xuất phát tốt cho phân tích thủ công.
Khác biệt so với phân tích tự động, kiểm tra mã nguồn thủ công rat tốt dé xác định các lỗ hồng trong lô-gic kinh doanh, vi phạm tiêu chuẩn và các thiếu sót trong thiết kế, đặc biệt là khi mã nguồn là kỹ thuật an toàn nhưng có logic sai lầm. Những tình huống như vậy thường không thé được phát hiện bởi bất kỳ công cụ phân tích mã tự động nảo. Việc kiểm tra mã nguồn thủ công đòi hỏi một chuyên gia kiểm tra mã nguồn chuyên nghiệp, có kiến thức sâu sắc về cả ngôn ngữ và các khung phát triển được sử dụng cho ứng dụng di động. Kiểm tra mã nguồn day đủ có thé là một quá trình chậm, tẻ nhạt, tốn thời gian đối với người kiêm thử, đặc biệt là đối với các mã nguôn lớn có nhiêu phụ thuộc.
Phân tích tĩnh tự động Nguyễn Kiều Trinh — 1Š Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử Các công cụ phân tích tự động có thể được sử dụng dé tăng tốc quá trình kiêm thử. Chúng kiêm tra mã nguồn dé đảm bảo tuân thủ với một bộ quy tắc hay các quy trình hay thực hành tốt của ngành, sau đó thường hiển thị một danh sách các phát hiện hay cảnh báo và chỉ ra tất cả các vi phạm phát hiện được. Một SỐ công cụ phân tích tĩnh chạy trên ứng dụng đã biên dịch, một số cần được cung cấp mã nguồn gốc, và một số chạy như tiện ích mở rộng phân tích trực tiếp trong IDE. Mặc dù một số công cụ phân tích mã tĩnh tích hợp nhiều thông tin về các quy tắc và ngữ nghĩa cần thiết dé phân tích ứng dụng di động, chúng có thé tạo ra nhiều kết quả dương tính giả, đặc biệt là nếu chúng không được cau hình cho môi trường đích.
Do đó, một chuyên gia bảo mật luôn cần xem xét kết quả một cách cân thận. Phân tích động (dynamic analysis) Phân tích động là quá trình kiểm thử hệ thống khi đang chạy để đánh giá cách nó phản ứng và chống lại các cuộc tấn công thực tế. Trong kiểm thử an toàn, phân tích động thường bao gồm việc thực hiện các kịch bản tan công, kiêm tra mức độ an toản của cơ sở dữ liệu, và đánh giá khả năng chống lại các phương thức tan công phổ biến. Các chuyên gia thường sử dụng các công cụ tự động và thủ công để mô phỏng cuộc tấn công và đánh giá sự an toàn của hệ thống.
Phân tích động giúp xác định lỗ hồng hiện tại và kiểm tra khả năng chống lại các tình huống nguy cơ trong môi trường thực tế. Kiém thir tương tác người dùng Một chiến lược quan trọng trong phân tích động là kiểm thử tương tác người dùng. Điều nay bao gồm việc mô phỏng các hành động của người dùng dé xác định liệu ứng dụng có xử lý chúng một cách an toàn hay không. Các tác vụ như đăng nhập, chuyển đổi giữa các màn hình, và thao tác với dữ liệu đều là điểm tập trung.
Nguyễn Kiều Trinh — 16 Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử 2. Kiểm thử bảo mật tích hợp Kiểm thử bảo mật tích hợp là quá trình tích hợp các phương pháp phân tích và động trong chu trình phát triển phần mềm. Việc này giúp đảm bảo rằng các lỗ hồng bảo mật được phát hiện và khắc phục từ giai đoạn sớm, giảm nguy cơ phát sinh vân đề sau này và tăng cường bảo mật tông thê của ứng dụng. Một vài công cu phân tích tinh ứng dung Android 2.
QARK (Quick Android Review Kit) QARK là một công cụ phan tích tinh mã nguồn mở dành cho ứng dụng Android. Nó tập trung vao việc tự động kiểm tra mã nguồn dé phat hién va bao cáo về các lỗ hồng bảo mật phô biến, giúp nha phát trién va chuyên gia an ninh đánh giá và cải thiện tính an toàn của ứng dụng. AndroBugs Framework AndroBugs Framework là một công cụ phân tích tĩnh mã nguồn mở chuyên dụng cho ứng dụng Android. Với khả năng tự động quét mã nguồn, nó giúp xác định và hiểu rõ về các lỗ hong bảo mật trong mã nguồn của ứng dụng, hỗ trợ quá trình kiểm thử an toản.
MobSF (Mobile Security Framework) Nguyén Kiéu Trinh — 17 Đồ án tốt nghiệp Chương 2: Phương pháp kiểm thử MobSF là một khung phát triển (framework) an toàn di động cung cap kha năng kiểm thử an toàn tự động và thủ công cho ứng dụng di động, bao gồm cả Android. Nó kết hợp các công cụ kiểm thử mạnh mẽ dé đánh giá bao mật tong thé của ứng dụng di động, từ phân tích tĩnh đến phân tích động. Các công cụ được liệt kê bên trên, cung cấp khả năng kiểm tra mã nguồn và xác định lỗ hổng bảo mật một cách tự động, giúp nhà phát triển và chuyên gia bảo mật đánh giá và cải thiện chât lượng mã nguôn. Tuy nhiên, nhược điểm đáng chú ý của nhiều công cụ này là chưa tích hợp hoặc tích hợp chưa hoàn toàn các bộ tiêu chuẩn nồi tiếng về an toàn thông tin, như bộ tiêu chuẩn kiểm thử ứng dụng di động OWASP MASVS.