Tải bản đầy đủ (.pdf) (56 trang)

Tiểu luận cuối kì môn internet và giao thức (6)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.89 MB, 56 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA VIỄN THƠNG I

TIỂU LUẬN HỌC PHẦN
INTERNET VÀ GIAO THỨC
TÊN TIỂU LUẬN

DNS VÀ BẢO MẬT DNS
Giảng Viên Hướng Dẫn: Nguyễn Tiến Ban
Nhóm: 16
Sinh Viên Thực Hiện:

Phạm Đức Duy

B18DCVT071

Vũ Đức Độ

B18DCVT103

Thái Vũ Long

B18DCVT268

Tống Thị Yên

B18DCVT451

Hà Nội - 2021



MỤC LỤC
DANH MỤC HÌNH ẢNH ........................................................................................ 4
THUẬT NGỮ VIẾT TẮT ....................................................................................... 5
LỜI NÓI ĐẦU .......................................................................................................... 6
CHƯƠNG 1: TỔNG QUAN VỀ DNS .................................................................... 8
1.1. DNS ............................................................................................................................ 8
1.1.1. Dịch vụ DNS cung cấp ........................................................................................ 8
1.1.2. Nguyên lý DNS .................................................................................................... 9
1.1.3. DNS cache ......................................................................................................... 13
1.1.4. Khuôn dạng bản tin DNS ................................................................................... 13
1.1.5. Một số hạn chế của DNS ................................................................................... 19
1.2. DNSSEC .................................................................................................................. 19
1.2.1 Mục đích của DNSSEC ...................................................................................... 19
1.2.2 Nguyên lý DNSSEC ........................................................................................... 19
1.3 DNS đa hướng ........................................................................................................... 23

CHƯƠNG 2: LỖ HỔNG BẢO MẬT ................................................................... 25
2.1. Các lỗ hổng của DNS ............................................................................................... 25
2.1.1. Quan điểm khái niệm ......................................................................................... 25
2.1.2. Quan điểm Cấu trúc ........................................................................................... 25
2.1.3. Quan điểm Giao tiếp .......................................................................................... 26
2.2. Các lỗ hổng DNSSEC .............................................................................................. 27
2.2.1. Trọng tải cao ...................................................................................................... 27
2.2.2. Độ phức tạp ........................................................................................................ 28
2.2.3. Trình phân giải khơng đáng tin cậy ................................................................... 28
2.2.4. Danh sách vùng .................................................................................................. 28
2.2.5. Khả năng triển khai DNSSEC thấp ................................................................... 29
2.2.6. Mối đe dọa của khuếch đại và phản xạ DDoS ................................................... 29

CHƯƠNG 3: TẤN CỐNG DNS............................................................................ 30

3.1 Giả mạo dữ liệu DNS ................................................................................................ 30
3.1.1 DA01. Nhiễm độc bộ nhớ cache DNS ................................................................ 31
2


3.1.2 DA02. Kaminsky ................................................................................................ 32
3.1.3 DA03. Chiếm quyền DNS .................................................................................. 32
3.2. Tràn ngập dữ liệu DNS ............................................................................................ 33
3.2.1. DA04. Tấn công tràn ngập dữ liệu DNS ........................................................... 34
3.2.2. DA05. Tấn công DdoS phản xạ/khuếch đại DNS ............................................. 34
3.2.3. DA06. Tên miền phụ ngẫu nhiên ....................................................................... 35
3.3. Tấn công bằng cách lạm dụng DNS......................................................................... 36
3.3.1. DA07. Đường hầm DNS ................................................................................... 36
3.3.2. DA08.thuật toán tạo miền .................................................................................. 37
3.3.3. DA09.FAST FLUX ........................................................................................... 38
3.4. Lợi dụng Cấu trúc máy chủ DNS ............................................................................. 39
3.4.1. DA10.miền DNS không tồn tại ......................................................................... 39
3.4.2. DA11.miền ảo .................................................................................................... 40
3.5. Phân loại và đánh giá các cuộc tấn công DNS ......................................................... 40

CHƯƠNG 4: GIẢM THIỂU CÁC CUỘC TẤN CÔNG DNS ........................... 43
4.1. DNSSEC và DNS dự phòng .................................................................................... 43
4.2. Các hệ thống giảm thiểu các cuộc tấn công DNS hiện có ....................................... 45
4.2.1. Hệ thống giám sát và phát hiện.......................................................................... 45
4.2.2. Phần mở rộng bảo mật của các bản ghi DNS .................................................... 47
4.2.3 DNS nâng cao với các chức năng bảo mật bổ sung............................................ 50
4.3. Đánh giá tổng thể các hệ thống DNS giảm thiểu ..................................................... 50
4.4 Nhà cung cấp DNS bảo mật/doanh nghiệp ............................................................... 52

KẾT LUẬN ............................................................................................................. 55

TÀI LIỆU THAM KHẢO ..................................................................................... 56

3


DANH MỤC HÌNH ẢNH
Hình 1.1. Cấu trúc DNS .................................................................................................. 10
Hình 1.2. Kiến trúc DNS ................................................................................................. 11
Hình 1.3. Khn dạng bản tin DNS ................................................................................ 14
Hình 1.4. Tiêu đề bản tin DNS........................................................................................ 15
Hình 1.5. Định dạng Phần Câu hỏi ................................................................................. 17
Hình 1.6. Định dạng Phần Trả lời ................................................................................... 18
Hình 1.7. Ví dụ xác thực mật mã khóa cơng khai ........................................................... 20
Hình 1.8. Kiến trúc chuỗi tin cậy DNSSEC .................................................................... 22
Hình 1.9. Kiến trúc DNS đa hướng ................................................................................. 23
Hình 3. 1. Các cuộc tấn cơng DNS ................................................................................. 30
Hình 3. 2. Tấn cơng DNS: Giả mạo dữ liệu DNS. QID: ID truy vấn; "-a", "-b": thứ tự
quy trình .......................................................................................................................... 31
Hình 3. 3. Chiếm quyền điều khiển DNS ....................................................................... 33
Hình 3. 4.Tấn cơng DNS: Tràn ngập dữ liệu DNS ......................................................... 34
Hình 3. 5.Tấn cơng DNS: Tên miền phụ ngẫu nhiên...................................................... 35
Hình 3. 6. Mơ tả cuộc tấn công DNS bằng cách lạm dụng DNS .................................... 36
Hình 3. 7. Mơ tả cuộc tấn cơng bằng cách sử dụng đường hầm DNS ............................ 37
Hình 3. 8. Ví dụ về hoạt động của Fast Flux .................................................................. 38
Hình 3. 9. Tấn công DNS: Lỗ hổng Cấu trúc Máy chủ DNS. ........................................ 39
Hình 3. 10. Đánh giá các cuộc tấn cơng DNS................................................................. 42
Hình 3. 11. Phân loại các cuộc tấn cơng DNS theo mục đích của kẻ tấn cơng .............. 42
Hình 4. 1. Triển khai DNS dự phịng Chính-Phụ............................................................ 44
Hình 4. 2. Triển khai DNS dự phịng Chính-Chính ........................................................ 45
Hình 4. 3. Xác thực thông tin website thông qua DANE................................................ 48

Hình 4. 4. Hoạt động của DOH ....................................................................................... 49
Hình 4. 5. Đánh giá các phương pháp giảm thiểu tấn công DNS ................................... 51
Hình 4. 6. Danh sách 10 nhà cung cấp DNS doanh nghiệp ............................................ 53

4


THUẬT NGỮ VIẾT TẮT
CA

Certificate Authorities

Tổ chức phát hành chứng chỉ

DANE

DNS-Based Authentication of

Xác thực dựa trên DNS của các thực

Named Entities

thể được đặt tên

DNS

Domain Name System

Hệ thống tên miền


DNSSEC

DNS Security Extensions

Phần mở rộng bảo mật dns

DoS

Denial-of-service

Từ chối dịch vụ

DDoS

Distributed denial-of-service

Từ chối dịch vụ phân tán

GTLD

General Top Level Domain

Tên miền cấp cao nhất chung

IP

Internet Protocol

Giao thức Internet


ISP

Internet Service Provider

Nhà cung cấp dịch vụ Internet

PKI

Public Key Infrastructure

Hạ tầng khóa cơng khai

DGA

Domain Generation Algorithm

Thuật toán tạo miền

SLD

Second Level Domain

Tên miền cấp thứ hai

TLD

Top Level Domain

Tên miền cấp cao nhất


TLSA

Transport Layer Security
Authentication

Xác thực bảo mật lớp giao vận

RR

Resource Records

Bản ghi nguồn

5


LỜI NÓI ĐẦU
Trong hơn 30 năm qua, chúng ta đã trải nghiệm nhiều dịch vụ Internet tiện lợi hơn thông
qua tiện ích của Hệ thống tên miền (DNS) thân thiện với con người, ánh xạ tên miền tới địa
chỉ giao thức internet (IP) bằng cách sử dụng máy chủ định danh phân cấp trên tồn cầu.
Người dùng Internet có địa chỉ miền có thể sử dụng các dịch vụ Internet khác nhau, chẳng
hạn như lướt web, e-mail và thậm chí cả các dịch vụ di động mà không cần nhập địa chỉ IP
được máy công nhận. Tuy nhiên, DNS lần đầu tiên được phát triển mà không xem xét đến
an ninh mạng. Khơng nghi ngờ gì nữa, có rất nhiều cuộc tấn cơng mạng vào DNS đang diễn
ra. Ví dụ: trong một cuộc tấn công gần đây, những kẻ tấn công đã chuyển hướng tra cứu
DNS cho MyEtherWallet.com đến một trang web độc hại trông giống như một trang web
xác thực, để chiếm đoạt thông tin tài khoản của nạn nhân.
Để khắc phục các vấn đề bảo mật DNS khác nhau (ví dụ như tra cứu thư mục) và củng cố
an ninh mạng, giao thức mở rộng bảo mật DNS (DNSSEC) đã được phát triển. DNSSEC
đã ghép cơ chế chữ ký số của mật mã học khóa-cơng khai vào hệ thống DNS. DNSSEC mở

rộng DNS dựa trên Hạ tầng khóa công khai phân cấp (PKI) để bảo vệ dữ liệu được xuất
bản trong DNS. Chứng chỉ cho khóa cơng khai do tổ chức phát hành chứng chỉ đáng tin
cậy cấp, chứng nhận quyền sở hữu khóa cơng khai. Do đó, các ứng dụng khách và trình
phân giải có thể xác minh rằng các phản hồi DNS không bị giả mạo hoặc thay đổi bằng
cách sử dụng DNSSEC. Tuy nhiên, DNSSEC vẫn gặp phải các vấn đề triển khai trên
Internet hiện tại. Nghiên cứu nhận thấy rằng 31% miền hỗ trợ DNSSEC khơng xuất bản
được tất cả các bản ghi có liên quan cần thiết để xác thực và 39% miền sử dụng khóa ký
khóa khơng đủ mạnh. Họ cũng nhận thấy rằng 82% trình phân giải yêu cầu bản ghi
DNSSEC, nhưng chỉ 12% trong số chúng cố gắng xác thực bản ghi DNSSEC. Ngoài ra,
một số nghiên cứu đã được thực hiện để xem xét kỹ lưỡng mơ hình CA về sự thiếu minh
bạch và lựa chọn các bộ CA đáng tin cậy. Nếu một trong các CA hoạt động như một mỏ
neo tin cậy bị xâm phạm, tất cả thơng tin được CA chứng nhận có thể bị làm giả.
Cuộc tấn công mạng Dyn năm 2016 là một sự kiện quan trọng cho thấy mối nguy hại DNS
nghiêm trọng [3]. Dyn là một nhà cung cấp DNS nổi tiếng, đã bị tấn công bởi hai cuộc tấn
công từ chối dịch vụ phân tán (DDoS) lớn và phức tạp nhằm vào cơ sở hạ tầng DNS. Cuối
cùng, một số dịch vụ Internet và hệ thống ngân hàng lớn đã bị tê liệt. Vấn đề thú vị với
cuộc tấn công này là một phần lớn của Hoa Kỳ đã bị ảnh hưởng bởi việc tấn công các Trung
6


tâm Dữ liệu chỉ ở một số khu vực nhất định của Hoa Kỳ. Nghĩa là, cuộc tấn công chỉ nhắm
mục tiêu trực tiếp vào một DNS được phân phối cục bộ với một Botnet cục bộ. Hơn nữa,
Báo cáo An ninh mạng, phát hành năm 2018, mô tả DNS là mục tiêu dịch vụ Internet lớn
nhất (82%) của các cuộc tấn công lớp ứng dụng. Bất chấp những nỗ lực cải thiện các vấn
đề bảo mật của DNS, DNS vẫn là mục tiêu phổ biến của các cuộc tấn cơng mạng vì vai trị
thiết yếu của nó trên Internet và tính dễ bị tấn cơng.
Bài tiểu luận được tổ chức như sau.
❖ Chương 1: “TỔNG QUAN VỀ DNS VÀ DNSSEC” cung cấp thông tin cơ bản về
DNS và DNSSEC.
❖ Chương 2: “LỖ HỔNG BẢO MẬT” mô tả các lỗ hổng bảo mật cơ bản của DNS

và DNSSEC.
❖ Chương 3: “TẤN CỐNG DNS” giải thích các cuộc tấn cơng DNS điển hình hiện
đang đe dọa người dùng Internet, đánh giá các cuộc tấn công này theo mức độ
nghiêm trọng và phân loại các cuộc tấn cơng DNS theo mục đích để hiểu và phân
tích chúng
❖ Chương 4: “GIẢM THIỂU CÁC CUỘC TẤN CƠNG DNS” khám phá các biện
pháp phịng thủ hiện nay chống lại các cuộc tấn công DNS và đánh giá hiệu quả của
chúng trong việc giảm thiểu các cuộc tấn công DNS.
Mặc dù đã rất cố gắng nhưng do hạn chế về thời gian cũng như kiến thức cịn hạn chế nên
bài tiểu luận khơng tránh được thiếu sót. Để bài tiểu luận trở nên hồn thiện hơn cũng như
củng cố thêm kiến thức, nhóm tiểu luận rất mong nhận được các ý kiến cũng như đóng góp
của thầy, cô giáo.
Xin trân trọng cảm ơn!

7


CHƯƠNG 1: TỔNG QUAN VỀ DNS
1.1. DNS
Hệ thống tên miền là một hệ thống đặt tên phân cấp và phân quyền cho các máy tính, dịch
vụ hoặc các tài nguyên khác được kết nối với internet (hoặc mạng riêng). Nó liên kết các
thông tin khác nhau với các tên miền được gán cho từng thực thể tham gia.
Nói một cách dễ hiểu, DNS là một giao thức chủ yếu được sử dụng để chuyển đổi tên thành
địa chỉ IP. Khi một người duyệt qua , tên miền www.example.com
đang được dịch sang địa chỉ IP thực, ví dụ: 93.184.216.34.
DNS là một yếu tố nền tảng của truyền thông IP. DNS cung cấp các phương tiện để cải
thiện khả năng sử dụng của các ứng dụng IP. Để giao tiếp qua mạng IP, thiết bị IP cần gửi
các gói IP tới điểm đến dự định; và mỗi tiêu đề gói IP yêu cầu cả các địa chỉ IP nguồn và
đích. DNS khơng chỉ hữu ích cho người dùng Internet mà cịn cho các quản trị viên mạng.
Bằng cách ánh xạ địa chỉ tên thành IP trong DNS, quản trị viên có quyền tự do để thay đổi

địa chỉ IP khi cần thiết để bảo trì mạng, các thay đổi cung cấp dịch vụ hoặc đánh số lại mà
không ảnh hưởng đến cách người dùng cuối kết nối.
Điều này cũng hữu ích khi định cấu hình trong IOT như các thiết bị gia dụng, ơ tơ thơng
minh, camera giám sát, v.v. có thể kết nối với Internet độc lập với các lệnh do người dùng
khởi tạo. Các kết nối như vậy có thể được khởi tạo đầu tiên bằng cách tra cứu DNS của địa
chỉ web đã định cấu hình, địa chỉ web mà nó kết nối với bản tin cập nhật trạng thái, cảnh
báo hoặc thông tin khác.
Là một dịch vụ mạng, DNS đã phát triển từ tiện ích tra cứu tên miền thành địa chỉ IP đơn
giản thành các ứng dụng "tra cứu" rất phức tạp hỗ trợ các ứng dụng thoại, dữ liệu, đa phương
tiện và thậm chí cả bảo mật. DNS đã được chứng minh là có khả năng mở rộng cực kỳ cao
và đáng tin cậy cho các chức năng tra cứu như vậy.
1.1.1. Dịch vụ DNS cung cấp
Chúng ta thấy có hai cách để nhận dạng một trạm chủ, bằng tên trạm chủ hoặc bằng địa chỉ
IP. Con người thích định danh theo tên trạm chủ vì nó dễ nhớ, trong khi các bộ định tuyến
thì lại ưa sử dụng địa chỉ IP có cấu trúc phân cấp và độ dài cố định. Để hài hoà những ý
muốn này chúng ta cần một dịch vụ thư mục để phiên dịch tên trạm chủ sang địa chỉ IP.
Đây là nhiệm vụ chính của hệ thống tên miền (DNS) của Internet. DNS là (1) cở sở dữ liệu
phân tán thực hiện trên cấu trúc phân cấp các máy chủ DNS và (2) là một giao thức lớp ứng
dụng cho phép các trạm chủ truy vấn cở sở dữ liệu phân tán. Các máy chủ DNS thường là
các máy UNIX chạy phần mềm BIND (Berkeley Internet Name Domain). Giao thức DNS
chạy trên UDP và sử dụng cổng 53.
8


DNS thường được các giao thức ứng dụng khác sử dụng - bao gồm HTTP, SMTP và
FTP - để phiên dịch tên trạm chủ do người sử dụng đưa ra thành địa chỉ IP. DNS còn
cung cấp một số dịch vụ quan trọng khác ngoài việc phiên dịch tên trạm chủ thành địa chỉ
IP như:
• Host aliasing (Bí danh trạm chủ): Một trạm chủ có tên trạm phức tạp có thể có một
hay nhiều bí danh. DNS có thể được một ứng dụng gọi tới để lấy tên trạm chính tắc

cho một tên trạm bí danh được cung cấp, cũng như địa chỉ IP của trạm chủ đó
• Mail server aliasing (Bí danh server thư): Rõ ràng là chúng ta cũng mong muốn địa
chỉ thư số cần phải dễ nhớ. DNS có thể được một ứng dụng thư gọi tới để lấy tên
chính tắc cho một tên trạm bí danh được cung cấp, cũng như địa chỉ IP của trạm
chủ đó.
• Phân bố tải. DNS cũng được sử dụng để thực hiện phân bố tải giữa các máy chủ
nhân rộng (replicated), như các máy chủ nhân rộng Web. Phân bố tải. DNS cũng
được sử dụng để thực hiện phân bố tải giữa các máy chủ nhân rộng (replicated), như
các máy chủ nhân rộng Web.
1.1.2. Nguyên lý DNS
Về mặt kỹ thuật, DNS là hệ thống máy chủ định danh phân cấp sử dụng hệ thống cơ sở dữ
liệu phân tán toàn cầu lưu giữ thông tin về từng miền. Thông tin DNS được lưu trữ trong
các máy chủ DNS phân tán và thơng tin này có thể được tìm kiếm bất kỳ lúc nào theo yêu
cầu của người dùng.
Hình 1.1. minh họa cấu trúc DNS phân cấp thông qua một tên miền chung. DNS bắt đầu
bằng miền. (Root) ở trên cùng. .com là một TLD (Tên miền cấp cao nhất) có cha là tên
miền. (Root). .google là SLD (Tên miền cấp hai) có tên miền gốc là miền .com. Cuối cùng,
.www (tức là một dịch vụ web) là một miền phụ của .google.com.
Là cấp cao nhất của DNS, Máy chủ định danh gốc .root là một mạng toàn cầu với 13 máy
chủ dự phòng được đặt ở các quốc gia khác nhau, quản lý tất cả các TLD. TLD bao gồm
hai loại: Tên miền cấp mã quốc gia cao nhất (ccTLD) và Tên miền cấp cao nhất chung
(gTLD). ccTLD là viết tắt của tên miền quốc gia, chẳng hạn như .kr (Hàn Quốc) và gTLD
là viết tắt của loại miền chung, chẳng hạn như .com (Công ty) hoặc .org (Tổ chức). Khi số
lượng miền tăng lên, số lượng TLD có sẵn trở nên không đủ và ICANN đã công bố một bộ
TLD mới vào năm 2014. Hiện tại, số lượng máy chủ TLD trên khắp thế giới là khoảng
9


1.500 (do IANA duy trì). Cấu trúc cây dọc như vậy cho phép DNS không chỉ tạo điều kiện
quản lý thơng tin từng miền mà cịn phân phối nhiều u cầu DNS một cách hiệu quả.


Hình 1.1. Cấu trúc DNS
Quá trình dịch địa chỉ IP sang tên miền tương ứng thông qua DNS được gọi là phân giải
tên hoặc phân giải DNS. Phân giải DNS bắt đầu với yêu cầu DNS của khách hàng.
Hình 1.2 minh họa cách một máy khách lấy địa chỉ IP cho máy chủ web thông qua phân
giải DNS, cho phép nó nhận các dịch vụ web.
(1) Một ứng dụng khách yêu cầu địa chỉ IP www.google.com từ trình phân giải DNS
đệ quy cục bộ.
(2) Trình phân giải DNS đệ quy trước tiên sẽ kiểm tra bản dịch địa chỉ trong bộ nhớ
cache cục bộ của nó.
(3) Nếu khơng có thơng tin trong bộ nhớ cache, trình phân giải DNS đệ quy yêu cầu
địa chỉ IP của máy chủ tên TLD từ máy chủ tên gốc.

10


Hình 1.2. Kiến trúc DNS
(4) Máy chủ định danh gốc gửi lại địa chỉ IP của máy chủ định danh .com dưới dạng
phản hồi.
(5) Sử dụng địa chỉ IP này, Trình phân giải DNS đệ quy yêu cầu địa chỉ IP của máy
chủ định danh SLD từ máy chủ định danh .com.
(6) Máy chủ định danh .com gửi lại địa chỉ IP của máy chủ định danh .google.com
dưới dạng phản hồi.
(7) Với địa chỉ IP, Trình phân giải DNS đệ quy yêu cầu địa chỉ IP cho
www.google.com từ máy chủ định danh .google.com.
(8) Máy chủ định danh .google.com gửi lại địa chỉ IP của www.google.com cho trình
phân giải DNS đệ quy.
(9) Trình phân giải DNS đệ quy gửi lại địa chỉ IP của www.google.com cho máy
khách dưới dạng phản hồi. Cuối cùng, với địa chỉ IP (172.217.7.197 trong ví dụ này),
máy khách kết nối với máy chủ www.google.com.

11


Khung DNS bao gồm ba phần sau:
(1) Máy khách: Họ yêu cầu địa chỉ IP với tên miền thông qua trình phân giải sơ khai,
một máy khách của DNS và truyền yêu cầu đến địa chỉ máy chủ DNS cục bộ được
đặt trên thiết bị của nó.
(2) Máy chủ DNS cục bộ (phân giải DNS đệ quy): Chúng nhận truy vấn DNS từ các
máy khách và lấy địa chỉ IP cho tên miền từ các máy chủ định danh miền. Ngồi ra,
địa chỉ IP sau khi được tìm thấy sẽ được lưu trữ trong bộ nhớ trong một khoảng thời
gian nhất định. Vì vậy, nó được gọi là phân giải bộ nhớ đệm (Caching Resolver).
(3) Máy chủ tên miền (Máy chủ định danh ủy quyền): Chúng có và quản lý địa chỉ
IP cho tên miền cũng như thông tin liên quan đến địa chỉ IP. Máy chủ định danh ủy
quyền bao gồm hơn 3 cấp (Gốc, TLD, Miền cấp thấp hơn). Mỗi máy chủ miền bao
gồm một máy chủ chính duy nhất và một số máy chủ phụ.
Tóm lại, quá trình phân giải tên miền địi hỏi (a) tìm một tập hợp các máy chủ định danh
với thơng tin có thẩm quyền để giải quyết truy vấn được đề cập và (b) truy vấn một máy
chủ cho thông tin mong muốn. Trong ví dụ trên, thơng tin mong muốn là địa chỉ IP tương
ứng với tên miền máy chủ www.google.com. Thông tin "bản dịch" này (ánh xạ tên miền
được truy vấn-tới-địa chỉ IP) được lưu trữ trong máy chủ DNS ở dạng bản ghi nguồn RR.
Các loại bản ghi nguồn khác nhau được xác định cho các kiểu tra cứu khác nhau. Mỗi bản
ghi nguồn chứa một “khóa” hoặc giá trị tra cứu hoặc giá trị trả lời tương ứng. Trong một số
trường hợp, một giá trị tra cứu cho một loại nhất định có thể có nhiều mục nhập trong cấu
hình máy chủ DNS. Trong trường hợp này, máy chủ DNS có thẩm quyền sẽ phản hồi với
tồn bộ tập hợp bản ghi nguồn, hoặc tập hợp bản ghi nguồn (RRSet), khớp với giá trị được
truy vấn (tên), lớp và loại.
Việc tổ chức dữ liệu DNS có mục đích sao cho các máy chủ DNS được định cấu hình ở tất
cả các cấp của cây tên miền có thẩm quyền đối với thông tin tên miền tương ứng của chúng,
bao gồm nơi để hướng các truy vấn xuống sâu hơn trong cây miền. Trong hầu hết các trường
hợp, các máy chủ tại các cấp khác nhau được quản lý bởi các tổ chức khác nhau. Không

phải mọi cấp độ hoặc nút trong cây tên miền yêu cầu một bộ máy chủ DNS khác vì một tổ
chức có thể phân phối nhiều cấp miền trong một tập hợp máy chủ DNS chung.
Trong khi ba lớp trên cùng của phân cấp tên miền thường sử dụng ba tập máy chủ DNS
dưới quyền quản trị khác nhau, sự hỗ trợ của nhiều cấp hoặc tên miền trên một tập duy nhất
12


máy chủ DNS là một quyết định việc triển khai. Quyết định này phụ thuộc chủ yếu vào việc
ủy quyền quản trị được yêu cầu hay mong muốn. Ví dụ: quản trị viên DNS tên miền
ipamworldwide.com có thể muốn giữ quyền kiểm soát quản trị của miền
sw.ipamworldwide.com., nhưng ủy quyền dev.ipamworldwide.com đến một nhóm quản trị
viên và máy chủ định danh khác.
1.1.3. DNS cache
Lưu đệm DNS là một đặc tính quan trọng của hệ thống DNS. Thực tế là DNS sử dụng lưu
đệm DNS để cải thiện hiệu năng trễ và giảm số lượng bản tin DNS xuất hiện trên Internet.
Ý tưởng của đệm DNS rất đơn giản. Trong một chuỗi truy vấn, khi một máy chủ DNS nhận
tin trả lời DNS (ví dụ, chứa ánh xạ từ tên trạm chủ sang địa chỉ IP), nó có thể lưu đệm ánh
xạ này ở bộ nhớ nội bộ. Nếu một cặp địa chỉ IP/tên trạm chủ được lưu đệm trong một máy
chủ DNS và có một yêu cầu nữa tới máy chủ DNS này để lấy chính tên trạm chủ đó thì máy
chủ DNS có thể cung cấp địa chỉ IP u cầu, ngay cả khi nó khơng có thẩm quyền về tên
trạm chủ đó. Vì các trạm và ánh xạ giữa tên trạm chủ và địa chỉ IP không phải luôn cố định,
máy chủ DNS sẽ hủy thông tin đệm sau một khoảng thời gian (thường đặt là 2 ngày).
Lấy ví dụ, giả sử là trạm apricot.poly.edu truy vấn dns.poly.edu về địa chỉ IP của tên trạm
chủ cnn.com. Thêm nữa, giả sử là một vài giờ sau, một trạm khác của Đại học Bách khoa,
như kiwi.poly.fr cũng truy vấn dns.poly.edu với cùng tên trạm chủ. Vì có lưu đệm nên máy
chủ DNS cục bộ sẽ có thể trả lời tức thì về địa chỉ IP của cnn.com cho trạm yêu cầu thứ hai
này mà không phải truy vấn bất kỳ một máy chủ DNS nào khác. Máy chủ DNS cục bộ cũng
có thể lưu đệm địa chỉ IP của các máy chủ TLD, do đó cho phép máy chủ cục bộ bỏ qua
các máy chủ DNS gốc trong chuỗi truy vấn (điều này thường xảy ra).
1.1.4. Khuôn dạng bản tin DNS

Bản tin DNS được truyền qua UDP theo mặc định, sử dụng cổng 53. TCP cũng có thể được
sử dụng trên cổng 53. Định dạng cơ bản của bản tin DNS được minh họa như Hình 1.3.
• Phần Tiêu đề (Header) chứa các trường xác định loại bản tin và các thông tin liên
quan, bao gồm số lượng bản ghi cho từng trường sau đây.
• Phần Câu hỏi (Questions) chỉ định thơng tin truy vấn đang được thực hiện.
• Phần Trả lời (Answers) chứa không hoặc nhiều hơn bản ghi nguồn trả lời cho truy
vấn được chỉ định trong phần Truy vấn.

13


Hình 1.3. Khn dạng bản tin DNS
• Phần Thẩm quyền (Authority) chứa không hoặc nhiều hơn bản ghi nguồn đề cập đến
tên máy chủ có thẩm quyền cho câu trả lời nhất định hoặc trỏ đến máy chủ định danh
được ủy quyền xuống cây miền mà một truy vấn lặp lại liên tiếp có thể được đưa ra.
• Phần Bổ trợ (Additional) chứa không hoặc nhiều hơn bản ghi nguồn có chứa thơng
tin bổ sung liên quan đến Truy vấn nhưng khơng phải là câu trả lời chính xác cho
truy vấn.
1.1.4.1. Tiêu đề bản tin
Tiêu đề bản tin DNS nằm trong mọi bản tin DNS và truyền loại (type) cũng như các tham
số liên quan như được minh họa trong Hình 1.4. Phần tiêu đề (header) gồm 12 byte, bao
gồm sáu trường 16 bit.

14


Hình 1.4. Tiêu đề bản tin DNS
(1) ID bản tin - còn được gọi là ID giao dịch, một chỉ số nhận dạng được chỉ định bởi
trình phân giải và được sao chép trong các câu trả lời từ máy chủ DNS để kích hoạt
tính tương quan của trình phân giải phản hồi với các truy vấn.

(2) Codes/Flags - mã bản tin. Các cờ sau đã được định nghĩa:
▪ QR - Truy vấn / Phản hồi - cho biết rằng bản tin này là truy vấn (0)/phản hồi (1).
▪ Opcode - mã hoạt động. Hiện tại, các giá trị sau đã được định nghĩa:
o 0 = Truy vấn
o 1 = Dự trữ (trước đây là truy vấn nghịch đảo, hiện đã gỡ bỏ)
o 2 = Yêu cầu trạng thái máy chủ
o 3 = Chưa được gán
o 4 = Thông Báo - cho phép máy chủ vùng chính báo cho máy chủ vùng phụ
cùng một khu vực rằng một thay đổi đã được thực hiện vào dữ liệu vùng.
o 5 = Cập nhật - cho phép máy chủ DHCP hoặc thực thể khác cập nhật dữ liệu
vùng trên máy chủ DNS.
o 6–15 = Chưa được gán
▪ AA - Câu trả lời có thẩm quyền - khi được đặt bởi máy chủ phản hồi, bản tin này
chứa một câu trả lời có thẩm quyền cho truy vấn. Nếu như nó khơng được đặt,
câu trả lời đến là từ một máy chủ DNS khơng có thẩm quyền, chẳng hạn, thơng
tin được lưu trong bộ nhớ cache từ một truy vấn trước. Khi nhiều câu trả lời được
cung cấp, cờ này gắn với bản ghi đầu tiên trong phần Trả lời. Khi được thiết lập
bởi máy khách trong truy vấn nghĩa là yêu cầu câu trả lời có thẩm quyền (khơng
được lưu trong bộ nhớ cache).

15


▪ TC - Phản hồi bị cắt ngắn - mã này được đặt bởi máy chủ DNS phản hồi, cho
biết rằng bản tin này đã bị cắt bớt để truyền (giới hạn chiều dài của gói UDP)
Các phản hồi nhận được với bộ bit TC thường kích thích hàng đợi để truy vấn lại
qua TCP.
▪ RD – Yêu cầu đệ quy - cờ này được đặt bởi trình phân giải truy vấn để chỉ ra
rằng bên truy vấn muốn máy chủ DNS giải quyết truy vấn lặp đi lặp lại, duyệt
cây miền khi cần thiết.

▪ RA - Đệ quy có sẵn - cờ này chỉ ra rằng dịch vụ truy vấn đệ quy là có sẵn từ máy
chủ DNS phản hồi này.
▪ AD - Dữ liệu xác thực - được sử dụng trong ngữ cảnh của tiện ích mở rộng bảo
mật DNS (DNSSEC), bit này được đặt bởi máy chủ DNS phản hồi để chỉ ra rằng
thông tin trong phần Trả lời và Thẩm quyền là đã được xác thực, có nghĩa.
▪ CD - Đã tắt kiểm tra - được sử dụng trong ngữ cảnh của DNSSEC, bit này cho
phép trình phân giải để vơ hiệu hóa xác thực chữ ký trong quá trình xử lý của
máy chủ DNS về truy vấn cụ thể.
▪ RCODE - Mã phản hồi - cung cấp trạng thái kết quả cho máy khách từ máy chủ
DNS phản hồi. Lưu ý rằng với trường RCODE 4 bit, các giá trị thập phân 1–15
là được mã hóa trong trường RCODE của tiêu đề DNS.
(3) Số lượng Câu hỏi (QDCOUNT) - số lượng câu hỏi có trong phần Câu hỏi.
(4) Số bản ghi câu trả lời (ANCOUNT) - số lượng RR chứa trong phần Trả lời.
(5) Số lượng bản ghi quyền hạn (NSCOUNT) - số lượng RR chứa trong phần Thẩm
quyền.
(6) Số lượng bản ghi bổ sung (ARCOUNT) - số lượng RR chứa trong phần Bổ trợ.
1.1.4.2. Phần Câu hỏi
Mỗi Câu hỏi này có định dạng được minh họa trong Hình 1.5. Phần Câu hỏi chứa thơng tin
truy vấn đang được thực hiện. Phần này có thể chứa nhiều hơn một truy vấn, được xác định
bằng số được tham chiếu trong QDCOUNT. Mỗi truy vấn này có định dạng như sau:
▪ Trường QNAME chứa tên miền, được định dạng dưới dạng một chuỗi các
nhãn. Trường QTYPE cho biết loại truy vấn hoặc mục đích của truy vấn được
yêu cầu là gì.

16


▪ Trường QCLASS cho biết truy vấn này đang được thực hiện cho lớp nào; Ví
dụ, IN cho lớp Internet, lớp phổ biến nhất. Các lớp về cơ bản cho phép quản
lý khơng gian tên song song.


Hình 1.5. Định dạng Phần Câu hỏi
1.1.4.3. Phần Trả lời
Phần Trả lời chứa câu trả lời dưới dạng bản ghi nguồn. Số lượng câu trả lời được chỉ định
trong ANCOUNT. Các loại bản ghi nguồn khác nhau đều có chung một định dạng chung
chung như sau:
(1) Trường Name là tên tra cứu tương ứng với bản ghi nguồn này (tương ứng với giá trị tra
cứu hoặc QNAME trong truy vấn ban đầu).
(2) Trường Type cho biết loại thông tin được cung cấp cho tên này, ví dụ:
• Nếu Type=A thì Name (tên) là tên trạm và Value (giá trị) là địa chỉ IP của tên trạm
đó. Vì vậy, bản ghi Type A cung cấp ánh xạ tên trạm chủ-tới- địa chỉ IP chuẩn. V
dụ (relay1.bar.foo.com, 145.37.93.126, A) là bản ghi Type A.
• Nếu Type=NS thì Name là tên miền (như foo.com) và Value là tên trạm của máy
chủ DNS thẩm quyền máy chủ này biết cách lấy địa chỉ IP của các trạm chủ trong
miền đó.
• Nếu Type=CNAME thì Value là tên trạm chính tắc cho tên trạm bí danh Name.
• Nếu Type=MX thì Value là tên chính tắc của máy chủ thư có tên trạm bí danh Name.
(3) Trường Class đại diện cho lớp không gian tên, chẳng hạn như IN cho Internet.
(4) Trường TTL hoặc Thời gian tồn tại cung cấp giá trị thời gian tính bằng giây đối với thời
gian tồn tại hợp lệ của bản ghi nguồn. Người nhận thông tin này có thể lưu vào bộ nhớ
cache thơng tin này cho giây TTL và có thể sử dụng nó một cách đáng tin cậy. Tuy
nhiên, khi hết hạn TTL, thông tin đã lưu trong bộ nhớ cache phải được loại bỏ.
(5) Trường RDLength cho biết độ dài tính bằng byte của trường kết quả, RData.
17


(6) Trường RData chứa thông tin tương ứng của Type được chỉ định trong Class đã xác
định, cho Chủ sở hữu nhất định. Trường RData có định dạng thay đổi dựa trên loại bản
ghi nguồn.
Phần Trả lời về cơ bản chứa các bản ghi nguồn được xuất bản trong tệp vùng hoặc cơ sở

dữ liệu tương ứng phù hợp với truy vấn (Qname, Qclass và Type).

Hình 1.6. Định dạng Phần Trả lời
1.1.4.4. Phần Thẩm quyền
Phần thẩm quyền chứa số NSCOUNT của các câu trả lời dưới dạng bản ghi nguồn có cùng
định dạng như đã thảo luận trong Phần trả lời. Nói chung, chỉ các bản ghi nguồn NS (máy
chủ định danh) mới hợp lệ trong phần Authority, mặc dù hầu hết các máy chủ định danh
trả về bản ghi SOA trong phần này nếu máy chủ định danh được truy vấn là có thẩm quyền
nhưng phần Trả lời trống. Phần này cũng chứa thông tin về các máy chủ định danh khác có
thẩm quyền cho thơng tin được truy vấn. Thơng tin này được sử dụng bởi trình giải phân
giải truy vấn, hay máy chủ định danh đệ quy, để xác định máy chủ định danh tiếp theo để
truy vấn trong quá trình duyệt cây miền để tìm câu trả lời cuối cùng.
1.1.4.5. Phần Bổ sung
Phần Bổ sung chứa ASCOUNT số câu trả lời dưới dạng bản ghi nguồn, cung cấp thông tin
bổ sung hoặc liên quan cho truy vấn, ở định dạng tương tự như trong phần Trả lời.
18


1.1.5. Một số hạn chế của DNS
Hạn chế chính trong DNS chính là thiếu bảo mật. Giao thức DNS ban đầu không xem xét
vấn đề này một cách sâu sắc. Do đó, dữ liệu DNS có thể bị giả mạo để dịch sang một địa
chỉ IP độc hại, để người dùng Internet có thể kết nối với một trang web khơng được ủy
quyền. Ví dụ, điều này có thể được sử dụng để phân phối thông tin sai lệch hoặc thu thập
thông tin cá nhân một cách lén lút. DNS không cung cấp cách xác minh rằng bản dịch địa
chỉ IP nhận được là xác thực. Phản hồi DNS bị hỏng hoặc bị chặn có thể cung cấp thơng
tin sai cho bất kỳ người yêu cầu nào. DNSSEC đã được phát triển để khắc phục lỗ hổng
bảo mật cơ bản này của DNS.
1.2. DNSSEC
DNSSEC, là một công nghệ tiêu chuẩn Internet, nhằm mục đích loại bỏ lỗ hổng này của
DNS. DNSSEC ban đầu được chuẩn hóa vào năm 2005 với tên gọi IETF RFCs 4033 đến

4035. Sử dụng hai khóa - Khóa ký vùng và Khóa ký chính (KSK) - để tạo chữ ký số với
Mật mã khóa cơng khai, DNSSEC đảm bảo tính tồn vẹn và xác thực cho dữ liệu DNS.
1.2.1 Mục đích của DNSSEC
DNSSEC tăng cường đáng kể bảo mật DNS bằng cách thêm Mật mã khóa cơng khai vào
DNS hiện có. Ví dụ: cuộc tấn cơng nhiễm độc bộ nhớ cache DNS định cấu hình trình phân
giải DNS cục bộ của ISP và bộ nhớ cache của chúng để ánh xạ các tên miền cụ thể tới các
địa chỉ IP độc hại. Là một giải pháp cho các vấn đề bảo mật cơ bản của DNS như vậy,
DNSSEC cung cấp xác thực mạnh mẽ bằng cách sử dụng chữ ký số, dựa trên Mật mã khóa
cơng khai.
1.2.2 Nguyên lý DNSSEC
1.2.2.1. Chữ ký số
Chữ ký số cho phép người khởi tạo một tập hợp dữ liệu nhất định để ký dữ liệu bằng khóa
cá nhân và người nhận để xác thực dữ liệu bằng cách sử dụng một khóa cơng khai tương
ứng. DNSSEC sử dụng mật mã khóa khơng đối xứng, trong đó cặp khóa riêng tư/cơng khai
được liên kết tốn học. Trong một mơ hình như vậy, dữ liệu được ký bằng khóa cá nhân có
thể được xác thực bằng cách giải mã dữ liệu với khóa cơng khai tương ứng và ngược lại.
Điều này cung cấp xác thực rằng dữ liệu đã xác minh thực sự đã được ký bằng khóa cá
nhân. Chữ ký số cũng cho phép xác minh rằng dữ liệu nhận được khớp với dữ liệu đã gửi
và không bị giả mạo trong khi truyền.
19


Bước đầu tiên trong việc ký dữ liệu là tạo ra một hash của dữ liệu, còn được gọi là thông
báo. Hàm hash là các hàm một chiều xáo trộn dữ liệu thành một chuỗi có độ dài cố định để
thao tác đơn giản hơn và thể hiện "dấu vân tay" của dữ liệu. Điều này có nghĩa là rất khó
để một đầu vào dữ liệu khác có thể tạo ra cùng một giá trị hash.
Cả dữ liệu và chữ ký liên quan của nó đều được truyền đến hoặc lấy theo cách khác bởi
người nhận. Lưu ý rằng bản thân dữ liệu khơng được mã hóa, chỉ được ký. Người nhận phải
có quyền truy cập vào khóa cơng khai tương ứng với khóa cá nhân được sử dụng để ký dữ
liệu. Trong một số trường hợp, hệ thống phân phối khóa cơng khai an tồn (đáng tin cậy)

chẳng hạn như cơ sở hạ tầng khóa cơng khai (PKI) được sử dụng để cung cấp khóa cơng
khai. Trong trường hợp DNSSEC, khóa cơng khai được xuất bản trong DNS và chữ ký
được bao gồm cùng câu trả lời truy vấn (tức là dữ liệu đã ký).
Người nhận tính tốn một hàm hash của dữ liệu bản ghi tài nguyên đã nhận, cũng như người
khởi tạo dữ liệu. Người nhận áp dụng thuật tốn mã hóa cho chữ ký đã nhận với khóa cơng
khai của người khởi tạo. Thao tác này là nghịch đảo của quy trình tạo ra chữ ký và tạo ra
dữ liệu gốc hash làm đầu ra của nó. Kết quả của việc giải mã này, hash dữ liệu gốc, được
so sánh với hash được tính tốn của dữ liệu người nhận. Nếu chúng khớp, dữ liệu chưa
được sửa đổi và chủ sở hữu khóa cá nhân đã ký dữ liệu. Nếu người giữ khóa cá nhân có thể
được tin cậy, thì dữ liệu có thể được coi là bảo đảm. Hình 1.7. cho thấy ví dụ về xác thực
dữ liệu bằng cách sử dụng mật mã khóa cơng khai.

Hình 1.7. Ví dụ xác thực mật mã khóa công khai
20


(1) Alice tạo một cặp khóa khơng đối xứng, bao gồm khóa Cơng khai và Khóa riêng tư.
(2) Alice phân phối khóa Cơng khai lên Internet.
(3) Alice tạo “chữ ký” bằng cách ký văn bản thuần túy bằng Khóa riêng của cô ấy.
(4) Alice truyền “chữ ký” cùng với “dữ liệu gốc” cho Bob.
(5) Bob nhận được “dữ liệu gốc” với “chữ ký” từ Alice
(6) Bob tra cứu Khóa cơng khai của Alice
(7) Bob thực hiện xác thực chữ ký của “dữ liệu gốc” bằng “chữ ký”, sử dụng Khóa công
khai của Alice.
(8) Nếu chữ ký được xác minh thành cơng, thì Bob được đảm bảo rằng dữ liệu ban đầu có
chủ đích từ Alice là chính xác.
DNSSEC đã thêm bốn loại RR mới vào các bản ghi DNS hiện có: Chữ ký Bản ghi nguồn
(RRSIG), Khóa Cơng khai DNS (DNSKEY), NSEC/NSEC3 và DS. Các loại bản ghi này
hỗ trợ chữ ký số và quá trình xác minh chữ ký.
(1) RRSIG: RR này có chữ ký cho tập hợp bản ghi được bảo mật DNSSEC.

(2) DNSKEY: RR này chứa khóa công khai để xác minh chữ ký trong các bản ghi RRSIG.
(3) NSEC / NSEC3: RR này dành cho sự từ chối rõ ràng về sự tồn tại của một bản ghi DNS.
(4) DS (người ký ủy quyền): RR này giữ tên của khu vực được ủy quyền. Bản ghi DS được
đặt trong vùng mẹ cùng với các bản ghi NS ủy quyền cho chuỗi xác thực giữa vùng mẹ và
vùng con.
1.2.2.2. Kiến trúc DNSSEC
Tiêu chuẩn chữ ký điện tử yêu cầu một cơ chế không chỉ xác minh chữ ký nhưng để xác
nhận đảm bảo rằng các chữ ký tương ứng với mục đích của người ký tên.
Các thơng số kỹ thuật DNSSEC khơng tính đến hệ thống phân phối khóa an tồn, vì vậy
một hoặc nhiều khóa đáng tin cậy phải được định cấu hình theo cách thủ cơng trên trình
phân giải hoặc máy chủ định danh đệ quy. Khóa tin cậy là khóa cơng khai được ủy quyền
và xuất bản bởi quản trị viên miền cho vùng DNS đã cho. Đối với mỗi câu trả lời truy vấn

21


đã ký, trình phân giải khơng chỉ phải xác thực chữ ký mà cịn phải xác nhận rằng khóa cơng
khai được sử dụng để xác thực tương ứng với một khóa đáng tin cậy cho vùng đó.
DNSSEC triển khai một chuỗi tin cậy theo sau cây tên miền DNS tiêu chuẩn để cho phép
xác thực các khóa trên cây cho vùng gốc tin cậy. Mỗi miền từ gốc trở xuống chữ ký vùng
phải được liên kết trong chuỗi tin cậy để đảm bảo xác nhận thành công bên ký. Một sự phá
vỡ trong chuỗi tin cậy làm mất hiệu lực độ tin cậy của khóa trừ khi khu vực được liên kết
hoặc khóa cơng khai của vùng khởi tạo đã ký được định cấu hình làm khóa tin cậy.
Các khóa đáng tin cậy đã định cấu hình được gọi là neo tin cậy và khóa vùng gốc có thể đủ
làm neo tin cậy duy nhất của bạn hoặc bạn có thể cần phải định cấu hình thêm neo tin cậy
cho các vùng đã ký có vùng mẹ khơng được ký.
Hình 1.8. cho thấy cách DNSSEC hoạt động với tư cách là Chuỗi tin cậy. So với Hình 1.2,
yêu cầu địa chỉ IP của DNSSEC giống với yêu cầu của DNS. Tuy nhiên, quá trình xác minh
được thêm vào DNS hiện có. Các máy chủ DNS xác minh lẫn nhau bằng chữ ký số từ các
CA đáng tin cậy. Do đó, các máy chủ DNS duy trì một chuỗi bảo mật mạnh mẽ giữa nhau

để đảm bảo tính tồn vẹn và xác thực của dữ liệu DNS.

Hình 1.8. Kiến trúc chuỗi tin cậy DNSSEC
22


(1) Trình phân giải DNS trước tiên đặt một “Neo tin cậy” (Trust Anchor) tương ứng với
khóa cơng khai từ vùng miền gốc, như bản ghi KSK qua DNSKEY.
(2) “Neo tin cậy” là điểm bắt đầu để xác minh chữ ký trong dữ liệu DNS đã ký, làm cơ sở
để đảm bảo “Tin cậy” cho Tính tồn vẹn của dữ liệu.
(3) Trình phân giải DNS thực hiện xác minh chữ ký từ vùng miền gốc đến dữ liệu bản ghi
A, đây là nút cuối cùng của quá trình xác minh và sau đó tin cậy dữ liệu.
DNSSEC bổ sung bảo mật mạnh mẽ để xác thực các phản hồi DNS. Do đó, DNSSEC đảm
bảo với người dùng rằng dữ liệu DNS có nguồn gốc từ đâu, dữ liệu này khơng bị giả mạo
khi chuyển tiếp và xác minh xem miền có tồn tại hay khơng.
1.3 DNS đa hướng
Giao thức DNS đa hướng (mDNS), được mô tả bởi RFC 6762, là một dịch vụ DNS để phân
giải tên máy chủ thành địa chỉ IP trong các mạng nhỏ khơng có máy chủ định danh cục bộ.
Không giống như DNS đơn hướng thơng thường, mDNS sử dụng gói IP đa hướng user
datagram protocol (UDP). Do đó, mọi nút trên mạng đăng ký địa chỉ đa hướng đó sẽ nhận
được yêu cầu phân giải tên máy chủ. Máy chủ sở hữu tên miền đó phản hồi, cũng sử dụng
đa hướng, với địa chỉ IP của nó. Tất cả các nút đăng ký địa chỉ đa hướng có thể cập nhật bộ
đệm DNS của chúng bằng phản hồi. Hình 1.9. minh họa giao thức mDNS cơ bản.

Hình 1.9. Kiến trúc DNS đa hướng
Với sự ra đời của IPv6 và việc sử dụng nhiều thiết bị nhúng (ví dụ: thiết bị IoT) ngày càng
tăng, cơ sở hạ tầng DNS thông thường, hơi phức tạp sẽ gây bất tiện cho cấu hình dịch vụ
cục bộ. Đến giải quyết vấn đề này, mDNS đã được thực hiện bởi Apple Bonjour và
23



Microsoft Link-local Multicast Name Resolution. Ban đầu, mDNS được dự định để tìm
kiếm các thiết bị máy in trong mạng nhưng sau đó đã mở rộng khả năng phân giải tên máy
cục bộ.
Các lợi ích chính của mDNS là khơng cấu hình và khơng có cơ sở hạ tầng. Nó có sẵn mà
khơng cần cài đặt DNS thơng thường và không yêu cầu máy chủ định danh cục bộ. Đồng
thời, người dùng có thể kết nối và sử dụng các thiết bị trong mạng thuận tiện hơn vì việc
truy cập vào các thiết bị rất trực quan.
mDNS có một số điểm yếu. Đầu tiên, nếu mDNS được tiếp xúc với Internet, kẻ tấn cơng
có thể dễ dàng thu thập thơng tin về các thiết bị và dịch vụ trên mạng. Đa hướng vốn dĩ là
một phương tiện mạnh mẽ để gắn kết các cuộc tấn công Từ chối Dịch vụ. Vì mDNS là một
giao thức dựa trên UDP, nó có thể dễ bị tấn công khuếch đại bằng cách sử dụng các truy
vấn mDNS và các cuộc tấn công giả mạo là không đáng kể.

24


CHƯƠNG 2: LỖ HỔNG BẢO MẬT
An ninh mạng là một cơ chế phòng thủ để bảo vệ hệ thống khỏi các cuộc tấn công nguy
hiểm khác nhau; các cuộc tấn cơng mạng vơ hiệu hóa hoặc tránh các biện pháp phòng thủ
này. Các lỗ hổng hoặc điểm yếu cho phép các cuộc tấn công như vậy. Phần này xem xét cụ
thể các lỗ hổng DNS và DNSSEC
2.1. Các lỗ hổng của DNS
Các lỗ hổng DNS có thể được nhìn nhận theo 3 cách: theo khái niệm, theo cấu trúc và theo
giao tiếp.
2.1.1. Quan điểm khái niệm
Bộ ba CIA là một mơ hình khái niệm về bảo mật thơng tin, bao gồm ba yếu tố: tính bảo
mật, tính tồn vẹn và tính sẵn sàng. Sau đây là đánh giá của DNS về mặt bảo mật thông tin.
(1) Bảo mật: Các yêu cầu và phản hồi DNS trong hầu hết các trường hợp được gửi qua giao
thức UDP, giao thức này nhẹ và nhanh, nhưng thường khơng được mã hóa, cho phép nghe

trộm tất cả các tin nhắn. Bên cạnh đó, thơng tin được lưu trữ bởi các máy chủ DNS nhất
thiết phải cơng khai, vì các ràng buộc tên đến địa chỉ phải được phục vụ theo u cầu.
(2) Tính tồn vẹn: DNS khơng có sửa đổi khơng có cơ chế ký hiệu dữ liệu bằng mật mã, đó
là điểm yếu lớn nhất duy nhất của nó; bất kỳ ai cũng có thể giả mạo hoặc giả mạo dữ liệu
DNS.
(3) Tính khả dụng: cấu trúc phân cấp của DNS, trừ khi được tăng cường với khả năng dự
phòng, rất dễ bị tấn công vào các máy chủ DNS hoặc các lỗi của các máy chủ đó
2.1.2. Quan điểm Cấu trúc
Các máy chủ DNS có cấu trúc cây phân cấp từ Máy chủ đến một máy chủ tên miền cụ thể.
Tuy nhiên, một tính năng DNS như vậy bao gồm các vấn đề về cấu trúc, có thể ảnh hưởng
đến các lỗ hổng DNS. Các vấn đề về cấu trúc trong DNS như sau:
(1) Thiếu DNS dự phòng: Cấu trúc DNS phân cấp phân phối và xử lý các truy vấn DNS
hiệu quả hơn. Người dùng có thể yêu cầu từng bước một địa chỉ IP của miền mong muốn
và nhận được phản hồi. Mặc dù DNS được thiết kế để phân tán, nhưng lưu lượng vẫn tập
trung vì tính tập trung. Cấu trúc DNS tập trung khiến kẻ tấn công dễ dàng tấn công nhiều
dịch vụ Internet được nhiều người dùng Internet sử dụng.
25


×