:quality(75)/2023_11_16_638357697373221873_csrf-token-1-1.jpg)
CSRF Token là gì? Tìm hiểu cách hoạt động và ngăn chặn tấn công CSRF hiệu quả
CSRF đã trở thành một dạng kỹ thuật tấn công website phổ biến trên thị trường hiện nay. Đặc biệt đối với các trang web không áp dụng kỹ thuật bảo mật chặt chẽ. Tìm hiểu đầy đủ kiến thức về cách hoạt động của CSRF Token - công cụ ngăn chặn tấn công là điều quan trọng đối với lập trình viên. Mời bạn cùng FPT Shop cập nhật những thông tin cần thiết về chủ đề này!
Định nghĩa CSRF Token là gì?
CSRF hay còn được gọi với một cái tên đầy đủ là Cross-Site Request Forgery. CSRF biểu thị một loại tấn công mạng mà kẻ thực hiện đã lợi dụng quyền truy cập của người dùng đến một trang web cụ thể.

Mục đích để thực hiện các hành động tiêu cực trên trang web đó thông qua việc gửi các yêu cầu giả mạo từ một trang web khác mà người dùng đã truy cập. Một vài ví dụ điển hình thông qua việc sử dụng các phương thức truy vấn HTTP như GET hoặc POST.
Để ngăn chặn tấn công CSRF, các trang web thường tạo ra và yêu cầu người dùng gửi kèm theo yêu cầu một token CSRF. Token CSRF được tạo ra một cách ngẫu nhiên và được liên kết với phiên làm việc của người dùng. Từ đó đảm bảo rằng chỉ những yêu cầu được gửi từ cùng một trang web có thể được xác minh và chấp nhận.
Mục tiêu chính của việc sử dụng CSRF token là đảm bảo rằng yêu cầu được gửi đi từ người dùng đều là hành động mà họ mong muốn thực hiện. Điều này nhằm ngăn chặn kẻ tấn công thực hiện các hành động khác trên trang web mà họ không có quyền truy cập trực tiếp.
Lịch sử hình thành CSRF từ đâu?
Cuộc tấn công CSRF (Cross-Site Request Forgery) có liên quan chặt chẽ đến sự phát triển và sử dụng web. Đây là một loại tấn công trong đó kẻ tấn công lừa đảo người dùng hoặc tự động thực hiện các hành động tiêu cực thông qua việc sử dụng quyền truy cập của người dùng đó mà không cần sự tương tác hoặc sự đồng ý của họ.

CSRF bắt nguồn từ những năm đầu của web, khi các trang web phát triển và trở nên phức tạp hơn. Người ta nhanh chóng nhận thấy rằng việc xác thực người dùng trên web là một vấn đề lớn. Tấn công CSRF đã bắt đầu xuất hiện như một phản ứng tự nhiên của điều này.
Tuy nhiên, tấn công CSRF chưa nhận được sự chú ý lớn cho đến cuối những năm 2000. Khi nó trở nên phổ biến hơn do sự phát triển của các ứng dụng web phong phú và cách sử dụng cookie cho việc xác thực. Người ta nhận ra rằng CSRF đang trở thành một vấn đề lớn đối với tính bảo mật của các trang web và người dùng.
Kể từ đó, các chiến lược bảo vệ chống lại CSRF đã được phát triển và thực hiện rộng rãi nhằm ngăn chặn tấn công này. Điển hình như việc sử dụng CSRF Tokens, Same site cookies và các biện pháp bảo vệ khác.
Phương thức hoạt động của CSRF
Một lỗ hổng CSRF có thể dẫn đến việc kẻ tấn công thực hiện các yêu cầu giả mạo từ phía nạn nhân mà không cần sự tương tác hoặc sự chấp thuận của họ. Khi trình duyệt gửi yêu cầu HTTP sẽ cũng gửi theo các cookie để xác định phiên làm việc đã xác thực của người dùng.

Nếu ứng dụng web không bảo vệ chống lại CSRF, kẻ tấn công có thể lợi dụng điều này để thực hiện các yêu cầu giả mạo. Hoặc sử dụng phiên làm việc đang hiệu lực của nạn nhân mà không cần biết chi tiết về trạng thái xác thực của người dùng.
Các trang web cần áp dụng các biện pháp bảo vệ như sử dụng CSRF Tokens để xác minh tính hợp lệ của yêu cầu. Bên cạnh việc cẩn trọng trong việc lưu trữ và xác thực phiên làm việc của người dùng. Những biện pháp này giúp đảm bảo rằng chỉ những yêu cầu thực sự từ người dùng mới được xử lý.
Kịch bản tấn công phổ biến của CSRF
Tấn công CSRF (Cross-Site Request Forgery) thường diễn ra như sau:

Kẻ tấn công xác định mục tiêu
Đầu tiên, kẻ tấn công sẽ xác định các trang web mục tiêu mà họ muốn thực hiện tấn công CSRF. Điều này có thể là các trang web mà người dùng đích thực đăng nhập và có phiên làm việc hiệu lực.
Xây dựng kịch bản tấn công
Kẻ tấn công tạo ra một kịch bản tấn công CSRF bằng cách tạo một trang web hoặc email chứa mã độc. Chúng cố gắng thuyết phục người dùng truy cập vào trang web hoặc mở email đó.

Kích hoạt yêu cầu giả mạo
Khi người dùng truy cập vào trang web chứa mã độc, trình duyệt của họ có thể tự động gửi các yêu cầu HTTP đến trang web mục tiêu mà kẻ tấn công muốn tấn công. Kẻ xấu sẽ sử dụng phiên làm việc hiệu lực của người dùng đó.
Thực hiện hành động không mong muốn
Nếu kịch bản tấn công thành công, những kẻ giả mạo có thể thực hiện hành động tiêu cực từ phía người dùng mà không cần sự chấp thuận của họ. Điển hình như thay đổi thông tin cá nhân, thực hiện các giao dịch tài chính hoặc thực hiện các hành động gây hại khác.
Ví dụ về cách sử dụng CSRF Token
Dưới đây là một ví dụ cụ thể về cách sử dụng CSRF token để ngăn chặn tấn công CSRF:

- Trường hợp 1:Khi người dùng truy cập vào trang web, trang web sẽ tạo ra một CSRF token ngẫu nhiên và lưu trữ nó trong phiên làm việc hiện tại của người dùng.
- Trường hợp 2: Khi người dùng thực hiện một hành động gửi yêu cầu (ví dụ như thay đổi thông tin cá nhân, đặt hàng, thay đổi mật khẩu, vv), trang web sẽ yêu cầu người dùng gửi kèm theo yêu cầu CSRF token.
- Trường hợp 3: Khi yêu cầu được gửi đến máy chủ, máy chủ sẽ kiểm tra xem CSRF token gửi kèm theo yêu cầu có khớp với token mà nó đã tạo và lưu trữ trong phiên làm việc của người dùng hay không. Nếu token không khớp hoặc thiếu, yêu cầu sẽ bị từ chối.
Điều này đảm bảo rằng bất kỳ yêu cầu nào được gửi đến máy chủ phải đi kèm với một CSRF token hợp lệ, Từ đó ngăn chặn việc kẻ tấn công gửi yêu cầu giả mạo từ phía người dùng mà không cần sự chấp thuận của họ.
Kỹ thuật ngăn chặn CSRF từ User
Để giúp người dùng bảo vệ chống lại tấn công CSRF, dưới đây là một số cách mà họ có thể áp dụng:
Không mở liên kết từ nguồn kém tin cậy
Người dùng nên tránh bấm vào các liên kết từ email hoặc trang web không tin cậy. Đặc biệt là khi bạn đã đăng nhập vào các trang web quan trọng như ngân hàng hoặc tài khoản thanh toán.
Đăng xuất sau khi sử dụng
Sau khi hoàn tất các hoạt động trên trang web nhạy cảm, người dùng nên đăng xuất để đảm bảo rằng không có yêu cầu tiêu cực nào có thể được gửi từ trình duyệt của bạn mà bạn không biết.

Sử dụng trình duyệt có công cụ bảo vệ
Sử dụng các trình duyệt có tính năng bảo vệ chống lại CSRF có thể giúp người dùng ngăn chặn tấn công này. Ví dụ, các trình duyệt hiện đại thường cung cấp bảo vệ chống lại tấn công CSRF.
Cảnh giác với các yêu cầu trùng lặp
Khi nhận được yêu cầu xác nhận hoặc xác thực từ trang web, người dùng nên kiểm tra xem yêu cầu đó có phù hợp với hoạt động mà họ đang thực hiện hay không. Đừng tiến hành quá nhanh khi xác nhận các cổ gắng bảo mật như thay đổi mật khẩu hoặc thanh toán.
Phát hiện và nhanh chóng sửa Lỗi XSS
Để tránh bị lợi dụng trong cuộc tấn công CSRF, người dùng cũng nên chú ý đến các lỗi Cross-Site Scripting (XSS) trên các trang web mà họ truy cập và báo cáo về các lỗi này cho nhà phát triển của trang web.
Phương pháp phòng chống tấn công CSRF
Ngăn chặn tấn công CSRF là điều kiện quan trọng để bảo vệ website hiệu quả. Dưới đây giới thiệu một số cách phổ biến để bạn chống lại tấn công này:
Sử dụng CSRF Tokens
Trang web có thể tạo ra và sử dụng CSRF tokens để xác minh tính hợp lệ của mỗi yêu cầu gửi từ phía người dùng. CSRF token sẽ được tạo ra mỗi khi người dùng truy cập vào trang web và sẽ được yêu cầu gửi kèm theo mỗi yêu cầu mà trang web phải xác thực.
Sử dụng same site Cookies
Cài đặt same site cho Cookies có thể giúp ngăn chặn việc gửi cookie từ trình duyệt đến máy chủ trong trường hợp yêu cầu không được gửi từ trang web nguyên thủy mà từ một trang web khác.
Sử dụng X-CSRF-Token Header
Trang web có thể yêu cầu người dùng gửi một HTTP header chứa CSRF token như là một phương thức bảo vệ bổ sung. Bên cạnh đó, máy chủ có thể kiểm tra Origin header để đảm bảo rằng yêu cầu đến từ trang web cùng một nguồn gốc.

Sử dụng Double Submit Cookies
Trong phương pháp này, một cookie chứa CSRF token sẽ được tạo ra và gửi đến trình duyệt của người dùng. Giá trị của token sẽ được gửi kèm theo yêu cầu trong cookie khác. Khi máy chủ nhận được yêu cầu sẽ so sánh giá trị của token trong cookie với giá trị trong cookie CSRF để xác minh tính hợp lệ của yêu cầu.
Những giải pháp chống tấn công CFRS khác
Sử dụng captcha và các thông báo xác nhận là một trong những biện pháp phổ biến để chống lại tấn công CSRF. Tuy nhiên, cần lưu ý rằng việc áp dụng chúng đòi hỏi sự cân nhắc kỹ lưỡng để đảm bảo tính hiệu quả và trải nghiệm người dùng.
Captcha
Captcha là một phương pháp phổ biến để xác nhận xem người sử dụng trang web có phải là con người hay không. Điều này có thể giúp ngăn chặn các kịch bản tấn công tự động, bao gồm tấn công CSRF. Sử dụng captcha trước khi thực hiện các hành động quan trọng như thay đổi thông tin cá nhân hoặc thực hiện giao dịch tài chính có thể giúp củng cố tính bảo mật.

Thông báo Xác nhận
Các thông báo xác nhận được sử dụng để yêu cầu người dùng xác nhận hoặc phê duyệt hành động cụ thể trên trang web. Khi người dùng thực hiện một hành động quan trọng, chẳng hạn như thay đổi mật khẩu, thực hiện thanh toán hoặc thay đổi thông tin cá nhân có thể nhận được một thông báo xác nhận trước khi hành động đó được thực hiện.
Tạm kết
CSRF Token là gì? Đây là một biện pháp ngăn chặn sự tấn công của CSRF. Bên cạnh đó, lập trình viên có thể áp dụng thêm nhiều kỹ thuật khác như: kiểm tra Origin header, sử dụng same site cookies, và giám sát hoạt động… Hy vọng những chia sẻ trên đã giúp bạn hiểu đầy đủ thông tin về công cụ này.
Mời bạn xem thêm:
- 1000 Bath Thái bằng bao nhiêu tiền Việt? Mách bạn 2 cách đổi Bath Thái sang tiền Việt cực nhanh và chính xác
- Loa Marshall của nước nào? Ưu điểm và các dòng loa nổi bật của thương hiệu Marshall
Ở FPT Shop đang có nhiều mẫu máy tính xách tay với giá khuyến mãi rất hấp dẫn. Xem các sản phẩm máy tính giá tốt nhất tại đây.
:quality(75)/estore-v2/img/fptshop-logo.png)
:quality(75)/2023_11_16_638357555560675888_cac-cong-nghe-tren-may-lanh-samsung-noi-bat-va-cach-su-dung-cac-chuc-nang-tren-remote.jpg)
:quality(75)/2023_11_16_638357537864912490_tham-khao-cac-cong-nghe-cua-may-lanh-midea-va-co-quyet-dinh-nen-mua-hay-khong.jpg)
:quality(75)/2023_11_16_638357563988781667_cac-cong-nghe-hinh-anh-tren-tivi-lg-luon-dan-dau-xu-huong-va-cach-dung-tivi-ben-lau.jpg)
:quality(75)/2023_11_16_638357528055453787_cac-cong-nghe-bao-ve-suc-khoe-may-lanh-panasonic-ban-nen-biet-truoc-khi-mua.jpg)
:quality(75)/2023_11_16_638357497619425626_ca-c-ha-ng-die-u-ho-a-co-co-ng-nghe-lo-c-kho-ng-khi-0.jpeg)
:quality(75)/2023_11_16_638357635160008685_co-ng-nghe-nanoex-0.jpeg)