Please enable JavaScript.
Coggle requires JavaScript to display documents.
Kỹ thuật tấn công và rủi ro bảo mật trên ứng dụng mobile - Coggle Diagram
Kỹ thuật tấn công và rủi ro bảo mật trên ứng dụng mobile
SQL injection
Tấn công vào server-side của app mobile để
lấy dữ liệu người dùng khác
(SQL Injection).
Phòng thủ: Dùng câu lệnh có tham số (parameterized query), mã hóa, giới hạn quyền.
Tấn công web service dựa trên XML
dựa trên input XML của user,
attacker chèn mã độc vào input
. Đối phó: Kiểm tra dữ liệu đầu vào chứa ký tự đặc biệt, mã hóa ký tự đặc biệt.
Tấn công mở rộng XML Entity: Khai báo thực thể là chuỗi ký tự, attacker tạo thực thể dẫn đến Denial-of-Service attack DoS
(tấn công mạng nhằm làm cho một hệ thống, server hoặc dịch vụ online bị quá tải, không thể hoạt động bình thường.). Đối phó: Giới hạn độ sâu phân tích thực thể, không dùng DTD
Framework xác thực và
ủy quyền phổ biến
nên dùng token để tránh lưu ở client
OAuth2
Có thể bị tấn công sử dụng Mobile WebView để ăn cắp tài khoản bằng cách chèn mã javascript.
Nguy cơ của OAuth:
Thiếu sử dụng TLS
(giao thức mã hóa dữ liệu message),
lưu trữ thông tin nhạy cảm không hợp lý, thiếu hạn sử dụng token
(lộ token là toang), web độc hại giả giao diện đăng nhập
SAML
Hỗ trợ Single Sign On (SSO) - đăng nhập 1 lần dùng nhiều dịch vụ
Federated identity (định danh chung user nhiều hệ thống)- một user xác thực bởi hệ thống A nhưng vẫn dùng đc tài nguyên ở hệ thống B
bảo vệ dịch vụ web.
Một số dạng tấn công SAML:
MITM
(chặn, chỉnh sửa message),
Replay
(kẻ tấn côn glaays lại 1 gói SAML assertion đã từng dùng rồi gửi lại để login lại mặc dù đã hết hạn).
Đối phó: sd TLS, IPSec, kiểm tra khóa SAML nhận đc
Tấn công WebView / Trình duyệt di động
URI (deep link) attack
App đăng ký URI đặc biệt → Hacker có thể dùng link mở app, gửi SMS, gọi điện mà người dùng không biết.
Phòng thủ: Giới hạn quyền, không để intent public, kiểm tra dữ liệu đầu vào.
từng bị trên skype, android, ios -> gọi intent hoặc tạo file mà ng dùng k hề hay biết
Khai thác Javascript Bridges
(cầu nối js -> java)
addJavaScriptInterface
WebView cho phép JavaScript gọi vào hàm Java (qua addJavaScriptInterface), hacker chèn mã độc gọi hàm nguy hiểm.
Phòng thủ: Không dùng addJavaScriptInterface nếu không cần, hoặc kiểm tra thật kỹ hàm nào bị gọi.
shouldInterceptRequest
App xử lý không kỹ callback này → hacker có thể gửi request và gọi hàm nhạy cảm trong app.
Phòng thủ: Kiểm tra dữ liệu request kỹ càng, không expose chức năng nhạy cảm.
IOS webview: Không có addJavaScriptInterface, nhưng dev vẫn hay "lách luật" bằng cách intercept URL → vẫn bị hack như thường
Nên vô hiệu hóa js, xóa cache định kì và kiểm tra dl đầu vào