Chào mừng bạn đến với phần đầu tiên của loạt bài viết “Nhập môn an toàn thông tin”. Trong thời đại số hóa ngày nay, mạng Internet là một công cụ không thể thiếu đối với mọi người, từ trẻ đến già, ai ai cũng cuốn vào vòng xoay Internet mà không thể dứt ra được. Họ lên mạng hằng ngày, ở khắp mọi nơi, mọi người còn đùa vui rằng có thể quên ăn quên ngủ chứ không quên lên mạng được. Nhưng môi trường internet chưa bao giờ là một nơi an toàn cho tất cả mọi người. Theo ghi nhận của Cục An toàn thông tin – Bộ Thông tin và truyền thông trong 6 tháng đầu năm 2023, tình hình lừa đảo trực tuyến tại Việt Nam tăng 64,78% so với cùng kỳ năm ngoái; tăng 37,82 % so với 6 tháng cuối năm 2022. Quy mô các vụ ăn cắp thông tin hay lừa đảo qua mạng đang gia tăng một cách nhanh chóng, đòi hỏi không chỉ người trong ngành mà những người ngoài ngành cũng nên trang bị cho mình những kiến thức cần thiết để có thể tự bảo vệ mình trong quá trình sử dụng mạng hằng ngày. Trong phần đầu của bài viết hôm nay, xin giới thiệu với mọi người một khía cạnh quen thuộc mà các bạn đã nghe nhiều nhưng chưa chắc đã hiểu hết được nó: Cookies.
Cookies là gì?
“Cookies” là một cụm từ mà đảm bảo rằng chúng ta đã được thấy rất nhiều lần trong quá trình lướt web, thấy ở đâu ư, ở đây này ↓↓
Thấy quen không, đây gần như là thông báo mà khi bạn truy cập một trang web nào mới đều sẽ hiện ra, đảm bảo rằng gần như các bạn đều sẽ đồng ý mà chẳng thèm quan tâm rằng với cái cookies này thì trang web đó có thể làm gì đến bạn. Vậy Cookies là cái gì và ta có thể làm được gì với nó?
Về bản chất, những chiếc “bánh quy” này chỉ là những đoạn văn bản nhỏ được tạo ra trên máy tính của bạn mà để lưu lại các thông tin về hoạt động duyệt web của người dùng. Chúng giúp lưu trữ các thông tin như tên đăng nhập, mật khẩu và các cài đặt cá nhân của người dùng. Nhờ đó mà khi bạn truy cập lại một trang web, bạn không cần đăng nhập đi đăng nhập lại hay tùy chỉnh lại các thông số trên trang web cho phù hợp ý mình nữa.
Vì các thông tin lưu của Cookies rất nhạy cảm nên khi một website muốn tạo tệp này trên máy tính của người dùng, doanh nghiệp buộc phải tuân thủ các nguyên tắc quan trọng sau:
– Thông báo công khai việc sử dụng Cookie khi người dùng truy cập vào trang web.
– Giải thích rõ ràng về chức năng của Cookie trên website cũng như lý do để cài đặt.
– Phải được sự chấp thuận đồng ý của người dùng mới được tạo file và lưu lại trên máy tính cá nhân của họ.
Có thể nói khi bấm đồng ý, bạn đã trao cho chủ website một cái đặc quyền rất rất là to lớn, còn lớn như thế nào thì từ từ rùi sẽ thấy.
Phân loại cookies
Cookies có thể được phân loại thành nhiều loại khác nhau tùy thuộc vào mục đích sử dụng và thời gian tồn tại. Dưới đây là một số loại cookies phổ biến:
Session Cookies:
Mục Đích: Thường được sử dụng để lưu trữ thông tin tạm thời trong suốt phiên làm việc (session) của người dùng.
Thời Gian Tồn Tại: Chỉ tồn tại trong suốt phiên làm việc và sẽ bị xóa khi bạn đóng trình duyệt.
Persistent Cookies:
Mục Đích: Lưu trữ thông tin để sử dụng cho các lần truy cập sau.
Thời Gian Tồn Tại: Có thể tồn tại trong thời gian được đặt ra trước (ví dụ: một số ngày, tuần hoặc thậm chí là nhiều năm).
First-party Cookies:
Mục Đích: Được tạo ra và gửi bởi trang web bạn đang trực tiếp truy cập.
Ví Dụ: Lưu trữ thông tin về ngôn ngữ, cài đặt cá nhân.
Third-party Cookies:
Mục Đích: Được tạo ra và gửi bởi các trang web khác nằm trong các nguồn tài nguyên như quảng cáo, widget, hoặc bảng xếp hạng xã hội.
Ví Dụ: Sử dụng để theo dõi hoạt động trực tuyến và quảng cáo được tùy chỉnh.
Secure Cookies:
Mục Đích: Chỉ được gửi qua kết nối an toàn (HTTPS) để bảo vệ thông tin khỏi bị đánh cắp.
Ví Dụ: Thông tin đăng nhập, giao dịch tài khoản ngân hàng.
HttpOnly Cookies:
Mục Đích: Chỉ có thể được truy cập thông qua HTTP và không thể được truy cập bởi mã JavaScript.
Ví Dụ: Bảo vệ khỏi các cuộc tấn công chèn mã JavaScript.
Zombie Cookies (Evercookies):
Mục Đích: Cố gắng duy trì sự tồn tại của cookies ngay cả khi người dùng cố gắng xóa chúng.
Ví Dụ: Sử dụng nhiều lưu trữ để tái tạo cookies sau khi bị xóa. Các loại cookies trên đều đóng vai trò quan trọng trong việc cung cấp trải nghiệm trực tuyến tốt hơn. Nhưng cookies cũng mang theo những thách thức về quyền riêng tư và an toàn thông tin cá nhân.
Phương thức truyền tải dữ liệu cookies
Để tạo và truyền cookies từ máy chủ web đến máy tính người dùng, các bước chính thường bao gồm việc thiết lập trên máy chủ và gửi chúng đến máy tính người dùng thông qua trình duyệt. Dưới đây là mô tả các bước cơ bản:
Bước 1: Tạo Cookies trên Máy Chủ Web:
Sử dụng ngôn ngữ lập trình phía máy chủ như PHP, Node.js, Python, Java, hoặc bất kỳ ngôn ngữ nào hỗ trợ việc thiết lập và gửi cookies.
Một số hàm hay thư viện được cung cấp trong ngôn ngữ lập trình để tạo và thiết lập cookies. Ví dụ:
Trong PHP: setcookies()
Trong Node.js (Express): res.cookies()
Trong Python (Django): response.set_cookies()
Bước 2: Thiết Lập Các Thông Số Cookies:
Tên (Name): Đặt tên cho cookies để có thể xác định chúng sau này.
Giá Trị (Value): Gán giá trị cho cookies, có thể là một chuỗi, số, hoặc dữ liệu nào đó.
Thời Gian Tồn Tại (Expiration Time): Xác định thời gian mà cookies sẽ tồn tại trên máy tính người dùng. Có thể là session cookies (chỉ trong phiên làm việc) hoặc persistent cookies (tồn tại qua nhiều phiên làm việc).
Bước 3: Gửi Cookies đến Trình Duyệt:
Khi cookies đã được thiết lập, máy chủ sẽ gửi chúng đến trình duyệt của người dùng thông qua các tiêu đề HTTP trong phản hồi từ máy chủ.
Bước 4: Trình Duyệt Lưu Trữ Cookies:
Trình duyệt sẽ lưu trữ cookies trên máy tính của người dùng theo các thông số đã được thiết lập nếu được người dùng cho phép.
Các lệnh khởi tạo Cookies
Đây là số lệnh cơ bản liên quan đến cookie bằng javascript để bạn có thể vọc thử.
#Tạo Cookies với các thông số tên, thời điểm hết hạn, trang web cookies thuộc về (mặc định những cookies tạo ra sẽ thuộc về trang web hiện tại)
document.cookie = “username=tr4n9; expires=Sun, 17 Dec 2023 12:00:00 UTC; path=/”;
#Thay đổi một cookies, bạn có thể thay đổi một cookies y như cách bạn tạo ra một cái mới vậy, chỉ cần thay đổi giá trị:
document.cookies = “username=c0d3; expires=Thu, 17 Dec 2023 11:00:00 UTC; path=/”;
#Xóa một cookies, thì bạn chỉ cần thay đổi ngày hết hạn về quá khứ là cookie đó sẽ biến mất:
#document.cookies = “username=c0d3; expires=Thu, 7 Jul 1980 12:00:00 UTC; path=/”; Bạn cũng có thể sử dụng công cụ EditThisCookies để xem các thông số cookies trong trang web hiện tại:
Kết luận
Cookies là một tính năng hữu ích để trải nghiệm trên Internet của bạn tốt hơn. Song nó cũng đóng vai trò quan trọng trong lĩnh vực bảo mật, trở thành mục tiêu của nhiều hacker.
Qua bài viết chúng ta đã có những kiến thức cơ bản về cookies, phân loại và cách thức hoạt động của nó trên trang web. Trong các phần tiếp theo chúng ta sẽ khám phá cách thức mà hacker có thể lấy cắp cookies của bạn. Đừng quên theo dõi để không bỏ lỡ những kiến thức quan trọng tiếp theo!
Cookie Là Cái Chi Và Thao Tác Với Cookie Thế Nào? (codelearn.io)