Penetration Testing Android Application Checklist
Android là nền tảng có tổ chức lớn nhất của bất kỳ nền tảng di động nào và phát triển nhanh chóng mỗi ngày. Bên cạnh đó, Android đang tăng lên như là hệ điều hành mở rộng nhất trong quan điểm này vì những lý do khác nhau. Tuy nhiên, đối với an ninh, không có dữ liệu liên quan đến những lỗ ...
Android là nền tảng có tổ chức lớn nhất của bất kỳ nền tảng di động nào và phát triển nhanh chóng mỗi ngày. Bên cạnh đó, Android đang tăng lên như là hệ điều hành mở rộng nhất trong quan điểm này vì những lý do khác nhau.
Tuy nhiên, đối với an ninh, không có dữ liệu liên quan đến những lỗ hổng mới có thể dẫn đến một chương trình yếu trên giai đoạn này đang được tiết lộ, nhận ra rằng giai đoạn này có một bề mặt tấn công nổi bật.
Thu thập thông tin
Thu thập Thông tin là bước cơ bản nhất của việc kiểm thử bảo mật ứng dụng. Quá trình kiểm thử bảo mật cần phải cố gắn đảm bảo kết quả hợp lý nhất, chủ yếu thông qua code.
Vì vậy, ánh xạ tất cả các cách có thể hiểu được thông qua code để đảm bảo quá trình kiểm thử là chính.
Thông tin chung. Tóm tắt thông tin về ứng dụng chung. Thử nghiệm cho TCommon Libraries và Fingerprinting. Tóm tắt các thành phần của ứng dụng và các thàn phần đã được ủy quyền. Dịch ngược mã nguồn ứng dụng.
Lỗ hổng liên quan đến lưu trử cục bộ ứng dụng
Android cung cấp cho bạn một vài lựa chọn thay thế cho bạn để tiết kiệm thông tin ứng dụng. Việc lưu trữ bạn chọn dựa vào vào nhu cầu cụ thể của bạn.
Ví dụ: bất kể thông tin phải là riêng tư cho ứng dụng của bạn hoặc bạn mở các ứng dụng khác nhau (và client) và số lượng không gian mà dữ liệu của bạn yêu cầu.
Dữ liệu nhạy được tìm thấy trong logs và cache. Đưa ra dữ liệu nhạy cảm về bộ nhớ chia sẻ (trình bày cho tất cả các ứng dụng mà không có hạn chế). Content Providers SQL Injection và Access Permissions. Kiểm tra xem liệu dữ liệu nhạy cảm vẫn ở đó ngay cả sau khi đăng xuất. Privacy và Metadata Leaks.
Bảo mật Transport Layer
Mã hóa với Transport Layer Security khi bạn gửi dữ liệu ra bên ngoài. TLS là một giao thức mã hoá và chuyển tải dữ liệu một cách an toàn, đối với cả dữ liệu lưu lượng truy cập trong và ngoài, nó sẽ tránh được gián điệp.
Insecure Transport Layer Protocols phiên bản cũ. TLS Weak Encryption(CRIME, BREACH, BEAST, Lucky13, RC4, etc) có thể bị nhận diện bởi nhiều công cụ đã được công bố trong tự nhiên (sslscan, sslyze, osaft etc.). Không đảm bảo việc lưu trữ dữ liệu. Bypass TLS Certificate Pinning. Các lỗ hổng liên quan đến chứng thực TLS.
IPC Security(Inter process communication)
Cơ chế Android IPCd cho phép bạn xác minh danh tính của ứng dụng kết nối với IPC của bạn và đặt chính sách bảo mật cho từng cơ chế IPC.
Tấn công DDoS (Device Denial of Service). Permissions & Digital Signature Data Sharing Issues. Một ứng dụng bất hợp pháp có thể truy cập vào dữ liệu nhạy cảm. Uncovered Components và Cross Application Authorization.
Code không đáng tin cậy
Lộ thông tin nhạy cảm trong thông báo lỗi ứng dụng. JavaScript Execution Risks at WebViews. Quyền không an toàn được thiết lập bởi ứng dụng thông qua AndroidManifest.xml file. Integer, Heap, và Stack Based Buffer Overflow.
Lỗ hổng liên quan đến chứng thực
Xác thực là một phần cơ bản của quy trình này, tuy nhiên xác thực xác thực mạnh mẽ có thể bị phá vỡ bởi các chức năng quản lý thông tin không hoàn hảo, bao gồm thay đổi mật khẩu, quên mật khẩu, nhớ mật khẩu, cập nhật tài khoản và các chức năng liên quan khác.
Authentication Inconsistency. Cross Application Authentication. Xử lý lỗi Session. Lỗ hổng Client Side Based liên quan đến chứng thực. Sự vắng mặt của chính sách khóa tài khoản.
Lỗ hổng Business logic
Các lỗ hổng với các thành phần tập trung nhiều hơn vào thiết kế chứ không phải là hợp thức hóa hệ thổng. Cả hai thủ thuật thực hiện và khả năng của ứng dụng cũng ảnh hưởng đến quá trình hợp thức hóa các thành phần trong một hệ thống.
Kiểm tra xác thực phía máy chủ. Thỏa hiệp tài khoản :Admin/user. Kiểm tra phát hiện phương thức root và biện pháp bypass nó. Tấn công Bruteforce.
Kiểm tra server-side
Kiểm tra client side injection (XSS). Thống kê người dùng. SQL injection Không kiểm soát quá trình upload file dẫn đến upload các tập tin độc hại. Kiểm tra tất cả các phương thức HTTP (PUT, DELETE.... Sử dụng burp intruder hoặc HTTP verb tampering). Kiểm cha cơ chế quản lý phiên (các lỗ hổng liên quan đến cookie, ghi đè session, session fixation...). Các lỗ hổng trong lúc triển khai CAPTCHA & bypass. Dùng nikto, dirb websever scanner.
Tham khảo
https://appsec-labs.com/android-attacks-tests/ https://github.com/b66l/OASAM https://www.linkedin.com/pulse/android-application-penetration-testing-checklist-chintan-gurjar?trk=mp-reader-card https://gbhackers.com/penetration-testing-android-application-checklist/ http://vnhackernews.com/kien-thuc/penetration-testing-android-application-checklist.aes