Giới thiệu dự án

Sự bùng nổ của thiết bị di động thông minh chạy hệ điều hành Android đã thay đổi hoàn toàn cách thức tiếp cận dịch vụ số toàn cầu. Theo báo cáo an ninh mạng của Kaspersky, số lượng ứng dụng mã độc di động ghi nhận được đã tăng hơn 224% trong giai đoạn biến động kinh tế số, tập trung chủ yếu vào việc đánh cắp thông tin tài khoản ngân hàng điện tử, mã độc tống tiền (ransomware) và khai thác các điểm yếu bảo mật trong quá trình truyền nhận dữ liệu. Sự phát triển nhanh chóng của các ứng dụng Android phục vụ tài chính, thương mại điện tử và chăm sóc sức khỏe đặt ra yêu cầu cấp thiết về an toàn thông tin (ATTT).

Tuy nhiên, quy trình đánh giá an toàn thông tin và kiểm thử xâm nhập (Penetration Testing - Pentest) ứng dụng Android hiện nay đang đối mặt với nhiều rào cản lớn:

  • Thiếu quy trình chuẩn hóa thực chiến: Các bộ tiêu chuẩn hiện tại như OWASP MSTG (Mobile Security Testing Guide) còn thiên nặng về lý thuyết lập trình an toàn, thiếu hướng dẫn từng bước (step-by-step) cho chuyên viên kiểm thử; trong khi các quy trình thương mại như Oversecured lại quá tập trung vào rà quét mã nguồn tĩnh mà bỏ qua kiểm thử tương tác động.
  • Công cụ tự động hóa chưa hoàn thiện: Các công cụ phổ biến như MobSF (Mobile Security Framework) chỉ hỗ trợ kiểm tra tĩnh hoặc kiểm tra cấu hình cơ bản (ví dụ chỉ kiểm tra quyền đọc của cơ sở dữ liệu Firebase Realtime), không tự động hóa được quá trình khai thác sâu và trích xuất dữ liệu chứng minh lỗ hổng (Proof of Concept - PoC).
  • Thiếu hụt môi trường thực hành đạt chuẩn: Các khóa học bảo mật uy tín như EC-Council CEH v11, eLearnSecurity MASPT (eMAPT) hay Infosec CMWAPT đa phần sử dụng các bài lab lỗi thời, xây dựng trên các phiên bản Android cũ (Android 4.x - 7.x) và không phản ánh đúng các lỗ hổng trên các nền tảng Android hiện đại (Android 10 - 12+).

Đồ án tốt nghiệp "Kiểm thử xâm nhập ứng dụng Android" của tác giả Trần Minh Nhật (Học viện Công nghệ Bưu chính Viễn thông - PTIT) dưới sự hướng dẫn của TS. Nguyễn Ngọc Điệp và sự phối hợp chuyên môn từ Sun* Asterisk Việt Nam được triển khai nhằm giải quyết trực diện các vấn đề trên.

graph TD
    A[Mục tiêu Đồ án] --> B[1. Tối ưu Quy trình Kiểm thử Chuẩn hóa]
    A --> C[2. Phát triển Tool Tự động: Firebase Scan]
    A --> D[3. Xây dựng Ứng dụng Thực hành: PTIT Pentest Lab]

Mục tiêu dự án

  1. Xây dựng quy trình kiểm thử xâm nhập cải tiến: Chuẩn hóa quy trình đánh giá bảo mật toàn diện cho ứng dụng Android dựa trên tiêu chuẩn quốc tế OWASP MASVS/MSTG, loại bỏ các hạng mục lỗi thời và bổ sung các kịch bản tấn công thực tế.
  2. Phát triển công cụ tự động hóa Firebase Scan: Tự động phát hiện, kiểm tra quyền truy cập (Read/Write) và trích xuất cấu trúc cơ sở dữ liệu Firebase Realtime bị cấu hình sai (Misconfiguration) trong các ứng dụng Android.
  3. Thiết kế và triển khai ứng dụng PTIT Pentest Lab: Xây dựng ứng dụng Android chứa hệ thống bài tập thực hành mô phỏng các lỗ hổng phổ biến và nguy hiểm nhất hiện nay, tích hợp cơ chế theo dõi tiến độ và xác thực cờ (Flag validation).

Phương pháp tiếp cận và kết quả kỳ vọng

Dự án áp dụng phương pháp kết hợp giữa nghiên cứu lý thuyết (phân tích mã nguồn tĩnh, giải mã dịch ngược nhị phân) và thực nghiệm tấn công động (Dynamic Instrumentation qua Frida, kiểm soát luồng mạng qua Burp Suite).

Kết quả kỳ vọng định lượng:

  • Chuẩn hóa 7 nhóm kiểm thử với hơn 35 danh mục đánh giá chi tiết.
  • Công cụ Firebase Scan đạt tốc độ rà quét và kiểm tra < 3.5 giây/tệp APK, tỷ lệ xác định chính xác quyền Đọc/Ghi đạt 100%.
  • Bộ PTIT Pentest Lab bao gồm 6 phân hệ lỗ hổng thực tế, hỗ trợ vận hành ổn định trên Android 8.0 đến Android 12.

Phạm vi và giới hạn

  • Phạm vi: Tập trung vào các thành phần cốt lõi của ứng dụng Android (Client-side logic, Local Data Storage, Cryptography, Authentication, Network Protocol, IPC Platform Interaction và Reverse Engineering Protection).
  • Giới hạn: Đồ án không bao gồm việc khai thác sâu vào phần cứng thiết bị chuyên dụng hoặc kiểm thử hạ tầng máy chủ Backend độc lập không kết nối trực tiếp với logic của ứng dụng di động.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Khảo sát chuyên sâu các giải pháp kiểm thử bảo mật di động hiện có trên thị trường cho thấy sự phân hóa rõ rệt giữa lý thuyết học thuật và nhu cầu thực tế:

Tiêu chí so sánh OWASP MSTG / MASVS Oversecured Inc. Đề xuất của Đồ án (PTIT)
Độ bao phủ kiểm thử Rất rộng, bao quát toàn bộ vòng đời phát triển phần mềm Tập trung vào lỗ hổng bảo mật do lập trình (Code Flaws) Tập trung vào 7 nhóm lỗ hổng thực tế, có thể khai thác trực tiếp
Tính cập nhật công nghệ Một số đề mục đã lỗi thời (Android 4.1 APIs) Cập nhật thường xuyên cho các hàm API mới Loại bỏ API cũ, bổ sung Deep Link, IPC, Firebase Misconfig
Hướng dẫn thực hành Mang tính định hướng, thiếu payload mẫu chi tiết Không công khai mã nguồn công cụ (SaaS thương mại) Cung cấp kịch bản kiểm thử, mã PoC và công cụ mã nguồn mở
Tự động hóa khai thác Không có (chỉ là tài liệu hướng dẫn) Tự động quét tĩnh mã nguồn trên Cloud Tự động quét và kiểm thử quyền đọc/ghi Firebase chuyên sâu
Môi trường huấn luyện Phụ thuộc vào các dự án mã nguồn mở ngoài Không cung cấp lab Cung cấp ứng dụng PTIT Pentest Lab đồng bộ với quy trình

Phân tích yêu cầu chức năng (Mô hình MoSCoW)

  • Must Have (Bắt buộc có):
    • Quy trình 7 nhóm kiểm thử: Storage, Crypto, Auth, Network, Platform Interaction, Code Quality, Resilience.
    • Công cụ Firebase Scan quét và kiểm tra quyền Read/Write tự động trên Google Firebase Realtime Database.
    • Bộ Lab Android tích hợp các lỗ hổng: Hardcoded Credentials, Insecure SharedPreferences, Broken Crypto, Exported Activity/Service, Insecure WebView, SSL Pinning.
  • Should Have (Nên có):
    • Giao diện Dashboard theo dõi tiến độ giải Lab và hiển thị gợi ý (Hints).
    • Khả năng xuất báo cáo JSON từ công cụ Firebase Scan.
  • Could Have (Có thể mở rộng):
    • Tích hợp quét tự động qua giao diện dòng lệnh CLI trong CI/CD.
  • Won't Have (Chưa thực hiện trong giai đoạn này):
    • Tự động hóa khai thác zero-day trên tầng hệ điều hành Android Kernel.

Thiết kế hệ thống

graph LR
    subgraph "Môi trường Kiểm thử Pentest"
        APK[Tệp tin APK Mục tiêu] --> Decompile[Apktool / JADX]
        Decompile --> Static[Phân tích Tĩnh Manifest & Code]
        APK --> Install[Cài đặt vào Thiết bị/Giả lập]
        Install --> Dynamic[Frida / Objection / Burp Suite]
    end

    subgraph "Công cụ Tự động & Lab"
        Static --> FBTool[Firebase Scan Engine]
        FBTool --> CloudDB[(Firebase Database REST API)]
        Install --> PTITLab[PTIT Pentest Lab App]
        PTITLab --> LocalStorage[(Local SQLite / SharedPrefs)]
    end

Tech Stack và Công cụ sử dụng

  • Ngôn ngữ phát triển: Python 3.9+ (cho công cụ Firebase Scan), Java / Kotlin (cho ứng dụng PTIT Pentest Lab).
  • Môi trường phát triển: Android Studio Flamingo / Electric Eel, Visual Studio Code.
  • Framework & Thư viện dịch ngược:
    • Apktool v2.6.1: Giải nén, trích xuất AndroidManifest.xml và tài nguyên smali.
    • JADX v1.4.4: Dịch ngược tệp .dex sang mã nguồn Java.
    • Frida Core v15.2.2 & Objection v1.11.0: Hooking động và bypass cơ chế SSL Pinning, Root Detection.
    • Burp Suite Professional v2021.12: Proxy bắt chặn gói tin HTTP/HTTPS.
    • MobSF v3.4.8: Khảo sát đối chuẩn phân tích tĩnh tự động.
  • Target OS Testing: Android 8.1 (Oreo - API 27) đến Android 12 (Snow Cone - API 31).

Thiết kế Cấu trúc Dữ liệu và Giao thức

  • Firebase REST API Endpoint: Kiểm tra cấu trúc URL dạng https://<firebase-project-id>.firebaseio.com/.json hoặc https://<firebase-project-id>.<region>.firebasedatabase.app/.json.
  • Cơ chế IPC và Storage Design: Thiết lập phân vùng lưu trữ nội bộ /data/data/<package_name>/ với các file shared_prefs/*.xml và SQLite Database không mã hóa để mô phỏng kịch bản tấn công Local Information Leakage.

Phương pháp nghiên cứu và quản lý dự án (Methodology)

Dự án áp dụng mô hình nghiên cứu kết hợp lặp linh hoạt (Iterative Agile Approach) chia làm 4 giai đoạn rõ ràng:

gantt
    title Lộ trình Triển khai Đồ án
    dateFormat  YYYY-MM-DD
    section Khảo sát & Đánh giá
    Khảo sát OWASP, CEH, MASPT, MobSF :done, des1, 2021-09-01, 2021-09-25
    section Chuẩn hóa Quy trình
    Xây dựng 7 nhóm tiêu chuẩn Pentest :done, des2, 2021-09-26, 2021-10-20
    section Phát triển Phần mềm
    Phát triển Tool Firebase Scan (Python):done, des3, 2021-10-21, 2021-11-20
    Xây dựng App PTIT Pentest Lab (Java):done, des4, 2021-11-10, 2021-12-10
    section Thử nghiệm & Đánh giá
    Thử nghiệm trên 15+ APK thực tế & Bảo vệ:done, des5, 2021-12-11, 2021-12-31

Đánh giá và giảm thiểu rủi ro (Risk Mitigation)

  • Rủi ro API Breaking Changes: Google cập nhật format URL của Firebase Realtime Database. -> Giải pháp: Thiết kế Regex Engine nhận diện linh hoạt cả domain cũ (firebaseio.com) và domain mới theo khu vực (firebasedatabase.app).
  • Rủi ro môi trường thực thi Android: Các phiên bản Android mới (API 29+) tăng cường bảo mật Scoped Storage. -> Giải pháp: Cấu hình targetSdkVersion 30 và tối ưu quyền truy cập bộ nhớ phù hợp.

Implementation và kết quả

Quá trình phát triển kỹ thuật

1. Xây dựng quy trình kiểm thử 7 nhóm chuyên sâu

Quy trình mới tái cấu trúc toàn diện bảng kiểm thử của OWASP MSTG, gộp các danh mục trùng lặp và bổ sung các case thực chiến:

  1. Lưu trữ dữ liệu và quyền riêng tư (STORAGE-1 đến STORAGE-8): Bổ sung kiểm tra cấu hình Firebase Database đám mây (STORAGE-8), kiểm tra lộ dữ liệu qua logcat hệ thống (STORAGE-6).
  2. Thuật toán mã hóa (CRYPTO-1 đến CRYPTO-4): Tập trung kiểm tra hardcoded encryption key, giải thuật yếu (DES, RC4, MD5), và sử dụng java.util.Random thay vì SecureRandom.
  3. Xác thực và quản lý phiên (AUTH-1 đến AUTH-10): Kiểm tra JWT token validation, thiếu cơ chế vô hiệu hóa session phía Server khi logout.
  4. Giao thức kết nối (NETWORK-1 đến NETWORK-6): Kiểm tra TLS configuration, Cleartext HTTP traffic, và vượt qua SSL Pinning bằng Dynamic Hooking.
  5. Tương tác nền tảng (PLATFORM-1 đến PLATFORM-13): Tách bạch rõ ràng các lỗ hổng Exported Component: Exported Activity (PLATFORM-7), Broadcast Receiver (PLATFORM-8), Service (PLATFORM-9), WebView XSS & Remote Debugging (PLATFORM-4, PLATFORM-10).
  6. Chất lượng mã nguồn và bản phát hành (CODE-1 đến CODE-5): Kiểm tra cờ android:debuggable="true", chứng chỉ ký Debug Certificate, và lộ thông tin nhạy cảm qua ProGuard de-obfuscation.
  7. Phương pháp bảo vệ ứng dụng (RESILIENCE-1 đến RESILIENCE-13): Đánh giá khả năng chống Root, chống Debugger, chống Hooking và chống Tampering.

2. Thuật toán và Mã nguồn Công cụ Firebase Scan

Công cụ được xây dựng bằng Python, sử dụng cơ chế xử lý chuỗi bất đồng bộ và kiểm tra tính hợp lệ của Database Rules qua giao thức REST.

import requests
import json
import re

class FirebaseScanner:
    def __init__(self, target_url):
        # Chuẩn hóa URL Firebase
        self.base_url = target_url.rstrip('/')
        if not self.base_url.endswith(".json"):
            self.api_url = f"{self.base_url}/.json"
        else:
            self.api_url = self.base_url

    def test_read_permission(self):
        """Kiểm tra quyền ĐỌC dữ liệu không cần xác thực"""
        try:
            response = requests.get(f"{self.api_url}?shallow=true", timeout=5)
            if response.status_code == 200:
                print(f"[!] VULNERABLE: Cơ sở dữ liệu cho phép ĐỌC công khai!")
                return True, response.json()
            elif response.status_code == 401:
                print("[-] SECURE: Yêu cầu xác thực để đọc dữ liệu (Permission Denied).")
                return False, None
        except Exception as e:
            print(f"[x] Lỗi kết nối: {str(e)}")
            return False, None

    def test_write_permission(self):
        """Kiểm tra quyền GHI dữ liệu tùy ý (Exploit Test)"""
        exploit_payload = {"pentest_audit": "Vulnerability_Confirmed_PTIT"}
        try:
            target_write = f"{self.base_url}/security_audit_test.json"
            response = requests.put(target_write, json=exploit_payload, timeout=5)
            if response.status_code == 200:
                print(f"[CRITICAL] VULNERABLE: Có quyền GHI dữ liệu tùy ý lên Database!")
                # Xóa dấu vết sau khi xác thực thành công (Clean up)
                requests.delete(target_write, timeout=5)
                return True
            return False
        except Exception as e:
            print(f"[x] Lỗi kiểm tra quyền ghi: {str(e)}")
            return False

3. Triển khai Ứng dụng PTIT Pentest Lab

Ứng dụng được lập trình với cấu trúc phân tầng rõ ràng, tích hợp mã nguồn mô phỏng lỗ hổng cấu hình sai thành phần ActivityWebView:

<!-- AndroidManifest.xml: Mô phỏng lỗ hổng Exported Activity không có Permission -->
<activity
    android:name=".vulnerabilities.InsecureSecretActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="com.ptit.pentestlab.ACTION_VIEW_SECRET" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

Khai thác qua công cụ ADB (Android Debug Bridge):

# Khởi chạy trực tiếp Activity nhạy cảm bỏ qua bước đăng nhập
adb shell am start -n com.ptit.pentestlab/.vulnerabilities.InsecureSecretActivity

Thử nghiệm và Đánh giá (Validation)

Hệ thống được thử nghiệm thực tế trên môi trường thiết bị vật lý Google Pixel 3 (Android 11) và máy ảo Genymotion (Android 9.0):

+-------------------------------------------------------------------------+
|                      KẾT QUẢ THỬ NGHIỆM HỆ THỐNG LAB                    |
+------------------------------------+-----------------+------------------+
| Tên Module Bài Lab                | Tỷ lệ Hoàn thành| Thời gian TB/Lab |
+------------------------------------+-----------------+------------------+
| LAB 01: Reverse Engineering / DEX  | 100% (Pass)     | 4.5 phút         |
| LAB 02: Insecure SharedPreferences | 100% (Pass)     | 3.2 phút         |
| LAB 03: Hardcoded AES Key Extraction| 100% (Pass)    | 6.1 phút         |
| LAB 04: Insecure Exported Activity | 100% (Pass)     | 2.8 phút         |
| LAB 05: WebView JavaScript Bridge  | 100% (Pass)     | 8.4 phút         |
| LAB 06: SSL Pinning Bypass (Frida) | 100% (Pass)     | 5.0 phút         |
+------------------------------------+-----------------+------------------+

Thử nghiệm công cụ Firebase Scan trên 20 ứng dụng Android ngẫu nhiên có sử dụng Firebase Backend trên Google Play Store:

  • Tốc độ xử lý trung bình: 2.85 giây/ứng dụng.
  • Phát hiện: 3/20 ứng dụng tồn tại lỗ hổng mở quyền Đọc (.read: true), trong đó có 1 ứng dụng cho phép quyền Ghi tùy ý (.write: true).

Đổi mới và đóng góp

  1. Chuẩn hóa khung quy trình thực chiến: Đồ án không dừng lại ở mức liệt kê lý thuyết mà ánh xạ trực tiếp mỗi lỗ hổng với: Mức độ nguy hiểm -> Công cụ kiểm thử tương ứng -> Kịch bản khai thác PoC -> Hướng dẫn vá lỗi chi tiết.
  2. Khắc phục triệt để điểm yếu của MobSF trong kiểm thử Firebase: MobSF chỉ hỗ trợ tìm kiếm chuỗi URL Firebase và gửi request GET kiểm tra quyền đọc. Công cụ Firebase Scan trong đồ án giải quyết trọn vẹn cả 3 khâu: Quét tự động -> Kiểm tra quyền Đọc/Ghi -> Khai thác và trích xuất dữ liệu có kiểm soát.
  3. Đóng góp bộ tài nguyên học tập hoàn chỉnh: Cung cấp ứng dụng PTIT Pentest Lab kèm hệ thống tính điểm, tài liệu giải thích cơ chế lỗ hổng trực quan, thu hẹp khoảng cách đào tạo ATTT giữa giảng đường đại học và thực tế doanh nghiệp.
Tính năng kỹ thuật MobSF Scanner Oversecured Engine Công cụ Firebase Scan (Đồ án)
Kiểm tra quyền ĐỌC Firebase Có (Request cơ bản) Không chuyên sâu Có (Tối ưu qua Shallow Query)
Kiểm tra quyền GHI Firebase Không hỗ trợ Không hỗ trợ Có (Kiểm thử PUT/PATCH an toàn)
Trích xuất cấu trúc dữ liệu Không Không Tự động phân tích Schema JSON
Dung lượng & Độ phụ thuộc Nặng (> 1.5 GB Docker) Cloud SaaS đóng phí Siêu nhẹ (< 5 MB Python Script)

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tế

  • Đánh giá an ninh định kỳ cho Doanh nghiệp (Security Audit): Tích hợp quy trình kiểm thử vào giai đoạn QA/QC trước khi phát hành ứng dụng lên Google Play Store.
  • Đào tạo và Huấn luyện nhân sự ATTT (Cyber Security Training): Sử dụng bộ PTIT Pentest Lab làm giáo trình thực hành cho sinh viên chuyên ngành ATTT, CNTT hoặc các kỹ sư lập trình Mobile muốn nâng cao kỹ năng DevSecOps.
graph TD
    Dev[Lập trình viên / Kỹ sư ATTT] --> Code[Phát triển ứng dụng Android]
    Code --> Scan[Chạy Firebase Scan & Quét Tĩnh]
    Scan --> Lab[Đối chiếu Checklist & Kiểm thử Quy trình PTIT]
    Lab --> Fix[Vá các lỗ hổng bảo mật]
    Fix --> Release[Phát hành Bản Release An toàn]

Phân tích hiệu quả kinh tế (Cost-Benefit Analysis & ROI)

  • Tiết kiệm thời gian đánh giá: Giảm hơn 65% thời gian rà soát các cấu hình lưu trữ đám mây và thành phần IPC so với kiểm thử thủ công thuần túy.
  • Chi phí triển khai: 0 VNĐ chi phí bản quyền (100% sử dụng công cụ mã nguồn mở và mã nguồn tự phát triển).
  • Hạn chế rủi ro thất thoát dữ liệu: Ngăn ngừa các vụ rò rỉ dữ liệu người dùng (PII) có thể dẫn tới các khoản phạt vi phạm quy định bảo vệ dữ liệu (GDPR/Nghị định 13/2023/NĐ-CP) lên tới hàng tỷ đồng.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Công cụ Firebase Scan hiện tại tập trung chủ yếu vào dịch vụ Firebase Realtime Database, chưa mở rộng sang Cloud Firestore hoặc AWS Amplify Datastore.
  • Ứng dụng PTIT Pentest Lab chưa tích hợp các bài lab nâng cao về kỹ thuật làm rối mã nguồn phức tạp (như OLLVM - Obfuscator-LLVM) hoặc khai thác các lỗ hổng Native C/C++ (.so libraries).

Hướng phát triển trong tương lai

  1. Mở rộng bộ quy trình kiểm thử và công cụ tự động sang nền tảng iOS Pentest (phân tích tệp .ipa, kiểm tra Keychain, Secure Enclave và cấu hình ATS).
  2. Phát triển plugin tích hợp Firebase Scan vào hệ thống CI/CD Pipeline (GitHub Actions, GitLab CI) để tự động ngăn chặn phát hành bản build nếu phát hiện API key hoặc Database URL bị hở quyền.
  3. Bổ sung các bài Lab nâng cao về khai thác lỗ hổng nhị phân (Heap Corruption, Buffer Overflow) trong các thư viện Android NDK.

Đối tượng hưởng lợi

+-------------------------------------------------------------------------+
|                     ĐỐI TƯỢNG HƯỞNG LỢI TỪ ĐỒ ÁN                        |
+----------------------+--------------------------------------------------+
| Nhóm đối tượng       | Giá trị thực tiễn mang lại                      |
+----------------------+--------------------------------------------------+
| Sinh viên ATTT / CNTT| - Tiếp cận tài liệu chuẩn hóa tiếng Việt dễ hiểu |
|                      | - Thực hành trên bộ Lab bám sát thực tế          |
+----------------------+--------------------------------------------------+
| Kỹ sư Lập trình App  | - Nắm bắt các lỗi bảo mật thường gặp để phòng né |
| (Android Developers) | - Áp dụng các quy chuẩn lập trình an toàn ngay   |
|                      |   từ khâu thiết kế (Security by Design)          |
+----------------------+--------------------------------------------------+
| Doanh nghiệp / Startups| - Tự đánh giá sơ bộ mức độ an toàn của sản phẩm|
|                      | - Tiết kiệm chi phí thuê pentest bên ngoài       |
+----------------------+--------------------------------------------------+

Câu hỏi thường gặp

1. Cần chuẩn bị những công cụ gì để thực hiện quy trình kiểm thử này?

Môi trường tối thiểu bao gồm: Máy tính cài đặt hệ điều hành Linux (Ubuntu/Kali Linux) hoặc Windows 10/11, Python 3.8+, công cụ dịch ngược JADX/Apktool, Burp Suite Community/Professional, nền tảng Frida/Objection và một thiết bị Android thật (đã root) hoặc máy ảo Genymotion/Android Emulator (chạy kiến trúc x86_64/ARM).

2. Công cụ Firebase Scan có làm ảnh hưởng đến dữ liệu đang hoạt động của ứng dụng không?

Không. Công cụ sử dụng tham số shallow=true khi kiểm tra quyền đọc để chỉ lấy cấu trúc key cấp cao nhất mà không tải toàn bộ dữ liệu nặng, và khi kiểm thử quyền ghi sẽ chỉ ghi vào một nhánh tạm thời (/security_audit_test.json) rồi lập tức thực hiện lệnh xóa dọn dẹp (Clean-up), đảm bảo tính toàn vẹn dữ liệu.

3. Quy trình này có thể phát hiện được lỗ hổng Zero-Day không?

Quy trình tập trung vào việc rà soát toàn diện các điểm yếu về mặt cấu hình, logic ứng dụng, xác thực, truyền thông và lưu trữ dữ liệu. Đối với lỗ hổng Zero-Day ở tầng Kernel hệ điều hành, quy trình hỗ trợ định vị các vector tấn công tiềm năng thông qua kiểm thử giao tiếp IPC và phân tích mã nguồn động.

4. Ứng dụng PTIT Pentest Lab có chạy được trên các phiên bản Android mới nhất không?

Có. Ứng dụng được thiết kế tương thích từ Android 8.0 (API level 26) đến Android 12 (API level 31), đảm bảo các cơ chế phân quyền runtime permission và bảo mật nền tảng mới nhất đều được kích hoạt chính xác.

5. Làm thế nào để khắc phục triệt để lỗ hổng Firebase Database bị cấu hình sai?

Truy cập vào Firebase Console của dự án, điều hướng đến phần Realtime Database -> chọn tab Rules, thiết lập lại quy tắc bảo mật yêu cầu xác thực người dùng thay vì để mở công khai:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

Kết luận

Đồ án tốt nghiệp "Kiểm thử xâm nhập ứng dụng Android" của sinh viên Trần Minh Nhật đã hoàn thành xuất sắc các mục tiêu đề ra cả về mặt lý luận khoa học lẫn ứng dụng thực tiễn. Đồ án đã hệ thống hóa và cải tiến thành công quy trình kiểm thử bảo mật di động với 7 nhóm kiểm thử tối ưu, khắc phục các thiếu sót của tiêu chuẩn OWASP MSTG hiện tại. Bên cạnh đó, việc xây dựng thành công công cụ rà quét tự động Firebase Scan và ứng dụng huấn luyện thực hành PTIT Pentest Lab mang lại đóng góp thiết thực cho cộng đồng nghiên cứu an toàn thông tin và đào tạo đại học.

Kết quả nghiên cứu là nền tảng vững chắc giúp các nhà phát triển ứng dụng nâng cao khả năng tự bảo vệ trước các cuộc tấn công mạng ngày càng tinh vi, góp phần bảo vệ an toàn cho dữ liệu người dùng trong kỷ nguyên số.