3.4 Các kiểu tấn công ứng dụng web phổ biến
3.4.6 Sensitive Data Exposure
a. Định nghĩa
Trong các ứng dụng web thơng thường có thể chứa các thông tin về người dùng như password, số thẻ tín dụng, địa chỉ nhà, số điện thoại hoặc số chứng minh nhân dân,… Nếu các thông tin này không được lưu trữ cũng như mã hóa cẩn thận thì dễ dàng dẫn đến việc mất cắp các thơng tin đó. Lỗ hổng như vậy được gọi là sensitive data exposure. Các cuộc tấn công vào dạng lỗ hổng này không chỉ gây mất uy tín của đơn vị chủ quản mà cịn dẫn đến việc bị người sử dụng phản hồi mang tính tiêu cực. Theo OWASP đã đánh giá thì việc khai thác lỗ hổng này thuộc dạng khó, nhưng khi xảy ra thì sẽ gây tổn thất rất nặng nề về mặt kinh tế.
b. Các kịch bản tấn cơng
- Việc mã hóa tự động các thơng tin nhạy cảm liên quan đến kinh tế như số tài khoản tín dụng, chẳng hạn như dùng kiểu hash MD5 dẫn đến việc khi xảy ra các cuộc tấn cơng SQL Injection thì hacker có thể dễ dàng suy ngược ra. Vì vậy, khi lưu trữ các thơng tin quan trọng, cần áp dụng cách mã hóa khóa cơng khai và chỉ giải mã bằng khóa cá nhân của hệ thống.
- Các trang web đơn giản không sử dụng SSL cho các trang xác thực. Vì vậy hacker có thể dễ dàng theo dõi thông tin mạng của hệ thống, đánh cắp thơng tin cookie, sau đó dùng chúng để mạo danh và lấy đi các thông tin riêng tư của người dùng.
- Thông thường các password của người dùng được lưu dưới dạng hash thông thường mà không thêm vào các chi tiết để chống lại việc giải mã theo phương pháp dictionary. Vì vậy khi hacker lấy được các thơng tin này thì chúng có thể dễ dàng suy ra được password của người dùng.
c. Cách phát hiện và phòng chống
- Đảm bảo tất cả các thông tin nhạy cảm đều được mã hóa. - Khơng lưu trữ các thơng tin nhạy cảm khơng cần thiết.
- Đảm bảo các giải thuật và khóa dùng cho giải thuật được dùng mã hóa các thơng tin nhạy cảm phải đủ mạnh.
- Tắt các chức năng lưu cache của trình duyệt và sử dụng các tầng mã hóa thơng tin TLS/SSL