An toàn, bảo mật hệ thống tên miền và máy chủ tên miền DNS
I. Tổng quan về hệ thống tên miền và máy chủ tên miền DNS
1. Sự hình thành và phát triển
Từ khi ra đời, các thiết bị kết nối vào mạng Internet đều được gán một địa chỉ IPv4 32 bit, địa chỉ này dùng để định danh thiết bị trên mạng Internet. Thực tế, mọi yêu cầu truy nhập một máy chủ bất kỳ đều có thể được thực hiện thông qua địa chỉ IP của máy chủ đó. Tuy nhiên để người sử dụng nhớ được dãy địa chỉ dạng số dài 32 bit khi truy nhập, kết nối mạng là hết sức khó khăn. Chính vì thế, cạnh địa chỉ IP bao giờ cũng có thêm một cái tên đi kèm mang một ý nghĩa nào đó, dễ nhớ cho người sử dụng mà trên Internet gọi là tên miền (Domain Name), ví dụ như www.google.com. Nhờ vậy, người sử dụng không cần biết đến địa chỉ IP mà chỉ cần nhớ tên miền là truy nhập được vào máy chủ.
Để quản lý, chuyển đổi được giữa các tên miền và các địa chỉ IP, hệ thống tên miền (DNS – Domain Name Systems) được ra đời vào năm 1984 và gắn liền với lịch sử phát triển của mạng Internet. Hệ thống tên miền bao gồm một loạt các cơ sở dữ liệu (CSDL) chứa địa chỉ IP và các tên miền của nó. Hệ thống tên miền phát triển dưới dạng các CSDL phân tán. Mỗi CSDL này sẽ quản lý một phần trong hệ thống tên miền. Các tiêu chuẩn của DNS được đề cập trong các tài liệu RFC 882,883, 1034, 1035.
Với bản chất là dịch vụ truy vấn có cấu trúc phân tán, có khả năng mở rộng gần như không giới hạn, hệ thống DNS được ra đời với mục đích chính là để truy vấn địa chỉ IP từ một tên miền. Trong hệ thống Internet truyền thống, DNS được coi là một thành phần mang tính chất quyết định, được sử dụng như cơ sở hạ tầng cho việc ứng dụng đa số các thủ tục khác. Với các thủ tục truy vấn đã được phát triển và hoàn thiện qua thời gian dài có tốc độ truy vấn cao và dễ ứng dụng, dịch vụ DNS đã trở thành dịch vụ tiêu chuẩn.
2. Cấu trúc, hoạt động của hệ thống tên miền và hệ thống máy chủ tên miền DNS
Hệ thống tên miền trên thế giới được phân bố theo cấu trúc hình cây, tên miền cấp cao nhất là tên miền gốc (root) được thể hiện bằng dấu ‘.’. Dưới tên miền gốc có hai loại tên miền là: tên miền cấp cao dùng chung- gTLDs (Generic Top Level Domains) và tên miền cấp cao quốc gia – ccTLD (country code Top Level Domains) như .vn, .jp, .kr,.… Tên miền cấp cao dùng chung hiện nay được một tổ chức của Mỹ là ICANN quản lý.
Hoạt động của hệ thống máy chủ tên miền DNS
Máy chủ tên miền (máy chủ DNS) là máy chủ chứa CSDL dùng cho việc chuyển đổi giữa tên miền và địa chỉ IP. Mỗi máy chủ DNS quản lý một số tên miền nhất dịnh trong cây tên miền. Tên miền cấp cao nhất (‘.’) được quản lý bởi hệ thống máy chủ ROOT DNS, hiện nay có 13 cụm máy chủ ROOT trên toàn thế giới (tham khảo: www.root-servers.org).
Để chuyển đổi tên miền sang địa chỉ IP, hệ thống DNS sử dụng bản ghi kiểu A để ánh xạ giữa tên của một máy tính trên mạng và địa chỉ IP của nó. Hệ thống DNS cho phép một tên miền có thể có nhiều địa chỉ IP, do đó với một tên miền có thể khai báo nhiều bản ghi kiểu A cho tên miền đó. Ngoài ra hệ thống DNS còn cung cấp nhiều kiểu bản ghi khác như NS (cho biết thông tin về tên miền được khai báo ở máy chủ nào), CNAME, MX, TXT, PTR, NAPTR….
Hình 1: Quá trình gây nhiễm độc Cache DNS
Ví dụ: www.vnn.vn IN A 203.162.0.12, tức là tên miền www.vnn.vn được đặt cho máy tính có địa chỉ 203.162.0.12 trên mạng Internet.
Quá trình truy vấn hệ thống DNS của người sử dụng máy tính muốn truy cập vào trang web có địa chỉ là www.vnn.vn diễn ra qua nhiều bước, các giao tác có thể liên quan tới máy chủ tên miền cục bộ, máy chủ tên miền ở mức cao nhất, máy chủ tên miền quản lý tên miền .vn và máy chủ chứa trang web có địa chỉ www.vnn.vn. Các bước thực hiện là hoàn toàn trong suốt với người sử dụng, tuy nhiên hacker có thể tấn công vào một trong các bước này để thực hiện các hành vi xấu với hệ thống.
II. Các vấn đề an ninh, an toàn trên hệ thống DNS
Do tính chất quan trọng của hệ thống DNS - nơi được coi là lõi của mạng Internet toàn cầu, để đáp ứng những yêu cầu nêu trên, việc cấp thiết cần phải làm là đảm bảo tính an toàn, bảo mật cho hệ thống này. Bên cạnh đó, cần xem xét đến yếu tố an toàn, năng lực của hệ thống DNS để đảm bảo chất lượng dịch vụ Internet. Sau đây chúng ta phân tích một số dạng tấn công lên hệ thống DNS.
1. Tấn công máy chủ DNS đệm (hay còn gọi là nhiễm độc Cache DNS)
Máy chủ DNS đệm (DNS Caching) thực hiện chức năng truy vấn đệ quy (recursive) được điều hành bởi công ty hoặc nhà cung cấp dịch vụ mạng để chuyển địa chỉ Internet từ dạng ký tự sang dạng IP (dạng số). Bộ nhớ đệm cache trên mỗi máy hoạt động như một kho lưu dữ liệu cục bộ về địa chỉ web. Khi thực hiện tấn công, kẻ lừa đảo thay thế địa chỉ số của những website nổi tiếng lưu trên hệ thống thành địa chỉ site chứa mã độc, nhằm hướng người dùng tới trang web giả mạo, nơi chúng có thể khai thác thông tin nhạy cảm hoặc cài phần mềm độc hại vào máy tính. Phương pháp này cũng được tận dụng để chuyển hướng đường đi của e-mail.
Vấn đề nhiễm độc Cache DNS được phát hiện từ năm 1993 bởi Christoph Shuber được gọi là “Tấn công người trung gian” (man in the middle attack), đến năm 2002 – Vagner Sacramento phát hiện thêm “Tấn công ngày sinh nhật” (birthday attack) lên hệ thống DNS, theo nguyên tắc thực hiện số lượng lớn các “Tấn công sức mạnh” (brute force) lên các TransactionID (TXID). Năm 2008, chuyên gia bảo mật Dan Kaminsky phát hiện điểm yếu khi sử dụng TXID. Hệ thống DNS sử dụng 2 byte biểu diễn số để thể hiện TXID, do đó hacker có thể tạo ra các truy vấn/trả lời giả mạo TXID, từ đó làm nhiễm độc máy chủ DNS cần tấn công.
Việc tấn công nhiễm độc Cache DNS không phải lúc nào cũng thực hiện được. Với các bản ghi tên miền đang có trong Cache DNS thì hacker sẽ không thể thay đổi được bản ghi này, cách duy nhất là chờ đến khi tham số thời gian TTL của bản ghi trong bộ nhớ cache giảm về 0, khi đó máy chủ DNS Caching sẽ phải thực hiện truy vấn tên miền để lưu vào cache và đây là thời điểm cho phép hacker thực hiện các biện pháp gây nhiễm độc cache với tên miền đó.
Biện pháp khắc phục
Để khắc phục lỗi nhiễm độc Cache DNS, người quản trị hệ thống DNS cần thực hiện các biện pháp sau:
- Chỉ chạy chế độ DNS Cache ở một số máy chủ nhất định khi có nhu cầu, các máy chủ Authorative cần tắt chức năng này;
- Luôn luôn theo dõi và cập nhật các bản vá lỗi mới nhất của hệ thống DNS;
- Có cơ chế giám sát các số lượng lớn truy vấn, giao dịch với máy chủ DNS từ một vài IP nhất định trong khoảng thời gian ngắn.
2. Tấn công FastFlux:
Tấn công này sử dụng thao tác thay đổi bản ghi A và bản ghi NS của một tên miền nhất định trên máy chủ DNS một cách nhanh chóng và lặp lại rất nhiều lần nhằm tránh sự phát hiện ra và xử lý các máy chủ dịch vụ, website được sử dụng cho mục đích xấu. Có nhiều biến thể của tấn công FastFlux như:
- Single flux: Thay đổi IP của máy chủ web cần tìm thành IP của máy chủ không hợp pháp.
- Name Server flux: Thay đổi IP của DNS.
- Double flux: Kết hợp 2 phương án trên.
Tấn công FastFlux hosting
Sử dụng kỹ thuật Fastflux để triển khai nội dung xấu tại nhiều IP (hàng trăm, hàng ngàn…) - botnets sau đó gửi phishing email có chứa đường link tới tên miền của website, người dùng vô tình không phát hiện được sự giả mạo này có thể sẽ cung cấp thông tin cá nhân, số thẻ tín dụng. Sau đó hacker sẽ thay đổi nhanh chóng IP của website để đảm bảo không ai có đủ thời gian để phát hiện và cô lập nó.
Hacker tận dụng một điểm yếu của hệ thống tin học quản lý cấp phát tên miền là cho phép thay đổi tham số kỹ thuật của tên miền tự động, không giới hạn số lượng thay đổi tối đa trong một khoảng thời gian nhất định và thiết lập thời gian TTL cho tên miền quá thấp.
Giải pháp phòng chống FastFlux:
- Thực hiện thao tác Shut down bots (botnets) đang thực hiện fastflux, Shut down fastflux hosts.
- Xác thực trước khi cho phép thay đổi bản ghi NS, bản ghi A, ngăn chặn thay đổi tự động các bản ghi này hoặc hạn chế số lần thay đổi trong một khoảng thời gian.
- Đặt giới hạn tối thiểu của tham số thời gian TTL ít nhất là 30 phút (theo ICANN),
- Thu hồi tên miền được sử dụng thực hiện fastflux.
- Thực hiện các biện pháp đảm bảo an toàn máy tính người dùng, các cổng gateway anti-virus/anti-spyware/IPS.
- Đào tạo, nâng cao nhận thức và kỹ năng sử dụng, phối hợp xử lý sự cố kịp thời.
3. Các giải pháp đảm bảo an toàn, an ninh hệ thống DNS
Hình 2: Các dạng định tuyến địa chỉ IPv4
3.1 Giải pháp định tuyến địa chỉ Anycast
IPV4 định nghĩa ba dạng địa chỉ: unicast, broadcast, và multicast. Mỗi loại địa chỉ cho phép thiết bị gửi dữ liệu đến nơi nhận đã được chọn trước:
- Địa chỉ unicast cho phép thiết bị gửi dữ liệu đến một nơi nhận duy nhất.
- Địa chỉ broadcast cho phép thiết bị gửi dữ liệu đến tất cả các host trong một mạng con.
- Địa chỉ multicast cho phép thiết bị gửi dữ liệu tới một tập xác định trước các host, được biết đến như các nhóm multicast, trong các mạng con khác nhau.
Sử dụng địa chỉ Unicast kết hợp với định tuyến mạng BGP (Border Gateway Protocol) có thể triển khai dịch vụ mới gọi là Anycast nâng cao năng lực hệ thống, chống tấn công. Công nghệ Anycast cho phép triển khai nhiều máy chủ tại nhiều địa điểm khác nhau nhưng chỉ sử dụng 01 địa chỉ IP và tên miền duy nhất, điều đó đảm bảo việc tăng tốc độ trả lời truy vấn tên miền, chịu được tải lớn và có khả năng mở rộng, an toàn cao; hoàn toàn trong suốt với người sử dụng.
Giải pháp DNS Anycast dành cho các nhà quản lý hệ thống máy chủ tên miền lớn, hiện nay đã được ứng dụng vào các hệ thống máy chủ ROOT DNS (C,F,I,J,K,L,M), các hệ thống DNS của gTLD, ccTLD….
3.2 Giải pháp sử dụng giao thức DNSSEC
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 resolve hoặc máy chủ forwarder. Trong khi giao thức DNS thông thường không có công cụ để xác thực nguồn gốc dữ liệu, thì công nghệ bảo mật mới DNSSEC (DNS Security Extensions) đã đượ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 gốc dữ liệu. Mục tiêu là DNSSEC sẽ cung cấp một cơ chế xác thực giữa các máy chủ DNS với nhau để thiết lập việc xác thực toàn vẹn dữ liệu. DNSSEC được đề cập trong các tiêu chuẩn RFC: 4033, 4034, 4035….
Hình 3: DNSSEC trong các giao dịch DNS
DNSSEC là một tập những bản ghi mới với những giao thức đã được chỉnh sửa nhằm chứng thực nguồn gốc dữ liệu và toàn vẹn dữ liệu cho hệ thống DNS. Với DNSSEC, hệ thống DNS được mở rộng thêm tính năng bảo mật với 4 loại bản ghi DNS mới: Khóa công cộng DNS (DNSKEY), chữ ký bản ghi tài nguyên (RRSIG - Resource Record Signature), bảo mật kế tiếp (NSEC – Next Secure) và chữ ký ủy quyền (DS). Yêu cầu là DNSSEC không làm thay đổi tiến trình chuyển giao vùng DNS. Một vùng được ký sẽ chứa đựng các bản ghi RRSIG, DNSKEY, NSEC và DS, nhưng những bản ghi này không có ý nghĩa đặc biệt với hoạt động chuyển giao tên miền (zone transfer).
DNSSEC sẽ giải quyết triệt để các vấn đề xác thực, bí mật, toàn vẹn dữ liệu trong các giao dịch của các thành phần hệ thống DNS như hình vẽ dưới đây, các giao dịch bao gồm: đồng bộ dữ liệu giữa máy chủ chính (master) và máy chủ phụ (slave), truy vấn tên miền từ client đến DNS Caching, quá trình truy vấn đệ quy, cập nhật dữ liệu tự động DynamicDNS từ hệ thống quản lý cấp phát tên miền lên máy chủ DNS…
Tuy nhiên, hiện nay việc triển khai DNSSEC còn gặp nhiều khó khăn do hạ tầng kỹ thuật, công nghệ chưa hỗ trợ đầy đủ (mặc dù các phần mềm DNS Server đã hỗ trợ) và hệ thống ROOT DNS chưa ứng dụng DNSSEC.
Ứng dụng DNSSEC là hướng đi trong thời gian tới cho hệ thống DNS. ICANN đang có kế hoạch triển khai áp dụng DNSSEC trên các máy chủ ROOT, Microsoft cũng công bố Windows 7 sẽ hỗ trợ hoàn toàn DNSSEC, đến thời điểm đó việc triển khai DNSSEC là hoàn toàn khả thi.
III. Bảo mật hệ thống tên miền và hệ thống máy chủ tên miền ở Việt Nam
Tại Việt Nam, tên miền cấp quốc gia được ICANN phân bổ là .vn và nằm trong nhóm tên miền cấp cao quốc gia –ccTLD. Năm 2008, Bộ Thông tin và Truyền thông ban hành Thông tư 09/2008/TT-BTTT quản lý cấu trúc tên miền, trong đó nêu rõ: Tên miền “.vn” là tên miền quốc gia cấp cao nhất dành cho Việt Nam. Các tên miền cấp dưới “.vn” đều có giá trị sử dụng như nhau để định danh địa chỉ Internet cho các máy chủ đăng ký tại Việt Nam. Tên miền .vn bao gồm tên miền cấp 2 dùng chung (gSLD) phân theo lĩnh vực (.com.vn, .net.vn, .gov.vn….).
Hệ thống máy chủ tên miền quốc gia do Trung tâm Internet Việt Nam (VNNIC) chịu trách nhiệm quản lý, có nhiệm vụ quản lý không gian tên miền cấp quốc gia .vn; tiếp nhận trả lời các truy vấn tên miền .vn. Hiện nay, tên miền quốc gia Việt Nam “.vn” được quản lý, đảm bảo bởi 07 cụm máy chủ DNS đặt tại các điểm khác nhau trên toàn thế giới (21 điểm tại nước ngoài, 5 điểm trong nước) sử dụng các công nghệ mới nhất như định tuyến địa chỉ Anycast, cân bằng tải (CSM)…. Truy vấn tên miền “.vn” từ phía người dùng trên khắp thế giới sẽ được thực hiện nhanh chóng qua máy chủ DNS gần nhất được tìm thấy trong số các máy chủ tên miền “.vn”.
Ngoài ra VNNIC còn xây dựng cụm máy chủ DNS Caching (DNS Caching nscache1/nscache2.vnnic.net.vn) để thực hiện trả lời toàn bộ các truy vấn DNS từ máy chủ DNS của ISP trong nước chuyển tới. Các thành viên địa chỉ của VNNIC, các ISP có thể đăng ký sử dụng hệ thống máy chủ này theo mẫu đăng ký có tại http://dns.vnnic.vn.
Năm 2008, VNNIC đã triển khai áp dụng và thử nghiệm một số công nghệ mới nhằm tăng cường đảm bảo an toàn cho hệ thống internet trên toàn quốc, bao gồm:
- Triển khai áp dụng công nghệ Anycast: VNNIC đã triển khai cụm máy chủ DNS đầu tiên (A.DNS-SERVERS.vn) sử dụng công nghệ định tuyến địa chỉ Anycast cho hệ thống máy chủ tên miền quốc gia Việt Nam “.vn”. Việc áp dụng công nghệ Anycast đã giúp hệ thống máy chủ tên miền DNS “.vn” không chỉ được tăng cường trong phạm vi Việt Nam mà còn được mở rộng thêm 20 hệ thống mới đặt tại nhiều quốc gia trên khắp thế giới, giúp cho việc truy vấn tên miền ”.vn” được thực hiện nhanh nhất. Đây cũng là cụm máy chủ DNS quốc gia ”.vn” đầu tiên có kết nối mạng IPv6 tại địa chỉ (2001:678:4::12), thông qua đó người dùng Internet có thể truy vấn tên miền ”.vn” qua cả mạng IPv4 và IPv6.
- Thử nghiệm, ứng dụng DNSSEC: VNNIC cũng đã tiến hành nghiên cứu công nghệ DNSSEC, tiến hành thử nghiệm và triển khai một phần trên hệ thống nhằm đảm bảo an toàn tối đa cho hệ thống DNS quốc gia. Tuy nhiên, do hiện nay các máy chủ ROOT vẫn chưa triển khai DNSSEC, các hệ điều hành máy tính người dùng phổ biến là Windows của Mircosoft vẫn chưa hỗ trợ đầy đủ giao thức này nên quá trình triển khai ở các DNS cấp dưới gặp nhiều khó khăn, mới chỉ có thể áp dụng trong phạm vi nội bộ chưa thể mở rộng ra cộng đồng.
IV. Kết luận
Hệ thống tên miền và hệ thống máy chủ tên miền chính là gót chân Asin của Internet. Hacker có thể lợi dụng việc tấn công hệ thống tên miền và máy chủ DNS để thực hiện các mục đích xấu như ăn cắp thông tin, lừa đảo, giả mạo. Do đó cần chú trọng vào bảo mật hệ thống DNS, sử dụng nhiều giải pháp hỗ trợ để đạt được hiệu quả tối đa như các biện pháp kỹ thuật, hành chính trình bày trong bài viết này. Ngoài ra cần nâng cao nhận thức, kỹ năng của người quản trị, người dùng, bởi vì điểm yếu không những nằm ở yếu tố kỹ thuật của hệ thống DNS mà còn ở yếu tố con người, mà đây cũng chính là điểm yếu dễ khai thác nhất.