Các trang web dành cho người lớn đang khai thác một lỗ hổng thiết kế cơ bản trong định dạng hình ảnh SVG để thao túng các tương tác trên mạng xã hội mà không cần sự đồng ý của người dùng. Các nhà nghiên cứu bảo mật đã phát hiện hàng chục trang web khiêu dâm nhúng mã JavaScript độc hại bên trong các tệp hình ảnh SVG có vẻ vô hại, biến chúng thành vũ khí cho các cuộc tấn công cross-site request forgery.
Cuộc tấn công hoạt động bằng cách ẩn mã JavaScript được làm rối rất nhiều bên trong các tệp SVG sử dụng một kỹ thuật gọi là JSFuck, kỹ thuật này ngụy trang các script độc hại thành những bức tường ký tự có vẻ ngẫu nhiên. Khi người dùng nhấp vào những hình ảnh bẫy này, mã ẩn sẽ hoạt động, tự động tạo ra các lượt like trên Facebook cho các bài đăng quảng cáo của các trang web dành cho người lớn - tất cả trong khi người dùng hoàn toàn không hay biết.
Các cuộc tấn công dựa trên SVG trước đây
- 2023: Hacker thân Nga đã khai thác webmail Roundcube thông qua lỗ hổng cross-site scripting của SVG
- Tháng 6 năm 2024: Cuộc tấn công lừa đảo sử dụng file SVG để tạo ra màn hình đăng nhập Microsoft giả mạo
- Tháng 8 năm 2024: Các trang web người lớn bị phát hiện sử dụng file SVG để thao túng lượt like trên Facebook
Tính Linh Hoạt Nguy Hiểm Của Định Dạng SVG Tạo Ra Cơn Ác Mộng Bảo Mật
Không giống như các định dạng hình ảnh truyền thống như JPEG hoặc PNG, các tệp SVG sử dụng văn bản dựa trên XML có thể kết hợp mã HTML và JavaScript. Tính linh hoạt này ban đầu được thiết kế để cho phép đồ họa phong phú và hoạt ảnh, nhưng nó đã tạo ra một lỗ hổng bảo mật đáng kể mà các trình duyệt khó có thể kiểm soát đúng cách.
Cuộc thảo luận cộng đồng cho thấy sự thất vọng sâu sắc với triết lý thiết kế của SVG. Nhiều nhà phát triển cho rằng thứ được cho là một định dạng đồ họa vector đơn giản đã trở thành một nền tảng ứng dụng web quá mạnh với những hệ lụy bảo mật nghiêm trọng. Khả năng thực thi JavaScript của định dạng này khiến nó không phù hợp cho các trang web nội dung do người dùng tạo ra, với Wikipedia là một trong số ít nền tảng chấp nhận tải lên SVG - và thậm chí họ còn chuyển đổi hầu hết các SVG thành hình ảnh PNG để đảm bảo an toàn.
Dựa trên XML: Một ngôn ngữ đánh dấu sử dụng thẻ để cấu trúc dữ liệu, tương tự như HTMLCross-site request forgery (CSRF): Một cuộc tấn công lừa người dùng thực hiện các hành động không mong muốn trên các trang web mà họ đã xác thực
Các Biện Pháp Bảo Mật Trình Duyệt Không Đủ Hiệu Quả
Cuộc tấn công làm nổi bật những khoảng trống đáng kể trong kiến trúc bảo mật trình duyệt hiện đại. Mặc dù đã có nhiều năm phát triển tập trung vào việc cô lập các domain khỏi nhau, các tệp SVG vẫn có thể thực thi JavaScript tương tác với các trang web khác khi người dùng đăng nhập vào các dịch vụ như Facebook.
Các trình duyệt có cung cấp một số bảo vệ bằng cách xử lý các tệp SVG khác nhau tùy thuộc vào cách chúng được nhúng. Khi được tải thông qua thẻ <img>
, JavaScript sẽ không thực thi, nhưng khi được nhúng thông qua thẻ <iframe>
hoặc <object>
, các script có thể chạy tự do. Tuy nhiên, hành vi không nhất quán này gây nhầm lẫn cho cả nhà phát triển và hệ thống bảo mật.
Cộng đồng kỹ thuật đã phản hồi bằng cách khuyến nghị chặn JavaScript một cách tích cực thông qua các tiện ích mở rộng trình duyệt như NoScript và uBlock Origin. Mặc dù các công cụ này đòi hỏi thời gian thiết lập đáng kể và có thể làm hỏng chức năng trang web, người dùng có kinh nghiệm báo cáo rằng chúng ngăn chặn hiệu quả các cuộc tấn công như vậy trong khi thường cải thiện tốc độ tải trang bằng cách chặn các script bên thứ ba không cần thiết.
Phương thức nhúng SVG và thực thi JavaScript
- Thẻ
<img>
: JavaScript bị vô hiệu hóa (an toàn) - Thẻ
<iframe>
: JavaScript được kích hoạt (dễ bị tấn công) - Thẻ
<object>
: JavaScript được kích hoạt (dễ bị tấn công) - Các phần tử SVG nội tuyến: JavaScript được kích hoạt (dễ bị tấn công)
Vai Trò Của Facebook Trong Việc Tạo Điều Kiện Cho Cuộc Tấn Công
Sự thành công của những cuộc tấn công này dựa vào chức năng nút like của Facebook, điều này có vẻ dễ bị tấn công CSRF khi người dùng vẫn đăng nhập vào tài khoản của họ. Các nhà phê bình chỉ ra rằng Facebook có thể triển khai các biện pháp bảo vệ mạnh mẽ hơn chống lại các tương tác tự động, nhưng công ty này có vẻ miễn cưỡng sửa chữa các lỗ hổng có thể can thiệp vào cơ chế thu thập dữ liệu của chính họ.
Đó không phải là lỗ hổng CSRF nếu đó là hành vi dự định. Trong một thế giới mà cookie same-site là mặc định, bạn phải chủ động chọn tham gia vào loại việc này.
Hiệu quả của cuộc tấn công phụ thuộc vào việc người dùng duy trì các phiên Facebook hoạt động, một thực hành phổ biến mà các chuyên gia bảo mật mạnh mẽ không khuyến khích. Chạy Facebook trong các container trình duyệt cô lập hoặc hồ sơ riêng biệt có thể ngăn chặn những cuộc tấn công cross-site này, mặc dù nhiều người dùng thấy những biện pháp phòng ngừa như vậy bất tiện.
Các Biện Pháp Bảo Mật Được Khuyến Nghị
- Sử dụng các công cụ chặn JavaScript ( NoScript , uBlock Origin )
- Chạy Facebook trong các container trình duyệt được cô lập
- Duyệt nội dung người lớn ở chế độ ẩn danh
- Vô hiệu hóa cookie của bên thứ ba
- Sử dụng các hồ sơ trình duyệt riêng biệt cho các hoạt động khác nhau
![]() |
---|
Hình ảnh này gợi lên bối cảnh kỹ thuật số nơi các trang web dành cho người lớn khai thác lỗ hổng để thực hiện các chiến thuật thao túng chống lại người dùng web |
Hệ Lụy Rộng Lớn Hơn Đối Với Bảo Mật Web
Sự cố này đại diện cho một phần của xu hướng lớn hơn khi kẻ tấn công khai thác các công nghệ web hợp pháp cho mục đích độc hại. Các cuộc tấn công trước đây đã sử dụng các tệp SVG để khai thác các dịch vụ webmail và tạo ra các trang lừa đảo thuyết phục, chứng minh tính linh hoạt của định dạng này như một vector tấn công.
Tình huống này phản ánh các vấn đề sâu xa hơn với các tiêu chuẩn web ưu tiên chức năng hơn bảo mật. Khi các trang web trở nên ngày càng phức tạp và kéo tài nguyên từ hàng chục domain khác nhau, người dùng phải đối mặt với việc tiếp xúc ngày càng tăng với các cuộc tấn công tinh vi khai thác bản chất kết nối của việc duyệt web hiện đại.
Các nhà nghiên cứu bảo mật tiếp tục khám phá những cách thức mới mà các tệp SVG có thể được vũ khí hóa, từ các cuộc tấn công cross-site scripting đến các chiến dịch từ chối dịch vụ. Cho đến khi các trình duyệt triển khai các chính sách hạn chế hơn đối với nội dung có thể thực thi trong các định dạng hình ảnh, người dùng phải dựa vào các công cụ bảo mật bên thứ ba và thói quen duyệt web cẩn thận để bảo vệ bản thân khỏi những mối đe dọa đang phát triển này.
Tham khảo: Adult sites are stashing exploit code inside racy .svg files