ATKforged replyCACHEbank.com → 10.0.evilexample.com → real IPUSERgets poisoned answer

Ngộ độc bộ đệm DNS

10 đọc tối thiểuBảo vệ

Ngộ độc bộ đệm DNS là cuộc tấn công trong đó dữ liệu xấu được lưu trữ trong bộ đệm của trình phân giải, khiến các truy vấn hợp pháp trả về câu trả lời sai miễn là bộ đệm vẫn tồn tại. Cuộc tấn công Kaminsky năm 2008 gần như đã phá vỡ DNS toàn cầu; các bản sửa lỗi được triển khai đều bền nhưng chưa hoàn chỉnh. Danh mục này vẫn có liên quan.

Toàn bộ nội dung bài viết được cung cấp bằng tiếng Anh bên dưới.

DNS đầu độc bộ đệm (đôi khi được gọi là giả mạo DNS) là cuộc tấn công trong đó kẻ tấn công đưa dữ liệu DNS giả mạo vào bộ đệm của trình phân giải. Các truy vấn tiếp theo đối với bản ghi bị nhiễm độc sẽ trả về câu trả lời sai cho đến khi bộ đệm hết hạn. Vì trình phân giải lưu vào bộ nhớ đệm mạnh để cải thiện hiệu suất nên việc đầu độc thành công có thể ảnh hưởng đến nhiều người dùng trong nhiều giờ.

Cách phân giải DNS hoạt động bình thường

Không xem qua toàn bộ quy trình (xem bài viết về máy chủ DNS của chúng tôi), điểm mấu chốt: trình phân giải tạo truy vấn tới máy chủ tên ngược dòng và chấp nhận câu trả lời. DNS được sử dụng để sử dụng UDP dành riêng cho việc này — không bắt tay, không xác thực, chỉ "gửi truy vấn, chấp nhận câu trả lời trùng khớp đầu tiên."

Nếu kẻ tấn công có thể gửi câu trả lời giả mạo trước khi câu trả lời hợp pháp đến thì trình phân giải sẽ lưu câu trả lời giả mạo đó vào bộ nhớ đệm. Đối với tất cả các truy vấn trong suốt thời gian tồn tại của bộ đệm (thường từ vài phút đến vài giờ), trình phân giải trả về dữ liệu bị nhiễm độc.

Cuộc tấn công Kaminsky

Năm 2008, Dan Kaminsky đã xuất bản một phần mở rộng tàn khốc của ngộ độc bộ đệm DNS cổ điển. Cuộc tấn công ban đầu dựa vào việc đoán ID giao dịch 16 bit - tỷ lệ cược 1 trên 65.536, không lớn. Sự thay đổi của Kaminsky: kẻ tấn công không phải đợi các truy vấn hợp pháp. Họ có thể trigger bằng cách hỏi người phân giải về tên phụ mà họ kiểm soát, sau đó đua nhau trả lời giả mạo cho bản ghi thẩm quyền của miền gốc. Với những tối ưu hóa nhỏ, việc khai thác đã trở nên thiết thực.

Việc tiết lộ đã kích hoạt nỗ lực vá lỗi phối hợp trên mọi hoạt động triển khai DNS chính trong năm 2008. Cách khắc phục: chọn ngẫu nhiên cổng nguồn mà trình phân giải sử dụng. Kết hợp với ID giao dịch, điều này sẽ mở rộng entropy lên ~32 bit, giảm đáng kể khả năng giả mạo thành công.

Các biện pháp phòng thủ hiện đại trông như thế nào

  • Nguồn ngẫu nhiên hóa cổng. Tiêu chuẩn kể từ năm 2008. Tăng entropy đủ để khiến bộ nhớ đệm bị nhiễm độc bằng cách đoán không khả thi.
  • DNS qua HTTPS (DoH) và DNS qua TLS (DoT). Truyền tải mật mã loại bỏ hoàn toàn cuộc tấn công tiêm nhiễm trên đường dẫn. Trình phân giải và cơ quan có thẩm quyền có kênh được mã hóa.
  • DNSSEC. Chữ ký mật mã trên bản ghi DNS phát hiện hành vi giả mạo. Phản hồi giả mạo không xác minh được chữ ký. Xem bài viết DNSSEC của chúng tôi.
  • Lọc nguồn-IP. Mạng loại bỏ các gói địa chỉ nguồn giả mạo (xác thực địa chỉ nguồn BCP38 / xác thực địa chỉ nguồn) khiến cuộc tấn công trở nên khó khăn hơn bằng cách hạn chế nơi các câu trả lời giả mạo có thể bắt nguồn.
  • Làm cứng độ phân giải.Mã hóa 0x20 (trường hợp ngẫu nhiên trong tên truy vấn) thêm bit entropy. Cookie EDNS0 cung cấp khả năng chống giả mạo bổ sung.

Cuộc tấn công DNS SAD 2020

Vào năm 2020, các nhà nghiên cứu đã xuất bản một lớp tấn công mới có tên là SAD DNS, bỏ qua việc ngẫu nhiên hóa cổng trong các tình huống cụ thể bằng cách sử dụng thông tin kênh bên về ngăn xếp mạng của trình phân giải. Cuộc tấn công nhằm vào các trình phân giải chính bao gồm một số mặc định của Linux. Linux 5.10+ có các biện pháp giảm nhẹ; các hệ thống cũ vẫn dễ bị tổn thương.

Loại "ngộ độc DNS đã được giải quyết" chưa bao giờ xuất hiện. Phòng thủ trở nên tốt hơn; các kênh bên mới xuất hiện. Phương pháp thực hành tốt nhất hiện đại kết hợp nhiều lớp.

Điều này có ý nghĩa gì đối với người dùng cuối

Đối với người dùng hàng ngày:

  • Sử dụng trình phân giải công khai chính (1.1.1.1, 8.8.8.8, 9.9.9.9) — chúng được tăng cường chống lại các cuộc tấn công đã biết và xác thực DNSSEC.
  • Sử dụng DoH hoặc DoT — mã hóa việc tra cứu, đánh bại hầu hết những kẻ tấn công trên đường đi. Bản thân
  • HTTPS là một dự phòng: ngay cả khi DNS nói dối và gửi bạn đến IP của kẻ tấn công, chứng chỉ TLS sẽ không khớp và trình duyệt sẽ cảnh báo.

Vectơ tấn công thực tế nhất dành cho người dùng cuối không phải là việc đầu độc bộ nhớ đệm của các trình phân giải chạy tốt; đó là sự chiếm quyền điều khiển của trình phân giải ở cấp bộ định tuyến hoặc ISP. Định cấu hình thiết bị của bạn để sử dụng một trình phân giải tốt đã biết (với phương tiện truyền tải được mã hóa) sẽ đóng lỗ hổng đó.

Điều này có ý nghĩa gì đối với các nhà khai thác

Đối với các nhà khai thác DNS:

  • Kích hoạt DNSSEC trên các máy chủ có thẩm quyền của bạn.
  • Sử dụng một trình phân giải xác thực DNSSEC.
  • Patch ngay lập tức. Bản sửa lỗi năm 2008, biện pháp giảm nhẹ SAD DNS và mọi tư vấn trong tương lai.
  • Triển khai xác thực địa chỉ nguồn nếu bạn vận hành mạng. Cơ sở hạ tầng

DNS an toàn hơn so với một thập kỷ trước; các mối đe dọa đã phát triển song song.

Câu hỏi thường gặp

Tôi có thể bị ảnh hưởng bởi ngộ độc bộ nhớ đệm không?
Một cách gián tiếp. Người dùng cuối thường không vận hành các bộ đệm bị nhiễm độc. Nếu trình phân giải DNS của bạn bị xâm phạm, bạn sẽ thấy câu trả lời sai cho bất kỳ thứ gì bị đầu độc. Việc sử dụng các bộ phân giải cứng chính (1.1.1.1, 8.8.8.8) sẽ giảm đáng kể rủi ro.
DNSSEC ngăn chặn điều này như thế nào?
Các bản ghi được ký bởi miền có thẩm quyền có thể được xác minh bằng mật mã. Một câu trả lời giả mạo không được xác minh và bị từ chối. DNSSEC đã có từ năm 1997 nhưng việc áp dụng không đồng đều; các trình phân giải chính xác nhận, các trình phân giải nhỏ hơn thường không.
DNS qua HTTPS có giống với DNSSEC không?
Không. DNSSEC thêm chữ ký vào hồ sơ, xác minh tính xác thực. DoH mã hóa việc truyền tải giữa máy khách và trình phân giải, ngăn chặn việc nghe lén hoặc giả mạo trên đường truyền. Chúng bổ sung cho nhau; bạn có thể có một hoặc cả hai.
Sự khác biệt giữa ngộ độc bộ đệm và chiếm quyền điều khiển DNS là gì?
Ngộ độc bộ đệm sẽ đưa dữ liệu xấu vào bộ đệm của trình phân giải thông qua một cuộc tấn công cấp mạng. Việc chiếm quyền điều khiển DNS nói chung bao gồm việc thay đổi chính trình phân giải (thỏa hiệp bộ định tuyến, ứng dụng độc hại, chiếm đoạt tài khoản của công ty đăng ký). Ngộ độc bộ đệm là một kỹ thuật cụ thể trong danh mục chiếm quyền điều khiển rộng hơn.
Có sự cố ngộ độc bộ nhớ đệm nổi tiếng nào không?
Vụ đầu độc hàng loạt kiểu Kaminsky không bao giờ thành hiện thực vì các miếng vá được triển khai đủ nhanh. Các vụ đầu độc cụ thể nhỏ hơn đã xảy ra - một sự cố năm 2019 ảnh hưởng đến các bộ phận của cơ sở hạ tầng DNS của Trung Quốc đã chuyển hướng nhanh chóng các dịch vụ lớn của Hoa Kỳ cho người dùng ở Trung Quốc. Hầu hết các cuộc tấn công DNS quy mô lớn kể từ năm 2008 đều liên quan đến việc chiếm quyền điều khiển BGP hoặc thỏa hiệp nhà đăng ký thay vì đầu độc bộ đệm cổ điển.
Giải thích về ngộ độc bộ đệm DNS: Khi trình phân giải nằm