Tải bản đầy đủ (.docx) (15 trang)

báo cáo : giao thức DNSSEC

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 (351.43 KB, 15 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP.
HCM
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN MÔN HỌC
BẢO MẬT THÔNG TIN

CHUYÊN ĐỀ: DNSSEC
Giảng Viên Hướng Dẫn:

Sinh Viên Thực Hiện

MSSV

TP. Hồ Chí Minh, 2018

Lớp


2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP.
HCM
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN MÔN HỌC
BẢO MẬT THÔNG TIN

CHUYÊN ĐỀ: DNSSEC
Giảng Viên Hướng Dẫn:
Sinh Viên Thực Hiện



MSSV

Lớp


3

TP. Hồ Chí Minh, 2018
MỤC LỤC
LỜI MỞ ĐẦU...................................................................................................................4
1. DNSSEC là gì?...............................................................................................................6
2. Cơ Chế Hoạt Động..........................................................................................................6
3. Ứng dụng DNSSEC để bảo mật cho hệ thống DNS......................................................10
4. Kết Luận....................................................................................................................... 14


4

LỜI MỞ ĐẦU
Như đã biết, DNS là hệ thống nền tảng quan trọng giúp truy cập
và sử dụng dịch vu trên mạng Internet, máy chủ DNS thực hiện phân
giải giữa tên miền sang địa chỉ IP và ngược lại. Là hệ thống dẫn
đường được ví như trái tim của mạng Internet.

Do tính chất quan trọng của hệ thống này, hiện nay các cuộc tấn
công, khai thác lỗ hổng của hệ thống DNS ngày càng được tiến hành
một cách tinh vi, với quy mô ngày càng lớn đặc biệt trong bối cảnh
an toàn thông tin ngày càng trở lên quan trọng như hiện nay.
Với mục đích làm tê liệt hệ thống hoặc chuyển hướng tên miền

đến một địa chỉ IP khác, từ đó có thể đánh cắp dữ liệu cá nhân của
người dùng. Làm cho người dùng tin rằng họ đang truy xuất vào một
website hoặc máy tính hợp lệ trong khi thực chất họ đã được dẫn đến
một trang web có chứa nội dung độc hại.


5

Vậy tại sao DNS lại dễ bị tấn công ?
Do DNS sử dụng cơ chế truyền tải UDP, vì vậy khi truy vấn, bất
kỳ gói tin UDP trả về cũng có thể là câu trả lời. Mặt khác gói tin UDP
trả về chỉ cần đúng Source IP, Source port, Destination IP,
Destination port, DNS query ID từ đó có thể vượt qua kiểm tra
(bailiwick checking).
Các dạng tấn công DNS phổ biến:


Giả mạo master trong việc đồng bộ dữ liệu giữa các máy chủ
DNS.



Spoofing master, spoofing update, …



Chuyển hướng phân giải DNS người dùng sang DNS giả mạo:
Man in middle attack.




Đầu độc bộ nhớ Cache DNS: DNS Cache Poisoning hay DNS
Pharming



Giả mạo hoặc thay đổi các bản ghi trong DNS.
Để giải quyết các nguy cơ ở trên, ngay từ năm 1990, các giải

pháp khắc phục đã được nghiên cứu. Năm 1995, giải pháp DNSSEC
được công bố, năm 2001 được xây dựng thành các tiêu chuẩn RFC
dự thảo và cuối cùng được IETF chính thức công bố thành tiêu chuẩn
RFC vào năm 2005. Vậy DNSSEC sẽ vận hành như thế nào?
Do chưa có nhiều kinh nghiệm nghiên cứu, thực hành nên đề tài
thực hiện còn nhiều thiếu sót, nhóm em mong nhận được những
đóng góp, ý kiến của thầy để đề tài được hoàn thiện hơn.


6

Chúng em xin chân thành cảm ơn!

1. DNSSEC là gì?
DNSSEC (DNS Security Extensions) là tiêu chuẩn an toàn
mở rộng cho hệ thống DNS được định nghĩa trong các RFC
4033, 4034, 4035. Dựa trên mã hóa PKI (Public/Private Key) để
thêm chữ ký số vào câu trả lời truy vấn DNS Truy vấn tên miền
với hệ thống DNSSEC có bước xác thực (validation), thiết lập kết
nối an toàn, tin cậy với người sử dụng.


2. Cơ Chế Hoạt Động
Trong khi giao thức DNS thông thường không có công cụ để
xác thực nguồn dữ liệu. Trước nguy cơ dữ liệu DNS bị giả mạo và
bị làm sai lệch trong các tương tác giữa máy chủ DNS với các
máy trạm (resolver) hoặc máy chủ chuyển tiếp (forwarder),
công nghệ bảo mật mới DNSSEC đã được nghiên cứu, triển khai
áp dụng để hỗ trợ cho DNS bảo vệ chống lại các nguy cơ giả
mạo làm sai lệch nguồn dữ liệu. Trong đó DNSSEC sẽ cung cấp
một cơ chế xác thực giữa các máy chủ DNS với nhau và xác
thực cho từng zone dữ liệu để đảm bảo toàn vẹn dữ liệu.
Bản chất DNSSEC cung cấp các cơ chế có khả năng chứng
thực và đảm bảo toàn vẹn dữ liệu cho hệ thống DNS, theo đó
DNSSEC đưa ra 4 loại bản ghi mới:


Bản ghi khóa công cộng DNS (DNSKEY – DNS Public Key):
sử dụng để chứng thực zone dữ liệu.


7



Bản ghi chữ ký tài nguyên (RRSIG – Resource Record
Signature): sử dụng để chứng thực cho các bản ghi tài
nguyên trong zone dữ liệu.



Bản ghi bảo mật kế tiếp (NSEC – Next Secure): sử dụng

trong quá trình xác thực đối với các bản ghi có cùng sở hữu
tập các bản ghi tài nguyên hoặc bản ghi CNAME. Kết hợp
với bản ghi RRSIG để xác thực cho zone dữ liệu.



Bản ghi ký ủy quyền (DS – Delegation Signer): thiết lập
chứng thực giữa các zone dữ liệu, sử dụng trong việc ký xác
thực trong quá trình chuyển giao DNS.

DS

RRSIG

1) Khi client gửi truy vấn tìm kiếm địa
chỉ www.tphcm.huypd.com tới Local DNS Server.
2) Local Server sẽ đi đến các Root Server để
hỏi domain huypd.com và Root Server sẽ hướng dẫn Local


8

Server đi đến trực tiếp Authoritative DNS Server của
domain huypd.com cần tìm.
3) Sau đó Local DNS Server sẽ đến Authoritative DNS
Server huypd.com để hỏi DNS Server tphcm.huypd.com, DNS
Server huypd.com sẽ hướng dẫn Local DNS Server đi đến thẳng
Authoritative DNS Server chịu trách nhiệm
domain tphcm.huypd.com
4) Local DNS Server abc.com tiếp tục đến DNS

Server tphcm.huypd.com để hỏi địa chỉ www.tphcm.huypd.com
5) Lúc này DNS Server sẽ kiểm tra trong zone và thấy có record
www, DNS Server sẽ trả lời lại Local DNS Server abc.com bằng
gói tin DNS Response bao gồm địa chỉ IP, DNSKEY, RRSIG.

6) Sau khi Local DNS Server nhận được gói DNS Response, lúc
này nó cần phải kiểm tra xem dữ liệu DNS Response có phải
đúng DNS Server tphcm.huypd.com gửi hay không ? Bằng cách


9

đi lên Parent zone (tức DNS Server huypd.com) để xin số
Delegation Signer (DS).
7) DNS Server huypd.com sẽ gửi số DS về cho Local DNS
Server abc.com.
8) Sau khi nhận được DS, Local DNS Server abc.com lấy số
DNSKEY trong gói tin DNS Response đem đi Hash với DS. Và ra
một giá trị Hash 1.
9) Tiếp tục, Local DNS Server lấy DNSKEY và RRSIG đem đi Hash
và ra một giá trị Hash 2
10) Lấy HASH 1 so sánh với HASH 2 xem có bằng nhau không,
nếu bằng nhau thì dữ liệu là chính xác. Sau đó Local DNS Server
sẽ xét các thông tin trong RRSIG (bao gồm thời gian RRSIG,
Time To Live).
11) Sau khi đã xác minh, lúc này dữ liệu đã hoàn toàn chính
xác, Local DNS Server trả về cho Client truy vấn.

Như vậy, bằng cách thức tổ chức thêm những bản ghi mới
và những giao thức đã được chỉnh sửa nhằm chứng thực nguồn

gốc và tính toàn vẹn dữ liệu cho hệ thống, với DNSSEC, hệ
thống DNS đã được mở rộng thêm các tính năng bảo mật và
được tăng cường độ an toàn, tin cậy, khắc phục được những
nhược điểm của thiết kế sơ khai ban đầu. Vừa đáp ứng được các
yêu cầu thông tin định tuyến về tên miền, giao thức làm việc
giữa các máy chủ DNS với nhau, vừa đáp ứng được các yêu cầu
bảo mật, tăng cường khả năng dự phòng cho hệ thống.


10

DNSSEC đã thay đổi mô hình DNS từ mô hình mở (open) sang
mô hình tin cậy (trusting) và xác thực (verifiable). Không cung
cấp confidentiality (không mã hóa).
Với các tính năng:


Chứng thực dữ liệu trong quá trình gửi đi. (Sender
authentication)



Toàn vẹn dữ liệu trong quá trình truyền. (Data Integrity)



Xác thực từ chối tồn tại. (Authenticated denial of
existence)

3. Ứng dụng DNSSEC để bảo mật cho hệ thống DNS

Các bản ghi trong DNSSEC được khai báo trong các zone
dữ liệu để chứng thực thông tin trong zone dữ liệu đó, đảm bảo


11

độ tin cậy trong quá trình trao đổi thông tin cũng như truy vấn
tìm kiếm DNS. Trong khi vẫn đảm bảo hoạt động bình thường
của các bản ghi tài nguyên DNS thông thường thì các bản ghi
DNSSEC cần khai báo chính xác và thông tin xác thực phải đồng
bộ.
DNSSEC đưa ra khái niệm ký zone (Zone Signing): một zone
được ký bao gồm khóa công cộng DNS (DNS Public Key), chữ ký
bản ghi tài nguyên (RRSIG), bảo mật tiếp theo (NSEC), và ký
chuyển giao (Delegation Signer). Một zone mà không thêm
những bản ghi này vào là một zone chưa được ký. Đồng thời
DNSSEC đòi hỏi thay đổi định nghĩa của bản ghi tài nguyên
CNAME bằng 2 bản ghi chứng thực là bản ghi RRSIG và bản ghi
NSEC.
 Thêm bản ghi DNSKEY vào một zone
Để ký một zone, người quản trị zone sẽ tạo một hay nhiều
cặp khóa công cộng/dành riêng (public/private), cặp khóa công
cộng dùng cho zone chính và khóa riêng để ký cho những bản
ghi cần xác thực trong zone. Mỗi zone phải thêm một bản ghi
DNSKEY (zone DNSKEY RR) chứa đựng khóa công cộng tương
ứng, và mỗi khóa riêng được dùng để tạo bản ghi RRSIG trong
zone.
Bản ghi chứng thực DNSKEY cho zone phải có bit Zone Key
của trường dữ liệu cờ đặt giá trị là 1. Nếu quản trị zone có ý
định ký một zone để chứng thực thì zone chính phải chứa đựng

ít nhất một bản ghi DNSKEY để hoạt động như một điểm bảo
mật ở trong zone. Điểm bảo mật được dùng cùng với bản ghi DS
tương ứng ở zone cha trong hoạt động chuyển giao DNS.


12

 Thêm các bản ghi RRSIG vào một zone
Với một zone đã được ký bởi bản ghi DNSKEY, thì các bản
ghi tài nguyên trong zone đó cần có một bản ghi RRSIG ký xác
thực. Một bản ghi tài nguyên có thể có nhiều bản ghi RRSIG kết
hợp với nó. Các bản ghi RRSIG chứa chữ ký điện tử kết hợp chặt
chẽ với các bản ghi tài nguyên để xác thực cho các bản ghi tài
nguyên đó. Đặc biệt, giá trị TTL trong các bản ghi RRSIG với một
tên miền sở hữu không giống với giá trị TTL của bản ghi tài
nguyên.
Trong trường hợp các bản ghi tài nguyên cùng sở hữu một
tên miền thì cần kết hợp bản ghi RRSIG với bản ghi NSEC để xác
thực, trường hợp này cũng tương tự đối với bản ghi CNAME.
Tập bản ghi tài nguyên NS trong zone phải được ký xác
thực, khi bản ghi NS là bản ghi chuyển giao từ máy chủ tên
miền cha xuống máy chủ tên miền con thì cần kết hợp bản ghi
RRSIG với bản ghi xác thực DS. Bản ghi glue cũng cần xác thực
bằng RRSIG.

 Thêm bản ghi NSEC vào một zone
Mỗi tên miền sở hữu nhiều hơn 1 bản ghi tài nguyên cùng
loại trong một zone hoặc một tập bản ghi NS chuyển giao thì
phải có một bản ghi NSEC để xác thực. Trong đó, giá trị TTL nhỏ
nhất cho một bản ghi NSEC phải bằng với giá trị TTL trong bản

ghi SOA của zone đó.


13

Một bản ghi NSEC và bản ghi RRSIG kết hợp với nó không
nhất thiết là bản ghi duy nhất cho bất cứ tên miền sở hữu bản
ghi bảo mật nào. Vì thế, qui trình ký không phải tạo bất cứ bản
ghi RRSIG hoặc NSEC nào cho những tên miền sở hữu bản ghi
mà không sở hữu bất cứ tập bản ghi nào trước khi vùng được ký.
Lý do chính là muốn ổn định giữa không gian đã ký và không
gian chưa ký của một zone và mong giảm rủi ro đối với những
mâu thuẫn trong phản hồi những máy chủ truy vấn đệ qui
không được cấu hình bảo mật.
Các bản ghi RRSIG hiện diện tại tên miền sở hữu các tập
bản ghi mà nó nắm giữ. Các bản ghi NSEC hiện diện tại tên
miền sở hữu và còn hiện diện tại điểm chuyển giao của các tên
miền con của chúng. Vì thế, bất cứ tên miền nào có một tập bản
ghi NSEC sẽ có các bản ghi RRSIG trong vùng được ký.
 Thêm bản ghi DS vào trong một zone
Bản ghi DS thiết lập chứng thực giữa những zone DNS. Một
bản ghi DS được biểu diễn cho bản ghi chuyển giao khi vùng
con được ký. Bản ghi DS kết hợp với bản ghi RRSIG để chứng
thực cho zone được chuyển giao tại máy chủ tên miền cha. Bản
ghi DS được khai báo trước , và bản ghi RRSIG khai báo sau
giống như khai báo để xác thực cho một bản ghi tài nguyên
thông thường.
Trường TTL của tập bản ghi DS phải ứng với trường TTL của
tập bản ghi NS ủy quyền (có nghĩa là tập bản ghi NS trong cùng
vùng chứa tập bản ghi DS). Việc xây dựng một bản ghi DS đòi



14

hỏi phải có hiểu biết của bản ghi DNSKEY tương ứng trong vùng
con để đưa ra được các giao tiếp giữa vùng con và vùng cha.
 Những thay đổi đối với bản ghi CNAME
Nếu một tập bản ghi CNAME hiện diện tại một tên miền
trong một vùng được ký, sẽ thay thế bằng tập bản ghi RRSIG và
NSEC tương ứng trong tên miền đó. Đây là một phiên bản đã
được chỉnh sửa của định nghĩa CNAME nguyên gốc. Định nghĩa
nguyên gốc của bản ghi CNAME không cho phép bất cứ kiểu
nào khác cùng tồn tại với bản ghi CNAME, nhưng một vùng được
ký đòi hỏi những bản ghi NSEC và bản ghi RRSIG cho mọi tên
miền. Để giải quyết xung đột này, định nghĩa của bản ghi
CNAME của hệ thống DNS đã được chỉnh sửa lại để cho phép nó
cùng tồn tại với các bản ghi NSEC và bản ghi RRSIG.
DNSKEY được thiết lập để tạo khóa công cộng nhằm thực
hiện xác thực với các máy chủ DNS khác có cùng khóa công
cộng này. Các bản ghi chứng thực RRSIG sử dụng để ký xác thực
cho các bản ghi tài nguyên SOA, A, MX… Đối với các bản ghi NS
khai báo quyền sở hữu tên miền đối với tên miền gốc thì sử
dụng bản ghi NSEC kết hợp với bản ghi RRSIG để xác thực. Đối
với các bản ghi chuyển giao từ DNS cha xuống các máy chủ tên
miền DNS con thì kết hợp với bản ghi DS với bản ghi RRSIG để
xác thực.


15


4. Kết Luận
Vì là tiêu chuẩn mở rộng, DNSSEC không làm thay đổi cấu trúc
và nền tảng giao thức DNS (cùng tồn tại với ha tầng hiện tại
EDNS0). Ngoài ra nó còn thêm chữ ký số vào câu trả lời truy
vấn, người dùng tên miền được sử dụng DNSSEC được kiểm tra
xác thực, toàn vẹn dữ liệu, đảm bảo truy cập an toàn.
Do vậy việc truy cập vào các dịch vụ trên tên miền được
đảm bảo an toàn, xác thực, các nguy cơ đã trình bày ở DNS
được giải quyết.

- Tài liệu tham khảo:
+
/>+
/>%E1%BB%87-dnssec
+
/>


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×