Web Cookie và các vấn đề bảo mật khi sử dụng trình duyệt web

13:32 - 17/07/2022  |  256 lượt xem

Chia sẻ
Ngày nay, web cookie được sử dụng ở hầu hết các chương trình phần mềm ứng dụng web. Nó cũng chứa những nguy cơ tiềm tàng gây mất an toàn thông tin, ảnh hưởng không nhỏ đến người sử dụng. Do đó, những nhà phát triển chương trình phần mềm web cần hiểu rõ về cookie và biết cách thiết lập các thông số cần thiết để ứng dụng có thể an toàn hơn trước các cuộc tấn công của hacker.
Web Cookie và các vấn đề bảo mật khi sử dụng trình duyệt web

Ảnh minh họa

Giới thiệu về web cookie là gì?

Cookie (hay HTTP cookie, web cookie, browser cookie) là một đoạn dữ liệu nhỏ được gửi từ phía website và lưu trữ ở trình duyệt của người dùng khi họ duyệt website này. Mỗi lần người dùng load website, trình duyệt sẽ tự động gửi cookie về web server để thông báo cho website biết các hành động trước đó của người dùng. Cookie được thiết kế để trở thành một cơ chế đáng tin cậy, giúp website ghi nhớ các thông tin trạng thái (chẳng hạn các mặt hàng đang nằm trong giỏ hàng) hoặc lưu trữ các hoạt động của người dùng (bao gồm việc click vào một liên kết, đăng nhập, các trang đã ghé thăm trong tuần, trong tháng hay trong năm,…).

Mặc dù cookie không thể mang theo virus, và cũng không thể cài đặt malware vào máy tính, nhưng việc sử dụng tracking cookie và đặc biệt là cookie của bên thứ ba (third-party cookie) được xem như là cách để xác định các thông tin cá nhân từ lịch sử duyệt web của người dùng. Cookie có thể lưu password hay nội dung mà người dùng nhập vào các form html, chẳng hạn như số thẻ credit card hay địa chỉ cá nhân. Khi người dùng truy cập vào website lần đầu tiên, cookie sẽ được gửi từ web server đến trình duyệt và được lưu trữ trong máy tính của người đó. Sau đó, khi người dùng quay lại website, website sẽ nhận ra họ vì những thông tin đã được lưu trong cookie. Cookie thường được sử dụng trên các ứng dụng website để quản lý phiên làm việc (session) của người dùng, cá nhân hóa phần mềm theo người dùng (ghi nhớ thông tin cá nhân và gợi ý các nội dung liên quan phù hợp) và theo dõi các thông tin người dùng liên quan tới hệ thống (lịch sử duyệt web).

Các vấn đề bảo mật khi sử dụng cookie trên trình duyệt web

Nếu một website sử dụng session ID để xác định phiên làm việc của người dùng, kẻ tấn công có thể có thể đánh cắp cookie để giả mạo người dùng. Sau đây là một số kịch bản đánh cắp cookie gây mất an toàn thông tin thường gặp:

Nghe lén (eavesdropping)

Traffic trong một hệ thống mạng có thể bị chặn và đọc bởi một người thứ ba (không phải người nhận và người gửi). Traffic này bao gồm cả cookie. Nếu đường truyền không được mã hóa, kẻ tấn công có thể đọc được những thông tin nhạy cảm chứa trong cookie. Và lợi dụng những thông tin này, kẻ tấn công sẽ mạo danh người dùng thực hiện những hành động nguy hiểm, chẳng hạn như các giao dịch ngân hàng. Vấn đề này có thể được giải quyết bằng cách sử dụng một giao thức bảo mật giữa máy tính của người dùng và server – giao thức HTTPS. Server có thể sử dụng cờ Secure khi thiết lập cookie. Khi đó, cookie sẽ chỉ được gửi đi thông qua một kênh truyền mã hóa, chẳng hạn một kết nối SSL.

Cross-site scripting

Các ngôn ngữ script, chẳng hạn Javascript, được cho phép đọc các giá trị của cookie và gửi chúng đến các server tùy ý.

Giả sử một website bị dính lỗi Cross-site scripting, hacker có thể chèn vào các đoạn mã độc hại, chẳng hạn như một đường link có chèn mã javascript. Khi nạn nhân click vào link trên, trình duyệt sẽ thực thi đoạn script và gửi cookie của nạn nhân đến các server tấn công.

Cross-site scripting là một trong những lỗ hổng phổ biến của các website (đứng thứ ba trong top 10 lỗ hổng phổ biến nhất năm 2013 – theo OWASP).

Có thể hạn chế nguy cơ của lỗ hổng này bằng cách thiết lập cờ HttpOnly cho cookie. Khi đó, cookie sẽ không bị truy cập bởi các ngôn ngữ script.

Cross-site request forgery

CSRF (Cross-site request forgery) hay one-click attack, là một phương thức khai thác lỗ hổng của website theo đó những lệnh không được phép được thực hiện bởi nạn nhân – những user được website cấp quyền mà họ không hề hay biết.

CSRF sẽ lừa trình duyệt của nạn nhân gửi đi các request http đến các ứng dụng web. Trong trường hợp phiên làm việc của nạn nhân chưa hết hiệu lực thì các request trên sẽ được thực hiện với quyền chứng thực của nạn nhân.

Để hạn chế nguy cơ này, có thể thiết lập thông số Expires (hạn sử dụng) cho cookie.

Qua bài viết này, chúng ta có thể thấy cookie được sử dụng thường xuyên trong các chương trình website và lưu ý những vấn đề bảo mật liên quan tới cookie khi sử dụng trình duyệt web, góp phần đảm bảo an toàn thông tin khi truy cập các chương trình trên mạng internet.

Nguyễn Bá Dũng

13:32 - 17/07/2022  |  256 lượt xem

Chia sẻ

TIN BÀI ĐỌC NHIỀU

Hạnh phúc bình dị của một gia đình thợ điện

Hạnh phúc bình dị của một gia đình thợ điện

15:59 - 28/06/2022  |  7420 lượt xem