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

TÌM HIỂU VÀ MÔ PHỎNG TẤN CÔNG DỊCH VỤ DNS

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 (576.24 KB, 23 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỀ TÀI MÔN HỌC
AN TOÀN HỆ ĐIỀU HÀNH
TÌM HIỂU VÀ MÔ PHỎNG TẤN CÔNG DỊCH VỤ DNS
Giảng viên: Đỗ Quang Trung
Đồng Thị Thùy Linh
Sinh viên :
Phạm Hữu Thiết
Tô Quang Hiền
Tạ Thị Thanh Thùy
Trần Viết Trọng
Lớp : AT8B
Mục lục
Danh mục viết tắt
Danh sách hình vẽ
LỜI MỞ ĐẦU
Trong thời đại “phẳng” như ngày nay, vai trò của Công Nghệ Thông Tin và
Internet vô cùng quan trọng. Điều này kéo theo nhiều ngành kinh tế phụ thuộc vào
máy tính. Chính vì vậy, nhiều ý đồ phá hoại đã nhắm vào hệ thống máy tính.
Nhiều website của các doanh nghiệp, công ty bảo mật hàng đầu trên thế giới
đều bị hacker tấn công, gây tổn thất lớn về nguồn tài chính cũng như uy tín cho
doanh nghiệp. Tình hình an ninh mạng vẫn trên đà bất ổn và tiếp tục được coi là
năm “báo động đỏ” của an ninh mạng Việt Nam và thế giới khi có nhiều lỗ hổng
an ninh mạng nghiêm trọng được phát hiện, hình thức tấn công thay đổi và có rất
nhiều cuộc tấn công của giới tội phạm công nghệ cao vào các hệ thống công nghệ
thông tin của doanh nghiệp và chính phủ.
Với mục đích nghiên cứu và tìm hiểu nguyên lý, cơ chế của các cuộc tấn
công của hacker nói chung, và từng kỹ thuật tấn công nói riêng, nhóm chúng em
chọn đề tài tìm hiểu và mô phỏng tấn công dịch vụ DNS.
Do kinh nghiệm và kiến thức chưa được sâu sắc nên trong báo cáo về đề tài của


nhóm mong quý thầy cô góp ý thêm để nhóm có thể hoàn thiện tốt hơn các đề tài
nghiên cứu về sau !
Xin chân thành cảm ơn !
Chương I. Tổng quan về hệ thống tên miền DNS
(Domain Name System)
1. Giới thiệu hệ thống tên miền DNS (Domain Name System)
DNS là từ viết tắt trong tiếng Anh của Domain Name System, là Hệ
thống tên miền được phát minh vào năm 1984 cho Internet, định nghĩa trong
các RFC 1034 và 1035, chỉ một hệ thống cho phép thiết lập tương ứng giữa
địa chỉ IP và tên miền. Hệ thống tên miền (DNS) là một hệ thống đặt tên
theo thứ tự cho máy vi tính, dịch vụ, hoặc bất kì nguồn lực tham gia vào
Internet. Nó liên kết nhiều thông tin đa dạng với tên miền được gán cho
những người tham gia. Quan trọng nhất là nó chuyển tên miền có ý nghĩa
cho con người vào số định danh (nhị phân), liên kết với các trang thiết bị
mạng cho các mục đích định vị và địa chỉ hóa các thiết bị khắp thế giới.
Hình 1. DNS trong mô hình TCP/IP

DNS dùng cổng 53 để truyền tải thông tin. Tại lớp vận chuyển, DNS sử
dụng UDP hoặc TCP. UDP là giao thức ko yêu cầu tính tin cậy của dữ liệu
cao, thường được sử dụng cho việc trả lời các query từ các host để đảm bảo
tính nhanh chóng, khi sử dụng udp thì hạn chế của gói tin là 512 bytes. Do
đó UDP thường được sử dụng để trả lời các query của host. Còn TCP là giao
thức đảm bảo thông tin, thường được sử dụng khi các DNS server cập nhật
thông tin với nhau, đảm bảo tính chính xác. Thường thì khi các DNS server
cập nhật thông tin với nhau, dữ liệu sẽ ko bị hạn chế.
2. Chức năng của hệ thống tên miền DNS (Domain Name System)
Mỗi Website có một tên (là tên miền hay đường dẫn URL:Uniform
Resource Locator) và một địa chỉ IP. Địa chỉ IP gồm 4 nhóm số cách nhau
bằng dấu chấm(IPv4). Khi mở một trình duyệt Web và nhập tên website,
trình duyệt sẽ đến thẳng website mà không cần phải thông qua việc nhập địa

chỉ IP của trang web. Quá trình "dịch" tên miền thành địa chỉ IP để cho trình
duyệt hiểu và truy cập được vào website là công việc của một DNS server.
Các DNS trợ giúp qua lại với nhau để dịch địa chỉ "IP" thành "tên" và ngược
lại. Người sử dụng chỉ cần nhớ "tên", không cần phải nhớ địa chỉ IP (địa chỉ
IP là những con số rất khó nhớ).
Hệ thống tên miền giúp cho nó có thể chỉ định tên miền cho các nhóm
người sử dụng Internet trong một cách có ý nghĩa, độc lập với mỗi địa điểm
của người sử dụng. Do đó, World Wide Web siêu liên kết và trao đổi thông
tin trên Internet có thể duy trì ổn định và cố định ngay cả khi định tuyến
dòng Internet thay đổi hoặc những người tham gia sử dụng một thiết bị di
động. Tên miền internet dễ nhớ hơn các địa chỉ IP như là 208.77.188.166
(IPv4) hoặc 2001: db8: 1f70:: 999: de8: 7648:6 e8 (IPv6).

Mọi người tận dụng lợi thế này khi họ thuật lại có nghĩa các URL và địa
chỉ email mà không cần phải biết làm thế nào các máy sẽ thực sự tìm ra
chúng. Hệ thống tên miền phân phối trách nhiệm gán tên miền và lập bản đồ
những tên tới địa chỉ IP bằng cách định rõ những máy chủ có thẩm quyền
cho mỗi tên miền. Những máy chủ có tên thẩm quyền được phân công chịu
trách nhiệm đối với tên miền riêng của họ, và lần lượt có thể chỉ định tên
máy chủ khác độc quyền của họ cho các tên miền phụ. Kỹ thuật này đã thực
hiện các cơ chế phân phối DNS, chịu đựng lỗi, và giúp tránh sự cần thiết cho
một trung tâm đơn lẻ để đăng kí được tư vấn và liên tục cập nhật.
3. Cơ chế phân giải
DNS service có 2 chức năng chính là phân giải tên > IP và IP > tên.
3.1 Phân giải tên thành địa chỉ IP
Root Name Server là máy chủ quản lý các name server ở mức top-level
domain. Khi có query về 1 tên domain nào đó thì Root Name Server sẽ cung
cấp tên và địa chỉ IP của name server quản lý top-level domain đó (thực tế
thì hầu hết các root server cũng chính là máy chủ quản lý top-level domain)
và đến lược các name server của top-level domain cung cấp danh sách các

name server có quyền trên các secon-level domain mà domain này thuộc
vào. Cứ như thế đến khi nào tìm được máy chủ quản lý tên domain cần truy
vấn.
Qua quá trình trên cho thấy vai trò rất quan trọng của Root Name Server
trong quá trình phân giải tên domain. Nếu mọi Root Name Server trên mạng
Internet không liên lạc được với nhau thì mọi yêu cầu phân giải tên đều sẽ
không được thực hiện.
Ví dụ : client cần truy cập trang web www.yahoo.com thì client sẽ yêu
cầu phân giải địa chỉ IP của web server nào có chứa website
www.yahoo.com này. Đầu tiên client sẽ tìm trong cache của nó, nếu cache
của nó không có thì nó sẽ gửi request querry đến DNS local (nếu trong mạng
nội bộ có DNS server). Sau đó DNS local cũng sẽ tìm trong cache của nó,
nếu có nó sẽ gửi địa chỉ IP cần truy vấn đến cho client, nếu cache không có
thì lúc này DNS local sẽ gửi request query này đến 1 Root Name Server nào
đó gần nó nhất mà nó biết được. Sau đó Root Name Server này sẽ trã lời địa
chỉ IP của Name Server quản lý miền .com cho DNS local. DNS local lại hỏi
tiếp name server quản lý domain .com miền yahoo.com địa chỉ IP là bao
nhiêu. Cuối cùng DNS local truy vấn máy chủ quản lý domain
www.yahoo.com và nhận được câu trả lời.
Có 2 dạng truy vấn (query) :
- Truy vấn đệ quy: khi Name Server nhận được truy vấn dạng này, nó bắt
buộc phải trả kết quả tìm được hoặc thông báo lỗi nếu như truy vấn này
không phân giải được. Name Server không thể tham chiếu đến 1 Name
Server khác. Name Server có thể gửi truy vấn dạng truy vấn đệ quy hoặc
truy vấn lặp lại đến Name Server khác nhưng phải thực hiện cho đến khi nào
có kết quả mới thôi. DNS server kiểm tra cache và forward lookup zone để
gửi lại query.

Hình 2. Truy vấn đệ quy
- Truy vấn lặp lại: khi Name Server nhận được truy vấn dạng này, nó sẽ trả

lời cho thiết bị truy vấn với thông tin tốt nhất mà nó có được vào thời điểm
lúc đó. Bản thân Name Server không thực hiện bất cứ 1 truy vấn nào thêm.
Thông tin trả về lúc đó có thể lấy từ dữ liệu cục bộ (kể cả cache). Trong
trường hợp Name Server không tìm thấy thông tin trong dữ liệu cục bộ nó sẽ
trả về tên miền và địa chỉ IP của Name Server nào gần nhất mà nó biết.
Hình 3. Truy vấn lặp lại
Tóm lại việc truy vấn thường như sau:
- Truy vấn giữa Thiết bị truy vấn (host) > DNS Server là Truy vấn đệ quy
- Truy vấn giữa DNS Server > DNS Server là truy vấn lặp lại
3.2 Phân giải địa chỉ IP thành tên host
Để có thể phân giải tên máy tính của 1 địa chỉ IP, trong không gian tên
miền người ta bổ sung thêm 1 nhánh tên miền mà được lập chỉ mục theo địa
chỉ IP. Phần không gian này có tên miền là in-addr.arpa.
Mỗi node trong miền in-addr.arpa có 1 tên nhãn là chỉ số thập phân
của địa chỉ IP. Ví dụ miền in-addr.arpa có thể có 256 subdomain tương ứng
với 256 giá trị từ 0 > 255 của byte đầu tiên trong địa chỉ IP. Trong mỗi
subdomain lại có 256 subdomain con nữa ứng với byte thứ 2. Cứ như thế và
đến byte thứ 4 có các bản ghi cho biết tên miền đầy đủ của các máy tính
hoặc các mạng có địa chỉ IP tương ứng.
4. Cấu trúc của gói tin DNS
Hình 4. Cấu trúc gói tin DNS
Trong phần này, ta đề cập đến 2 thành phần của bản tin DNS: Truy vấn DNS và
các bản tin phản hồi. Cả truy vấn và phản hồi đều có dạng tương tự nhau, được chỉ
ra trong hình. Ý nghĩa các trường của bản tin được chỉ ra như sau:
 Phần mở đầu (The message header): 12 bytes, bao gồm các cờ và các giá
trị điều khiển quá trình trao đổi. Gồm các thành phần chính:
0 1 2 3 4 5 6 7 8 9 10 1
1
1
2

1
3
1
4
15
Message ID
Q
R
OPCODE A
A
T
C
R
D
R
A
Res
1
Res
2
Res
3
RCODE
QDCOUNT (số các items trong một truy vấn-Question)
ANCOUNT (số các items trong 1 phản hồi- Answers)
NSCOUNT (số các items trong Authority section)
ARCOUNT (số items trong Additional section)
Hình 5. The message header
- ID (Identification): Là một trường 16 bits, chứa mã định danh, Định danh
truy vấn được sinh ra bởi client và được sao chép sang phản hồi của máy

chủ. ID được sử dụng để kết hợp truy vấn với trả lời. Nó xác định duy
nhất truy vấn nào đi kèm với phản hồi nào. Chính vì vậy mà truy vấn và
phản hồi có thể phù hợp với nhau. ID cho phép client gửi nhiều query
cùng lúc mà không cần phải chờ trả lời.
- QDCOUNT: 16 bit, quy định số lượt truy cập vào trường Truy vấn
(Question)
- ANCOUNT: 16 bit, quy định số bản ghi trong trường Phản hồi (Answer).
Có thể là 0 trong trường hợp không có bản ghi phản hồi trong bản tin.
- NSCOUNT: 16 bit, quy định số lượng của tên bản ghi nguồn trong
trường Authority section. Có thể bằng 0 trong trường hợp không có bản
ghi có thẩm quyền ở thời điểm hiện tại.
- ARCOUNT: 16 bit, quy định số lượng các bản ghi nguồn trong trường
Additional. Có thể bằng 0 trong trường hợp không có bản ghi thêm vào
nào được chỉ ra trong bản tin.
 Phần truy vấn (The DNS question)
Thông thường, chỉ có 1 truy vấn mỗi bản tin, tuy nhiên số lượng truy vấn được cho
phép 1 cách bất kỳ, xác định bởi QDCOUNT. Cấu trúc chung được cho như sau:
- QNAME: tên trường, là tên được truy vấn. Trong DNS, ký hiệu “.”
không sử dụng với các tên miền. Mỗi phần của tên miền (thường được
thể hiện giữa các dấu chấm) được thể hiện bằng 1 byte chứa chiều dài
chuỗi. Tên miền được kết thúc bởi một đánh dấu zero (chuỗi cuối cùng
có độ dài 0).
- QTYPE: 16 bit, đặc tả kiểu truy vấn. là kiểu RR được yêu cầu trong trả
lời.
- QCLASS: 16 bit, đặc tả lớp bản ghi nguồn được yêu cầu.
 Phần phản hồi (The DNS Answer)
Chứa 3 thành phần: thành phần trả lời, thành phần máy chủ xác thực và thông tin
thêm.
Bản thân phần trả lời đã chứa thành phần trả lời. Thành phần máy chủ xác thực tên
lưu trữ tên của các máy chủ trong các bộ NS.Thông tin thêm thường lưu địa chỉ IP

của các máy chủ xác thực.
Các bộ trong thành phần này là các bộ tài nguyên thông dụng như các bộ lưu giữ
máy chủ tên và sử dụng các định dạng như sau:
- NAME: tên miền, cùng định dạng với trường QNAME trong truy vấn.
- TYPE: 16 bit giá trị. Kiểu bộ, cùng định dạng với QTYPE.
- CLASS: 16 bit giá trị. Lớp, cùng định dạng với QCLASS.
- TTL: 32 bit giá trị. Giới hạn kết thúc RR, thời gian mà trả lời có thể được
lưu trong máy chủ lưu trữ khi có giá trị.
- RDLENGHT: 16 bit giá trị. chiều dài RDATA.
- RDATA: phần còn lại của RR (địa chỉ IP hay tên miền).
 Phần quyền truy nhập (Authority section)
Authority record có cấu cấu trúc giống hệt với phần phản hồi (Answer). Ngoài ra
chúng bao gồm bản ghi của các server bắt buộc khác.
 Phần bản ghi bổ sung (Additional Information)
Tương tự với phần trên, phần bản ghi bổ sung có cấu trúc giống với phần phản hồi.
Ngoài ra nó chứa các bản ghi hữu ích khác.
Ví dụ: phần Câu trả lời trong Phản hồi cho một truy vấn MX bao gồm bản ghi
nguồn cung cấp tên máy chủ theo quy tắc của một mail server. Phần thêm vào ở
đây bao gồm bản ghi Kiểu A cung cấp địa chỉ IP cho tên máy chủ theo quy tắc của
mail server.
Chương II. Vấn đề bảo mật trong DNS
1. Các điểm yếu của DNS
Do một client bình thường tin tưởng các thông tin phân giải do DNS Server
cung cấp. Do đó, nếu DNS Server bị tấn công vì mục đích nào đó nhằm thay đổi
các thông tin phân giải trả về cho client. Điền này thật nguy hiểm cho client khi
nhận được những thông tin phân giải đã bị “nhiễm bẩn”.
1.1. Tấn công đầu độc cache (cache poisoning attack)
Hình 6. DNS cache poisioning

Như đã đề cập trong phần lý thuyết bên trên, các DNS Server sau khi trả thông

tin đã phân giải được vào cache (cache trên DNS Server), mục đích là để tối ưu
cho việc phân giải lần sau. Lợi dụng cơ chế này, các attacker tiến hành đầu độc
cache của DNS Server. Có vài cách để thực hiện việc này :
- Cách thứ nhất : thiết lập một DNS Server giả mạo với các record độc hại.
Mục đích của kẻ tấn công là muốn dẫn các client khi phân giải một cái tên
nào đó về địa chỉ IP giả mạo, ví dụ khi client cần phân giải địa chỉ www.cnn.com
thì được trả về địa chỉ IP giả là 66.66.66.66. Khi nào record giả còn tồn tại trong
cache của DNS Server nạn nhân, các truy vấn của www.cnn.com sẽ được chuyển
hướng đến 66.66.66.66, đây có thể là một máy tính được đặc dưới sự kiểm soát của
attacker, các thông tin đến www.cnn.com sẽ được attacker forward đến đối tượng
thật sự www.cnn.com và ngược lại. Do đó client cuối cùng không biết có sự tồn tại
của máy “man in the middle”.
- Cách thứ 2 : Gửi một spoofed reply đến client nạn nhân thông qua sự giúp
đỡ của 1 sniffer
Thay vì thiết lập một DNS Server giả mạo, nếu attacker có thể đặt mình vào vị
trí giữa client và DNS Server, attacker có thể ngăn chặn các request của client gửi
đến DNS Server và sau đó gửi gói tin reply với thông tin sai đến client.
Xin nhắc lại là client chỉ chấp nhận các gói tin reply với cùng các thông số
đã gửi đi ban đầu như Transaction ID, địa chỉ IP và số port. Để biết các thông số
này, attacker có thể nghe lén để capture lại các gói tin trong mạng. Sau khi đã có
các thông số đầy đủ, attacker có thể tạo gói tin reply DNS giả để gửi đến cho
client. Nội dung gói tin chứa thông tin sai trái phục vụ cho mục đích đen tối của
attacker.
Tuy nhiên hạn chế của phương pháp này là gói tin reply phải của attacker
phải đến trước gói tin hợp lệ của DNS Server. Nếu gói tin hợp lệ của DNS Server
đến trước thì cách tấn công này sẽ không thực hiện được. Đó là do client chỉ chấp
nhận gói tin reply nào hợp lệ đến trước, và sẽ làm ngơ (ignore) các gói tin đến sau.
Có nhiều cách để thực hiện ý đồ này của attacker, và để tăng khả năng thành công
của phương pháp này, attacker có thể tiến hành tấn công từ chối dịch vụ (DOS) để
làm chậm hoạt động của DNS Server. Do phải capture các gói tin để lấy các thông

số của gói tin request DNS, việc capture các gói tin này khó có thể thực hiện trong
môi trường mạng switch (switched netword). Do đó, kỹ thuật tấn công ARP
snoofing phải được thực hiện trước.
- Cách thứ 3 : gửi một lượng lớn snoofing reply đến client nạn nhân.
Hình 7. DNS spoofing
Kỹ thuật tấn công dựa vào số ID DNS snoofing đòi hỏi kẻ tấn công phải biết
chính xác số ID giao dịch giữa client và server. Điều này có thể được thực hiện
bằng cách gửi một lượng rất lớn các gói tin reply chứa số Transaction ID khác
nhau đến client, hy vọng một trong số các gói tin gửi đến client sẽ hợp lệ.
Trên thực tế, số ID này chỉ chiếm 2 byte bộ nhớ, cho nên nó chỉ có tất cả
65525 trường hợp. Vì vậy, bằng cách gửi 65525 gói tin reply (mỗi gói tin có số ID
khác nhau), một trong số chúng chắc chắn sẽ phù hợp với số Transaction ID giao
dịch giữa client và server, đồng thời có thể làm ngập lụt (fool) máy nạn nhân.
Với cách tấn công này, attacker không cần phải nghe lén số Transaction ID
giao dịch giữa client và server. Nhưng vấn đề của nó là khi nào thì nên tiến hành
thực hiện tấn công? Đó là, làm thế nào để biết khi nào client thực hiện truy vấn
DNS? Đây là việc gây khó khăn cho phương thức tấn công này.
- Cách thứ 4 : attacker gửi một lượng lớn snoofed reply đến DNS Server.
Trong cách thứ 3, attacker không thể biết khi nào client thực hiện một truy vấn.
Tuy nhiên, thật tế, attacker có thể tự thực hiện truy vấn và sau đó gửi gói tin reply
giả mạo đến DNS Server. Sau đó, DNS Server sẽ chứa thông tin bị đầu độc.
Trở ngại của phương pháp này đó là gói tin reply phải chứa cùng số Transaction ID
và số port mà DNS Server victim đã sử dụng. Để giải quyết vấn đề này, đối với số
Transaction ID thì attacker sử dụng phương pháp birthday attack. Trên DNS Server
thì source port sử dụng hầu như không đổi đối với từng client. Lợi dụng điều này,
đầu tiên attacker yêu cầu DNS Server victim phân giải một địa chỉ tên domain nào
đó của attacker. Trên máy này, sau khi nhận được truy vấn attacker có thể biết
được source port nào đang được sử dụng trên DNS Server victim. Dựa trên sự tính
toán này, cùng với số source port đã biết, attacker thực hiện gửi 650 request và 650
reply giả mạo đến DNS Server victim. Xác suất thành công của phương pháp tấn

công này đạt khoản 96% tỉ lệ thành công.
1.2. Tấn công tràn bộ đệm (buffer overflow attack)
Là dạng tấn công vào vùng nhớ đệm của máy chủ DNS Server để thực thi
các dòng lệnh trên máy chủ đó. Đây không phải là gói tin response chứa thông tin
độc hại (như chứa tên quá dài, hoặc chiều dài gói tin quá lớn) nhưng có thể làm
cho việc ghi đè lên vùng nhớ đệm của victim trở nên quá tải, cho phép thực thi việc
leo thang chiếm quyền trên máy tính đó. Với quyền truy cập chiếm được, attacker
có thể sửa đổi các thông tin trên file zone.
1.3. Tấn công trong quá trình zone transfer (Zone transfer attack)
Mục đích của việc tấn công này là để đưa thông tin không đúng lên server dự
phòng (slave server) thông qua tiến trình zone transfer bình thường giữa server
chính và server dự phòng.
Để ngăn chặn việc này, các DNS Server sử dụng access control list. Danh sách đó
chỉ chứa địa chỉ IP của những máy server chính nào được phép zone transfer.
1.4. Tấn công từ chối dịch vụ (Denial of Service Attack)
Là kiểu tấn công phổ biến với các request dồn dập để làm ngập lục server, làm
cho server chậm chạm để có thể chấp nhận các request hợp lệ.
Tuy nhiên, trong DNS, việc thực hiện DoS có thể đạt được bằng cách sử dụng vài
loại resource record trong file zone. Cụ thể, Name Server (NS) record thì được
dùng để xác định chứng nhận name server cho một domain, ví dụ : “ibm.com IN
NS ns.ibm.com”. Nếu attacker có thể đầu độc cache của một DNS Server với một
NS record ví dụ như “ibm.com IN NS ns.attacker.com”, server sẽ tham chiếu đến
ns.attacker.com để phục vụ bất kỳ yêu cầu truy vấn nào của client về địa chỉ của
máy ibm.com. Lúc này nó sẽ từ chối tất cả các client có cùng tên dịch vụ được
cung cấp bởi ibm.com.
Mặc khác, Canonical Name (CNAME) record, dùng để ánh xạ tên bí danh với tên
thật, cũng có thể được sử dụng. Cụ thể, một attacker có thể đầu độc cache của một
DNS Server với một CNAME record như “www.vnnetpro.com IN CNAME
www.vnnetpro.com”, với việc tham chiếu đến chính nó, khi một client yêu cầu
truy vấn địa chỉ www.vnnetpro.com, truy vấn có thể bị lặp vô tận.

1.5. Tấn công phương thức cập nhật động (Dynamic update attack)
Trong vài trường hợp, sau khi chỉnh sửa các zone file trên DNS Server,
server khởi động lại để những thay đổi có hiệu lực. Nhưng khi khối lượng cần thay
đổi quá lớn, khi đó các hoạt động của server không hoạt động bình thường như
trước.
Để thay đổi vùng dữ liệu một cách hiệu quả, tính năng dynamic update được
sử dụng (xem RFC 2136 [3]), cho phép tự động thay đổi (chẳng hạn như việc thêm
và xóa) các record của DNS Server trong khi dịch vụ vẫn hoạt động bình thường
không bị gián đoạn. Với tính năng này, name server chấp nhận các nguồn thông tin
cập nhật từ bên ngoài hoặc các ứng dụng cho các thông tin cá nhân được cập nhật
một cách tự động.
Chức năng dynamic update này chủ yếu được sử dụng cho các máy chạy dịch
vụ DHCP, sau khi gán IP mới cho một client, DHCP Server sẽ sử dụng giao thức
cập nhật động (dynamic update protocol) để cập nhật tên máy với địa chỉ IP phù
hợp.
Thật không may, tiến trình cập nhật động thì không được bảo mật. Attacker có
thể dễ dàng thay đổi vùng zone data trên DNS Server bằng cách gửi các gói tin cập
nhật động một cách liên tục (bằng giao thức UDP).
2. BIỆN PHÁP PHÒNG CHỐNG TẤN CÔNG DNS
Khá khó phòng chống việc giả mạo DNS vì có khá ít các dấu hiệu tấn công.
Thông thường, bạn không hề biết DNS của mình bị giả mạo cho tới khi điều đó
xảy ra. Những gì bạn nhận được là một trang web khác hoàn toàn so với những gì
mong đợi. Trong các tấn công với chủ đích lớn, rất có thể bạn sẽ không hề biết
rằng mình đã bị lừa nhập các thông tin quan trọng của mình vào một website giả
mạo cho tới khi nhận được cuộc gọi từ ngân hàng hỏi tại sao bạn lại rút nhiều tiền
đến vậy. Mặc dù khó nhưng không phải không có biện pháp nào có thể phòng
chống các kiểu tấn công này, đây là một sô thứ bạn cần thực hiện:
Bảo vệ các máy tính bên trong của bạn: Các tấn công giống như trên thường được
thực thi từ bên trong mạng của bạn. Nếu các thiết bị mạng của an toàn thì sẽ bạn sẽ
giảm được khả năng các host bị thỏa hiệp và được sử dụng để khởi chạy tấn công

giả mạo.
- Sử dụng DNSSEC: DNSSEC là một giải pháp thay thế mới cho DNS, sử dụng
các bản ghi DNS có chữ ký để bảo đảm sự hợp lệ hóa của đáp trả truy vấn. Tuy
DNSSEC vẫn chưa được triển khải rộng rãi nhưng nó đã được chấp thuận là
“tương lai của DNS”, chống tấn công vào cache.
- Đặt mật khẩu mạnh cho các DNS server.
- Tắt tính năng đệ quy trên các server được ủy quyền (Delegated Name Servers)
bằng cách check vào ô Disable recursion (đồng nghĩa với việc disable tính năng
forwarder) trong thẻ Advanced. Theo mặc định thì name server hỗ trợ tính năng
recursive, chúng ta tắt tính năng này đi vì bản thân các name server liên lạc với
nhau theo kiểu nonrecursive.
- Ngăn không cho thực hiện chuyển vùng trái phép bằng cách sử dụng Access
control list, chỉ những máy tính nào có địa chỉ IP nằm trong danh sách này được
thực hiện quá trình chuyển vùng với DNS Server chính.
- Sử dụng IDS: Một hệ thống phát hiện xâm nhập, khi được đặt và triển khai đúng,
có thể vạch mặt các hình thức giả mạo ARP cache và giả mạo DNS.
- Không dựa vào DNS cho các hệ thống bảo mật: Trên các hệ thống an toàn và có
độ nhạy cảm cao, không duyệt Internet trên nó là cách thực hiện tốt nhất để không
sử dụng đến DNS. Nếu bạn có phần mềm sử dụng hostname để thực hiện một số
công việc của nó thì chúng cần phải được điều chỉnh những gì cần thiết trong file
cấu hình thiết bị.
Chương 3. Demo tấn công DNS spoof
Hình 8. Attacker tấn công chuyển hướng trang tuoitre.vn sang pisico.vn
KẾT LUẬN
Vấn đề an toàn bảo mật ngày nay đang được các cơ quan, nhà bảo mật và
đặt biệt là các doanh nghiệp quan tâm hàng đầu, an toàn dữ liệu, thông tin người
dùng, và tài chính của công ty, mọi vấn đề đều cần được quan tâm. Đối với doanh
nghiệp, thì quan trọng nhất là thông tin cá nhân, tài khoản của người dùng, ví dụ
như ngân hàng chẳng hạn, các thông tin này phải được bảo mật tuyệt đối, vì thế
vấn đề bảo mật đang là một thách thức lớn cho các nhà doanh nghiệp.

Thông qua kỹ thuật tấn công dịch vụ DNS, chúng ta có thể hiểu được phần
nào, nguyên lý, cơ chế tấn công của hacker khi muốn ăn cắp thông tin tài khoản
của người dùng, với các kỹ thuật như tấn công đầu độc DNS, ARP hoặc DHCP sẽ
giúp cho kẻ tấn công có thể dễ dàng lấy được thông tin của người dùng khi họ
không để ý, hoặc không cẩn thận khi trao đổi dữ liệu trong môi trường mạng công
cộng. Hơn thế nữa, nếu thông tin cá nhân của người dùng hoặc công ty bị hacker
ăn cắp thì nguy cơ mất dữ liệu hoặc dữ liệu bị truyền ra ngoài sẽ gây một thất thoát
lớn cho công ty, và sẽ làm tổn hại nguồn tài chính của công ty hoặc doanh nghiệp.
Để khắc phục và ngăn chặn kịp thời các trường hợp bị tấn công hoặc ăn cắp
dữ liệu bởi hacker, thì các doanh nghiệp cần quan tâm và chú trọng hơn nữa về vấn
đề bảo mật. Dùng Firewall cứng hoặc mềm để ngăn chặn, giảm bớt sự tấn công từ
bên ngoài, hoặc cấu hình bảo mật port cho switch để ngăn chặn sniffer, cấu hình
các dịch vụ phát hiện và chống xâm nhập trên Server để kịp thời phát hiện các sự
cố khi bị hacker tấn công. Ngoài ra, các doanh nghiệp cần backup dữ liệu của
khách hàng để đề phòng trường hợp bị mất dữ liệu.
TÀI LIỆU THAM KHẢO
[1]. Slide An Ninh Mạng – Trường CNTT Hữu Nghị Việt Hàn
[2]. Advisory to Exploit Using Metasploit - Bannedit
[3]. Forum.itlab.com.vn
[4]. Hvaonline.net


×