Untitled

mail@pastecode.io avatar
unknown
plain_text
2 months ago
5.5 kB
1
Indexable
Never
Ứng dụng mobile xử lý nhiều loại dữ liệu nhạy cảm, chẳng hạn như thông tin nhận dạng cá nhân(PII), các tài liệu liên quan đến 
việc mã hóa và giải mã dữ, các dữ liệu bí mật và API keys thường được lưu cục bộ. Dữ liệu nhạy cảm này có thể lưu trữ ở trong các 
thư mục riêng tư như bộ nhớ trong của ứng dụng hoặc các thư mục công khai mà bất cứ người dùng hay ứng dụng nào đều có thể truy cập
Tuy nhiên dữ liệu nhạy cảm cũng có thể vô tình được lưu trữ hoặc tiếp xúc với các vị trí có thể truy cập công khai, thường là tác
dụng phụ của việc sử dụng một sô API hoặc các chức năng của hệ thống như backup data hoặc screenshot - ảnh chụp màn hình hoặc nhật
ký - logs

Ứng dụng xử lý dữ liệu đến từ nhiều nguồn chẳng hạn như người dùng, backend server, system hoặc những ứng dụng khác trên thiết bị  
mà cần được lưu trữ cục bộ. 

Cryptography: Rất cần thiết cho các ứng dụng di động vì thiết bị di động có tính linh hoạt cao và có thể dễ dàng bị mất hoặc đánh cắp. Điều này có nghĩa là kẻ tấn công có quyền truy cập vật lý vào thiết bị, có khả năng truy cập vào tất cả các thông tin nhạy cảm được lưu trong đó bao gồm: mật khẩu, thông tin tài chính và thông tin nhận dạng cá nhân. Cryptography cung cấp phương tiện bảo vệ nhạy cảm này bằng cách mã hóa nó, làm cho kẻ tấn công không dễ dàng đọc hoặc truy cập.

Authentication và Authorization là các thành phần cần thiết với hầu hết ứng dụng, đặc biết với các ứng dụng kết nối với các dịch vụ từ xa. Cơ chế này giúp cung cấp thêm một lớp bảo mật và hạn chế các truy cập trái phép vào dữ liệu nhạy cảm của người dùng.
Ứng dụng Android thực hiện những dạng khác nhau của authentication như: biometrics(sinh trắc học), mã PIN, trình tạo mã xác thực đa yếu tố, để xác thực danh tính người dùng. Các cơ chế này phải được thực hiện chính xác để đảm bảo hiệu quả của chúng trong việc ngăn chặn những truy cập trái phép. Ngoài ra một số ứng dụng, có thể chỉ dựa vào xác thực ứng dụng cục bộ và có thể không có điểm cuối từ xa. Trong những trường hợp như vậy, điều quan trọng là phải đảm bảo được cơ chế xác thực cục bộ được bảo mật và được thực hiện theo cách làm tốt nhất trong  ngành.
Tính bảo mật của các ứng dụng di động phụ thuộc rất nhiều vào cách chúng tương tác với nền tảng di động, thường liên quan đến việc tiết lộ dữ liệu có chủ ý thông qua việc sử dụng các cơ chế giao tiếp giữa các tiến trình (IPC - Inter Process Communication) và WebView để nâng cao trải nghiệm người dùng. Tuy nhiên các cơ chế này cũng có thể bị kẻ tấn công hoặc các ứng dụng đã cài đặt khai thác, và có ảnh hưởng đến bảo mật của ứng dụng.
Hơn nữa, dữ liệu nhạy cảm chẳng hạn như mật khẩu, thông tin thẻ ứng dụng hoặc các mật khẩu một lần trong thông báo thường được hiển thị trên giao diện người dùng. Điều cần thiết là phải đảm bảo các dữ liệu này không vô tình bị tiết lộ thông qua các cơ chế của nền tảng như tự động chụp ảnh màn hình hay các tai nạn khác như nhìn trộm hoặc chia sẻ thiết bị.

Mobile app có nhiều đầu vào dữ liệu bao gồm UI, IPC, mạng và hệ thống file, có thể nhận dữ liệu bị sửa đổi vô tình từ các tác nhân không đáng tin cậy. Bằng việc coi các dữ liệu này như là một đầu vào không đáng tin cậy và thực hiện việc xác minh và làm sạch dữ liệu hợp lý trước khi sử dụng, các nhà phát triển có thể ngăn chặn các kiểu tấn công cổ điển như SQL injection, XSS.
Mỗi phiên bản hệ điều hành ra mắt đều bao gồm các bản vá bảo mật và các tính năng bảo mật mới. Với việc hỗ trợ tương thích ngược với các phiên bản cũ hơn, chúng ta có nguy cơ bị tấn công bởi những mối đe dọa đã biết. Vì vậy các ứng dụng cần được chạy trên nền tảng mới nhất.
Các biện pháp bảo mật chuyên sâu như làm xáo trộn code, chống debug, chống giả mạo rất quan trọng trong việc tăng khả năng ngăn chặn kỹ thuật dịch ngược và các cuộc tấn công từ phía client. Chúng tăng thêm các lớp kiểm soát bảo mật vào ứng dụng, khiến các kẻ tấn công khó khăn hơn trong việc dịch ngược và trích xuất các thông tin có giá trị, dữ liệu nhạy cảm của ứng dụng. 
Ứng dụng chỉ nên yêu cầu quyền truy cập vào dữ liệu thực sự cần thiết cho các chức năng của mình và phải luôn có sự đồng ý rõ ràng của người dùng. 
Leave a Comment