Hàng triệu trang web WordPress có thể bị sập chỉ trong vài giây
Một lỗ hổng bảo mật nghiêm trọng vừa được phát hiện trên WordPress và Drupal. Lỗ hổng này cho phép tin tặc vô hiệu hóa trang web của nạn nhân chỉ trong vài giây và chỉ bằng một máy tính với phương thức tấn công từ chối dịch vụ DDOS.
Người dùng Việt Nam khá quen thuộc với WordPress. Đây là mã nguồn mở miễn phí cung cấp hệ thống quản trị nội dung (CMS) với hơn 30.000 plugin có chức năng tùy chỉnh và đầy đủ, cho phép người dùng tùy biến trang web của họ theo các yêu cầu cụ thể. Vì vậy nó rất dễ dàng cài đặt và sử dụng.
Lỗ hổng này sử dụng kiểu tấn công mạng phổ biến: XML Quadratic Blowup Attack. Khi thực hiện, lỗ hổng có khả năng tấn công và làm “tê liệt” toàn bộ trang web, máy chủ gần như ngay lập tức chỉ bằng cách dùng một máy tính duy nhất. Lỗ hổng XML gây quá tải CPU và tràn bộ nhớ của hệ thống, ngoài ra, nó có thể làm cho cơ sở dữ liệu của trang web đạt số lượng kết nối tối đa và không thể tạo thêm các kết nối mới. Kết quả là các trang web, cơ sở dữ liệu và máy chủ không thể truy cập được.
Lỗ hổng XML lần đầu tiên được cảnh báo bởi Nir Goldshlager nhà nghiên cứu bảo mật của Salesforce.com. Nó có ảnh hưởng đến cả hai nền tảng trang web phổ biến là WordPress và Drupal. Và đã được xác nhận từ hai trang web này.
Bản cập nhật mới nhất của WordPress 3.9.2 chủ yếu là giải quyết vấn đề xử lý XML của PHP mà tin tặc có thể khai thác để kích hoạt cuộc tấn công này. Số liệu thống kê gần đây của WC3 cho thấy các trang WordPress chiếm 23% và hơn một triệu trang web khác đang sử dụng mã nguồn từ Drupal.
Cách thức tin tặc khai thác lỗ hổng
Như đã giải thích trước đó, lỗ hổng XML này sử dụng kỹ thuật XML Quadratic Blowup Attack, gần tương tự như “Billion Laughs attack“. Nó cho phép một tập tin XML rất nhỏ có thể làm tê liệt hoàn toàn các dịch vụ trên máy chủ chỉ trong vài giây.
XML Quadratic Blowup Attack khai thác trong việc xử lý các entire của một tài liệu XML, thay vì sử dụng các thẻ XML lồng vào nhau, tin tặc sẽ tạo ra một tài liệu XML có một thẻ chứa các chuỗi lớn với hàng chục ngàn ký tự lặp lại. Ví dụ:
<?xml version=”1.0″?>
<!DOCTYPE DoS [
<!ENTITY a "xxxxxxxxxxxxxxxxx...">
]>
<DoS>&x;&x;&x;&x;&x;&x;&x;&x;&x;…</DoS>
Một tập tin XML cỡ khoảng 200kb có thể yêu cầu tới hàng trăm MB cho đến vài GB bộ nhớ để xử lý. Do đó kẻ tấn công có thể dễ dàng khai thác, tạo ra các luồng gửi tập tin XML độc hại này đến máy chủ và hạ gục bất cứ trang web hay máy chủ nào đang tồn tại lỗ hổng này.
Bạn có thể tìm hiểu thêm video minh họa cuộc tấn công của tác giả Goldshlager dưới đây:
Cách khắc phục:
Lỗ hổng XML tồn tại trong WordPress ở các phiên bản từ 3.5 đến 3.9.1, trong Drupal phiên bản 6.x đến 7.x và hoạt động trên các cài đặt mặc định. Được biết, cả WordPress và Drupal đã phát hành một bản cập nhật để giải quyết lỗ hổng này. Tất cả người dùng nên nâng cấp lên phiên bản mới nhất càng sớm càng tốt.
Xuân Dung
(*) Vui lòng trích dẫn nguồn Kaspersky Care khi sao chép bài viết này