Untrusted Data - Khởi nguồn của lỗi bảo mật
Last updated
Last updated
Lấy ví dụ về đại dịch Covid. Câu hỏi đặt ra là: Covid có thể xâm nhập vào Việt Nam bằng cách nào ? Ở đây câu trả lời có thể là : bằng đường hàng không, đường biển và đường bộ. Vậy có thể ví, Untrusted Data là những người nhập cảnh vào Việt Nam. Họ có thể mang mầm bệnh hoặc không nhưng chúng ta cần phải xét nghiệm tất cả để có thể phát hiện và cách ly nguồn bệnh kịp thời.
Vậy có thể định nghĩa: Untrusted Data là những dữ liệu không đáng tin cậy. Phải luôn cho rằng tất cả dữ liệu bên ngoài không đáng tin cậy, trừ khi bạn kiểm soát nó. Đôi khi không chắc chắn là mình có kiểm soát được dữ liệu đó hay không, hãy giả sử đến trường hợp tệ nhất.
Hacker cũng chỉ là tập con của Users, chỉ khác ở chỗ, họ là những người dùng "tinh nghịch".
Dữ liệu từ Hacker và User lẫn vào nhau. Do đó hệ thống buộc phải xem tất cả dữ liệu đi vào là không đáng tin cậy và thực hiện kiểm tra toàn bộ dữ liệu đó.
Gói tin HTTP request là untrusted data vì nội dung gói tin này có thể bị thay đổi bởi Hacker ( sử dụng Burp suite)
Dữ liệu người dùng là untrusted data vì có thể chứa các nội dung không mong muốn như payload tấn công vào hệ thống
Dữ liệu từ máy chủ khác là untrusted data vì dữ liệu được gửi có thể bị thay đổi trên môi trường mạng hoặc chưa được xử lý an toàn trước khi được gửi.
Trong mô hình trên miêu tả cấu tạo cơ bản của 1 hệ thống web. Vậy thứ chúng ta cần bảo vệ ở đây là gì ?
Database vì đây là nơi chứa dữ liệu người dùng, bao gồm những thông tin nhạy cảm như họ và tên, số điện thoại, thông tin tín dụng, địa chỉ...
Web server Back-end vì ở đây chứa mã nguồn, là tài sản, trí tuệ của doanh nghiệp. Trong mã nguồn chứa các dữ liệu quan trọng như access token, mật khẩu kết nối cơ sở dữ liệu,... Nếu bị tấn công sẽ là bàn đạp giúp tin tặc tấn công vào bên trong các thành phần khác của mạng nội bộ.
Web front-end hiển thị thông tin, nội dung mà người dùng tương tác như tin nhắn, thông tin tài khoản, thông tin cá nhân, cookie...
Innocent User. Thật sự thì đây có thể nói là mục đích chủ yếu để chúng ta bảo vệ vì một doanh nghiệp, một trang web có hoạt động được thì đều nhờ vào users. Ngoài rủi ro bị đánh cắp thông tin từ hệ thống, người dùng còn có thể bị phising. Bởi thông tin người dùng không chỉ có trong database, front-end hay back-end mà còn trong trí nhớ của user.
-> Mục tiêu chính là tài nguyên của doanh nghiệp và người dùng.
-> Bất kì đối tượng nào xử lý untrusted data đều có thể gặp rủi ro.