CSRF là gì? CSRF hoạt động như thế nào và cách phòng chống

Tác giả: Nguyễn Hà Linh 29-05-2024

Một website hoạt động tốt hay không được quyết định bởi nhiều yếu tố, trong đó yếu tố bảo mật là rất quan trọng. CSRF là gì? Đó là một hình thức tấn công website diễn ra khá dày đặc hiện nay. Nếu là dân IT, bạn cần hiểu rõ bản chất cũng như cơ chế hoạt động của CSRF để đưa ra những giải pháp phòng chống kịp thời.

Việc làm online

1. Tìm hiểu khái niệm CSRF

Bạn có thể đã từng gặp qua CSRF nhưng chưa biết CSRF là gì? Đó là một hình thức, hay kỹ thuật tấn công với tên gọi đầy đủ là “Cross-site Request Forgery”. CSRF đề cập đến hình thức tấn công giả mạo tương tự như chủ thể của chúng. Kỹ thuật này đề cập đến quá trình tấn công vào chứng thực request trên cơ sở sử dụng dữ liệu tập tin của một trang web.

Tìm hiểu khái niệm CSRF

Đó là phạm vi mà các hacker có thể áp dụng những thủ thuật đa dạng để tạo ra những yêu cầu từ khách hàng gửi về hệ thống mà bạn không hề hay biết. Do đó, kỹ thuật CSRF là cách mà một hacker lạm dụng niềm tin của một website trên chính trình duyệt của người bị hại.

Xem thêm: Việc làm admin manager

2. Quy cách hoạt động của CSRF như thế nào?

CSRF là một hình thức tấn công website tạo ra sự nhầm lẫn để lấy được cấp quyền và gia tăng tính xác thực của nạn nhân bị tấn công khi gửi một yêu cầu giả mạo lên hệ thống. Do đó, CSRF xuất hiện chính là một tác nhân tác động đến hệ thống quyền của người dùng, chẳng hạn như quyền admin, khi sở hữu quyền này, chúng sẽ kiểm soát được những quyền còn lại.

Khi một yêu cầu được gửi lên hệ thống, trình duyệt của nạn nhân bị tấn công sẽ nhận về dữ liệu tệp tin. Các tập tin này thường được sử dụng để lưu trữ một session nhằm định danh cá nhân người dùng mà sau đó không cần xác thực lại một lần nữa đối với những yêu cầu tiếp theo.

Quy cách hoạt động của CSRF như thế nào?

Trong trường hợp phiên làm việc đã xác thực vẫn còn hiệu lực trong một hệ thống tập tin, và nếu ứng dụng website không có chế độ bảo mật, an ninh thì rất dễ bị CSRF tấn công. Những kẻ có ý độ xấu có thể sử dụng kỹ thuật tấn công này để tạo ra bất kỳ một yêu cầu nào lên hệ thống website mà ngay cả website cũng không thể phân biệt sự giả danh của chúng.

Lấy một ví dụ, các website thường cung cấp tính năng cơ bản là thay đổi password cho người dùng. Việc gửi yêu cầu lên hệ thống theo cách thức HTTP GET, yêu cầu có nội dung bao gồm mật khẩu mới và xác nhận lại mật khẩu vừa thay đổi.

Ai đó đăng nhập trên website của bạn, tập tin sẽ được tạo và được lưu dưới trình duyệt. Trong trường hợp bạn truy cập vào lần kế tiếp, trình duyệt đã có sẵn mà không cần trải qua bước đăng nhập một lần nữa. Nếu bạn chưa thoát ra khỏi hệ thống, lúc đó tập tin của bạn vẫn còn hiệu lực ở phiên làm việc.

Như vậy, nếu website mắc phải vụ tấn công từ CSRF, user đã vô tình xây dựng nên một page hacker giá danh chính nó với mục tiêu là trộm được account từ website của bạn. Trong page giả mạo, kẻ xấu sẽ sử dụng script để chạy một liên kết cố tình chạy lại password cảu người dùng trên website của bạn.

Quy cách hoạt động 

Như vậy, người dùng đã vô tình truy cập vào website giả danh chính chủ và đã tự tay chạy lại mật khẩu của mình tại website đó. Kẻ xấu nếu khai thác được thông tin về tên đăng nhập sẽ thử truy cập với mật khẩu đã cài đặt và có thể truy cập một cách đơn giản.

Xem thêm: CV IT Administrator ấn tượng mà bất cứ ai cũng cần biết

CV đẹp

3. Làm thế nào để ngăn ngừa tấn công CSRF?

Như vậy chúng ta đã hiểu rõ CSRF là gì và cơ chế hoạt động của CSRF như thế nào. Trên cơ sở nguyên tắc của kỹ thuật tấn công này, nghĩa là chúng lừa trình duyệt của user gửi các yêu cầu lên hệ thống website. Về cơ bản, chúng ta vẫn phải chia làm hai đối tượng khi phát triển các cách ngăn ngừa tấn công, một là phía người dùng và hai là phía hệ thống.

Làm thế nào để ngăn ngừa tấn công CSRF?

Xem thêm: Danh sách các trang web tuyển dụng hàng đầu Việt Nam

3.1. Cách phòng chống từ phía người dùng

Người dùng khi nhận thức được quy tắc hoạt động của CSRF sẽ thấy chúng rất nguy hiểm. Do đó, để tránh trở thành nạn nhân, nên nằm lòng những lời khuyên sau đây:

- Thứ nhất, người dùng sau khi kết thúc một phiên làm việc, nên thực hiện đăng xuất ra khỏi các website, đặc biệt là những website quan trọng. Ví dụ như website thương mại điện tử, mua bán, mạng xã hội, website ngân hàng, email,... sau khi đã hoàn tất giao dịch của mình.

- Thứ hai, nên đăng nhập vào một thiết bị chuyên biệt và không cho ai đó ngoài bản thân sử dụng thiết bị đó.

- Thứ ba, không nên nhấp vào các liên kết mà bạn nhận được qua mạng xã hội, thư điện tử,... Khi nhấp chuột qua một liên kết, phía bên trái dưới cùng của trình duyệt thường sẽ thông tin về địa chỉ website đích, hãy nhận diện để truy cập đúng website chính mà mình cần.

- Thứ tư, không nên save lại các dữ liệu về password tại trình duyệt của mình. Không nên chọn các cách thức “lưu mật khẩu”, “nhớ mật khẩu” hay “click một lần để đăng nhập”,...

Cách phòng chống từ phía người dùng

- Thứ năm, không nên truy cập vào những website khác trong quá trình thực hiện các giao dịch hay đang tương tác trên những website quan trọng. Điều này có thể chứa đựng những mã thu thập của hacker.

Xem thêm: Việc làm nhân viên quản trị web

3.2. Cách phòng chống từ phía hệ thống

Đến nay, dường như vẫn chưa có một giải pháp cụ thể nào có thể ngăn ngừa một cách triệt để kỹ thuật tấn công CSRF. Về phía hệ thống, có thể thử nghiệm một số cách sau:

- Thứ nhất, sử dụng các thông báo xác thực, captcha: Chúng được ứng dụng trên hệ thống để phân biệt giữa người dùng là con người hay robot. Thông thường, chúng được sử dụng thường xuyên ở những công đoạn quan trọng như “chuyển khoản”, “đăng nhập”, “thanh toán”, “xác nhận mật khẩu”, “nhập mã OTP”,... một số thao tác quan trọng khác cũng nên gửi liên kết qua thư điện tử người dùng đã đăng ký để xác thực một cách bảo mật hơn.

- Thứ hai, dùng csrf_token: Việc sử dụng token sẽ làm biến đổi thường xuyên trong phiên làm việc. Và khi thông tin được biến đổi đính kèm với dữ liệu token này. Nếu chúng được sinh ra không trùng với token được gửi lên thì loại bỏ ngay yêu cầu lên hệ thống.

- Thứ tư, dùng tập tin chuyên biệt cho trang quản trị: Nên để trang admin chuyên biệt ở một subdomain, điều này làm chúng không dùng chung một tập tin với lập trình giao diện của sản phẩm.

Cách phòng chống từ phía hệ thống

- Thứ năm, thực hiện kiểm tra IP: Đối với các hệ thống quan trọng, chỉ nên cho phép truy cập vào hệ thống với những địa chỉ IP được xác lập riêng và có sẵn, hoặc chỉ trao quyền admin cho IP VPN hoặc local mà thôi.

Như vậy, work247.vn vừa thông tin đến bạn những kiến thức xoay quanh khái niệm CSRF là gì? Hiểu đúng kỹ thuật tấn công, cách hoạt động cũng như những giải pháp ngăn ngừa CSRF sẽ tối ưu tính bảo mật cho website của bạn. Hy vọng bài viết đã đáp ứng nhu cầu tìm kiếm của độc giả về CSRF.