CSRF là gì? Tổng hợp kiến thức cần biết về CSRF
Thịnh Văn Hạnh 29/11/2022 1417 Lượt xem Chia sẻ bài viết
Đôi khi bạn vô tình truy cập vào một website nào đó và bị mất mật khẩu. Lúc đó bạn mới nhận ra trang mình vừa truy cập là một trang giả mạo trang web gốc mà bạn muốn truy cập ban đầu. CSRF là một dạng tấn công đánh cắp tài khoản dựa trên giả mạo những trang web chính. Cùng tìm hiểu CSRF là gì, làm sao để phòng tránh các cuộc tấn công CSRF. Tất cả đều có trong bài viết dưới đây, cùng BKNS theo dõi nhé.
Tóm Tắt Bài Viết
Tìm hiểu về CSRF
CSRF là gì?
CSRF là một kỹ thuật tấn công giả mạo chính chủ thể của chúng. Nó còn được biết đến với những cái tên như: ross-site Request Forgery, XSRF hay session riding. Trong một vài trường hợp, CSRF được phát âm là sea-surf.
Hiểu đơn giản, một cuộc tấn công CSRF sẽ khiến người dùng thực hiện những hoạt động chứng thực với website rằng họ đang thực hiện. Sau đó, các hacker dựa vào thông tin/ thao tác của người dùng để đánh cắp dữ liệu chính chủ.
Hậu quả của một cuộc tấn công CSRF
Sau khi tấn công dữ liệu người dùng, các hacker sẽ tiến hành thực hiện các hoạt động:
- Thay đổi email, thông tin đăng nhập của người dùng
- Đánh cắp thông tin cá nhân của người dùng trong tài khoản
- Thực hiện việc chuyển tiền bất hợp pháp
- Tùy thuộc vào mục đích cuộc tấn công, hacker có thể chỉ yêu cầu thực hiện một số hành động. Hoặc chiếm hẳn quyền điều khiển tài khoản của người dùng.
- Trong trường hợp tài khoản đó là tài khoản quản lý ứng dụng hay một website. Bọn hacker sẽ chiếm hoàn toàn quyền điều khiển website, ứng dụng.
>>> Tham khảo: Mã độc tống tiền Ransomware là gì? – Làm sao để phòng chống?
Một cuộc tấn công CSRF diễn ra như thế nào?
Điều kiện để một cuộc tấn công CSRF có thể diễn ra
Để một cuộc tấn công CSRF diễn ra, cần có 3 điều kiện chính:
- Hành động yêu cầu của kẻ tấn công nhắm vào những đặc quyền của người dùng như đổi mật khẩu, yêu cầu chuyển tiền,…
- Cuộc tấn công CSRF sẽ diễn ra dựa vào session cookies của nạn nhân. Ví dụ: hacker đưa hàng loạt HTTP request vào ứng dụng. Ứng dụng không thể phân biệt được đâu là yêu cầu của người dùng, đâu là yêu cầu của hacker. Và từ đó nạn nhân dính bẫy.
- Không nhắm đến những thông tin không thể biết trước. Ví dụ, nếu một hành động hacker nhắm đến yêu cầu những thông tin không thể đoán hay không thể tìm được ví dụ như yêu cầu chuyển khoản ngân hàng. Hành động này sẽ yêu cầu khá nhiều thứ như: OTP, mật khẩu lẫn một số yêu cầu xác thực danh tính khác.
Ví dụ về cuộc tấn công CSRF
Một lần lướt web, bạn quyết định truy cập vào một trang web không đáng tin cậy và có nhiều khả năng chứa nhiều thứ độc hại như: website chứa nội dung 18+, website bóng đá, cá độ,…
Bạn vô tình bấm vào một banner hay website. Bỗng dưng xuất hiện một yêu cầu đăng nhập tài khoản Facebook mới có thể tiếp tục xem nội dung. Và bạn thực hiện đăng nhập theo yêu cầu của website.
Tuy nhiên bạn đừng nên bấm vào link đó, vì nó sẽ dẫn bạn đến 1 trang Facebook giả mạo khác với Facebook thật. Khi đăng nhập thông tin vào trang giả mạo đó, tin tặc sẽ lợi dụng sơ hở để đổi mật khẩu và đánh cắp thông tin của bạn.
Cách phòng chống CSRF
Hiện tại chưa có biện pháp nào phòng chống hiệu quả các cuộc tấn công CSRF. Nó phụ thuộc phần lớn vào ý thức của bạn khi truy cập mạng internet. Không nên tò mò truy cập vào các website lạ trên mạng. Một số phương pháp phòng chống đến từ phía client và server bạn có thể tham khảo:
Phòng chống CSRF phía server
Nếu bạn xây dựng ứng dụng, bạn có thể học hỏi theo cách bảo mật của các ngân hàng và các nhà phát triển lớn như Amazon, Google như sau:
- Sử dụng Captcha, OTP và các yêu cầu xác thực bảo mật khác
- Kiểm tra địa chỉ IP
- Sử dụng phương án csrf_token
Sử dụng Captcha, OTP và các yêu cầu xác thực bảo mật khác
Khi sử dụng Captcha, sẽ loại bỏ được khá nhiều bot thực hiện yêu cầu liên tục vào website, ứng dụng của bạn.
Đối với những thao tác đặc quyền như: thay đổi mật khẩu, đăng nhập, reset mật khẩu, thực hiện chuyển khoản, thanh toán đơn hàng,.. nên áp dụng những phương thức bảo mật như:
- Yêu cầu sinh trắc vân tay trên các thiết bị di động
- Yêu cầu OTP qua email, số điện thoại
- Gửi link yêu cầu xác nhận qua email, số điện thoại.
Nếu bạn sử dụng Shopee, bạn sẽ thấy phương thức bảo mật này khá quen thuộc. - Gửi yêu cầu đến thiết bị di động để xác nhận như của Google.
Kiểm tra địa chỉ IP
Một trong những điều các hacker thông thường hay dùng là sử dụng địa VPN để ẩn địa chỉ IP. Do đó, có thể chặn những địa chỉ IP của các VPN nhằm tránh tình trạng bị tấn công cũng là một giải pháp.
Sử dụng phương án csrf_token
Token sẽ thay đổi liên tục trong session. Nếu các request thay đổi thông tin có trùng session ID, bạn có thể loại bỏ bớt những request đó.
Phòng chống CSRF phía client
Đối với người dùng, nên lưu ý những điều dưới đây để đảm bảo việc bảo mật tốt nhất:
- Đăng xuất tài khoản của bạn khi thực hiện các giao dịch, tài khoản, website quan trọng sau khi thực hiện xong công việc.
Hiện tại, các sàn thương mại điện tử sẽ giúp bạn thực hiện điều này sau một thời gian bạn không sử dụng tài khoản để mua sắm. - Không nên click vào các URL, liên kết đáng ngờ. Khái niệm “đáng ngờ” khá “mông lung” nhưng bạn chỉ cần cảnh giác với các địa chỉ email lạ, SMS lạ,…
- Xóa cookies sau khi sử dụng website cũng là một cách để phòng chống CSRF hiệu quả.
Kết luận
Đến đây có lẽ bạn đã hiểu được CSRF là gì và hậu quả của CSRF. BKNS hy vọng bạn có thêm nhiều kiến thức để phòng tránh các cuộc tấn công CSRF, tự bảo vệ thông tin cá nhân khi truy cập mạng.
Thường xuyên truy cập BKNS để cập nhật nhiều bài viết hữu ích khác nữa.
[mautic type=”form” id=”6″]
Đọc thêm các bài viết khác:
Tiêu chí của một website chuẩn SEO là gì?