Điều này gây hoang mang cho nhiều nhà quản trị mạng khi không có công cụ để kiểm tra xem hệ thống máy chủ DNS của mình có mắc lỗi này hay không và cách khắc phục như thế nào.
Ngày 25/07/2008, Trung tâm An ninh mạng Bkis đã phát hành phần mềm Bkav DNS Check cho phép kiểm tra, phát hiện xem hệ thống máy chủ DNS có lỗ hổng Subdomain Exploit DNS Cache Poisoning hay không. Cùng với việc phát hành phần mềm này, Bkis cũng hướng dẫn cách vá lỗ hổng để tránh nguy cơ bùng phát các cuộc tấn công vào hệ thống DNS tại Việt Nam.
Để kiểm tra xem hệ thống máy chủ của mình có mắc lỗi hay không, quản trị mạng các cơ quan, các ISP cần làm theo các bước như sau:
1. Tải phần mềm BkavDNSCheck tại địa chỉ sau: http://www.bkav.com.vn/DNSCheck/BkavDNSCheck.exe
2. Sử dụng phần mềm BkavDNSCheck để kiểm tra xem máy chủ DNS có lỗ hổng DNS Cache Poisoning hay không. Hướng dẫn chi tiết có tại địa chỉ sau:
http://www.bkav.com.vn/DNSCheck/BkavDNSCheckGuide.html
Trong trường hợp kết quả kiểm tra cho thấy có lỗi, cần làm các bước sau để khắc phục:
1. Kiểm tra xem 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,…)
2. Vá lỗi theo bản hướng dẫn tương ứng với hệ thống DNS của mình tại các địa chỉ:
- Microsoft: http://www.bkav.com.vn/DNSCheck/Microsoft
- Red Hat: http://www.bkav.com.vn/DNSCheck/RedHat
- FreeBSD: http://www.bkav.com.vn/DNSCheck/FreeBSD
- Sun: http://www.bkav.com.vn/DNSCheck/Sun
- Cisco Systems: http://www.bkav.com.vn/DNSCheck/Cisco
Đối với người dùng, cần thận trọng trong thời gian này khi truy cập Internet. Nếu vào một website quen thuộc nhưng gặp hiện tượng không bình thường thì cần thông báo ngay với quản trị mạng của cơ quan hoặc bộ phận hỗ trợ kỹ thuật của các ISP để có biện pháp xử lý kịp thời. Ngoài ra, cũng nên cập nhật đầy đủ các bản vá của hệ điều hành và phần mềm diệt virus để tránh nguy cơ bị lây nhiễm mã độc.
Lỗi Subdomain Exploit DNS Cache Poisoning
Giao thức DNS là giao thức phân dải địa chỉ, dùng để ánh xạ giữa tên miền (domain name) sang địa chỉ Internet (IP). Theo giao thức này, máy chủ DNS khi nhận được yêu cầu phân dải địa chỉ (request) từ máy trạm, nó sẽ tra cứu trong 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 tiếp 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 là có lỗ hổng nghiêm trọng và mã khai thác lỗ hổng này đã được lan truyền trên mạng Internet trong 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.
Để 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ì gói tin giả mạo sẽ được máy A chấp nhận là gói tin 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 máy A xử lý nữa. Bằng cách này, hacker có thể đầu độc bộ đệm của máy A, để ánh xạ tên miền bị tấn công sang một địa chỉ IP mà hacker chỉ định.
Bkis phát hành phần mềm kiểm tra lỗ hổng máy chủ DNS
Lỗ hổng DNS cache poisoning đang đặt các hệ thống máy chủ DNS tại Việt Nam cũng như trên toàn thế giới trước nguy cơ bị tin tặc tấn công trên diện rộng. Đây là một lỗ hổng đặc biệt nghiêm trọng, nhất là khi hacker đã có phương thức mới để có khả năng khai thác thành công lỗ hổng này.
Trang liên kết