Tính năng mới của Chrome làm quá tải hạ tầng DNS của thế giới.
Để có thể hợp nhất thanh tìm kiếm và thanh địa chỉ web vào làm một trên Chrome và các trình duyệt nhân Chromium khác, các kỹ sư Google đã tạo ra một tính năng đang làm quá tải hạ tầng DNS của thế giới.
Theo Arstechnica, mới đây, Chrome đã làm người dùng ấn tượng với giao diện đơn giản, sáng sủa của mình nhờ việc hợp nhất thanh địa chỉ với thanh tìm kiếm vào làm một, khác hẳn với các giao diện thường thấy của Internet Explorer và Firefox vào thời điểm đó. Tuy vậy, đằng sau giao diện gọn gàng dành cho người dùng đó lại là một loạt các công nghệ để phục vụ cho nó – và một trong các tính năng công nghệ đó có thể làm nguồn tài nguyên web thế giới trở nên quá tải.
Để gộp được thanh địa chỉ web và thanh tìm kiếm vào làm một, trình duyệt phải hiểu được khi nào người dùng đang muốn gõ địa chỉ web, từ khóa tìm kiếm hay muốn truy cập vào một trang web nội bộ nào đó trong mạng nội bộ của mỗi công ty, tổ chức. Vì vậy, nếu người dùng đang trong mạng nội bộ gõ chữ "marketing" và mạng nội bộ đó có một trang web với tên gọi giống như vậy, trình duyệt sẽ hiển thị một thông báo hỏi người dùng xem họ định tìm kiếm từ khóa "marketing" hay truy cập vào địa chỉ https://marketing.
Tuy nhiên, những người tạo nên Chromium lại không muốn trình duyệt làm phiền người dùng bằng cách liên tục đặt câu hỏi như vậy đối với mỗi chữ cái người dùng gõ vào thanh địa chỉ Omnibox trên trình duyệt.
Do vậy, Chrome và các trình duyệt nhân Chromium khác sẽ xem những chữ cái người dùng gõ vào như là tên miền, và nếu tên miền không phân giải được thành địa chỉ IP, trình duyệt sẽ nhận thông báo lỗi NXDomain (tên miền không tồn tại). Lúc này Chrome sẽ xem lỗi này là một dấu hiệu cho thấy cụm từ đang gõ vào là một từ khóa tìm kiếm.
Tuy nhiên lại nảy sinh một vấn đề khác, khi nhiều nhà cung cấp dịch vụ internet thường chặn lấy các thông báo lỗi NXDomain này, và khiến trình duyệt không nhận được chúng. Mục đích của họ là nhằm kiếm tiền từ việc gõ sai chính tả tên miền – chặn các thông báo lỗi tên miền không tồn tại – để điều hướng người dùng tới các dịch vụ của riêng họ. Đây được gọi là phương pháp chiếm quyền NXDomain (NXDomain hijacking).
Minh họa việc nhà cung cấp internet ISP chiếm quyền NXDomain
Để kiểm tra xem nhà mạng hiện tại có chiếm quyền NXDomain như vậy không, Chrome và các trình duyệt nhân Chromium được trang bị tính năng phát hiện điều hướng Intranet Redirect Detector. Tính năng này sẽ tạo nên các truy vấn giả cho những tên miền ngẫu nhiên để phát hiện xem nhà cung cấp internet ISP có tìm cách chiếm lấy nó hay không.
Tuy nhiên, theo kỹ sư Matt Thomas của hãng Verisign, tính năng hữu ích này lại gây ra một vấn đề nghiêm trọng khác: làm tăng lượng tải cho các máy chủ DNS gốc trên toàn thế giới, khi công cụ này chịu trách nhiệm cho gần 50% tổng lượng băng thông mà các máy chủ tên miền DNS gốc của thế giới nhận được mỗi ngày.
Để phát hiện xem ISP hiện tại có tìm cách chiếm thông báo lỗi NXDomain hay không, tính năng Intranet Redirect Detector sẽ truy vấn DNS cho 3 tên miền cấp cao được tạo thành từ 7 đến 15 ký tự ngẫu nhiên. Nếu 2 tên miền trong số đó trả về với cùng địa chỉ IP, Chromium sẽ giả định rằng ISP hiện tại đang chiếm lấy NXDomain – lúc này trình duyệt sẽ xem mọi chữ cái gõ vào thanh địa chỉ là từ khóa tìm kiếm.
Việc tính năng này được bật mặc định khiến điều này xảy ra bất cứ khi nào trình duyệt khởi động hoặc chuyển sang mạng lưới khác.
Thật không may, ngay cả trên những mạng lưới không chiếm NXDomain, việc truy vấn ngẫu nhiên 3 tên miền này vẫn diễn ra. Do việc sắp xếp ngẫu nhiên của các ký tự đó, tính năng này sẽ tạo nên những tên miền khá vô nghĩa, ví dụ như tên miền dạng như ".qwajuixk".
Với cơ chế phân cấp nhiều bậc của hạ tầng máy chủ DNS trên toàn thế giới, các máy chủ DNS ở cấp local khi không thể phân giải một tên miền dạng như .qwajuixk kể trên, sẽ tự động đẩy truy vấn này lên cấp chuyển tiếp cao hơn. Do những tên miền được Chromium tạo ra ngẫu nhiên này không hề tồn tại trên thực tế, nên phần lớn các truy vấn mà nó tạo ra sẽ được chuyển tới các máy chủ DNS gốc – những máy chủ phân giải tên miền DNS cấp cao nhất thế giới.
Các tên miền vô nghĩa này dường như do tính năng dò ISP của Chromium tạo ra và gửi đến máy chủ DNS gốc
Trong khi đó, cùng với sự phổ biến của Chrome và các trình duyệt dùng nhân Chromium khác trên toàn thế giới, và số lượng khoảng 1,67 x 1021 tên miền ngẫu nhiên được tạo ra từ tính năng Intranet Redirect Detector của Chromium, việc truy vấn các tên miền giả lan đến tận các máy chủ DNS gốc cũng diễn ra ngày càng thường xuyên hơn.
Thomas cho biết trong bài đăng trên blog của mình: "Trong hơn 10 năm kể từ khi tính năng này ra mắt, hiện chúng tôi nhận ra rằng có khoảng một nửa lưu lượng truy vấn đến máy chủ DNS gốc nhiều khả năng là vì tính năng dò mạng của Chromium. Con số này tương đương với khoảng 60 tỷ truy vấn gửi tới hệ thống máy chủ gốc mỗi ngày."
Theo khảo sát của Verisign, từ khi Chrome và Chromium ra đời cho đến nay, tính năng dò tên miền của nó đang chiếm đến 1/2 lượng truy cập đến máy chủ DNS gốc trên thế giới.
Thomas cho rằng, hành vi này của Chromium giống như một cuộc tấn công DDoS nhắm vào các máy chủ DNS gốc mỗi ngày. Chính vì vậy, ông cho rằng, Chromium nên sử dụng một cách tiếp cận khác để giải quyết vấn đề này. Ví dụ như Firefox sử dụng một bộ các truy vấn dò theo một bộ tiêu chí khác nhau, để xác định tình trạng ISP chiếm quyền NXDomain mà không phải truy vấn đến máy chủ DNS gốc.
Trong khi chưa có giải pháp cụ thể cho vấn đề này, hiện trên trang bugs.chromium.org đang có một yêu cầu mở về tắt mặc định tính năng Intranet Redirect Detector trên trình duyệt để khắc phục vấn đề này. Trên thực tế, chính kỹ sư Matt Thomas của Verisign là người đã mở yêu cầu này trên trang thông báo lỗi của Chromium.
Hy vọng vấn đề này sẽ sớm được giải quyết – và các máy chủ gốc DNS của thế giới sẽ không cần phải trả lời đến 60 tỷ truy vấn về các tên miền ngớ ngẩn mỗi ngày nữa.
Thiên Thanh (T/h)