Danh mục OWASP: MASVS-CODE: Chất lượng mã
Tổng quan
Việc sử dụng API hoặc thư viện không an toàn sẽ làm giảm đáng kể khả năng bảo mật của ứng dụng. Việc vi phạm bảo mật trong bất kỳ phần phụ thuộc nào trong số này sẽ là cơ hội để kẻ tấn công tận dụng một số vectơ để tiến hành một loạt các cuộc tấn công, chẳng hạn như tấn công xen giữa (MitM) và thực thi mã từ xa (RCE).
Nguy cơ triển khai các phần phụ thuộc không an toàn sẽ xảy ra khi nhà phát triển không tích hợp hoạt động đánh giá bảo mật và kiểm thử lỗ hổng vào Vòng đời phát triển phần mềm (SDLC) hoặc trong một số trường hợp không triển khai chính sách cập nhật tự động cho các phần phụ thuộc của ứng dụng.
Việc khai thác phần phụ thuộc thường bắt đầu bằng cách phân tích tệp nhị phân của ứng dụng (.apk) để tìm các thư viện dễ bị tấn công. Tại thời điểm này, hệ thống tiến hành quy trình Thông minh nguồn mở (OSINT) để phát hiện những lỗ hổng bảo mật có thể bị khai thác từ trước. Sau đó, kẻ tấn công có thể lợi dụng thông tin được tiết lộ công khai về lỗ hổng, chẳng hạn như các lỗ hổng và vấn đề rò rỉ phổ biến (CVE) để thực hiện các cuộc tấn công khác.
Mức độ tác động
Việc khai thác thành công các phần phụ thuộc không an toàn có thể dẫn đến một loạt các cuộc tấn công, chẳng hạn như thực thi mã từ xa (RCE), chèn SQL (SQLi) hoặc tấn công tập lệnh trên nhiều trang web (XSS). Do đó, tác động tổng thể liên quan trực tiếp đến loại lỗ hổng mà phần mềm bên thứ ba gây ra và những kẻ tấn công có thể khai thác. Việc kẻ tấn công khai thác thành công các phần phụ thuộc dễ bị tấn công có thể dẫn đến những hậu quả như khiến dữ liệu bị rò rỉ hoặc dịch vụ không có sẵn. Việc này có thể ảnh hưởng đáng kể đến danh tiếng và doanh thu.
Giải pháp giảm thiểu
Phòng thủ theo chiều sâu
Xin lưu ý rằng bạn phải triển khai các biện pháp giảm thiểu nêu dưới đây để đảm bảo cải thiện khả năng bảo mật và giảm bề mặt tấn công cho ứng dụng. Phải luôn đánh giá đúng phương pháp tiếp cận cho từng trường hợp.
Đánh giá lỗ hổng của phần phụ thuộc
Triển khai quy trình xác minh phần phụ thuộc khi bắt đầu vòng đời phát triển để phát hiện các lỗ hổng bảo mật trong mã của bên thứ ba. Giai đoạn này kiểm tra xem mã không được tạo nội bộ có an toàn hay không trước khi triển khai trong môi trường thực tế. Bạn có thể bổ trợ cho quy trình xác minh bằng cách triển khai các công cụ kiểm tra bảo mật ứng dụng tĩnh (SAST) và kiểm tra bảo mật ứng dụng động (DAST) trong vòng đời phát triển phần mềm để cải thiện khả năng bảo mật của ứng dụng.
Liên tục cập nhật các phần phụ thuộc
Luôn cẩn thận cập nhật liên tục mọi phần phụ thuộc được nhúng trong mã. Vì mục đích này, bạn nên triển khai các bản cập nhật tự động được nâng lên thành bản chính thức bất cứ khi nào một thành phần của bên thứ ba phát hành bản vá bảo mật mới.
Kiểm tra thâm nhập ứng dụng
Thường xuyên kiểm tra thâm nhập. Các quy trình kiểm tra này nhằm mục đích phát hiện mọi lỗ hổng đã biết có thể ảnh hưởng đến mã độc quyền và các phần phụ thuộc của bên thứ ba. Ngoài ra, quy trình đánh giá bảo mật thường phát hiện ra các lỗ hổng không xác định (0 ngày). Hoạt động kiểm tra thâm nhập rất hữu ích đối với nhà phát triển, vì giúp họ thu được thông tin tổng quan nhanh về tình trạng bảo mật hiện tại của ứng dụng và ưu tiên giải quyết các vấn đề bảo mật có thể bị khai thác.