Một lỗ hổng nghiêm trọng vừa được phát hiện trong Drupal và WordPress cho phép kẻ tấn công vô hiệu hóa trang web của bạn chỉ trong vài giây bằng một cuộc tấn công DOS (Tấn công từ chối dịch vụ) chỉ với một máy tính.
Plugin bảo mật tốt nhất cho WordPress
Tấn công khiến trang web của bạn không thể truy cập
Lỗ hổng này sử dụng một kiểu tấn công mạng nổi tiếng – 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ỉ sử dụng một máy 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 báo cáo bởi Nir Goldshlager, một nhà nghiên cứu bảo mật đến từ Salesforce.com, có ảnh hưởng đến cả hai nền tảng trang web phổ biến là wordpress và drupal. Vấn đề này sau đó đã được xác nhận bởi bộ phận bảo mật của cả Drupal và WordPress.
Bản cập nhật mới nhất của WordPress 3.9.2 chủ yếu là giải quyết một vấn đề trong việc xử lý XML của PHP mà hacker có thể khai thác để kích hoạt một cuộc tấn công này.
Vấn đề càng trở nên nghiêm trọng khi mà WordPress và Drupal đang được sử dụng bởi hàng triệu trang web. Số liệu thống kê gần đây của WC3 cho thấy WordPress chiếm 23% của các trang web và hơn một triệu trang web khác đang sử dụng Drupal.
WordPress là một mã nguồn mở miễn phí, một hệ thống quản trị nội dung (CMS) với hơn 30.000 plugin cung cấp cá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ể, do đó nó rất dễ dàng cài đặt và sử dụng.
Lỗ hổng được khai thác như thế nào?
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 nhau, kẻ tấn công sẽ tạo ra một tài liệu XML với 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>
Khi đó 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 với việc tạo ra các luồng gửi các 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.
Video mô phỏng cuộc tấn công
Dưới đây là video minh họa cuộc tấn công của tác giả Goldshlager
[embedyt]https://www.youtube.com/watch?v=1-7SgGUjIRg&width=400&height=250[/embedyt]
Cập nhật ngay lập tức
Lỗ hổng XML tồn tại trong WordPress các phiên bản từ 3.5 đến 3.9.1 và hoạt động trên các cài đặt mặc định. Lỗ hổng tương tự ảnh hưởng đến Drupal phiên bản 6.x đến 7.x (phiên bản hiện tại) và cũng hoạt động trên các cài đặt mặc định. Hôm nay, cả WordPress và Drupal đã phát hành một bản cập nhật để giải quyết vấn đề 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.
Ban biên tập cũng gửi lời cảm ơn đến bạn Code War ([email protected]) đã cảnh báo sớm lỗ hổng này đến Security Daily.
Bạn đọc quan tâm có thể theo dõi chi tiết bài phân tích tại đây.