Một lỗ hổng zero-day nghiêm trọng trong trình điều khiển tường lửa Inspect.sys của Comodo Internet Security vẫn chưa được vá, mặc dù đã có nhiều nỗ lực tiết lộ thông tin cho nhà cung cấp. Lỗ hổng này, được đặt tên là ComoDoS, cho phép kẻ tấn công từ xa gây treo hệ thống Windows mục tiêu chỉ bằng một gói IPv6 được tạo sai định dạng, đồng thời bỏ qua tất cả các quy tắc tường lửa đã cấu hình. Vào thời điểm công bố, vẫn chưa có bản vá chính thức nào được phát hành, đặt ra rủi ro bảo mật đáng kể cho người dùng.
Phân tích Lỗ hổng Zero-day ComoDoS
Phát hiện và Đặc điểm Kỹ thuật
Lỗ hổng ComoDoS được phát hiện bởi nhà nghiên cứu bảo mật Marcus Hutchins. Ông đã gửi báo cáo phân tích nguyên nhân gốc rễ đầy đủ, các đề xuất vá lỗi và bằng chứng khai thác (PoC) cho nhóm bảo mật của Comodo nhưng không nhận được phản hồi. Điều này nhấn mạnh sự thiếu phản ứng từ nhà cung cấp đối với một zero-day vulnerability có khả năng gây thiệt hại nghiêm trọng.
Điểm yếu cốt lõi nằm trong bộ phân tích tiêu đề IPv6 của trình điều khiển Inspect.sys. Các gói IPv6 hỗ trợ các “tiêu đề mở rộng” tùy chọn, được xâu chuỗi giữa tiêu đề IPv6 cố định 40 byte và giao thức lớp trên (TCP, UDP, v.v.). Cơ chế này là tiêu chuẩn trong thiết kế IPv6 để tăng cường tính linh hoạt.
Cơ chế Gây Treo Hệ thống: Integer Underflow
Bộ phân tích lặp qua các tiêu đề mở rộng này, trừ đi độ dài của từng tiêu đề từ một biến payload_length. Biến payload_length này được lấy trực tiếp từ tiêu đề IPv6 cố định do kẻ tấn công kiểm soát. Vấn đề nghiêm trọng là mã nguồn không bao giờ xác thực trường độ dài tải trọng.
Nếu kẻ tấn công đặt độ dài tải trọng IPv6 thành một giá trị nhỏ hơn tổng độ dài của các tiêu đề mở rộng, biến payload_length không dấu 64-bit sẽ bị tràn dưới (integer underflow). Điều này khiến giá trị của nó quay vòng về một số cực lớn, khoảng 18.4 quintillion (0xFFFFFFFFFFFFFFF8). Hiện tượng này tạo ra một điều kiện bất thường mà hệ thống không thể xử lý.
Vì trình điều khiển tường lửa phải phân tích các tiêu đề TCP/IP trước khi thực thi bất kỳ quy tắc tường lửa nào, quá trình phân tích này vẫn diễn ra bất kể tất cả các cổng có bị chặn hay không. Điều này cho phép kẻ tấn công mạng bỏ qua hoàn toàn các biện pháp bảo vệ tường lửa hiện có.
Kết quả là, sự tràn dưới số nguyên này kích hoạt một sự cố nhân hệ điều hành (kernel crash), dẫn đến màn hình xanh chết chóc (BSOD). Điều này biến lỗ hổng thành một nguyên thủy từ chối dịch vụ (remote denial-of-service primitive) đáng tin cậy. Đây là một ví dụ điển hình về cách một lỗ hổng zero-day đơn giản có thể gây ra tác động nghiêm trọng đến tính khả dụng của hệ thống.
Phân tích Kỹ thuật và Khai thác
Mã Khai thác PoC
Mã khai thác PoC được Marcus Hutchins phát triển có cấu trúc cực kỳ gọn nhẹ. Nó chỉ bao gồm bốn dòng Python sử dụng thư viện Scapy, minh họa sự đơn giản và hiệu quả của cuộc tấn công mạng này. Marcus Hutchins đã cố ý sử dụng tiêu đề mở rộng Destination Options (loại 60) vì nó ít bị bộ định tuyến lọc nhất, tối đa hóa khả năng gói tin độc hại đến được mục tiêu qua internet.
Mã khai thác PoC có thể được trình bày như sau:
from scapy.all import *
ip_header = IPv6(dst="[target_ip]")
opts_header = IPv6ExtHdrDestOpt(options=b'\x01\x02\x03\x04')
p = ip_header / opts_header / "A"*8
send(p)
Trong đoạn mã trên, [target_ip] cần được thay thế bằng địa chỉ IPv6 của hệ thống mục tiêu. Tiêu đề IPv6ExtHdrDestOpt được tạo với dữ liệu tùy ý (ở đây là b'\x01\x02\x03\x04'), và gói tin được gửi đi. Việc này đủ để kích hoạt lỗ hổng lỗ hổng zero-day trong trình điều khiển của Comodo.
Các Khai thác Tiềm năng khác
Ngoài nguyên thủy DoS, Marcus Hutchins còn xác định được các đường dẫn đọc và ghi ngoài giới hạn (out-of-bounds – OOB) có thể bị kích hoạt bởi cùng một giá trị bị tràn dưới. Tuy nhiên, cả hai nguyên thủy này đều phải đối mặt với những hạn chế khai thác đáng kể, khiến việc lợi dụng chúng trở nên phức tạp hơn.
Việc đọc OOB xảy ra bên trong một trình quét tạo tác WebDAV/HTTP, nơi giá trị kích thước bị cắt cụt xuống 16-bit, giới hạn nó ở mức 65 KB. Một lỗi trang (page fault) trong đường dẫn này sẽ gây treo hệ thống ở cấp độ DISPATCH_LEVEL. Điều này cho thấy rằng mặc dù có khả năng đọc OOB, việc kiểm soát dữ liệu hoặc thực hiện các hành động phức tạp vẫn rất khó.
Ghi OOB, chỉ có thể đạt được sau khi bắt tay TCP hoàn chỉnh, sẽ cắt cụt kích thước bị tràn dưới xuống 32-bit, tạo ra tràn vùng nhớ kernel pool 4 GB. Điều này hầu như chắc chắn sẽ gây treo hệ thống. Vì các gói mạng tiêu chuẩn tối đa chỉ 65 KB, không có cách thực tế nào để thu nhỏ tràn đủ để ngăn chặn sự cố. Điều này khiến việc thực thi mã từ xa (Remote Code Execution – RCE) trở nên cực kỳ khó xảy ra ở thời điểm hiện tại, mặc dù tiềm năng của lỗ hổng zero-day này rất lớn.
Phòng ngừa và Giảm thiểu Rủi ro Bảo mật
Quá trình Khám phá Lỗ hổng
Lỗ hổng này được phát hiện trong quá trình nghiên cứu về các bề mặt tấn công BYOVD (Bring Your Own Vulnerable Driver). Quá trình này được hỗ trợ bởi một quy trình phân tích sử dụng AI. Khi kiểm tra phiên bản trình điều khiển cũ hơn của Comodo, Marcus Hutchins đã xác định được những điểm yếu kiến trúc. Điều này thúc đẩy việc phân tích thủ công trình điều khiển hiện tại, dẫn trực tiếp đến việc phát hiện lỗ hổng zero-day này. Chi tiết hơn về quá trình này có thể được tìm thấy tại MalwareTech Blog.
Khuyến nghị và Giảm thiểu Rủi ro
Các tổ chức đang sử dụng Comodo Internet Security nên theo dõi lưu lượng IPv6 bất thường. Việc này bao gồm việc kiểm tra các gói tin có cấu trúc khác thường hoặc đến từ các nguồn không đáng tin cậy. Để giảm thiểu rủi ro bảo mật từ lỗ hổng zero-day này, cần triển khai các biện pháp kiểm soát cấp độ mạng tạm thời. Cụ thể, xem xét việc chặn các tiêu đề mở rộng IPv6 được tạo sai định dạng cho đến khi một bản vá chính thức được phát hành.
Việc chặn các gói IPv6 có tiêu đề mở rộng không tuân thủ chuẩn hoặc có độ dài bất thường có thể giúp ngăn chặn cuộc tấn công mạng. Đây là một giải pháp tạm thời nhưng cần thiết để bảo vệ hệ thống khỏi các mối đe dọa mạng. Luôn ưu tiên cập nhật và vá lỗi khi có sẵn để đảm bảo an toàn thông tin liên tục.
Một PoC đầy đủ hiện có sẵn công khai trên GitHub, cung cấp thêm chi tiết kỹ thuật cho các nhà nghiên cứu bảo mật quan tâm: MalwareTech/ComoDoS GitHub Repository. Điều này cho phép các chuyên gia bảo mật và quản trị viên hệ thống hiểu rõ hơn về cách thức khai thác và phát triển các biện pháp phòng thủ.










