Ảnh: BBSpot. |
Đầu tháng 7, chuyên gia bảo mật Dan Kaminsky thuộc hãng IOAactive (Mỹ) đã công bố một lỗi nghiêm trọng trong hệ thống DNS có thể giúp hacker chuyển tên miền mà người sử dụng muốn truy cập sang website độc hại.
Kaminsky dự định mô tả chi tiết lỗ hổng tại diễn đàn Back Hat ngày 6/8 tới. Tuy nhiên, ngày 22/7, công ty bảo mật Matasano vô tình lộ thông tin này trên Internet. Họ đã lập tức xin lỗi và xóa bỏ bài viết nhưng nội dung đó đã nhanh chóng được phát tán trên mạng.
Chỉ một ngày sau, hacker đã tung ra hai mã khai thác. Đoạn mã đầu tiên mang tên DNS BaliWicked Attack khó triển khai trên thực tế trong khi mã thứ hai có khả năng tạo điều kiện cho hacker làm nhiễm độc một lượng domain lớn.
Các hãng phần mềm lớn như Microsoft, Cisco... đã phát hành bản vá từ cách đây 2 tuần nhưng mạng kết nối toàn cầu vẫn đang trong tình trạng báo động do nhiều nhà cung cấp dịch vụ Internet vẫn chưa vá lỗ hổng. "Tôi đã kiểm tra 60 máy chủ DNS và có tới hơn một nửa vẫn tồn tại lỗi", Neal Krawetz thuộc công ty tư vấn bảo mật Hacker Factor Solutions nói.
Trong khi đó, đại diện của Tổng công ty Viễn thông quân đội Viettel cho biết họ đang phối hợp với Trung tâm ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) và liên hệ trực tiếp với chuyên gia Dan Kaminsky để cập nhật những thay đổi mới nhất. FPT và VDC cũng đang rà soát lại toàn bộ hệ thống và khẳng định vẫn hoạt động bình thường.
Ngày 25/7, Trung tâm an ninh mạng Bkis giới thiệu phần mềm Bkav DNS Check cho phép kiểm tra, phát hiện hệ thống máy chủ DNS có chứa lỗ hổng Subdomain Exploit DNS Cache Poisoning hay không. (Xem hướng dẫn tải tại đây).
Trong trường hợp có lỗi, quản trị mạng cần xác định hệ thống DNS đang sử dụng là phần mềm của nhà sản xuất nào (Microsoft, Red Hat, Cisco) và chọn bản vá tương ứng. Người dùng cá nhân nếu truy cập website quen thuộc nhưng gặp hiện tượng không bình thường cần yêu cầu hỗ trợ kỹ thuật của ISP cũng như cài phần mềm diệt virus mới nhất để tránh nguy cơ bị lây nhiễm mã độc.
Mô tả kỹ thuật của lỗi Subdomain Exploit DNS Cache Poisoning Giao thức DNS là giao thức phân giải địa chỉ, dùng để ánh xạ giữa tên miền (domain name) sang địa chỉ Internet (IP). Theo đó, khi máy chủ DNS nhận được yêu cầu phân giải địa chỉ (request) từ máy trạm, nó sẽ tra cứu bộ đệm (cache) và trả về địa chỉ IP tương ứng với tên miền mà máy trạm yêu cầu. Tuy nhiên, nếu không tìm thấy trong bộ đệm, máy chủ DNS sẽ chuyển yêu cầu phân giải tới một máy chủ DNS khác. Đây chính là khâu bị phát hiện có lỗ hổng nghiêm trọng và mã khai thác này đã được lan truyền trên mạng vài ngày qua. Cách thức tấn công DNS cache poisoning của hacker như sau: hacker (máy H) gửi hàng loạt yêu cầu phân giải địa chỉ tới máy chủ DNS nạn nhân (máy A). Các tên miền cần phân giải được hacker tính toán sao cho máy chủ A không thể tìm thấy trong bộ đệm của nó và buộc phải chuyển tiếp tới máy chủ DNS tiếp theo (máy B). Mỗi trao đổi phân giải giữa A và B được xác thực thông qua một số hiệu TID (Transaction ID) ngẫu nhiên. Tuy nhiên, điểm yếu ở đây chính là việc số TID này chỉ là một số 16 bit (nhỏ hơn 65535) và mọi trao đổi giữa A và B đều diễn ra trên một cổng (port) cố định của A. Nguồn: Bkis. Để tấn công DNS cache poisoning, trước khi máy A kịp nhận các gói tin trả lời từ máy B, hacker gửi liên tiếp các gói tin giả mạo trả lời của máy B tới cổng cố định nói trên của A. Chỉ cần một trong các gói tin giả mạo này có TID trùng với TID mà máy A đang chờ, thì nó sẽ được máy A chấp nhận là hợp lệ và cập nhật vào bộ đệm của A. Lúc này, gói tin trả lời thật từ máy B sẽ không được A xử lý nữa. Bằng cách này, hacker có thể đầu độc bộ đệm của A để ánh xạ tên miền bị tấn công sang một địa chỉ IP mà hacker chỉ định. DNS cache poisoning xuất hiện lần đầu tiên vào những năm 90. Đến nay, hacker đã sử dụng nhiều phương pháp khác nhau để khai thác lỗ hổng trong thiết kế của giao thức DNS này. Các nhà sản xuất phần mềm DNS Server cũng đã cung cấp bản vá tương ứng để ngăn chặn và vấn đề đã được khắc phục. Tuy nhiên, điểm quan trọng nhất trong phương pháp DNS cache poisoning lần này là việc hacker sử dụng tên miền con (subdomain) để tạo ra các yêu cầu phân giải địa chỉ hợp lệ. Các tên miền con được tạo ngẫu nhiên với số lượng lớn, đảm bảo chúng chưa từng tồn tại trong cache của máy chủ A và buộc A phải tạo ra cùng số lượng tương ứng các yêu cầu chuyển tiếp tới máy chủ B. Kết quả là xác suất một gói tin giả mạo trả lời của B do hacker tạo ra có TID trùng với TID mà máy A đang chờ được nâng cao lên nhiều lần. Cơ hội đầu độc thành công bộ đệm của máy chủ A cũng vì thế được nâng cao.
Lê Nguyên