Phá vỡ lớp bảo vệ đa tầng trên ứng dụng Mobile Banking

Trong dự án kiểm thử một ứng dụng Mobile Banking tại Việt Nam, Red Team phải đối mặt với một hệ thống được bảo vệ cực kỳ nghiêm ngặt. Ngay từ bước phân tích tĩnh, ứng dụng đã cho thấy khả năng chống can thiệp mạnh mẽ:
  • Bảo mật Client-side: Ngăn chặn chạy trên thiết bị đã root, chống debug và kiểm tra tính toàn vẹn (Integrity Checks).
  • Mã hóa giao tiếp (Custom Cryptography Scheme): Toàn bộ dữ liệu API Request/Response được mã hóa dưới dạng không thể đọc được trên các công cụ Proxy thông thường như Burp Suite.

Hành trình phá vỡ rào cản kỹ thuật

Các phương pháp truyền thống như chỉnh sửa bản biên dịch (Patching) hay dịch ngược mã nguồn bị làm rối (Decompiling obfuscated code) đều tỏ ra không hiệu quả và tốn thời gian.

1. Phân tích động với bộ công cụ Frida

Nhóm chuyên gia đã tận dụng một điểm yếu: Ứng dụng chưa kiểm tra sự hiện diện của Frida – công cụ cho phép can thiệp vào quá trình thực thi ứng dụng.

  • Giả định: Lập trình viên thường dùng các thư viện chuẩn của Android như libcrypto.so để mã hóa.
  • Truy vết: Sử dụng frida-trace để quan sát thứ tự thực thi phương thức và lấy dữ liệu "plaintext" ngay trước khi nó bị mã hóa.

mobile pentest

2. Giải mã cơ chế Custom Cryptography

Thông qua quan sát call-stacks, nhóm đã giải mã được quy trình quản lý khóa (Handshake):

  1. Dùng một Initial-Key gán cứng để mã hóa Login Request.
  2. Sau khi đăng nhập thành công, Server trả về một Session-Key.
  3. Tất cả giao tiếp sau đó đều dùng AES-256 với Session-Key này.

Giải pháp đột phá: Tự động hóa với Burp Suite Extension

Để kiểm thử API hiệu quả, việc thực hiện giải mã thủ công từng gói tin là không khả thi. Red Team đã phát triển một Burp Suite Extension riêng biệt:

  • Transparent Proxy: Tự động bắt khóa (Key Sniffing) và giải mã/mã hóa dữ liệu ngay trên Burp Suite.
  • Kết quả: Toàn bộ API Request/Response giờ đây hiển thị dưới dạng Plaintext (JSON), cho phép các chuyên gia bắt đầu săn tìm lỗ hổng logic.

Burp Suite Extension

Những lỗ hổng nghiêm trọng được phát hiện

Sau khi vượt qua lớp mã hóa, Red Team đã tìm thấy hàng loạt lỗ hổng logic nghiệp vụ nghiêm trọng:

  • IDOR: Cho phép liệt kê và xem thông tin giao dịch của khách hàng khác.
  • Bypass Authorization: Truy cập thông tin cá nhân mà không cần Access Token hợp lệ.
  • Business Logic: Nghiêm trọng nhất là lỗ hổng cho phép vượt qua bước kiểm tra mã OTP để thực hiện các giao dịch chuyển tiền bất hợp pháp.

Khuyến nghị cho các tổ chức tài chính

  • Obfuscation is not security: Làm rối mã nguồn chỉ làm chậm tin tặc, không thể ngăn chặn họ hoàn toàn.
  • Cải thiện giao thức mã hóa: Nên sử dụng ECDH Ephemeral Handshake để tạo Shared Secret thay vì dùng Key tĩnh.
  • Chống Tampering: Bổ sung cơ chế HMAC hoặc chữ ký số (Signature) cho mỗi Request để chống lại việc chỉnh sửa dữ liệu và tấn công Replay.
  • Kiểm thử định kỳ: Ngân hàng đã khắc phục toàn bộ lỗ hổng ngay sau báo cáo, minh chứng cho tầm quan trọng của việc Pentest định kỳ trước những đối tượng tin tặc có kỹ năng cao.

Đăng ký ngay để nhận trọn bộ case study

Lưu ý: Bằng việc ấn vào nút đăng ký nhận tài liệu, anh chị đồng ý cung cấp thông tin cá nhân của mình cho VietSunshine, chúng tôi cam kết tuân thủ các mục đích và phạm vi được quy định trong Quyết định 13/2023/QĐ-UBND. Chi tiết về các điều khoản, vui lòng xem TẠI ĐÂY