Clickjacking: Kỹ Thuật Đánh Cắp “Cú Click” và Cách Phòng Chống Hiệu Quả

Clickjacking là một kiểu tấn công độc đáo, khai thác trực tiếp sự tương tác của người dùng. Bản chất của nó là lừa người dùng thực hiện các hành động mà họ không hề hay biết, bằng cách đánh cắp các “cú click” của họ.

Clickjacking là gì và nó nguy hiểm như thế nào?

Hiểu một cách đơn giản, clickjacking là kỹ thuật “đánh cắp cú click”. Kẻ tấn công lợi dụng thủ thuật này để đạt được nhiều mục đích khác nhau, từ việc chiếm đoạt tài khoản người dùng, gian lận quảng cáo để kiếm tiền, tăng like ảo cho các trang mạng xã hội, đến những hành vi nguy hiểm hơn như cài đặt webshell trái phép lên máy chủ web.

Clickjacking là gì?Clickjacking là gì?

Lịch sử phát triển của Clickjacking

Khái niệm Clickjacking được giới thiệu lần đầu vào năm 2008 bởi Robert Hansen, nhà sáng lập SecTheory, và Jeremiah Grossman từ Whitehat Security. Phát hiện ban đầu tập trung vào lỗ hổng bảo mật trong Adobe Flash (phiên bản 9 trở về trước), cho thấy khả năng bị tấn công clickjacking của phần mềm này.

Năm 2010, tại hội thảo BlackHat (Barcelona), chuyên gia bảo mật người Anh Paul Stone đã công bố những nghiên cứu sâu hơn về Clickjacking, mở rộng hiểu biết về các kỹ thuật và phương thức tấn công.

Ngay cả những nền tảng lớn như Facebook cũng từng là nạn nhân của Clickjacking worm (được Sophos đặt tên là Troj/Iframe-ET). Người dùng khi đó thấy những liên kết đáng ngờ xuất hiện trên trang của họ.

Các Kỹ Thuật Tấn Công Clickjacking Phổ Biến

Clickjacking không chỉ là một khái niệm trừu tượng, nó bao gồm nhiều kỹ thuật cụ thể mà kẻ tấn công có thể sử dụng:

1. Che Dấu Đối Tượng (Object Overlay)

Kỹ thuật này lợi dụng các thuộc tính CSS để che giấu các đối tượng web thật và hiển thị các đối tượng giả mạo lên trên.

  • Sử dụng thuộc tính opacity: Kẻ tấn công tạo ra các iframe trong suốt (opacity) để che đi đối tượng web mà chúng muốn người dùng click vào.
  • Sử dụng z-index: Thuộc tính này được dùng để xếp lớp các đối tượng, đảm bảo đối tượng lừa đảo luôn hiển thị trên đối tượng mục tiêu.
  • Vô hiệu hóa thao tác nhấp chuột (pointer-events: none): Thuộc tính CSS này được sử dụng trên đối tượng giả mạo để đảm bảo các cú click sẽ xuyên qua và tác động lên đối tượng thật bên dưới.

2. Strokejacking

Đây là một biến thể tinh vi của Clickjacking, trong đó kẻ tấn công lừa người dùng nhập liệu vào các biểu mẫu (form) mà họ không hề nhận thức được. Bằng cách điều khiển vị trí con trỏ chuột, kẻ tấn công có thể khiến người dùng nhập các thông tin nhạy cảm vào các trường dữ liệu ẩn.

3. Chèn Đối Tượng Mục Tiêu (Target Insertion)

Kỹ thuật này xảy ra khi kẻ tấn công chèn một đối tượng độc hại vào đúng thời điểm người dùng thực hiện thao tác nhấp chuột. Điều này có thể xảy ra bằng cách sử dụng JavaScript để thay đổi nội dung trang web một cách động.

Clickjacking là gì?Clickjacking là gì?

Ví Dụ Thực Tế Về Tấn Công Clickjacking

Để hiểu rõ hơn về mức độ nguy hiểm của Clickjacking, hãy xem xét một ví dụ cụ thể:

  1. Kẻ tấn công tạo ra một trang web hấp dẫn, quảng cáo một chuyến du lịch miễn phí đến một địa điểm nổi tiếng (ví dụ: Côn Đảo) để thu hút người dùng.
  2. Trang web này ngầm kiểm tra xem người dùng đã đăng nhập vào tài khoản ngân hàng trực tuyến của họ hay chưa. Nếu có, trang web sẽ tải một giao diện chuyển tiền, điền sẵn thông tin tài khoản của kẻ tấn công vào biểu mẫu chuyển tiền thông qua các tham số truy vấn.
  3. Giao diện chuyển khoản ngân hàng được hiển thị trong một iframe vô hình, nằm ngay phía trên trang web quà tặng miễn phí. Nút “Xác nhận chuyển khoản” được căn chỉnh chính xác sao cho trùng khớp với nút “Nhận quà tặng” mà người dùng nhìn thấy.
  4. Khi người dùng truy cập trang web và nhấp vào nút “Nhận chuyến đi miễn phí”, họ thực tế đang nhấp vào iframe vô hình và kích hoạt nút “Xác nhận chuyển khoản”.
  5. Tiền được chuyển thành công vào tài khoản của kẻ tấn công.
  6. Người dùng sau đó được chuyển hướng đến một trang web thông báo về quà tặng miễn phí, hoàn toàn không hay biết về giao dịch chuyển tiền vừa xảy ra.

Clickjacking là gì?Clickjacking là gì?

Các Biện Pháp Phòng Chống Clickjacking Hiệu Quả

Mặc dù Clickjacking là một mối đe dọa nghiêm trọng, nhưng việc phòng chống nó tương đối đơn giản nếu áp dụng đúng các biện pháp bảo mật:

  • Yêu cầu xác nhận lại: Trước khi thực hiện các hành động quan trọng (ví dụ: chuyển tiền, thay đổi thông tin cá nhân), hãy yêu cầu người dùng xác nhận lại bằng cách hiển thị một hộp thoại thông báo rõ ràng về hành động họ sắp thực hiện.
  • Thay đổi vị trí các đối tượng web: Sắp xếp các đối tượng web một cách ngẫu nhiên, thay đổi vị trí của chúng thường xuyên để gây khó khăn cho kẻ tấn công trong việc căn chỉnh và tạo lớp phủ.
  • Thiết lập chính sách trình duyệt: Cấu hình trình duyệt để yêu cầu các iframe phải hiển thị với độ trong suốt (opacity) lớn hơn 0. Điều này sẽ ngăn chặn kỹ thuật che giấu đối tượng.
  • Sử dụng JavaScript (Frame Busting): Sử dụng JavaScript để ngăn chặn các trang web khác nhúng nội dung của bạn vào iframe. Các đoạn mã “frame busting” có thể kiểm tra xem trang web có đang chạy trong một iframe hay không và tự động chuyển hướng trình duyệt về trang web gốc nếu phát hiện sự xâm nhập.
    • Kiểm tra điều kiện: Sử dụng câu lệnh điều kiện để kiểm tra xem trang web có đang nằm trong iframe hay không.
    • Chuyển hướng trình duyệt: Nếu trang web bị nhúng vào iframe, hãy chuyển hướng cửa sổ trình duyệt về trang web gốc.

Thuê Dịch Vụ Bảo Mật Bên Thứ Ba:

  • Trang bị phần mềm bảo mật bản quyền: Đầu tư vào các giải pháp bảo mật uy tín để bảo vệ hệ thống của bạn khỏi các cuộc tấn công.
  • Thuê dịch vụ bảo mật chuyên nghiệp: Các công ty bảo mật có thể cung cấp các dịch vụ giám sát, đánh giá và ứng phó sự cố để giúp bạn phát hiện và ngăn chặn các cuộc tấn công Clickjacking.

Kết luận

Clickjacking là một kỹ thuật tấn công nguy hiểm, có thể gây ra những hậu quả nghiêm trọng cho người dùng và doanh nghiệp. Tuy nhiên, bằng cách hiểu rõ về các kỹ thuật tấn công và áp dụng các biện pháp phòng chống thích hợp, chúng ta có thể giảm thiểu đáng kể nguy cơ bị tấn công Clickjacking. Việc nâng cao nhận thức về an ninh mạng và tuân thủ các biện pháp bảo mật là rất quan trọng để bảo vệ bản thân và tổ chức khỏi các mối đe dọa trên không gian mạng.