SAD DNS: một cuộc tấn công để thay thế dữ liệu giả mạo trong bộ nhớ cache DNS

Một nhóm Các nhà nghiên cứu từ Đại học Thanh Hoa và Đại học California tại Riverside đã phát triển một kiểu tấn công mớicho phép thay thế dữ liệu sai trong bộ nhớ cache của máy chủ DNS, có thể được sử dụng để giả mạo địa chỉ IP của một miền tùy ý và chuyển hướng các cuộc gọi đến miền đó đến máy chủ của kẻ tấn công.

Cuộc tấn công bỏ qua lớp bảo vệ được bổ sung cho các máy chủ DNS để chặn phương pháp nhiễm độc bộ nhớ cache DNS cổ điển do Dan Kaminsky đề xuất vào năm 2008.

Phương pháp Kaminsky thao túng kích thước không đáng kể của trường id truy vấn DNS, chỉ là 16 bit. Để tìm đúng số nhận dạng cần thiết để giả mạo tên máy chủ, chỉ cần gửi khoảng 7.000 yêu cầu và mô phỏng khoảng 140.000 phản hồi không có thật.

Cuộc tấn công kết hợp với việc gửi một số lượng lớn các gói tin liên kết IP giả mạo tới trình phân giải DNS với id giao dịch DNS khác nhau. Để ngăn phản hồi đầu tiên được lưu vào bộ nhớ đệm, một tên miền được sửa đổi một chút được chỉ định trong mỗi phản hồi không có thật.

Để bảo vệ khỏi kiểu tấn công này, Nhà sản xuất máy chủ DNS thực hiện phân phối ngẫu nhiên các số cổng mạng nguồn mà từ đó các yêu cầu giải quyết được gửi đi, bù đắp cho kích thước mã định danh không đủ lớn (để gửi phản hồi giả tưởng, ngoài việc chọn mã định danh 16 bit, cần phải chọn một trong 64 nghìn cổng, điều này làm tăng số lượng các tùy chọn để lựa chọn thành 2 ^ 32).

Cuộc tấn công SAD DNS đơn giản hóa đáng kể việc xác định cổng bằng cách tận dụng hoạt động được lọc trên các cổng mạng. Vấn đề thể hiện ở tất cả các hệ điều hành (Linux, Windows, macOS và FreeBSD) và khi sử dụng các máy chủ DNS khác nhau (BIND, Unbound, dnsmasq).

Người ta tuyên bố rằng 34% tất cả các bộ giải mở bị tấn công, cũng như 12 trong số 14 dịch vụ DNS được thử nghiệm hàng đầu, bao gồm các dịch vụ 8.8.8.8 (Google), 9.9.9.9 (Quad9) và 1.1.1.1 (CloudFlare), cũng như 4 trong số 6 bộ định tuyến được thử nghiệm từ các nhà cung cấp có uy tín.

Vấn đề là do tính đặc thù của việc hình thành gói phản hồi ICMP,cho phép bạn xác định quyền truy cập vào các cổng mạng đang hoạt động và không được sử dụng qua UDP. Tính năng này cho phép bạn quét rất nhanh các cổng UDP đang mở và bỏ qua bảo vệ hiệu quả dựa trên lựa chọn ngẫu nhiên các cổng mạng nguồn, giảm số tùy chọn brute force xuống còn 2 ^ 16 + 2 ^ 16 thay vì 2 ^ 32.

Nguồn gốc của vấn đề là cơ chế hạn chế cường độ của lô hàng số lượng gói ICMP trên ngăn xếp mạng, sử dụng giá trị bộ đếm có thể dự đoán được, từ đó bắt đầu điều chỉnh chuyển tiếp. Bộ đếm này chung cho tất cả lưu lượng truy cập, bao gồm cả lưu lượng truy cập giả từ kẻ tấn công và lưu lượng thực. Theo mặc định, trên Linux, phản hồi ICMP được giới hạn ở 1000 gói mỗi giây. Đối với mỗi yêu cầu đến một cổng mạng đóng, ngăn xếp mạng tăng bộ đếm lên 1 và gửi một gói ICMP với dữ liệu từ cổng không thể truy cập.

Vì vậy, nếu bạn gửi 1000 gói đến các cổng mạng khác nhau, tất cả đều bị đóng, máy chủ sẽ hạn chế gửi phản hồi ICMP trong một giây và kẻ tấn công có thể chắc chắn rằng không có cổng nào đang mở trong số 1000 cổng được tìm kiếm. Nếu một gói được gửi đến một cổng đang mở, máy chủ sẽ không trả lại phản hồi ICMP và nó sẽ không thay đổi giá trị bộ đếm, nghĩa là sau khi 1000 gói được gửi đi, giới hạn tốc độ phản hồi sẽ không đạt được.

Vì các gói giả được thực hiện từ một IP giả, kẻ tấn công không thể nhận được phản hồi ICMP, nhưng nhờ vào tổng số bộ đếm, sau mỗi 1000 gói giả, hắn có thể gửi yêu cầu đến một cổng không tồn tại từ IP thực và đánh giá sự xuất hiện của câu trả lời; nếu câu trả lời là một trong 1000 gói. Mỗi giây, kẻ tấn công có thể gửi 1000 gói tin không có thật đến các cổng khác nhau và nhanh chóng xác định cổng đang mở ở khối nào, sau đó thu hẹp lựa chọn và xác định một cổng cụ thể.

Nhân Linux giải quyết vấn đề bằng một bản vá ngẫu nhiên hóa các tham số để hạn chế cường độ gửi các gói ICMP, gây nhiễu và giảm thiểu rò rỉ dữ liệu qua các kênh bên.

Fuente: https://www.saddns.net/


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.