Giới thiệu dự án

Trong kỷ nguyên số hóa, hệ điều hành Android chiếm hơn 70% thị phần hệ điều hành di động toàn cầu, trở thành nền tảng cốt lõi cho hàng triệu ứng dụng từ tài chính - ngân hàng, thương mại điện tử đến y tế và liên lạc cá nhân. Tuy nhiên, theo các báo cáo bảo mật ứng dụng di động quốc tế, hơn 85% ứng dụng Android trên các kho ứng dụng chứa ít nhất một lỗ hổng bảo mật nghiêm trọng. Thực trạng này đe dọa trực tiếp đến tính riêng tư của dữ liệu người dùng (PII - Personally Identifiable Information), gây nguy cơ rò rỉ thông tin xác thực, giả mạo giao dịch và chiếm quyền điều khiển thiết bị.

Vấn đề cốt lõi đặt ra là phần lớn các lỗ hổng phần mềm xuất phát ngay từ giai đoạn lập trình và cấu hình ứng dụng: việc cấp quyền lỏng lẻo trong tệp AndroidManifest.xml, sử dụng các thuật toán mã hóa lỗi thời, lưu trữ dữ liệu nhạy cảm dưới dạng bản rõ (cleartext), hay cấu hình sai các thành phần giao tiếp liên tiến trình (IPC - Inter-Process Communication). Các phương pháp kiểm thử an ninh truyền thống thường phụ thuộc vào đánh giá thủ công tốn thời gian hoặc sử dụng các công cụ tự động rời rạc, chưa chuẩn hóa theo các khung kiểm định quốc tế mới nhất.

Đồ án tốt nghiệp "Nghiên cứu phương pháp phát hiện lỗ hổng bảo mật của phần mềm ứng dụng trên hệ điều hành Android" do sinh viên Nguyễn Kiều Trinh (Khoa An toàn Thông tin, Học viện Công nghệ Bưu chính Viễn thông) thực hiện dưới sự hướng dẫn khoa học của PGS. Đỗ Xuân Chợ, tập trung giải quyết bài toán trên thông qua 5 mục tiêu cụ thể:

  1. Nghiên cứu toàn diện kiến trúc bảo mật Android và phương pháp phân tích tĩnh (Static Application Security Testing - SAST).
  2. Chuẩn hóa quy trình đánh giá lỗ hổng dựa trên bộ tiêu chuẩn công nghiệp OWASP MASVS v2.0 (Mobile Application Security Verification Standard) và tài liệu kiểm thử OWASP MASTG v1.0 (Mobile Application Security Testing Guide).
  3. Thiết kế và phát triển công cụ phân tích tĩnh tự động mã nguồn mở mang tên OMSA (OWASP MASVS Scanner for Android).
  4. Tích hợp chuỗi công cụ dịch ngược (Reverse Engineering Toolchain) gồm jadxdex2jar với cơ chế nhận dạng mẫu dựa trên các module JSON tùy biến.
  5. Thử nghiệm thực tế và đánh giá đối chuẩn (benchmark) hiệu năng của công cụ OMSA trên ứng dụng mục tiêu InsecureBankv2 và so sánh với giải pháp phổ biến MobSF.

Phương pháp tiếp cận của đề tài là phân tích tĩnh trực tiếp trên gói cài đặt ứng dụng (.apk) mà không cần mã nguồn gốc của nhà phát triển, giúp tối ưu hóa thời gian kiểm thử (dưới 30 giây cho một ứng dụng kích thước 25MB), đồng thời cung cấp kết quả phát hiện rõ ràng, định dạng trực quan trên giao diện dòng lệnh (CLI) và tệp báo cáo log. Phạm vi nghiên cứu tập trung vào phân tích tĩnh tự động trên nền tảng Linux và môi trường Docker hóa, hỗ trợ phát hiện các lỗi cấu hình, vi phạm chuẩn mật mã, rò rỉ dữ liệu lưu trữ và tương tác nền tảng không an toàn.


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

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

Hiện nay, các kỹ sư an toàn thông tin và lập trình viên thường tiếp cận việc kiểm thử bảo mật ứng dụng Android thông qua phân tích thủ công kết hợp một số công cụ tự động. Bảng đối chiếu dưới đây phân tích ưu và nhược điểm của các giải pháp hiện hành:

Công cụ / Phương pháp Phương thức kiểm thử Ưu điểm Nhược điểm
Kiểm tra mã nguồn thủ công (Manual Review) Đọc mã nguồn, dùng lệnh grep Phát hiện chính xác lỗi logic nghiệp vụ, hiểu sâu luồng xử lý dữ liệu. Tốn nhiều thời gian, phụ thuộc trình độ chuyên gia, không khả thi cho dự án lớn.
QARK (Quick Android Review Kit) Phân tích tĩnh tự động Nhận diện tốt các lỗ hổng liên quan đến IPC (Activity, Broadcast Receiver). Dự án ngừng cập nhật thường xuyên, không đồng bộ với tiêu chuẩn OWASP MASVS v2.0.
AndroBugs Framework Phân tích tĩnh tự động Tốc độ quét nhanh, hỗ trợ kiểm tra tệp APK đã biên dịch. Tỉ lệ dương tính giả (False Positive) cao, cấu hình tập luật phức tạp, khó tùy biến.
MobSF (Mobile Security Framework) Phân tích tĩnh & động Giao diện Web GUI trực quan, hỗ trợ đa nền tảng (Android, iOS). Tiêu tốn nhiều tài nguyên hệ thống (RAM, CPU), yêu cầu cài đặt môi trường phức tạp (Django, PostgreSQL).
               [ Yêu cầu kiểm thử an toàn Android ]
                                |
        +-----------------------+-----------------------+
        |                                               |
[ Must Have ]                                   [ Should Have ]
- Phân tích tĩnh tự động file .apk               - Quét theo thư mục nhiều file (-f)
- Ánh xạ 7 nhóm kiểm soát OWASP MASVS v2.0      - Quét module riêng biệt (-m)
- Tích hợp JADX & Dex2jar                       - Giao diện CLI hỗ trợ ANSI color
- Xuất log định dạng .txt                        - Tùy chọn tắt màu (--no-color)
        |                                               |
[ Could Have ]                                  [ Won't Have (v1.0) ]
- Đóng gói Docker Container độc lập             - Phân tích động thời gian thực (Dynamic)
- Báo cáo HTML/PDF nâng cao                     - Can thiệp bộ nhớ (Frida Hooking)

Yêu cầu kỹ thuật cốt lõi đặt ra là xây dựng một công cụ gọn nhẹ, chạy trực tiếp trên dòng lệnh, dễ dàng tích hợp vào đường ống phát triển phần mềm mà vẫn đảm bảo độ bao phủ các tiêu chuẩn quốc tế.

Thiết kế hệ thống

Kiến trúc của công cụ OMSA được thiết kế theo mô hình phân lớp module hóa (Modular Architecture), tách biệt giữa tầng phân tích nhị phân, động cơ quét mẫu (Scan Engine) và tầng biểu diễn kết quả:

+-------------------------------------------------------------------------+
|                        Giao diện Dòng lệnh (CLI)                        |
|             Tham số: -h (Help), -p (Path), -f (Folder), -m (Module)      |
+-------------------------------------------------------------------------+
                                     |
                                     v
+-------------------------------------------------------------------------+
|                      Tầng Điều phối (OMSA.py)                           |
|      - Kiểm tra dependency: Linux OS, grep, jadx v1.4.7, dex2jar v2.4    |
|      - Tiếp nhận và phân luồng tham số đầu vào                          |
+-------------------------------------------------------------------------+
                                     |
                                     v
+-------------------------------------------------------------------------+
|                      Tầng Xử lý Lõi (core.py)                           |
|  +---------------------------+       +-------------------------------+  |
|  |   Bộ Dịch ngược (Reverse)  | ----> |   Động cơ Quét (Pattern Match) |  |
|  |   - APK -> JAR (dex2jar)  |       |   - Đọc quy tắc từ .json      |  |
|  |   - Bytecode -> Java Src  |       |   - Thực thi regex/grep       |  |
|  +---------------------------+       +-------------------------------+  |
+-------------------------------------------------------------------------+
                                     |
                                     v
+-------------------------------------------------------------------------+
|                      Tầng Tiện ích & Xuất dữ liệu (utils.py)             |
|      - Định dạng màu sắc ANSI CLI                                       |
|      - Ghi log ra file kết quả (.txt) kèm Timestamp                      |
+-------------------------------------------------------------------------+

Technology Stack của hệ thống:

  • Ngôn ngữ lập trình: Python 3.10+
  • Công cụ dịch ngược: JADX (v1.4.7), Dex2jar (v2.4)
  • Công cụ trích xuất văn bản: GNU Grep 3.x
  • Môi trường đóng gói: Docker Engine 24.0+ / Dockerfile đa tầng
  • Tập luật (Rule Sets): 36 module định dạng JSON ánh xạ theo OWASP MASVS v2.0

Cấu trúc một module quy tắc trong tệp .json:

{
  "masvs_id": "MASVS-STORAGE-1",
  "category": "Data Storage and Privacy",
  "vulnerability_name": "Insecure SharedPreferences Storage",
  "severity": "High",
  "patterns": [
    "getSharedPreferences\\(.*MODE_WORLD_READABLE.*\\)",
    "getSharedPreferences\\(.*MODE_WORLD_WRITEABLE.*\\)"
  ],
  "description": "Ứng dụng tạo tệp SharedPreferences với quyền đọc/ghi toàn cục, cho phép các ứng dụng khác truy cập dữ liệu nhạy cảm.",
  "remediation": "Sử dụng EncryptedSharedPreferences từ thư viện AndroidX Security hoặc đặt chế độ MODE_PRIVATE."
}

Methodology

Dự án áp dụng mô hình phát triển phần mềm lặp (Iterative Development) kết hợp phương pháp luận kiểm thử hộp trắng (White-box Testing) trên mã nguồn đã dịch ngược:

[ Giai đoạn 1: Nghiên cứu ] --> [ Giai đoạn 2: Thiết kế Lõi ] --> [ Giai đoạn 3: Xây dựng Module ] --> [ Giai đoạn 4: Thực nghiệm & Tối ưu ]
(Tuần 1 - Tuần 4)               (Tuần 5 - Tuần 8)                 (Tuần 9 - Tuần 12)                  (Tuần 13 - Tuần 16)
- Chuẩn hóa OWASP MASVS v2.0    - Viết OMSA.py, core.py, utils    - Xây dựng 36 file rule .json       - Quét thử nghiệm InsecureBankv2
- Khảo sát JADX & Dex2jar       - Xây dựng luồng gọi subprocess  - Ánh xạ checklist kiểm thử        - Benchmark đối chuẩn MobSF

Chiến lược giảm thiểu rủi ro tập trung vào việc xử lý các tệp APK bị hỏng cấu trúc ZIP hoặc mã hóa nhẹ bằng cách bọc các lệnh gọi thực thi dịch ngược trong khối xử lý ngoại lệ (Exception Handling) an toàn, ngăn chặn việc gián đoạn tiến trình quét hàng loạt.


Implementation và kết quả

Development process

Quá trình hiện thực hóa công cụ OMSA được phân bổ thành các module mã nguồn độc lập, tuân thủ nguyên tắc lập trình hướng cấu trúc rõ ràng:

  1. Module OMSA.py: Tiếp nhận các cờ tham số dòng lệnh thông qua thư viện argparse, kiểm tra sự tồn tại của các dependency (jadx, d2j-dex2jar, grep) và điều hướng luồng quét đơn tệp hoặc thư mục.
  2. Module core.py: Triển khai thuật toán xử lý gói tin APK và động cơ rà quét lỗ hổng.

Thuật toán dịch ngược và quét mẫu trong core.py:

import os
import json
import subprocess

def decompile_apk(apk_path, output_dir):
    """
    Dịch ngược tệp APK sang Java Source Code sử dụng JADX
    """
    cmd = ["jadx", "-d", output_dir, apk_path]
    process = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    return process.returncode == 0

def scan_vulnerability(source_dir, module_json_path):
    """
    Rà quét lỗ hổng dựa trên tập luật định nghĩa trong file JSON
    """
    with open(module_json_path, 'r', encoding='utf-8') as f:
        rule = json.load(f)
    
    findings = []
    for pattern in rule["patterns"]:
        grep_cmd = ["grep", "-rnE", pattern, source_dir]
        result = subprocess.run(grep_cmd, stdout=subprocess.PIPE, text=True)
        if result.stdout:
            for line in result.stdout.strip().split('\n'):
                findings.append({
                    "masvs_id": rule["masvs_id"],
                    "vuln_name": rule["vulnerability_name"],
                    "severity": rule["severity"],
                    "location": line.split(':')[0],
                    "code_snippet": ':'.join(line.split(':')[2:]).strip()
                })
    return findings
  1. Module utils.py: Xử lý in ấn kết quả ra màn hình với bảng mã màu ANSI (Màu đỏ: High/Critical, Màu vàng: Medium, Màu xanh lá: Low/Passed) và ghi vết toàn bộ log ra tệp văn bản.

Testing và validation

Quá trình kiểm thử được tiến hành trên môi trường thử nghiệm tiêu chuẩn:

  • Hệ điều hành thử nghiệm: Ubuntu 22.04 LTS & Docker Desktop trên Windows 11.
  • Đối tượng thử nghiệm: Ứng dụng mẫu có chủ đích chứa lỗ hổng InsecureBankv2.apk.
================================================================================
                    KẾT QUẢ RÀ QUÉT BẢO MẬT OMSA SCANNER
================================================================================
[+] Mục tiêu: InsecureBankv2.apk
[+] Tiêu chuẩn: OWASP MASVS v2.0 / MASTG v1.0
[+] Tổng số Module kiểm tra: 36
--------------------------------------------------------------------------------
[!] PHÁT HIỆN LỖ HỔNG: [MASVS-STORAGE-1] Rò rỉ dữ liệu SharedPreferences
    - Mức độ: High
    - Vị trí: com/android/insecurebankv2/FilePrefActivity.java:38
    - Chi tiết: getSharedPreferences("my_prefs", MODE_WORLD_READABLE);

[!] PHÁT HIỆN LỖ HỔNG: [MASVS-CRYPTO-1] Sử dụng thuật toán mã hóa yếu (DES)
    - Mức độ: High
    - Vị trí: com/android/insecurebankv2/CryptoUtils.java:24
    - Chi tiết: Cipher.getInstance("DES/CBC/PKCS5Padding");

[!] PHÁT HIỆN LỖ HỔNG: [MASVS-PLATFORM-1] Thành phần Exported không an toàn
    - Mức độ: Medium
    - Vị trí: AndroidManifest.xml:42
    - Chi tiết: <activity android:name=".PostLogin" android:exported="true"/>
--------------------------------------------------------------------------------
[+] Tổng thời gian phân tích: 14.82 giây
[+] Tệp log xuất tại: ./logs/OMSA_InsecureBankv2_20240115.txt
================================================================================

Kết quả đạt được

Đồ án đã hoàn thành 100% các chỉ tiêu thiết kế ban đầu với các chỉ số định lượng cụ thể:

  • Độ bao phủ tiêu chuẩn: Hiện thực hóa thành công 36/49 đề mục kiểm thử an toàn tĩnh thuộc 7 nhóm kiểm soát OWASP MASVS v2.0 (các mục còn lại thuộc phạm vi phân tích động).
  • Tốc độ xử lý: Thời gian dịch ngược và quét toàn diện đạt trung bình 12 - 18 giây/ứng dụng (nhanh hơn đáng kể so với việc khởi chạy đầy đủ một phiên quét MobSF).
  • Độ chính xác: Phát hiện đầy đủ 100% các lỗ hổng tĩnh kinh điển được tích hợp sẵn trong ứng dụng InsecureBankv2 (Hardcoded AES key, Plaintext HTTP communication, Exported components thiếu quyền, Debuggable enabled).

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

Nghiên cứu mang lại những đóng góp kỹ thuật và cải tiến mang tính thực tiễn cao trong lĩnh vực kiểm thử an toàn ứng dụng di động:

                [ SO SÁNH HIỆU NĂNG VÀ TÍNH NĂNG ]

Tiêu chí               MobSF (v3.7)       QARK (v1.2)        OMSA (Đồ án)
-----------------------------------------------------------------------------
Chuẩn kiểm định        MASVS v1.0         Tự định nghĩa      OWASP MASVS v2.0
Dung lượng cài đặt     > 2.5 GB (Docker)  ~ 150 MB           ~ 380 MB (Docker)
RAM tiêu thụ khi quét  ~ 1.8 - 2.2 GB     ~ 400 MB           ~ 250 - 450 MB
Thời gian phân tích    45 - 90 giây       25 - 40 giây       12 - 18 giây
Khả năng thêm Rule     Sửa code Python    Sửa AST rules      Thêm file .json
Giao diện vận hành     Web Browser GUI    CLI                CLI / Docker CLI

Các điểm đổi mới nổi bật:

  1. Tiên phong cập nhật tiêu chuẩn OWASP MASVS v2.0: Trong khi đa số công cụ hiện tại vẫn neo theo chuẩn v1.0 cũ, OMSA là một trong những giải pháp nội địa đầu tiên chuẩn hóa cấu trúc 7 nhóm kiểm soát mới nhất.
  2. Cơ chế Module JSON linh hoạt: Việc tách biệt hoàn toàn giữa mã nguồn quét và tập luật phát hiện cho phép người dùng mở rộng bộ quy tắc quét (Custom Rules) mà không cần chỉnh sửa hay biên dịch lại mã nguồn Python.
  3. Tối ưu hóa hiệu năng và tài nguyên: Giảm thiểu hơn 75% dung lượng bộ nhớ RAM tiêu thụ so với các nền tảng quét dựa trên Web Framework cồng kềnh, lý tưởng cho việc nhúng vào các container kiểm thử tự động.

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

Trường hợp sử dụng thực tế

  • Tích hợp đường ống DevSecOps (CI/CD Pipeline): OMSA có thể hoạt động như một bước kiểm tra bảo mật bắt buộc (Quality Gate) trong quy trình build tự động trên GitLab CI hoặc GitHub Actions. Nếu phát hiện lỗ hổng mức High/Critical, tiến trình build sẽ tự động dừng và cảnh báo cho lập trình viên.
  • Hỗ trợ chuyên gia Đánh giá An ninh (Penetration Testing): Đóng vai trò là công cụ trinh sát nhanh (Triage Phase) giúp kiểm thử viên xác định ngay các bề mặt tấn công tiềm năng chỉ sau vài giây phân tích tệp APK.

Hướng dẫn triển khai qua Docker

Để đảm bảo tính nhất quán trên mọi môi trường (Linux, macOS, Windows) mà không cần cài đặt thủ công Java SDK, JADX hay Dex2jar, công cụ được đóng gói hoàn chỉnh thông qua Dockerfile:

FROM openjdk:11-jre-slim
RUN apt-get update && apt-get install -y python3 python3-pip grep wget unzip
WORKDIR /app
# Cài đặt JADX v1.4.7
RUN wget https://github.com/skylot/jadx/releases/download/v1.4.7/jadx-1.4.7.zip && \
    unzip jadx-1.4.7.zip -d /opt/jadx && ln -s /opt/jadx/bin/jadx /usr/local/bin/jadx
COPY . /app
ENTRYPOINT ["python3", "OMSA.py"]

Quy trình build và thực thi:

# 1. Xây dựng Docker Image
docker build -t omsa-scanner:v2.0 .

# 2. Quét một tệp APK cụ thể
docker run --rm -v $(pwd)/apks:/app/target omsa-scanner:v2.0 -p /app/target/app-release.apk -L

# 3. Quét toàn bộ thư mục APK
docker run --rm -v $(pwd)/apks:/app/target omsa-scanner:v2.0 -f /app/target/

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

Mặc dù đạt được những kết quả khả quan, đề tài vẫn ghi nhận một số hạn chế kỹ thuật cần khắc phục:

  • Hạn chế kỹ thuật:

    • Công cụ mới dừng lại ở kỹ thuật phân tích tĩnh (SAST), chưa thể kiểm tra các lỗ hổng chỉ bộc lộ trong thời gian chạy (Runtime Flaws) như vượt qua xác thực sinh trắc học hoặc bắt gói tin qua Certificate Pinning.
    • Đối với các tệp APK áp dụng cơ chế làm rối mã nâng cao (Code Obfuscation qua DexGuard, ProGuard cấu hình sâu) hoặc các ứng dụng đóng gói nhị phân Native C/C++ (.so), khả năng dịch ngược của JADX bị suy giảm, dẫn đến nguy cơ bỏ sót lỗ hổng.
  • Hướng phát triển trong tương lai:

    • Tích hợp Dynamic Analysis: Kết hợp công cụ tương tác thiết bị tự động (Frida, ADB) để theo dõi hành vi thời gian thực và tự động bypass các cơ chế chống dịch ngược (Anti-debugging, Root detection).
    • Phân tích luồng dữ liệu (Data-flow / Taint Analysis): Nâng cấp động cơ phân tích cú pháp trừu tượng (AST) để theo dõi luồng dữ liệu từ nguồn nhập liệu (Source) đến điểm thực thi nguy hiểm (Sink), giảm thiểu tối đa dương tính giả.
    • Đa dạng hóa báo cáo: Hỗ trợ xuất định dạng báo cáo chuẩn SARIF (Static Analysis Results Interchange Format) để tích hợp trực tiếp vào giao diện Security của GitHub/GitLab.

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

Nghiên cứu mang lại giá trị thiết thực cho nhiều nhóm đối tượng trong hệ sinh thái phần mềm:

  • Sinh viên & Học viên chuyên ngành An toàn thông tin / CNTT: Tài liệu tham khảo toàn diện về kiến trúc bảo mật Android, phương pháp luận dịch ngược phần mềm và cách thức ánh xạ các tiêu chuẩn bảo mật quốc tế vào sản phẩm phần mềm thực tế.
  • Lập trình viên Mobile (Android Developers): Cung cấp công cụ tự kiểm tra mã nguồn trước khi xuất bản ứng dụng lên Google Play, giúp nhận diện sớm các sai sót cấu hình và vi phạm quy chuẩn viết mã an toàn.
  • Kỹ sư Bảo mật & Đánh giá An ninh (Security Engineers / Pentesters): Một công cụ gọn nhẹ, tốc độ cao, phục vụ công tác rà quét diện rộng hàng trăm ứng dụng di động trong thời gian ngắn mà không gây quá tải hạ tầng.
  • Doanh nghiệp & Đơn vị phát triển phần mềm: Giảm thiểu chi phí xử lý sự cố an ninh sau phát hành, nâng cao năng lực tuân thủ các quy định bảo vệ dữ liệu người dùng.

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

1. Yêu cầu cấu hình hệ thống tối thiểu để cài đặt và chạy công cụ OMSA là gì?

Công cụ OMSA yêu cầu môi trường hệ điều hành Linux (Ubuntu/Debian) hoặc Docker trên Windows/macOS. Cấu hình phần cứng tối thiểu gồm CPU 2 Cores, RAM 2GB và 1GB dung lượng đĩa trống. Phần mềm yêu cầu cài đặt Python 3.8+, Java JRE 11+ cùng các công cụ jadx, dex2jargrep (đã được tích hợp sẵn đầy đủ nếu sử dụng phiên bản Docker).

2. OMSA xử lý như thế nào đối với các ứng dụng Android bị làm rối mã (Obfuscated APK)?

Khi gặp các ứng dụng sử dụng ProGuard hoặc R8 mức độ cơ bản, OMSA vẫn có thể phân tích cấu trúc tệp AndroidManifest.xml và các chuỗi cấu hình. Tuy nhiên, nếu ứng dụng dùng các giải pháp thương mại làm rối mã phức tạp (DexGuard, VMP), công cụ khuyến nghị kết hợp phân tích thủ công trên smali code hoặc chuyển sang giai đoạn phân tích động (Dynamic Analysis).

3. Làm thế nào để thêm một quy tắc kiểm tra lỗ hổng mới vào OMSA?

Người dùng chỉ cần tạo một tệp .json mới trong thư mục modules/ với cấu trúc định nghĩa chuẩn: masvs_id, vulnerability_name, severity, và mảng các biểu thức chính quy patterns. Động cơ quét của OMSA sẽ tự động nạp và thực thi quy tắc mới trong lần quét tiếp theo mà không cần biên dịch lại mã nguồn.

4. OMSA khác biệt như thế nào so với công cụ nổi tiếng MobSF?

MobSF là một bộ khung đồ sộ tích hợp cả phân tích tĩnh, động và API testing qua giao diện Web. Ngược lại, OMSA là công cụ chuyên biệt phân tích tĩnh tập trung vào dòng lệnh (CLI), có tốc độ khởi động và quét nhanh hơn 3-4 lần, tiêu tốn ít RAM hơn và được thiết kế chuyên biệt để bám sát danh mục kiểm định của chuẩn OWASP MASVS v2.0.

5. OMSA có khả năng tích hợp vào các hệ thống CI/CD tự động không?

Có. Nhờ thiết kế giao diện dòng lệnh linh hoạt, mã trả về (exit code) chuẩn xác và hỗ trợ xuất log tệp văn bản/console, OMSA có thể dễ dàng nhúng vào các kịch bản của Jenkins, GitLab CI, GitHub Actions hoặc Azure DevOps để tự động hóa khâu kiểm thử bảo mật mã nguồn trong chu trình DevSecOps.


Kết luận

Đồ án tốt nghiệp "Nghiên cứu phương pháp phát hiện lỗ hổng bảo mật của phần mềm ứng dụng trên hệ điều hành Android" của sinh viên Nguyễn Kiều Trinh đã giải quyết thành công bài toán tự động hóa kiểm thử an toàn phần mềm di động. Bằng việc kết hợp chặt chẽ giữa cơ sở lý thuyết vững chắc từ tiêu chuẩn quốc tế OWASP MASVS v2.0 / MASTG v1.0 và việc hiện thực hóa công cụ thực nghiệm OMSA, nghiên cứu đã chứng minh tính khả thi, hiệu năng vượt trội và giá trị ứng dụng thực tiễn cao trong quy trình phát triển phần mềm an toàn.

Kết quả của đề tài không chỉ đóng góp một công cụ hữu ích cho cộng đồng an toàn thông tin mà còn mở ra hướng nghiên cứu kết hợp phân tích tĩnh và phân tích động chuyên sâu trên các nền tảng di động thế hệ mới. Các tổ chức, doanh nghiệp và nhà phát triển quan tâm có thể ứng dụng giải pháp này nhằm nâng cao năng lực bảo vệ dữ liệu, phòng ngừa rủi ro an ninh mạng và xây dựng các ứng dụng di động an toàn, đáng tin cậy.