CSRF là gì? Tổng hợp kiến thức cần biết về CSRF

Có bao giờ bạn đăng nhập tài khoản vào một trang nào đó có giao diện tương tự Facebook và bị mất tài khoản chưa? Nếu bạn đang băn khoăn không biết rằng chúng là dạng tấn công gì – câu trả lời chính là CSRF. Vậy CSRF là gì? Liệu một cuộc tấn công CSRF chỉ sử dụng để đánh cắp tài khoản Facebook hay còn làm gì nữa? Một cuộc tấn công CSRF nguy hiểm ra sao? Cách để phòng tránh bị tấn công sẽ được hé lộ trong bài viết nhé!

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, CSRF hay 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.

Có thể hiểu đơn thuần, một cuộc tiến công CSRF sẽ khiến người dùng thực thi những hoạt động giải trí xác nhận với website rằng họ đang thực thi. Sau đó, những hacker dựa vào những thông tin / thao tác của người dùng hacker sẽ triển khai “ mượn quyền ” chính chủ .
CSRF-la-gi

Hậu quả của một cuộc tấn công CSRF ra sao?

Khi hacker thành công trong việc khiến người dùng không biết mình đang bị tấn công, chúng sẽ bắt đầu thực hiện những hành động như sau:

  • Thay đổi email, thông tin đăng nhập của người dùng
  • Trộm các 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, khi chúng chiếm được tài khoản, chúng sẽ chiếm hoàn toàn quyền điều khiển website, ứng dụng.

Có thể nói rằng, hậu quả của một cuộc tiến công CSRF là không hề nhẹ !

Một cuộc tấn công CSRF diễn ra như thế nào?

Trong phần này, Tino Group sẽ lý giải dựa trên ví dụ để những bạn không học về code cũng hoàn toàn có thể hiểu. Nếu muốn tìm hiểu thêm những thông tin kỹ thuật của một cuộc tiến công CSRF, bạn hoàn toàn có thể tìm hiểu thêm bài viết của OWASP – tổ chức triển khai phi doanh thu gia tương hỗ ngày càng tăng tính bảo mật thông tin của ứng dụng nhé !

Điều kiện để một cuộc tấn công CSRF có thể diễn ra

Để một cuộc tiến công CSRF diễn ra, cần có 3 điều kiện kèm theo 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 và ứ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.
  • 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

Ở đầu bài, Tino Group đã nhắc đến ở đầu bài viết, tất cả chúng ta sẽ lấy ví dụ về một cuộc tiến công đánh cắp thông tin tài khoản Facebook nhé !
Vào một ngày không đẹp trời, bạn quyết định hành động truy vấn vào một website không đáng an toàn và đáng tin cậy và có nhiều năng lực chứa nhiều thứ ô nhiễm như : website chứa nội dung 18 +, website cá độ, …
Bạn vô tình bấm vào một banner hay website. Bỗng dưng Open một nhu yếu đăng nhập thông tin tài khoản Facebook mới hoàn toàn có thể liên tục xem nội dung. Và bạn triển khai đăng nhập theo nhu yếu của website .

Tuy nhiên, chúng sẽ dẫn bạn đến một trang Facebook giả mạo giống hệt Facebook thật nhưng khác đường link. Khi bạn đăng nhập thông tin vào form giả mạo, chúng sẽ ẩn một thông tin yêu cầu quyền đổi mật khẩu đến Facebook. Nếu thông tin đăng nhập của bạn chính xác, Facebook sẽ tự động xác nhận bạn đang thực hiện hành động trên.

tin tặc sẽ chiếm thông tin tài khoản Facebook của bạn một cách trọn vẹn tự động hóa. Khi bạn đăng nhập vào Facebook của mình, bạn sẽ chỉ nhận lại một thông tin :
CSRF-la-giTuy nhiên, hiện tại thông tin tài khoản Facebook không dễ bị tiến công và đánh cắp như trước đây. Nhưng bạn vẫn sẽ phải cẩn trọng không phải chỉ thông tin tài khoản Facebook mà còn thông tin tài khoản ở nhiều website khác .

Cách để phòng chống CSRF

Tính đến thời gian hiện tại, vẫn chưa có giải pháp nào hoàn toàn có thể chống cuộc tiến công CSRF hiệu suất cao 100 %. Vì thế, phần đông việc bạn hoàn toàn có thể làm là đề phòng trước khi cuộc tiến công CSRF diễn ra .

Phòng chống CSRF phía server

Nếu bạn thiết kế xây dựng ứng dụng, bạn hoàn toàn có thể học hỏi theo cách bảo mật thông tin của những ngân hàng nhà nước và những nhà tăng trưởng 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 bạn sử dụng Captcha, bạn 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,.. bạn 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 – Tino Group nhận thấy các ứng dụng hiện tại yêu cầu OTP thông qua điện thoại rất nhiều, đồng nghĩa việc này rất hiệu quả.
  • 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 ứng dụng này sẽ gửi một link yêu cầu số điện thoại => bạn bấm vào => bấm xác nhận.
  • Gửi yêu cầu đến thiết bị di động để xác như của Google.

Kiểm tra địa chỉ IP

Một trong những điều những hacker thường thì hay dùng là sử dụng địa VPN để ẩn địa chỉ IP. Do đó, bạn hoàn toàn có thể chặn những địa chỉ IP của những VPN nhằm mục đích tránh thực trạng bị tiến công cũng là một giải pháp .

Sử dụng phương án csrf_token

Token của bạn sẽ biến hóa liên tục trong session. Nếu những request biến hóa thông tin có trùng session ID, bạn hoàn toàn có thể loại bỏ bớt những request đó .
CSRF-la-gi

Phòng chống CSRF phía client

Đối với người dùng, những bạn sẽ nên chú ý quan tâm những điều như sau :

  • Đă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ẽ thường xuyên giúp bạn tự đăng xuất khỏi máy tính sau một khoảng thời gian ngắn.
  • 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ả.

Đến đây, bạn cũng đã hiểu hơn về CSRF là gì rồi đúng không nào? Hầu hết các ứng dụng, dịch vụ lớn sẽ có những phương thức tốt nhất và được cập nhật liên tục để giúp bạn tránh khỏi cuộc tấn công CSRF. Tuy nhiên, bạn vẫn nên cảnh giác nhất có thể! Tino Group chúc bạn sẽ luôn an toàn trên internet.

Những câu hỏi thường gặp về CSRF

Làm sao để xóa cookies trên Chrome?

Để xóa cookies trên một website nào đó khi bạn đang sử dụng trình duyệt Chrome, bạn thực thi như sau :

Nhấn vào nút khóa ngay trên thanh địa chỉ web => Cookies => bạn bấm vào Remove tất cả những cookies có liên quan đến trang web bạn đang sử dụng => reset lại Chrome.

Vậy là cookies website và những thông tin đăng nhập của bạn đã bị xóa khỏi trình duyệt Chrome .

Giao thức HTTPS có thể giúp giảm thiểu cuộc tấn công CSRF hay không?

Không, giao thức HTTPS không có bất kỳ tính năng nào dùng để chống lại những cuộc tiến công CSRF. Tuy nhiên, HTTPS sẽ tương hỗ giảm thiểu những cuộc tiến công về bảo mật thông tin thường thì khác .

Xây dựng ứng dụng chỉ đồng ý POST request có thể chống CSRF hay không?

Về sáng tạo độc đáo : ứng dụng được phong cách thiết kế chỉ nhận POST request để triển khai những logic nhiệm vụ, hacker không hề tạo link ô nhiễm và những cuộc tiến công CSRF không hề diễn ra .
Tuy nhiên, điều này lại sai trọn vẹn ! Như ví dụ ở trên, hacker chỉ cần tạo một form giả với những thông số kỹ thuật ẩn, sau đó người dùng sẽ kích hoạt vì nghĩ rằng form đó có mục tiêu khác .

Cách sử dụng Rewriting URL để chống CSRF ra sao?

Khi Rewriting URL, hacker sẽ không hề tìm thấy session ID của nạn nhân và cũng không hề đoán ra được. Tuy nhiên, session ID của người dùng sẽ hiển thị trên URL. Vì thế, Tino Group nghĩ chiêu thức này không phải là một cách hay khi “ lấy lỗi lấp lỗi ” .

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO

  • Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, Phường Bến Nghé, Quận 1, Thành phố Hồ Chí Minh
    Văn phòng đại diện: 42 Trần Phú, Phường 4, Quận 5, Thành phố Hồ Chí Minh
  • Điện thoại: 0364 333 333
    Tổng đài miễn phí: 1800 6734
  • Email: sales@tino.org
  • Website: www.tino.org

5/5 - (1 vote)

Bài viết liên quan

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments