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

Authentication là gì? 7 phương pháp...

Authentication là gì? Đóng vai trò gì trong bảo mật và phát triển phần mềm. Tìm hiểu khái niệm về authentication và các phương pháp xá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...

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


Cách làm bảng chấm công trong Excel tự động...

Hướng dẫn cách làm bảng chấm công tự động trên Excel, Google Sheets tự động nhảy ngày tháng chi tiết trong bài viết này.

Các ứng dụng chấm công (có tính lương) tự động,...

App chấm công thông minh giúp doanh nghiệp quản lý giờ làm, ca kíp và chấm công bằng GPS, vân tay. Hệ thống báo cáo tự động tối ưu quy trình nhân sự.

Blueprint là gì? Trực quan quy trình làm việc...

Cùng LPTech tìm hiểu blueprint là gì và cách service blueprint giúp tối ưu quy trình, nâng cao hiệu suất và cải thiện trải nghiệm khách hàng cho...

Barber là gì? Barber shop có gì khác với hair...

Barber là những thợ cắt tóc chuyên nghiệp, chuyên về các dịch vụ cắt tóc và cạo râu cho nam giới. Barber shop là nơi có các barber với phong cách...

Tuyển dụng Thực tập sinh Chăm sóc khách hàng

LPTECH tuyển dụng vị trí Thực tập sinh Chăm sóc khách hàng, hỗ trợ giải đáp thắc mắc của khách hàng, tư vấn dịch vụ

zCloud là gì? Giải phóng bộ nhớ, tăng dung...

Zalo đã giới thiệu dịch vụ lưu trữ đám mây mang tên zCloud. Tìm hiểu ngay cách bảo vệ và quản lý dữ liệu trò chuyện một cách hiệu quả và an toàn!

COB là gì? 2 ý nghĩa quan trọng của COB để...

COB là gì? Từ viết tắt này mang nhiều ý nghĩa khác nhau, từ kinh doanh đến công nghệ. Tìm hiểu chi tiết về COB để hiểu rõ cách sử dụng trong từng...

File KML là gì? Cách tạo và mở file KML đầy đủ...

File KML là gì? File KML là định dạng được sử dụng để hiển thị dữ liệu địa lý trên các ứng dụng như Google Earth.

zBusiness là gì? Nâng cấp tài khoản Zalo kinh...

Đăng ký nâng cấp tài khoản zBusiness (Zalo Business Account) dành cho các cá nhân có nhu cầu sử dụng các tính năng nâng cao phục vụ kinh doanh trên...

Cách kiểm tra chất lượng tài khoản chạy quảng...

Chất lượng tài khoản quyết định khả năng sử dụng tài khoản để chạy quảng cáo trên Facebook. Thường xuyên kiểm tra để tránh die acc hoặc bị treo...