Giới thiệuvềDNS và chuyểnvùngDNS
DNS (Domain Name System) là một hệ cơ sở dữ liệu phân tán dùng để ánh xạ
giữa các tên miền và các địa chỉ IP. DNS đưa ra một phương pháp đặc biệt để duy
trì và liên kết các ánh xạ này trong một thể thống nhất. Trong phạm vi lớn hơn, các
máy tính kết nối với internet sử dụng DNS để tạo địa chỉ liên kết dạng URL
(Universal Resource Locators). Theo phương pháp này, mỗi máy tính sẽ không
cần sử dụng địa chỉ IP cho kết nối.
Các tên DNS tạo ra theo định dạng sau ., ví dụ infosec.vasc.com.vn. Trong khi
danh sách các kiểu tên DNS được thiết kết lại bởi ICANN (Công ty quản lý dịch
vụ tên miền), một số các kiểu thông thường bao gồm: .edu (dạng các website giáo
dục) , .mil (các website cho quân đội), .org (thuộc dạng các tổ chức phi thương
mại) .com (các tổ chức kinh tế), Và cũng có các kiểu tên miền chỉ định theo tên
nước, ví dụ .ie (Ireland), .jp (Japan), .de (Germany)
Khi một máy tính (một DNS client) muốn tìm kiểm một URL, nó đưa yêu cầu
(GetHostByName) tới DNS server của nó. DNS client sử dụng một DNS resolver
để định vị DNS server. Nếu DNS server không xác định được tên miền cần tìm,
hay DNS server không có chút thông tin gì về URL đó trong vùng nhớ đệm của
nó, nó sẽ không thể trả lời yêu cầu của client ngay lập tức. Thay vào đó, DNS
server sẽ hoặc sử dụng một DNS forwarder hoặc tạo lại một yêu cầu theo quy tắc
đệ quy.
Việc giả mạo DNS liên quan tới việc bắt buộc một DNS client tạo yêu cầu tới một
server mạo danh, và khi đó client sẽ nhận được trả lời sai từ server giả mạo đó. Có
3 cách thực hiện kiểu tấn công giả mạo DNS này, bao gồm:
1. Giả mạo các phản hồi DNS
Kẻ tấn công có thể sử dụng cơ chế đệ quy, giả mạo yêu cầu mà DNS server gửi ra
ngoài trong quá trình tìm kiểm một địa chỉ, và phản hồi các thông tin sai trước khi
các thông tin thật đến. Mỗi gói tin DNS có một số ID dạng 16 bit mà DNS server
dùng để kiểm tra yêu cầu ban đầu gửi đi là gì. Khi sử dụng BIND, một phần mềm
thông dụng dạng DNS server, số này tăng lên 1 sau mỗi yêu cầu gửi đến, và việc
tạo yêu cầu rất dễ dàng giả mạo. BIND đã được sửa lỗi theo phiên bản gần đây,
mà các gói tin DNS được khởi tạo theo các con số ngẫu nhiên (phiên bản BIND
v9).
Để kiểm tra liệu một DNS server có thể có lỗ hổng hay không đối với sự tấn công
giả mạo địa chỉ DNS, bạn có thể gửi các yêu cầu tới server, thẩm định liệu có thể
đoán số ID kế tiếp trong một gói tin yêu cầu giử tới DNS. Nếu các yêu cầu ID có
thể đoán trước được, điều này có nghĩa là vùng nhớ đệm trong DNS có thể ánh xạ
không đúng tới địa chỉ IP thật, và đó chính là lỗ hổng bảo mật trong DNS.
2. Giả mạo địa chỉ trong vùng nhớ đệm của DNS
Sau các yêu cầu đệ quy, các ánh xạ địa chỉ nhận được sẽ tồn tại trong DNS cache.
DNS server sẽ dựa vào cùng nhớ đệm này để xác định thông tin cho các yêu cầu
đến và phản hồi từ client gửi tới, giúp cho việc truy cập thông tin nhanh hơn. Độ
dài thời gian mà các kết quả yêu cầu đệ quy được giữ luôn trong DNS cache (kí
hiệu là TTL time to live) có thể được thiết lập.
Việc các địa chỉ bị giả mạo nằm trong DNS cache kéo theo việc gửi thông tin ánh
xạ không đúng với thời gian tồn tại (TTL) dài. Vậy nên, tại thời điểm kế tiếp khi
có một yêu cầu gửi tới, nó sẽ nhận được thông tin sai. Việc sai thông tin này cũng
có thể bị ảnh hưởng do việc nhận dữ liệu từ một DNS server từ xa nào đó bị giả
mạo . Có thể giới hạn sự giả mạo thông tin này bằng cách giảm thời gian thông tin
tồn tại trong cache (TTL), nhưng điều này cũng làm giảm hiệu năng của server.
Một ứng dụng thông dụng của DNS dạng phần mềm mã nguồn mở là BIND
(Berkeley Internet Name Daemon), mà cung cấp hầu hết các chức năng quan trọng
về DNS server. Tuy nhiên, cũng có rất nhiều lỗ hổng bảo mật trong BIND, và vì
vậy, việc đảm bảo đang sử dụng phần mềm BIND với phiên bản mới nhất là rất
quan trọng. Hiện tại, các chuẩn mới vềDNS đã khắc phục được lỗi này trong vùng
nhớ đệm của DNS.
3. Phá vỡ mức bảo mật môi trường
Việc tấn công bằng cách giả mạo địa DNS phá vỡ mức bảo mật của môi trường
làm việc mạng trong DNS server. Ví dụ: tấn công dựa theo các lỗ hổng dạng tràn
vùng đệm đối với các phiên bản BIND cũ, mà cho phép kẻ tấn công đoạt được
quyền root truy cập. Khi kẻ tấn công đoạt được quyền truy cập trong môi trường
DNS, anh ta có thể điều khiển được môi trường mạng.
. Giới thiệu về DNS và chuyển vùng DNS DNS (Domain Name System) là một hệ cơ sở dữ liệu phân tán dùng để ánh xạ giữa các tên miền và các địa chỉ IP. DNS đưa ra một phương. (GetHostByName) tới DNS server của nó. DNS client sử dụng một DNS resolver để định vị DNS server. Nếu DNS server không xác định được tên miền cần tìm, hay DNS server không có chút thông tin gì về URL đó. trong vùng nhớ đệm của DNS Sau các yêu cầu đệ quy, các ánh xạ địa chỉ nhận được sẽ tồn tại trong DNS cache. DNS server sẽ dựa vào cùng nhớ đệm này để xác định thông tin cho các yêu cầu đến và