Bối cảnh và vấn đề nghiên cứu

Trong thời đại công nghệ số, ứng dụng di động trên hệ điều hành Android đóng vai trò thiết yếu trong mọi lĩnh vực đời sống, từ giao tiếp xã hội, giải trí cho đến quản lý công việc và giao dịch tài chính. Do Android là hệ điều hành mã nguồn mở chiếm thị phần lớn, các ứng dụng vận hành trên nền tảng này trở thành mục tiêu hàng đầu của các cuộc tấn công mạng. Vấn đề đảm bảo an toàn thông tin không chỉ là mối quan tâm của người dùng cuối mà còn là trách nhiệm sống còn của các nhà phát triển phần mềm và quản trị viên hệ thống.

Hiện nay, việc đánh giá an ninh ứng dụng Android chủ yếu dựa vào hai phương pháp: phân tích động (dynamic analysis) và phân tích tĩnh (static analysis). Mặc dù trên thị trường đã xuất hiện một số công cụ phân tích tĩnh mã nguồn mở như QARK, AndroBugs Framework hay MobSF, phần lớn các công cụ này vẫn chưa tích hợp đầy đủ hoặc chưa được cập nhật đồng bộ theo các bộ tiêu chuẩn kiểm thử an toàn ứng dụng di động chuẩn hóa quốc tế mới nhất.

Trước thực tiễn đó, đồ án tốt nghiệp tập trung giải quyết bài toán chuẩn hóa và tự động hóa quá trình kiểm thử an ninh phần mềm Android thông qua các nhiệm vụ nghiên cứu cụ thể:

  1. Nghiên cứu tổng quan về cấu trúc, cơ chế vận hành và các vấn đề an toàn bảo mật phổ biến trên nền tảng Android.
  2. Khảo sát các phương pháp kiểm thử an toàn phần mềm, đi sâu vào nghiên cứu Bộ tiêu chuẩn xác minh bảo mật ứng dụng di động OWASP MASVS (Mobile Application Security Verification Standard) phiên bản 2.0 và Hướng dẫn kiểm thử OWASP MASTG (Mobile Application Security Testing Guide) phiên bản 1.0.
  3. Phân tích, thiết kế và phát triển công cụ phân tích tĩnh OMSA (OWASP MASVS Scanner/Static Analyzer) nhằm tự động hóa việc phát hiện lỗ hổng trên tệp cài đặt Android (.apk).
  4. Cài đặt, tiến hành thực nghiệm công cụ trên ứng dụng mẫu và so sánh đối chuẩn kết quả với công cụ phân tích tĩnh MobSF.
  • Đối tượng nghiên cứu: Phương pháp phát hiện lỗ hổng bảo mật ứng dụng Android thông qua phân tích tĩnh tệp .apk; bộ tiêu chuẩn OWASP MASVS v2.0 và tài liệu hướng dẫn OWASP MASTG v1.0.
  • Phạm vi nghiên cứu:
    • Không gian: Đề tài được thực hiện tại Khoa An toàn thông tin, Học viện Công nghệ Bưu chính Viễn thông.
    • Thời gian: Hoàn thành vào tháng 01 năm 2024.
    • Thực nghiệm: Đánh giá trên ứng dụng kiểm thử an toàn di động InsecureBankv2.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình tiêu chuẩn

Nghiên cứu dựa trên nền tảng kiến trúc bảo mật của hệ điều hành Android và các tiêu chuẩn kiểm thử an ninh phần mềm di động từ tổ chức OWASP (Open Web Application Security Project):

  • Kiến trúc phân tầng Android:
    • Hạt nhân Linux (Kernel): Chứa các thành phần mở rộng đặc thù như Low Memory Killer, wake locks và trình điều khiển Binder IPC.
    • Lớp trừu tượng phần cứng (HAL): Cung cấp giao diện chuẩn để các dịch vụ tầng trên tương tác với phần cứng thiết bị (camera, micro, cảm biến).
    • Môi trường thực thi (Android Runtime - ART): Chạy mã bytecode Dalvik đã được biên dịch từ Java/Kotlin.
    • Môi trường cách ly (Sandboxing): Phân vùng bộ nhớ và cấp phát định danh hệ thống (Linux UID/GID) riêng biệt cho từng ứng dụng nhằm thực thi nguyên tắc phòng thủ theo chiều sâu (defense-in-depth).
  • Bộ tiêu chuẩn OWASP MASVS phiên bản 2.0 (ban hành ngày 01/04/2023): Định nghĩa 7 nhóm kiểm soát an ninh bao trùm bề mặt tấn công của ứng dụng di động:
    1. MASVS-STORAGE: Lưu trữ an toàn dữ liệu nhạy cảm trên thiết bị.
    2. MASVS-CRYPTO: Chức năng mật mã học bảo vệ dữ liệu.
    3. MASVS-AUTH: Cơ chế xác thực và ủy quyền người dùng.
    4. MASVS-NETWORK: Giao tiếp mạng an toàn giữa client và máy chủ từ xa.
    5. MASVS-PLATFORM: Tương tác an toàn với nền tảng Android (IPC, WebView, UI).
    6. MASVS-CODE: Chất lượng mã nguồn, cập nhật và xử lý an toàn dữ liệu đầu vào.
    7. MASVS-RESILIENCE: Khả năng phục hồi chống dịch ngược mã nguồn và giả mạo ứng dụng.
  • Tài liệu hướng dẫn OWASP MASTG v1.0 và Bảng kiểm thử OWASP MAS Checklist: Cung cấp 49 đầu mục kiểm thử kỹ thuật chi tiết dành riêng cho nền tảng Android.

Phương pháp nghiên cứu

  • Phương pháp phân tích - tổng hợp tài liệu: Khảo sát các tài liệu kỹ thuật về Android Framework, vòng đời thành phần ứng dụng, cơ chế phân quyền, giao tiếp liên tiến trình Binder, tệp cấu hình AndroidManifest.xml và các rủi ro bảo mật (như lộ lọt dữ liệu PII, chèn mã JavaScript trong WebViews, khai thác Intent lỏng lẻo).
  • Phương pháp phân tích tĩnh tự động (Automated Static Analysis): Dịch ngược tệp gói nhị phân APK, giải nén tài nguyên, chuyển đổi mã nguồn bytecode Dalvik sang định dạng Java và thực hiện so khớp mẫu từ khóa dựa trên các biểu thức quy chuẩn thông qua lệnh grep và dữ liệu từ điển JSON.
  • Phương pháp thực nghiệm đối sánh (Comparative Experimentation): Triển khai công cụ OMSA trên môi trường thực tế (Linux và Docker Desktop), kiểm thử quét mã độc/lỗ hổng trên ứng dụng thử nghiệm chuẩn InsecureBankv2, sau đó so sánh kết quả phát hiện với phần mềm kiểm thử MobSF.

Thiết kế và triển khai công cụ OMSA

Khóa luận đã thiết kế và phát triển công cụ phân tích tĩnh mang tên OMSA (OWASP MASVS Scanner) nhằm tự động hóa quy trình rà soát lỗ hổng an ninh ứng dụng Android.

1. Phân tích yêu cầu và kiến trúc công cụ

Công cụ OMSA được thiết kế đáp ứng các yêu cầu chức năng và phi chức năng:

  • Tự động hóa phân tích tĩnh trực tiếp từ tệp .apk.
  • Giao diện dòng lệnh (CLI) trực quan, có phân loại màu sắc cảnh báo theo mức độ rủi ro, chỉ rõ đường dẫn tệp nghi ngờ và hiển thị chú thích chi tiết.
  • Cấu trúc module hóa cao, cho phép người dùng tùy chọn quét toàn bộ hoặc lựa chọn từng module lỗ hổng dựa trên các tệp cấu hình .json.
  • Hỗ trợ xuất nhật ký kết quả rà quét ra tệp văn bản .txt.
  • Đảm bảo tính đa nền tảng, vận hành trực tiếp trên Linux hoặc thông qua Docker Container trên Windows.

2. Cấu trúc mã nguồn và công nghệ tích hợp

OMSA được lập trình bằng ngôn ngữ Python, kết hợp đóng gói cùng các công cụ dịch ngược chuyên dụng:

  • dex2jar: Chuyển đổi mã bytecode trong tệp .apk thành tệp lưu trữ .jar.
  • jadx: Dịch ngược tệp .jar và mã nguồn ứng dụng sang dạng mã Java đọc được.
  • grep: Công cụ tìm kiếm chuỗi mẫu từ khóa phục vụ cơ chế lọc lỗ hổng.

Hệ thống mã nguồn của OMSA gồm 3 tệp thực thi chính và 1 thư mục module:

  • OMSA.py: Tệp khởi chạy chính, hiển thị giao diện mở đầu, kiểm tra môi trường hệ thống (sự tồn tại của grep, dex2jar, jadx) và điều hướng tham số đầu vào.
  • core.py: Đảm nhận việc in thông tin tệp APK, gọi lệnh thực thi dex2jar và jadx để dịch ngược mã nguồn, thực hiện quét so khớp lỗ hổng theo từ khóa từ các tệp module.
  • util.py: Cung cấp mã màu hiển thị trên terminal, xử lý lỗi hệ thống, thiết lập mốc thời gian và định vị đường dẫn lưu tệp kết quả.
  • Thư mục module/: Chứa các tệp .json định nghĩa quy tắc rà quét cho từng hạng mục kiểm soát của OWASP MASVS v2.0.
       [ Khởi động OMSA: Nhận tệp .apk & tham số ]
           < Kiểm tra hệ điều hành Linux >
      < Kiểm tra công cụ phụ trợ:       >
      < grep, jadx, dex2jar đã cài đặt? >
           < Tệp .apk có tồn tại không? >
      < Mã nguồn APK đã dịch ngược chưa?>
         [ Rà quét lỗ hổng theo module JSON ]
         [ Xuất kết quả phân tích (CLI / File) ]
             [ Kết thúc chương trình ]

3. Tham số điều khiển dòng lệnh

Công cụ hỗ trợ các tham số linh hoạt khi vận hành:

  • -h: Hiển thị bảng hướng dẫn sử dụng.
  • -p hoặc --path: Chế độ rà quét một tệp APK đơn lẻ.
  • -f hoặc --folder: Chế độ quét hàng loạt tất cả các tệp APK trong một thư mục chỉ định.
  • -m hoặc --module: Lựa chọn quét theo các module lỗ hổng cụ thể.
  • --no-color: Tắt chế độ hiển thị màu sắc trên dòng lệnh.
  • -l hoặc --log: Lưu trữ toàn bộ kết quả rà quét vào tệp văn bản .txt.

Nội dung chính theo từng chương

Chương 1: Tổng quan về ứng dụng Android

Chương 1 hệ thống hóa kiến trúc nền tảng và các cơ chế cốt lõi của ứng dụng Android:

  • Cấu trúc ứng dụng và tệp cấu hình AndroidManifest.xml: Tệp XML nhị phân nằm tại thư mục gốc APK mô tả cấu trúc, phiên bản SDK tương thích (minSdkVersion, targetSdkVersion, maxSdkVersion), quyền truy cập (uses-permission) và đăng ký các thành phần hệ thống.
  • Bốn thành phần ứng dụng cơ bản:
    • Activities: Thành phần hiển thị giao diện người dùng, quản lý theo các trạng thái vòng đời (active, paused, stopped, inactive), tích hợp các Fragment, View và Layout.
    • Services: Thành phần xử lý tác vụ ngầm không có giao diện, có mức ưu tiên tài nguyên thấp hơn Activity đang hoạt động.
    • Broadcast Receivers: Thành phần tiếp nhận và phản hồi các thông điệp sự kiện phát ra từ hệ thống hoặc ứng dụng khác, liên kết thông qua bộ lọc IntentFilter.
    • Content Providers: Cơ chế trừu tượng hóa và chia sẻ dữ liệu an toàn giữa các ứng dụng dựa trên hệ quản trị cơ sở dữ liệu nhúng SQLite.
  • Giao tiếp liên tiến trình (IPC) và Intent: Trình bày nguyên lý hoạt động của khung phát triển Binder Framework và đối tượng thông điệp Intent (gồm Explicit Intent chỉ định đích danh thành phần và Implicit Intent gửi yêu cầu hành động tới hệ thống).
  • Các vấn đề an ninh phổ biến:
    • Phân quyền (Permissions): Phân loại 4 nhóm quyền gồm Normal (rủi ro thấp, cấp tự động), Dangerous (truy cập dữ liệu/phần cứng nhạy cảm, cần người dùng phê duyệt), Signature (yêu cầu trùng chữ ký chứng chỉ nhà phát triển) và SystemOrSignature (dành riêng cho ứng dụng hệ thống). Điểm yếu thường gặp là yêu cầu quyền quá mức (over-privileged) hoặc thiếu kiểm soát quyền.
    • Lưu trữ dữ liệu: Nguy cơ rò rỉ thông tin định danh cá nhân (PII), mã xác thực khi lưu trữ tại bộ nhớ ngoài hoặc lưu trữ không mã hóa trên thiết bị.
    • Thành phần WebViews: Lỗ hổng thực thi JavaScript không an toàn dẫn đến các dạng tấn công Cross-Site Scripting (Reflected, Stored, DOM-based XSS) và xâm phạm bộ nhớ cache của ứng dụng.

Chương 2: Phương pháp kiểm thử an toàn ứng dụng Android

Chương này đi sâu vào phương pháp luận và các tiêu chuẩn đánh giá an ninh phần mềm:

  • Phân định kiểm thử an toàn và kiểm thử xâm nhập: Phân tích sự khác biệt về mục tiêu, phạm vi và thời điểm triển khai thông qua bảng so sánh đối chuẩn.
  • Kỹ thuật kiểm thử an toàn:
    • Phân tích tĩnh: Đánh giá mã nguồn và tài nguyên mà không cần chạy ứng dụng. Phân tích thủ công (review mã qua các hàm nhạy cảm như executeStatement, executeQuery) có ưu thế phát hiện lỗi logic kinh doanh; phân tích tự động giúp tăng tốc độ quét theo bộ quy tắc định sẵn nhưng dễ sinh cảnh báo dương tính giả.
    • Phân tích động: Đánh giá ứng dụng trong môi trường thực thi thực tế, tập trung vào mô phỏng kịch bản tấn công và kiểm thử tương tác người dùng (đăng nhập, chuyển màn hình, truyền nhận dữ liệu qua mạng).
    • Kiểm thử tích hợp: Kết hợp phân tích tĩnh và động trong quy trình phát triển phần mềm.
  • Khảo sát công cụ phân tích tĩnh: Đánh giá ưu nhược điểm của QARK, AndroBugs Framework và MobSF; chỉ ra hạn chế chung là thiếu tính đồng bộ chặt chẽ với tiêu chuẩn OWASP MASVS v2.0.
  • Đặc tả 7 nhóm kiểm soát OWASP MASVS v2.0: Trình bày chi tiết các yêu cầu từ MASVS-STORAGE-1/2, MASVS-CRYPTO-1/2, MASVS-AUTH-1/2/3, MASVS-NETWORK-1/2 (mã hóa TLS, kỹ thuật Certificate Pinning), MASVS-PLATFORM-1/2/3 (an toàn IPC, WebViews, chụp màn hình tự động), MASVS-CODE-1/2/3/4 (cập nhật hệ điều hành, chống SQLi/XSS), đến MASVS-RESILIENCE-1/2/3/4 (phát hiện root/môi trường giả lập, chống gỡ lỗi và chống dịch ngược).
  • Danh mục OWASP MAS Checklist: Tổng hợp 49 tiêu chí kỹ thuật cụ thể áp dụng cho việc kiểm thử ứng dụng di động Android.

Chương 3: Xây dựng, cài đặt công cụ & thực nghiệm

Chương 3 trình bày toàn bộ quá trình kỹ thuật phát triển và đánh giá công cụ OMSA:

  • Hiện thực hóa bộ lọc rà quét: Xây dựng các tệp cấu hình .json tương ứng với từng điều khiển của OWASP MASVS/MASTG, chứa các từ khóa đặc trưng nhận diện lỗ hổng mã nguồn.
  • Triển khai môi trường: Cài đặt công cụ trực tiếp trên hệ điều hành Linux hoặc cấu hình thông qua Dockerfile để chạy trên nền tảng Docker Desktop.
  • Thực nghiệm trên InsecureBankv2: Sử dụng tệp cài đặt của ứng dụng ngân hàng mẫu chứa sẵn lỗ hổng để tiến hành rà quét tự động.
  • Đánh giá và so sánh kết quả: Đối chiếu hiệu quả quét giữa OMSA và MobSF về độ chi tiết của báo cáo, tính bám sát tiêu chuẩn OWASP và khả năng tùy biến module.

Kết quả và đóng góp

1. Kết quả nghiên cứu và thực nghiệm

  • Đã phân loại và chuẩn hóa 49 đầu mục kiểm thử an toàn ứng dụng Android theo khung chuẩn OWASP MASVS v2.0 và OWASP MASTG v1.0.
  • Xây dựng thành công công cụ OMSA mã nguồn mở bằng Python, đóng gói hoàn chỉnh với dex2jar và jadx, cho phép tự động hóa quá trình dịch ngược và rà quét lỗ hổng tĩnh.
  • Triển khai kiểm thử thành công trên ứng dụng InsecureBankv2, phát hiện chính xác các nhóm lỗi bảo mật liên quan đến cấu hình tệp Manifest, rò rỉ dữ liệu qua cơ chế IPC, thiếu an toàn trong lưu trữ cục bộ và cấu hình mạng.
Tiêu chí so sánh Kiểm thử an toàn (Security Testing) Kiểm thử xâm nhập (Penetration Testing)
Phạm vi Bao gồm nhiều phương pháp nhằm đảm bảo hệ thống đáp ứng các yêu cầu bảo mật cơ bản (chức năng, chấp nhận, an toàn). Tập trung tìm kiếm và khai thác các lỗ hổng bảo mật cụ thể trong hệ thống hoặc ứng dụng.
Mục tiêu Đảm bảo hệ thống/ứng dụng tuân thủ tiêu chuẩn an ninh và không có lỗi trong quá trình triển khai. Đánh giá khả năng chống chịu tấn công thực tế, xác định cách thức kẻ tấn công có thể thâm nhập.
Phương pháp thực hiện Kết hợp kỹ thuật kiểm thử tự động và thủ công. Đòi hỏi sự can thiệp thủ công chuyên sâu để thực hiện kịch bản tấn công thực tế.
Thời điểm thực hiện Thực hiện ở nhiều giai đoạn xuyên suốt vòng đời phát triển phần mềm. Thường thực hiện sau khi hoàn thiện ứng dụng, trước khi phát hành hoặc định kỳ.
Báo cáo đầu ra Chỉ ra các vấn đề an ninh tổng thể và gợi ý giải pháp cải thiện. Báo cáo chi tiết về lỗ hổng cụ thể được tìm thấy và kịch bản khai thác/khắc phục.

2. Giải pháp và kiến nghị

  • Tích hợp kiểm thử tĩnh vào quy trình phát triển: Khuyến nghị các đội ngũ phát triển ứng dụng di động đưa công cụ rà quét tĩnh tự động vào quy trình kiểm thử liên tục để phát hiện sớm các cấu hình sai lệch ngay từ mã nguồn.
  • Kết hợp đa phương pháp: Phân tích tĩnh tự động giúp bao phủ nhanh các quy tắc chuẩn mực, nhưng cần kết hợp kiểm tra mã nguồn thủ công để xử lý các lỗi logic nghiệp vụ mà công cụ tự động không thể nhận diện.

3. Đóng góp của đề tài

  • Hệ thống hóa toàn diện các yêu cầu kỹ thuật của chuẩn mới OWASP MASVS v2.0 (cập nhật năm 2023) cho nền tảng Android.
  • Cung cấp một công cụ kiểm thử phân tích tĩnh mã nguồn mở (OMSA) dạng dòng lệnh, có kiến trúc module hóa linh hoạt bằng JSON, giúp kỹ sư an toàn thông tin dễ dàng mở rộng và tùy biến bộ quy tắc kiểm tra.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế:
    • Công cụ OMSA mới chỉ dừng lại ở phương pháp phân tích tĩnh (Static Analysis) trên mã nguồn dịch ngược, chưa hỗ trợ phân tích động (Dynamic Analysis) khi ứng dụng đang chạy.
    • Cơ chế nhận diện dựa trên việc so khớp mẫu từ khóa (grep) có thể dẫn đến tỷ lệ cảnh báo dương tính giả (false positive) trong một số ngữ cảnh mã phức tạp.
    • Một số tiêu chí trong 49 đầu mục kiểm thử của OWASP MAS Checklist đòi hỏi tương tác phân tích ngữ cảnh chuyên sâu nên chưa được tự động hóa hoàn toàn trong công cụ.
  • Hướng nghiên cứu tiếp:
    • Nghiên cứu tích hợp thêm tính năng phân tích động vào OMSA để theo dõi hành vi ứng dụng theo thời gian thực.
    • Cải tiến bộ phân tích cú pháp mã nguồn nhằm nâng cao độ chính xác, giảm thiểu dương tính giả.
    • Mở rộng bộ lọc để bao phủ toàn bộ 49 danh mục kiểm thử của chuẩn MASVS cho Android và phát triển module tương thích cho nền tảng iOS.

Giá trị tham khảo

  • Đối tượng tham khảo:
    • Sinh viên, học viên chuyên ngành An toàn thông tin, Công nghệ thông tin hoặc Kỹ thuật phần mềm đang thực hiện khóa luận, đồ án về an ninh ứng dụng di động.
    • Lập trình viên Android có nhu cầu tìm hiểu các nguyên tắc lập trình an toàn (secure coding) và tự kiểm tra mã nguồn trước khi xuất bản.
    • Kỹ sư kiểm thử an toàn thông tin (Security Testers / Pentesters) cần một công cụ phân tích tĩnh gọn nhẹ, dễ tùy biến qua tệp cấu hình JSON và chạy linh hoạt trên môi trường dòng lệnh/Docker.
  • Nội dung đáng tham khảo:
    • Bảng tổng hợp 7 nhóm kiểm soát và 49 đầu mục kiểm thử an toàn theo chuẩn OWASP MASVS v2.0 / MASTG v1.0 tại Chương 2.
    • Thiết kế kiến trúc module hóa công cụ quét lỗ hổng bằng Python và giải pháp tích hợp các bộ công cụ dịch ngược dex2jar, jadx tại Chương 3.
    • Cấu hình đóng gói môi trường kiểm thử an toàn ứng dụng di động thông qua Docker.

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

1. Bộ tiêu chuẩn OWASP MASVS phiên bản 2.0 gồm những nhóm kiểm soát an ninh nào?

Tiêu chuẩn OWASP MASVS v2.0 bao gồm 7 nhóm kiểm soát: MASVS-STORAGE (Lưu trữ an toàn), MASVS-CRYPTO (Mật mã học), MASVS-AUTH (Xác thực và ủy quyền), MASVS-NETWORK (Truyền thông mạng), MASVS-PLATFORM (Tương tác nền tảng), MASVS-CODE (Chất lượng mã nguồn) và MASVS-RESILIENCE (Khả năng phục hồi chống dịch ngược/giả mạo).

2. Công cụ OMSA sử dụng các công cụ phụ trợ nào để phân tích tệp APK?

OMSA được viết bằng Python, tích hợp công cụ dex2jar để chuyển tệp .apk thành .jar, công cụ jadx để dịch ngược mã bytecode sang mã nguồn Java, và lệnh grep để thực hiện tìm kiếm, so khớp từ khóa lỗ hổng từ các tệp cấu hình JSON.

3. Hệ điều hành Android phân loại quyền ứng dụng thành những cấp độ nào?

Android phân loại quyền thành 4 cấp độ bảo vệ: Normal (quyền thông thường, rủi ro thấp, cấp tự động), Dangerous (quyền nguy hiểm, truy cập dữ liệu/phần cứng nhạy cảm, người dùng phải phê duyệt), Signature (quyền chữ ký, chỉ cấp cho các ứng dụng có cùng chứng chỉ ký) và SystemOrSignature (quyền dành riêng cho ứng dụng nhúng trong ảnh hệ thống hoặc trùng chữ ký hệ thống).

4. Ứng dụng mẫu nào được tác giả sử dụng để thực nghiệm công cụ OMSA?

Tác giả sử dụng ứng dụng di động mẫu InsecureBankv2 (một ứng dụng chứa sẵn các lỗ hổng bảo mật phổ biến) để chạy thử nghiệm quy trình rà quét và đánh giá, đối chứng kết quả giữa OMSA với công cụ MobSF.

5. Người dùng có thể điều khiển công cụ OMSA thông qua những tham số dòng lệnh nào?

Công cụ cung cấp các tham số dòng lệnh: -h (hiển thị trợ giúp), -p hoặc --path (quét một tệp APK), -f hoặc --folder (quét hàng loạt tệp APK trong thư mục), -m hoặc --module (chọn module lỗ hổng cụ thể), --no-color (tắt in màu kết quả) và -l hoặc --log (xuất báo cáo rà quét ra tệp .txt).


Kết luận

Đồ án tốt nghiệp của sinh viên Nguyễn Kiều Trinh đã tổng hợp toàn diện cơ sở lý thuyết về kiến trúc an ninh Android và hệ thống hóa chuẩn kiểm thử OWASP MASVS v2.0 / MASTG v1.0. Tác giả đã hiện thực hóa thành công công cụ phân tích tĩnh mã nguồn mở OMSA bằng ngôn ngữ Python, tích hợp cơ chế tự động dịch ngược qua dex2jar/jadx và quét lỗ hổng theo các module JSON tùy biến. Kết quả thử nghiệm trên ứng dụng InsecureBankv2 chứng minh tính hiệu quả, trực quan và khả năng ứng dụng thực tiễn của công cụ trong việc hỗ trợ đánh giá an toàn phần mềm di động. Công trình đã xác định rõ các hạn chế hiện tại về phân tích động và đề xuất lộ trình mở rộng kiểm thử toàn diện trên cả hai nền tảng Android và iOS.