CSRF là gì? Tìm hiểu cách chống tấn công giả mạo chủ thể

Mặc dù CSRF không phải là một khái niệm mới trong lĩnh vực bảo mật nhưng nhiều lập trình viên vẫn chưa hoàn toàn hiểu rõ về cách thức hoạt động cũng như các biện pháp phòng tránh hiệu quả. Bài viết này của LPTech sẽ giúp bạn hiểu rõ CSRF là gì, cách thức hoạt động của tấn công CSRF và quan trọng hơn là các phương pháp phòng chống CSRF để bảo vệ ứng dụng của bạn khỏi những mối nguy hiểm này. Cùng tìm hiểu ngay nhé!

CSRF là gì?

CSRF (Cross-Site Request Forgery) là một hình thức tấn công mà kẻ xấu giả mạo người dùng để thực hiện các hành động, yêu cầu như thay đổi mật khẩu, nhắn tin lừa đảo, chuyển tiền,... trên các ứng dụng và ứng dụng web mà người bị giả mạo không hề hay biết. 

Ví dụ, nếu người dùng đã đăng nhập vào tài khoản ngân hàng trực tuyến và kẻ tấn công biết được phiên đăng nhập của người dùng, kẻ tấn công có thể gửi yêu cầu chuyển tiền từ tài khoản của người dùng đến tài khoản của mình mà không cần người dùng phải làm gì.

CSRF hoạt động ra sao?

Để hiểu rõ hơn về CSRF, trước hết bạn cần biết rằng các ứng dụng sử dụng session để theo dõi một khi người dùng đã đăng nhập. Một session thường được xác định bằng một cookie mà trình duyệt sẽ tự động gửi cùng với mỗi yêu cầu gửi đến server.

Lúc này, CSRF sẽ hoạt động khi người dùng bị dẫn dắt hoặc lừa đến một trang web hay ứng dụng nào đó bởi hacker, lúc này kẻ tấn công có thể tận dụng chính cookie của người dùng để thực hiện hành động thay mặt họ. Khi hành động giả mạo được gửi từ của hacker, vì cookie và session không có gì khác nên server mặc định là đều từ một người dùng.

> Tìm hiểu thêm về các thuật ngữ cookie, session và cách chúng hoạt động tại:Session là gì? Cách phân biệt giữa session và cookie

Ví dụ về CSRF

Giả sử bạn đang đăng nhập vào trang web ngân hàng của mình và muốn chuyển tiền. Khi bạn đăng nhập, session của bạn được lưu trong cookie. Sau đó, bạn truy cập một trang web khác và trang này chứa một đoạn mã JavaScript giả mạo gửi yêu cầu chuyển tiền từ tài khoản của bạn đến tài khoản hacker. Vì bạn vẫn đang có phiên làm việc mở với ngân hàng, trình duyệt sẽ tự động gửi cookie kèm theo yêu cầu đó. Server của ngân hàng không thể phân biệt được yêu cầu này từ một yêu cầu hợp pháp của bạn và hành động hack chuyển tiền sẽ diễn ra mà bạn không hay biết.

Cách ngăn chặn tấn công CSRF

Mặc dù tấn công CSRF là một mối nguy hiểm nghiêm trọng, nhưng nó hoàn toàn có thể phòng ngừa được nếu biết áp dụng các biện pháp bảo mật thích hợp. Dưới đây là một số phương pháp hiệu quả giúp ngăn chặn tấn công CSRF.

Phòng chống từ phía User

Mặc dù việc bảo vệ khỏi tấn công CSRF chủ yếu phải được thực hiện từ phía server, nhưng người dùng cũng có thể góp phần quan trọng trong việc giảm thiểu nguy cơ bị tấn công. Dưới đây là một số hành động mà người dùng có thể thực hiện để bảo vệ chính mình khỏi các cuộc tấn công CSRF:

  • Hạn chế nhấp vào các liên kết hoặc tải về tập tin từ những trang web không rõ nguồn gốc hoặc không đáng tin cậy. 
  • Người dùng nên đảm bảo rằng trình duyệt của mình luôn ở phiên bản mới nhất, đồng thời cập nhật các plugin và tiện ích mở rộng (extensions) để giảm thiểu các lỗ hổng bảo mật.
  • Sử dụng phần mềm bảo mật (anti-virus, anti-malware) giúp giảm thiểu khả năng bị tấn công thông qua các trang web lừa đảo.
  • Tránh đăng nhập vào nhiều tài khoản trực tuyến và giữ phiên làm việc (session) mở trên nhiều ứng dụng hoặc trang web cùng lúc.
  • Hạn chế sử dụng các mạng wifi công cộng.
  • Bật xác thực hai yếu tố (2FA) làm giảm khả năng kẻ tấn công có thể thực hiện các hành động mà không có sự đồng ý của người dùng.

Phòng chống từ phía Server

Từ phía server, có một số cách chủ yếu để phòng chống CSRF, bao gồm việc sử dụng csrf token, captcha và một số chiến lược bảo mật khác.

  • Sử dụng CAPTCHA: CAPTCHA sẽ giúp xác minh rằng yêu cầu đến từ người dùng thực hay không, từ đó tăng cường khả năng bảo vệ khi kết hợp với các phương thức khác.
  • Sử dụng CSRF Token: Server sẽ tạo và kiểm tra CSRF token duy nhất cho mỗi yêu cầu để đảm bảo tính hợp lệ và ngăn chặn yêu cầu giả mạo.
  • Sử dụng cookie riêng cho Admin: Tách cookie cho tài khoản quản trị và đặt thuộc tính bảo mật giúp bảo vệ các tài khoản có quyền cao hơn.
  • Thường xuyên kiểm tra IP: Kiểm tra IP trong suốt phiên làm việc để phát hiện các thay đổi bất thường, ngăn ngừa tấn công CSRF hiệu quả hơn.

XSS và CSRF có mối liên hệ gì?

XSS và CSRF đều là hai loại tấn công mạng phổ biến. Mặc dù chúng khác nhau về cơ chế hoạt động nhưng cả hai có mối liên hệ với nhau qua việc khai thác lỗ hổng bảo mật để thao túng hoặc lợi dụng các thông tin nhạy cảm của người dùng trên một trang web.

XSS và CSRF có thể bổ trợ và tăng cường sức mạnh cho nhau trong các cuộc tấn công phức tạp. Một kẻ tấn công có thể sử dụng XSS để thu thập token CSRF của người dùng, hoặc chèn mã nhằm thực hiện các yêu cầu giả mạo từ phía trình duyệt, giống như CSRF. Khi XSS khai thác thành công, kẻ tấn công có thể lấy được thông tin người dùng hoặc thực hiện hành vi tương tự như CSRF mà không cần người dùng phải nhấp vào liên kết nào.

Tấn công CSRF là một trong những mối nguy hiểm phổ biến trong phát triển ứng dụng web. Tuy nhiên, với các biện pháp phòng ngừa thích hợp từ phía người dùng và server, bạn hoàn toàn có thể bảo vệ ứng dụng khỏi loại tấn công này. Qua bài viết này, LPTech hy vọng rằng bạn đã hiểu rõ về CSRF và biết cách phòng chống mối nguy hiểm này hiệu quả nhé!

Thông tin liên hệ

Nếu bạn có thắc mắc gì, có thể gửi yêu cầu cho chúng tôi, và chúng tôi sẽ liên lạc lại với bạn sớm nhất có thể .

Công ty TNHH TMĐT Công nghệ LP

Giấy phép kinh doanh số 0315561312/GP bởi Sở Kế Hoạch và Đầu Tư TP. Hồ Chí Minh.

Văn phòng: Lầu 4, Toà nhà Lê Trí, 164 Phan Văn Trị, Phường 12,Quận Bình Thạnh, HCMC

Hotline: 0338 586 864

Mail: sales@lptech.asia

Zalo:LP Tech Zalo Official

Liên hệ qua Zalo: 0338586864 ( hoặc bấm vào link này: http://lptech.asia/zalo-lptech). Hoặc nhập thông tin mà bạn cần hỗ trợ vào ô liên hệ bên dưới để lên lạc với LPTech nhé.

Bài viết cùng chuyên mục

Pentest là gì? Tầm quan trọng của kiểm thử xâm nhập

Tìm hiểu về phương pháp kiểm thử xâm nhập - Pentest, một giải pháp bảo mật thiết yếu cho doanh nghiệp trong thời đại số hóa.

NAT là gì? Phân loại NAT theo chức năng và cách...

NAT là một kỹ thuật mạng dùng để chuyển đổi địa chỉ IP của một gói data khi nó đi qua một thiết bị mạng như router hoặc tường lửa. Các...

Tấn công brute-force là gì? Cách phòng chống tấn...

Brute force là một hình thức tấn công mà các hacker thường sử dụng. Chúng thực hiện bằng các phần mềm tự động để thử mật khẩu tài khoản...

XSS là gì? Cách truy vết và phòng chống tấn công...

XSS, viết tắt của cụm từ Cross Site Scripting, là một lỗ hổng trong bảo mật mà các hacker sẽ sử dụng để cài đặt các phần mềm độc hại vào...

Trojan là gì? Cách nhận biết và phòng chống virus...

Trojan là gì? Đây là một loại virus độc hại được tạo ra để xâm nhập máy tính trái phép. Một khi đã xâm nhập vào, chúng sẽ phá hoại, làm...

Phishing là gì? Cách phòng chống lừa đảo bằng...

Phishing là một hình thức lừa đảo, giả mạo các tổ chức uy tín, người quen của nạn nhân để đánh cắp thông tin cá nhân như mật khẩu tài...

Bài viết mới nhất


Array là gì? Tổng hợp 15 phương thức của Array...

Array là gì trong JavaScript? Đây là câu hỏi phổ biến khi làm quen với lập trình. Mảng (array) giúp lưu trữ và quản lý nhiều giá trị trong một biến...

SaaS là gì? Tổng quan về mô hình Software as a...

SaaS là mô hình dịch vụ phần mềm dựa trên cloud, cho phép người dùng truy cập các ứng dụng trực tiếp qua internet mà không cần cài đặt phức tạp....

AWS là gì? Tất tần tật chứng chỉ AWS 'đẻ vàng'...

AWS là nền tảng điện toán đám mây hàng đầu thế giới, cung cấp hơn 200 dịch vụ tiên tiến, từ lưu trữ dữ liệu đến trí tuệ nhân tạo. Tìm hiểu ngay...

Google Search Console cải tiến thời gian xem...

Ngày 12 tháng 12 Google Search Console cập nhật chế độ xem 24 giờ cho các báo cáo hiệu suất giúp cải thiện độ mới dữ liệu hơn so với chế độ xem cũ

Cách thức và lý do thu thập dữ liệu của Googlebot

Thu thập dữ liệu (Crawling) là gì? Cách thức thu thập dữ liệu của Googlebot trên trang như thế nào? Làm cách nào để tối ưu ngân sách dữ liệu thu thập?

Kỹ sư cầu nối (BrSE) là gì? Công việc và mức...

Kỹ sư cầu nối (BrSE) là một ví trí quan trọng trong lĩnh vực công nghệ thông tin, giúp kết nối khách hàng với các dev trong team và phát triển sản...

Thông báo lịch nghỉ Tết Dương lịch 2025

Kính chúc Quý khách hàng, Đối tác và toàn thể nhân viên một năm 2025 thật nhiều thành công và sức khoẻ.

Convolutional Neural Network là gì? Tìm hiểu về...

Convolutional Neural Network là một công cụ quan trọng được sử dụng trong nhiều lĩnh vực của đời sống. Để tìm hiểu chi tiết về CNN, bạn hãy xem bài...

Cách thay đổi ngày, tháng, năm sinh trên Tiktok...

Đổi ngày sinh trên TikTok giúp đủ tuổi để mở khóa một số tính năng như tài video về, livestream, nhắn tin,.. Xem cách đổi ngày sinh trên TikTok đơn...

Props là gì? Bí quyết sử dụng Props sao cho hợp...

Props là gì? Đây là một khái niệm quan trọng trong React giúp truyền tải dữ liệu giữa các component. Cùng tìm hiểu chi tiết cách sử dụng props và...