An toàn ứng dụng di động là gì?
An toàn ứng dụng di động (Mobile App Security) là thực hành bảo vệ các ứng dụng trên thiết bị di động, dữ liệu mà chúng xử lý và các dịch vụ chúng kết nối khỏi truy cập trái phép, lạm dụng và các cuộc tấn công mạng.
Nó quan trọng vì ứng dụng di động thường được dùng cho các hoạt động nhạy cảm như ngân hàng, mua sắm, nhắn tin và truy cập hệ thống doanh nghiệp. Một lỗ hổng trong ứng dụng có thể làm lộ thông tin cá nhân, thông tin đăng nhập, dữ liệu thanh toán hoặc hồ sơ công ty.
An toàn ứng dụng di động khác với bảo mật thiết bị di động, vốn tập trung vào việc bảo vệ điện thoại hoặc máy tính bảng. Nó cũng khác với quyền riêng tư ứng dụng, vốn liên quan đến cách dữ liệu cá nhân được thu thập và chia sẻ.

Trách nhiệm cũng được chia sẻ. Nhà phát triển cần xây dựng và kiểm thử ứng dụng an toàn, tổ chức cần quản lý quyền truy cập và bảo vệ hệ thống kết nối. Người dùng cần giữ ứng dụng luôn cập nhật và bảo vệ tài khoản cùng dữ liệu của mình.
- An toàn ứng dụng di động bảo vệ ứng dụng, dữ liệu người dùng và các dịch vụ mà ứng dụng kết nối tới.
- Các rủi ro phổ biến gồm lưu trữ dữ liệu không an toàn, xác thực yếu, APIs dễ tổn thương, ứng dụng độc hại và thành phần đã lỗi thời.
- Nhà phát triển chịu trách nhiệm thiết kế, mã hóa, kiểm thử và bảo trì an toàn.
- Người dùng có thể giảm rủi ro bằng cách cài ứng dụng đáng tin cậy, xem lại quyền truy cập, giữ phần mềm cập nhật và bảo vệ tài khoản.
- Doanh nghiệp nên kiểm soát quyền truy cập vào ứng dụng và dữ liệu công ty, đặc biệt trên thiết bị nhân viên và BYOD.
- An toàn ứng dụng di động liên quan đến bảo mật thiết bị và quyền riêng tư, nhưng không hoàn toàn giống nhau.
Những mối đe dọa và lỗ hổng an toàn ứng dụng di động phổ biến nhất là gì?
Lỗ hổng là điểm yếu trong ứng dụng hoặc hệ thống hỗ trợ. Phương thức tấn công là cách khai thác những điểm yếu đó. Hậu quả có thể dao động từ mất dữ liệu đến thiệt hại tài chính ngay lập tức.
Các rủi ro phổ biến ảnh hưởng cả ứng dụng Android và iOS và trùng khớp với các vấn đề được nêu trong OWASP Mobile Top 10, bao gồm xử lý dữ liệu không an toàn, xác thực yếu, giao tiếp dễ tổn thương và thành phần phần mềm không an toàn. Những điểm yếu này có thể ảnh hưởng từ ứng dụng ngân hàng, mua sắm đến nền tảng nhắn tin và phần mềm doanh nghiệp.
Lưu trữ và truyền thông tin không an toàn
Thông tin nhạy cảm có thể bị lộ nếu ứng dụng lưu trữ không an toàn trên thiết bị, gửi qua kết nối bảo vệ kém hoặc phụ thuộc vào APIs dễ bị tấn công.
Điều này có thể làm lộ thông tin cá nhân, thông tin đăng nhập, chi tiết thanh toán và dữ liệu doanh nghiệp. Một ứng dụng tài chính không an toàn có thể tiết lộ chi tiết giao dịch; ứng dụng doanh nghiệp dễ tổn thương có thể làm rò rỉ hồ sơ khách hàng hoặc tài liệu mật.
Xác thực yếu và kiểm soát truy cập kém
Xác thực không chắc chắn, quản lý phiên kém và phân quyền yếu có thể cho phép kẻ tấn công truy cập tài khoản hoặc thông tin mà họ không được phép thấy.
Hậu quả có thể là chiếm quyền tài khoản, leo thang đặc quyền hoặc truy cập dữ liệu của người khác. Trong ứng dụng mua sắm, điều này có thể làm lộ thông tin thanh toán đã lưu; trong ứng dụng doanh nghiệp, kẻ tấn công có thể xem hồ sơ nội bộ hoặc chức năng quản trị.
Phần mềm độc hại, thao túng ứng dụng và đảo ngược mã
Các mối đe dọa di động còn bao gồm ứng dụng độc hại, phần mềm gián điệp, Trojan ngân hàng và các phiên bản giả mạo của ứng dụng hợp pháp. Chúng có thể được thiết kế để đánh cắp thông tin đăng nhập, giám sát hoạt động hoặc chuyển hướng thanh toán.
Kỹ thuật đảo ngược (reverse engineering) là phân tích mã hoặc hành vi ứng dụng để hiểu cách nó hoạt động. Mặc dù có thể phục vụ nghiên cứu bảo mật hợp pháp, kẻ tấn công có thể dùng nó để tìm điểm yếu hoặc vượt qua cơ chế bảo vệ. Thao túng ứng dụng là sửa đổi trái phép, làm thay đổi chức năng, làm suy yếu cơ chế bảo mật hoặc tạo điều kiện gian lận. Ngoài ứng dụng độc hại, cả ứng dụng hợp pháp cũng có thể chứa lỗ hổng bị khai thác.
Phần mềm lỗi thời và thành phần dễ tổn thương
Ứng dụng thường phụ thuộc vào SDKs, thư viện và các thành phần phần mềm khác. Nếu những thành phần này đã lỗi thời hoặc không an toàn, chúng có thể đưa vào điểm yếu ngay cả khi mã của ứng dụng được thiết kế tốt.
Các ứng dụng không được vá và thành phần không được hỗ trợ đặc biệt rủi ro vì các lỗ hổng đã biết có thể tiếp tục bị khai thác. Vấn đề chuỗi cung ứng phần mềm cũng có thể tác động nhiều ứng dụng cùng lúc khi chúng phụ thuộc vào cùng một thành phần bên thứ ba dễ bị tấn công.
Một danh sách kiểm tra an toàn ứng dụng di động nên bao gồm những gì?
Danh sách kiểm tra an toàn ứng dụng di động nên bao gồm năm lĩnh vực chính: kiến trúc và quyền hạn, xác thực và phân quyền, lưu trữ dữ liệu và quyền riêng tư, giao tiếp mạng và APIs, và tính toàn vẹn ứng dụng cùng kiểm thử.
Các biện pháp bảo vệ này cần được xem xét xuyên suốt quá trình phát triển và bảo trì ứng dụng. Nhà phát triển và tổ chức vận hành dịch vụ di động chịu trách nhiệm chính trong việc triển khai, sử dụng các khung tiêu chí như OWASP OWASP MASVS (Mobile Application Security Verification Standard) cùng hướng dẫn bảo mật của Android và iOS.
Kiến trúc an toàn và quyền hạn
Ứng dụng nên tuân theo nguyên tắc tối thiểu quyền hạn. Cấp cho người dùng, thành phần và dịch vụ chỉ quyền truy cập cần thiết.
Nhà phát triển nên tránh lưu mật khẩu cứng mã hóa, khóa API và các bí mật khác, đồng thời giảm thiểu việc phơi bày thông tin nhạy cảm không cần thiết. Cần đánh giá SDKs bên thứ ba và các phụ thuộc để phát hiện lỗ hổng trong suốt vòng đời, và kiến trúc ứng dụng nên giới hạn tác động nếu một thành phần bị xâm phạm.
Xác thực và phân quyền
Xác thực cần xác minh người dùng một cách an toàn, trong khi phân quyền kiểm soát những gì mỗi người dùng có thể truy cập. Các quyết định truy cập quan trọng nên được thực thi trên máy chủ thay vì chỉ dựa vào ứng dụng di động.
Ứng dụng nên hỗ trợ MFA và khôi phục tài khoản an toàn. Các token xác thực cần được bảo vệ bằng lưu trữ an toàn và quản lý phiên cẩn trọng để người dùng không thể truy cập thông tin hoặc chức năng ngoài quyền hạn của họ.
Lưu trữ dữ liệu an toàn và quyền riêng tư
Mã hóa trong ứng dụng di động giúp bảo vệ thông tin nhạy cảm lưu trên thiết bị và hệ thống backend. Kết hợp với kiểm soát truy cập thích hợp và quản lý khóa an toàn, mã hóa làm giảm rủi ro tiếp cận dữ liệu trái phép.
Android Keystore có thể lưu trữ an toàn khóa mã hóa trên thiết bị Android. iOS Keychain cung cấp vùng lưu trữ được bảo vệ cho thông tin đăng nhập và các dữ liệu nhạy cảm nhỏ khác. Không nên dùng chúng làm lý do để lưu trữ nhiều dữ liệu hơn mức cần thiết.
Ứng dụng cũng nên giảm thiểu việc thu thập và lưu giữ dữ liệu không cần thiết, và ngăn chặn dữ liệu nhạy cảm xuất hiện trong nhật ký, sao lưu, thông báo hoặc giao diện bị phơi bày.
Giao tiếp mạng an toàn và APIs
Giao tiếp giữa ứng dụng và máy chủ nên sử dụng HTTPS với TLS được cấu hình thích hợp.
APIs nên yêu cầu xác thực và phân quyền an toàn và kiểm tra tính hợp lệ của yêu cầu trên máy chủ. Các biện pháp bổ sung chống nghe lén hoặc thao túng có thể cần thiết cho ứng dụng rủi ro cao, nhưng dữ liệu nhạy cảm không bao giờ nên được gửi qua kênh không an toàn.
Tính toàn vẹn ứng dụng và kiểm thử bảo mật
Các biện pháp kiểm soát tính toàn vẹn ứng dụng giúp phát hiện hoặc ngăn chặn sửa đổi trái phép, trong khi kiểm thử an toàn ứng dụng di động phát hiện lỗ hổng trước khi kẻ tấn công khai thác. Kết hợp, những biện pháp này giúp nhà phát triển giảm rủi ro trong suốt vòng đời ứng dụng.
Làm mờ mã (code obfuscation), kiểm tra tính toàn vẹn và bảo vệ thời gian chạy có thể làm cho việc đảo ngược mã và thao túng trở nên khó khăn hơn. Tuy nhiên, các biện pháp này không thể đảm bảo ứng dụng hoàn toàn miễn nhiễm với tấn công.
Kiểm thử an ninh nên được tích hợp vào quá trình phát triển chứ không để đến lúc phát hành. Điều này có thể bao gồm:
- SAST: xem xét mã nguồn hoặc nhị phân để tìm điểm yếu an ninh.
- DAST: kiểm thử ứng dụng khi đang chạy để tìm hành vi có thể bị khai thác.
- Đánh giá lỗ hổng: xác định và ưu tiên các điểm yếu đã biết.
- Kiểm thử thâm nhập: mô phỏng các cuộc tấn công thực tế để kiểm tra cách lỗ hổng có thể bị lợi dụng.
Cần lặp lại kiểm thử sau các thay đổi lớn của ứng dụng và khi có mối đe dọa hoặc lỗ hổng mới xuất hiện.
|
Lĩnh vực an ninh |
Các câu hỏi kiểm chứng chính |
|
Kiến trúc và quyền hạn |
Ứng dụng có tuân theo nguyên tắc tối thiểu quyền hạn không? Các phụ thuộc bên thứ ba có được đánh giá lỗ hổng không? |
|
Xác thực và phân quyền |
Người dùng có được xác thực một cách an toàn không? Các kiểm soát truy cập có được thực thi trên máy chủ không? |
|
Lưu trữ dữ liệu và quyền riêng tư |
Thông tin nhạy cảm có được bảo vệ khi lưu trữ không? Có tránh thu thập dữ liệu không cần thiết không? |
|
Giao tiếp mạng |
Kết nối giữa ứng dụng và máy chủ có được mã hóa không? APIs có được bảo vệ thích hợp không? |
|
Tính toàn vẹn ứng dụng và kiểm thử |
Ứng dụng có được bảo vệ trước các rủi ro thao túng liên quan không? Có thực hiện kiểm thử an ninh định kỳ không? |
Làm thế nào để cải thiện an toàn ứng dụng di động?
An toàn ứng dụng di động phụ thuộc cả vào cách xây dựng ứng dụng và cách chúng được sử dụng. Nhà phát triển chịu trách nhiệm về thiết kế an toàn, lập trình, kiểm thử và bảo vệ backend, trong khi cá nhân và doanh nghiệp có thể giảm rủi ro bằng lựa chọn ứng dụng an toàn hơn, bảo mật tài khoản, quản lý quyền và quản trị thiết bị.
Phần mềm bảo mật có thể thêm một lớp bảo vệ chống một số mối đe dọa như phần mềm độc hại, lừa đảo (phishing) và các liên kết độc hại, nhưng không thể sửa mã ứng dụng không an toàn hoặc các lỗ hổng trong hệ thống backend của nhà cung cấp.
Thực hành tốt nhất cho người dùng cá nhân

- Tải ứng dụng từ nguồn đáng tin cậy: Ưu tiên cửa hàng ứng dụng uy tín, kiểm tra nhà phát triển và cẩn trọng với các tệp APK hoặc liên kết cài đặt không rõ nguồn gốc.
- Xem lại quyền truy cập: Giới hạn quyền truy cập không cần thiết tới vị trí, danh bạ, camera, micro và các dữ liệu nhạy cảm khác.
- Giữ ứng dụng luôn cập nhật: Cài đặt cập nhật ứng dụng và hệ điều hành kịp thời và gỡ bỏ ứng dụng không dùng hoặc không còn được hỗ trợ.
- Bảo vệ tài khoản: Sử dụng mật khẩu riêng biệt, trình quản lý mật khẩu và MFA khi có sẵn.
- Cảnh giác với hành vi đáng ngờ: Điều tra ứng dụng lạ, yêu cầu quyền bất thường, cảnh báo đăng nhập không giải thích được hoặc hoạt động tài khoản trái phép.
- Sử dụng phần mềm bảo mật phù hợp: Chọn giải pháp bảo vệ di động uy tín có thể giúp phát hiện ứng dụng độc hại, cố gắng lừa đảo và liên kết không an toàn, tùy thuộc vào thiết bị và tính năng được hỗ trợ.
Được các phòng thí nghiệm hàng đầu trong ngành kiểm định độc lập và trao giải.
Thực hành tốt nhất cho doanh nghiệp nhỏ
Doanh nghiệp nhỏ nên kết hợp hướng dẫn cho nhân viên với các kiểm soát về ứng dụng nào được phép truy cập thông tin doanh nghiệp.
- Kiểm soát việc sử dụng ứng dụng: Xác định các ứng dụng được phê duyệt để truy cập hệ thống và dữ liệu doanh nghiệp.
- Bảo mật tài khoản doanh nghiệp: Yêu cầu MFA phù hợp và giới hạn quyền nhân viên theo trách nhiệm của họ.
- Quản lý rủi ro di động: Đặt yêu cầu bảo mật tối thiểu cho cả thiết bị do công ty sở hữu và BYOD truy cập ứng dụng doanh nghiệp.
- Bảo vệ thông tin công ty: Giới hạn quyền truy cập không cần thiết tới hồ sơ khách hàng, tài liệu mật và dịch vụ đám mây kết nối.
- Đào tạo nhân viên: Giúp nhân viên nhận diện ứng dụng độc hại, liên kết cài đặt lừa đảo và yêu cầu đăng nhập đáng ngờ.
- Sử dụng biện pháp bảo mật phù hợp: Kết hợp bảo vệ endpoint, bảo mật tài khoản, kiểm soát truy cập và nâng cao nhận thức nhân viên thay vì dựa vào một biện pháp duy nhất.
Kaspersky Small Office Security có thể hỗ trợ an ninh mạng tổng thể cho doanh nghiệp nhỏ bằng cách bảo vệ các thiết bị và tài khoản doanh nghiệp được hỗ trợ. Bảo mật đoạt giải và không cần đội ngũ IT.
Nên làm gì nếu một ứng dụng di động bị xâm phạm?
Nếu bạn nghi ngờ một ứng dụng di động bị xâm phạm, hãy ngừng sử dụng nó, bảo vệ các tài khoản bị ảnh hưởng và kiểm tra xem thông tin nhạy cảm có bị lộ hay không. Hành động nhanh có thể giúp hạn chế truy cập trái phép, thiệt hại tài chính và tổn thất tiếp theo.

- Xác định hoạt động đáng ngờ: Tìm ứng dụng lạ, yêu cầu quyền bất thường, cảnh báo bảo mật, giao dịch không được ủy quyền hoặc hoạt động tài khoản bất thường.
- Cô lập mối đe dọa: Ngừng sử dụng ứng dụng bị ảnh hưởng. Nếu nghi ngờ phần mềm độc hại, ngắt kết nối thiết bị khỏi Internet khi thích hợp và gỡ hoặc cô lập ứng dụng độc hại.
- Bảo mật tài khoản: Dùng thiết bị đáng tin cậy để thay đổi mật khẩu có thể đã bị xâm, thu hồi phiên đang hoạt động và bật xác thực đa yếu tố.
- Kiểm tra thông tin bị lộ: Xác định xem chi tiết cá nhân, thông tin thanh toán, thông tin đăng nhập hoặc hồ sơ doanh nghiệp có thể đã bị truy cập hay không.
- Thông báo các bên liên quan: Liên hệ ngân hàng nếu thông tin tài chính gặp rủi ro. Với ứng dụng doanh nghiệp, báo cáo sự cố cho quản trị viên hoặc nhóm bảo mật IT.
- Giám sát mối đe dọa tiếp theo: Theo dõi đăng nhập đáng ngờ, giao dịch trái phép và các dấu hiệu tiếp tục bị xâm phạm.
Bài viết liên quan:
- Làm thế nào để tránh mất dữ liệu?
- Những mẹo tốt nhất cho an toàn di động trên smartphone?
- Những mẹo bảo mật Android thiết yếu để bảo vệ thiết bị của tôi là gì?
- Sự khác biệt chính giữa bảo mật Android và iPhone là gì?
Sản phẩm đề xuất:
FAQs
Làm sao nhận biết một ứng dụng di động có an toàn hay không?
Không có dấu hiệu đơn lẻ nào khẳng định một ứng dụng an toàn. Các chỉ báo hữu ích bao gồm nhà phát triển uy tín, cập nhật thường xuyên, yêu cầu quyền hợp lý, tùy chọn đăng nhập an toàn và phân phối qua kênh đáng tin cậy. Với ứng dụng có rủi ro cao, nhà phát triển nên tuân theo các tiêu chuẩn được công nhận như OWASP MASVS.
Giám sát mối đe dọa ứng dụng di động là gì?
Giám sát mối đe dọa ứng dụng di động (giám sát mối đe dọa ứng dụng di động) bao gồm quan sát các tín hiệu từ ứng dụng hoặc thiết bị để phát hiện hoạt động đáng ngờ như thao túng, chữ ký mã hợp lệ bị sai, các yêu cầu API bất thường, hoạt động bot hoặc các dấu hiệu tấn công khác. Nó giúp nhà phát triển hiểu cách ứng dụng bị nhắm mục tiêu sau khi phát hành.
Sự khác biệt giữa kiểm thử an toàn ứng dụng di động và kiểm thử thâm nhập là gì?
Kiểm thử an toàn ứng dụng di động là quá trình rộng hơn để kiểm tra ứng dụng tìm lỗ hổng bằng các phương pháp như phân tích tĩnh, phân tích động, rà soát cấu hình và kiểm tra phụ thuộc. Kiểm thử thâm nhập tập trung hơn vào mô phỏng các cuộc tấn công thực tế để xác định liệu các điểm yếu đã phát hiện có thể bị khai thác hay không.
Xác thực ứng dụng di động là gì?
Xác thực ứng dụng di động (mobile app attestation) sử dụng bằng chứng do nền tảng cung cấp để giúp máy chủ đánh giá danh tính và tính toàn vẹn của ứng dụng. Tùy cơ chế, nó có thể giúp phát hiện sửa đổi trái phép hoặc môi trường đáng ngờ, nhưng không thể đảm bảo ứng dụng hoặc thiết bị hoàn toàn an toàn.
