Trang chủ » CSRF là gì? Hướng dẫn chi tiết cách phòng chống tấn công CSRF
CSRF là gì? Hướng dẫn chi tiết cách phòng chống tấn công CSRF
- 18/08/2022
- LANIT JSC
Nhắc đến CSRF chúng ta sẽ nhớ ngay đến các vụ tấn công mạng nhằm vào các website của doanh nghiệp, tập đoàn lớn, các tổ chức toàn cầu. Bởi những thiệt hại mà chúng gây ra vô cùng nặng nề. Làm thế nào để phòng chống các tấn công CSRF? Bài viết này từ LANIT sẽ cho bạn câu trả lời.
Csrf là gì?
CSRF là hình thức tấn công mạng có thể gây ra những nhầm lẫn, đánh lừa trình duyệt, hướng trình duyệt thực hiện các hoạt động gây hại trên ứng dụng mà người dùng sử dụng.
Mục tiêu của CSRF là website doanh nghiệp, các tổ chức uy tín trên toàn cầu. Chúng tác động và gây ra các xáo trộn về dữ liệu, đánh cắp thông tin người dùng, thay đổi mật khẩu. Thậm chí đánh cắp tiền trong tài khoản của các ngân hàng,…
Kỹ thuật tấn công CSRF rất tinh vi nên người dùng rất khó phát hiện và phân biệt giữa các yêu cầu thực và giả mạo do một số yêu cầu đã được xác thực từ trước đó.
Cách thức hoạt động của các cuộc tấn công CSRF
Tương tự như các hình thức tấn công mạng nguy hiểm khác, cách thức hoạt động của CSRF là lợi dụng các lỗ hổng bảo mật từ email, từ các đường link, các liên kết không an toàn mà người dùng đã truy cập vào.
Khi đã thâm nhập được vào thiết bị của bạn, CSRF tạo ra những nhầm lẫn, làm tăng tính xác thực trong các yêu cầu của người dùng. Sau đó gửi đi những yêu cầu giả mạo đến hệ thống máy chủ để chiếm đoạt các quyền quản trị, quyền sở hữu,… Từ đó gây ra các xáo trộn dữ liệu, thay đổi hoặc đánh cắp thông tin đối với các dữ liệu quan trọng, cần bảo mật.
Quá trình tấn công CSRF diễn ra như sau: Hacker sử dụng kỹ thuật CSRF bằng cách gửi một yêu cầu lên Server theo cơ chế câu lệnh HTTP thông thường. Chúng lợi dụng tiện ích lưu thông tin đăng nhập của người dùng trên web, khiến cho cookies của bạn vẫn còn hiệu lực. Sau đó tạo ra password mới và xác nhận lại password vừa nhập rồi chiếm đoạt tài khoản của người dùng để thực hiện các yêu cầu không mong muốn khác.
Điều kiện để các cuộc tấn công CSRF xảy ra là gì?
Để một cuộc tấn công CSRF xảy ra, cần có những điều kiện sau:
- Người dùng đã đăng nhập và phiên làm việc vẫn còn hiệu lực, CSRF sẽ lợi dụng phiên đăng nhập này để gửi các yêu cầu giả mạo và ứng dụng web tin rằng đây là yêu cầu từ người dùng hợp lệ.
- Trang web không thực hiện xác minh nguồn gốc yêu cầu đến, hệ thống sẽ không phân biệt được yêu cầu nào hợp lệ yêu cầu nào giả mạo.
- Người dùng tương tác với liên kết độc hại hoặc mã độc do kẻ tấn công tạo ra thông qua email, website khác hoặc trên các phương tiện truyền thông khác.
- Phiên xác thực tự động Cookie không yêu cầu xác nhận lại danh tính, khiến các yêu cầu trái phép sẽ được thực hiện dưới danh nghĩa người dùng.
Như vậy, chúng ta có thể thấy, CSRF xảy ra khi người dùng đã đăng nhập vào một website, mà web đó không có các biện pháp bảo mật chống CSRF, người dùng tương tác với một liên kết độc hại hoặc mã độc được tạo ra bởi kẻ tấn công.
Các lỗ hổng CSRF phổ biến
Các vụ tấn công CSRF đều đến từ IP của người dùng. Chúng thực hiện các kỹ thuật tinh vi và lợi dụng rất nhiều lỗ hổng khác nhau để thâm nhập vào thiết bị của bạn và gửi đi những yêu cầu độc hại. Dưới đây là các lỗ hổng CSRF phổ biến:
- Lỗ hổng từ Email rác mà bạn vô tình để lại địa chỉ email của mình trên một ứng dụng hay một trang web đăng ký nào đó.
- Liên kết có chứa các mã độc được gửi qua email, Facebook, Zalo, Instagram,… và các trang mạng xã hội khác.
- Lỗ hổng từ quảng cáo trực tuyến, hình ảnh, banner có chèn link độc hại.
- Các đường link tải về các ứng dụng giả mạo.
- Liên kết chèn trong các bài viết thuộc các chủ đề mà người dùng quan tâm như: link hướng dẫn, link tham khảo, link mua hàng, link đăng ký,…
Cách phòng chống tấn công CSRF hiệu quả
Kỹ thuật tấn công CSRF hoàn hảo đến mức khó tin. Nó có thể đánh lừa tất cả các trình duyệt của người dùng để thâm nhập và đánh cắp những thông tin quan trọng. Nếu không có biện pháp phòng ngừa, chắc chắn tổn thất mà bạn phải chịu là vô cùng to lớn.
Trong những chia sẻ tiếp theo, chúng tôi sẽ hướng dẫn các bạn cách phòng chống CSRF hiệu quả nhất, đang được rất nhiều tổ chức, lập trình áp dụng hiện nay.
1. Về phía người dùng
Chúng ta đã biết, nguyên nhân dẫn tới các vụ tấn công CSRF bắt nguồn từ các hành vi truy cập từ người dùng. Do đó, để phòng ngừa tấn công CSRF chúng ta cần áp dụng các biện pháp cho user. Cụ thể:
- Không để chế độ lưu thông tin tài khoản, mật khẩu trên các trình duyệt. Cần đăng xuất thông tin khỏi các website quan trọng như: gmail, tài khoản ngân hàng, mạng xã hội, các giao dịch internet banking.
- Không dùng chung máy tính với người khác. Đặc biệt, hạn chế hoặc không đăng nhập vào các web, ứng dụng quan trọng từ các thiết bị công cộng.
- Không mở các email, tin nhắn từ các nguồn không đáng tin cậy.
- Không click vào các đường link được gửi đến thông qua email, tin nhắn facebook, zalo, hay các trang mạng xã hội.
- Đối với các ứng dụng quan trọng như thông tin đăng nhập ngân hàng, thẻ tín dụng, bạn không nên đăng nhập cùng lúc trên 2 thiết bị mà chỉ sử dụng một thiết bị duy nhất. Đồng thời không cấp quyền cho các thiết bị khác.
- Bạn nên cài đặt các ứng dụng bảo mật để tăng khả năng bảo vệ trên toàn hệ thống.
2. Về phía máy chủ (Server)
Phòng chống tấn công CSRF không chỉ thực hiện ở phía người dùng mà các máy chủ quản lý cũng cần được phòng ngừa. Bởi vì kỹ thuật tấn công CSRF có thể tăng tính xác thực cho các yêu cầu nên máy chủ rất khó phân biệt yêu cầu thật, yêu cầu giả. Cách tốt nhất để bảo vệ máy chủ khỏi CSRF là gì? Đó là:
- Xây dựng Captcha và các xác nhận đối với từng yêu cầu. Bởi vì mã captcha giúp xác nhận request được thực hiện từ người hay máy (robot). Việc gửi các xác nhận qua hòm thư điện tử hoặc số điện thoại cá nhân cũng giúp hiệu quả phòng chống CSRF được tối ưu.
- Sử dụng Token: Đây là công cụ giúp làm mới các phiên làm việc trên hệ thống. Nếu như token ban đầu và token được gửi mới không trùng khớp với nhau thì yêu cầu sẽ bị loại bỏ.
- Kiểm duyệt địa chỉ IP: Đối với các hệ thống quan trọng, bạn cần cài đặt tính năng cho phép truy cập từ các IP đã có sẵn và từ chối các IP lạ.
- Dùng Cookie riêng biệt cho quản trị viên, không dùng chung cookies với các front end của sản phẩm hay của người dùng khác.
Lời kết
LANIT vừa chia sẻ đến các bạn những giải đáp về CSRF là gì? Cách thức hoạt động cũng như các biện pháp phòng chống tấn công CSRF. Để hệ thống website, các thông tin, ứng dụng quan trọng của mình không bị hack và gây ra những tổn hại nghiêm trọng, các bạn hãy áp dụng những biện pháp mà chúng tôi đã chia sẻ trong bài viết nhé!
Cảm ơn bạn đã đọc!