Giải pháp DNS Firewall
1. Giới thiệu
Hiện nay các cuộc tấn công dựa trên hệ thống, giao thức DNS như sử dụng botnet là một trong những mối đe dọa bảo mật lớn nhất, cho phép huy động mạng lưới hàng ngàn, thậm chí hàng triệu máy được điều khiển từ xa thực hiện một cuộc tấn công, do đó làm tăng đáng kể xác suất thành công và gây ra các thiệt hại vô cùng lớn. Để tránh việc bị các cơ quan chức năng gỡ bỏ các mạng botnet, các kẻ tấn công thông thường sẽ sử dụng thuật toán tạo miền DGA (Domain Generation Algortithm). Với kỹ thuật này cho phép kẻ tấn công có thể tạo ra các tên miền ngẫu nhiên thay đổi theo thời gian.
Kỹ thuật DGA sử dụng 4 tham số chính gồm: số học, hàm băm, danh sách từ và hoán vị. Kết hợp giữa đầu vào là danh sách các đuôi tên miền (ví dụ: .com.vn, .net.vn, .vn, …) với các chuỗi số hoặc ký tự để tạo ra danh sách tên miền ngẫu nhiên (ví dụ: 1xy.com.vn, 2yz.com.vn, …). Do tính ngẫu nhiên của các tên miền này nên rất khó để xác định xem một tên miền nhất định có độc hại hay không. Kỹ thuật đảo ngược (Reverse engineering - RE) thường được sử dụng để xác minh cách thức các tên miền này được tạo và sau đó phá hủy thông tin liên lạc, mặc dù RE mất nhiều thời gian để các tên miền hoạt động trong thời gian dài. Trong trường hợp này, việc ứng dụng công nghệ học máy (machine learning - ML) để cải thiện việc phân loại tên miền độc hại và không độc hại là điều cần thiết.
Theo kết quả nghiên cứu của Viện IPVC (Bồ Đào Nha) trong phân tích hoạt động kiểm soát truy vấn DNS sử dụng giải pháp DNS Firewall. Với việc phân tích các truy vấn DNS được thực hiện bởi máy trạm đến máy chủ DNS và điều khiển phản hồi của các truy vấn từ những kẻ tấn công dựa trên dữ liệu phân tích. Trong đó kết hợp giữa phương pháp sử dụng danh sách chặn/danh sách cho phép (blacklist, whitelist) với phương pháp học máy (ML) trong phân tích về lưu lượng DNS. Nghiên cứu này đã cho kết quả: có thể phát hiện một tên miền là độc hại hay không với độ chính xác 95% đối với tên miền độc hại và tỷ lệ “dương tính giả” là 1:1000.
Bản chất của giải pháp DNS Firewall là sử dụng nguyên tắc kiểm soát truy vấn DNS thông qua việc định nghĩa các chính sách phản hổi truy vấn cho các zone tên miền (Response Policy Zone), trong trường hợp này thì DNS Firewall còn được gọi là DNS RPZ. Việc sử dụng công nghệ học máy (ML), để chủ động xác định các mối đe dọa có thể có thông qua phân tích lưu lượng DNS, kết hợp với phương pháp DNS RPZ giúp cải thiện việc phát hiện các tên miền độc hại.
Đối với giải pháp sử dụng ML, hệ thống sẽ phân tích từng truy vấn DNS để thu thập thông tin về tên miền và sử dụng thông tin đó làm đầu vào cho quá trình xử lý sau này. Ở bước này, các thông số như thông tin WHOIS, địa chỉ IP và tên miền con, … sẽ được thu thập, phân tích. Sau khi thu thập tham số, dữ liệu sẽ được phân loại, xử lý ứng dụng công nghệ học máy (ML). Kết quả xử lý sẽ được sử dụng để xác định xem tên miền có độc hại hay không. Quá trình này có thể được khái quát hóa như hình vẽ dưới đây.

2. Mô hình tổng thể
Về tổng thể, giải pháp DNS Firewall đầy đủ sẽ sử dụng tích hợp 2 chức năng:
RPZ để định nghĩa chính sách dựa trên danh sách chặn/cho phép.
Phân tích lưu lượng DNS, trong đó đặc biệt có ứng dụng học máy (ML).
Với giải pháp tổng thể như trên, có thể chặn quyền truy cập vào các tên miền đã được xác định từ trước (RPZ sử dụng blacklist, whitelist) là độc hại và các tên miền khác chưa được liệt kê trong danh mục nhưng có khả năng cao là tên miền độc hại (Phân tích lưu lượng).
Giải pháp DNS Firewall sẽ được triển khai ở hai chế độ hoạt động riêng biệt: trên đường truyền (in-band) và ngoài đường truyền (out-band). Chế độ in-band thường được sử dụng để phân tích hoạt động DNS một cách chủ động và chế độ out-band thường được sử dụng trong phân tích hoạt động DNS một cách thụ động (copy lưu lượng, vết truy vấn DNS và phân tích, xử lý sau).
In-band: Như được minh họa trong hình vẽ bên dưới, trong mô hình này các yêu cầu phân giải DNS được phân tích theo thời gian thực. Do đó cho phép xác định xem tên miền được yêu cầu có độc hại hay không và chặn hoặc cảnh báo sớm.

Out-band: Như được minh họa trong hình vẽ bên dưới, trong mô hình này DNS Firewall sẽ chỉ phân tích định kỳ lưu lượng truy vấn DNS. Do đó việc phát hiện, chặn lọc, cảnh báo tên miền là độc hại thường không theo thời gian thực mà có độ trễ. Tuy nhiên, với mô hình này sẽ không làm ảnh hưởng đến tải quá trình xử lý truy vấn và hoạt động của hệ thống DNS.

Tùy vào điều kiện, có thể triển khai giải pháp DNS Firewall sử dụng 1 trong 2 chức năng trên đều được. Trong đó, việc triển khai DNS Firewall sử dụng RPZ là khả thi, có thể thực hiện được ngay. Việc triển khai DNS Firewall sử dụng học máy là khá phức tạp, cần có đội ngũ làm về khoa học, phân tích dữ liệu (data analyst, data engineer), phát triển phần mềm (coder), hệ thống (system) để nghiên cứu, phát triển, ứng dụng công nghệ học máy trong phân tích lưu lượng DNS.
3. Mô hình DNS Firewall (DNS RPZ)
Như đã phân tích ở trên, trong phạm vi nghiên cứu của đề tài này, nhóm tập trung vào nghiên cứu mô hình DNS Firewall sử dụng RPZ (DNS RPZ).
Đối với hệ thống DNS không sử dụng RPZ: Việc kết nối, truy cập dịch vụ sử dụng tên miền từ người dùng diễn ra theo cơ chế như đã trình bày ở trên. Quá trình này có thể tóm tắt gồm các bước chính như sau: Người dùng cuối cố gắng truy cập ứng dụng, dịch vụ trên Internet (ví dụ: website), chương trình trình resolver trên máy tính người dùng sẽ kết nối, truy vấn đến máy chủ DNS gốc, sau đó là máy chủ DNS cấp cao nhất, … và cuối cùng là máy chủ của ứng dụng, dịch vụ. Yêu cầu truy cập ứng dụng, dịch vụ của người dùng sẽ diễn ra bất kể ứng dịch, dịch vụ (tên miền, website) đó có độc hại hay không.

Đối với hệ thống DNS sử dụng RPZ (DNS RPZ): Bản chất của giải pháp DNS RPZ là sử dụng nguyên tắc kiểm soát truy vấn DNS thông qua việc định nghĩa các chính sách phản hồi truy vấn cho các zone tên miền (Response Policy Zone), trong trường hợp này thì DNS Firewall còn được gọi là DNS RPZ.

Hệ thống tường lửa mạng truyền thống mặc dù sử dụng các công nghệ độc quyền và phức tạp nhưng vẫn không có khả năng trong việc phát hiện và chặn lọc các mối nguy hại và đe dọa dựa trên tên miền và giao thức DNS. Do vậy, DNS RPZ sẽ đóng vai trò quan trọng trong việc phát hiện, ngăn chặn mã độc dựa trên nền tảng hệ thống DNS. Mỗi truy vấn DNS sẽ được kiểm tra và lọc theo danh sách từ chối (blacklist), danh sách này sẽ bao gồm các thông tin: địa chỉ IP, máy chủ, tên miền (trang web độc hại). Yêu cầu truy cập đến trang web hoặc dịch vụ trên Internet sẽ bị từ chối nếu quá trình kiểm tra, lọc tìm thấy thông tin trong danh sách này.
Tổng quát, hệ thống DNS RPZ sẽ gồm các thành phần chức năng cơ bản như sau:
RPZ Provider (Feed): Đây chính là cơ sở dữ liệu, cung cấp thông tin, dữ liệu, danh sách để chặn lọc. Ngoài các dữ liệu do cán bộ quản trị tự cập nhật thì có thể sử dụng các cơ sở dữ liệu mở của bên thứ ba hoặc thương mại.
Trang landing page: Là trang thông báo cho người sử dụng khi truy cập từ máy tính của người sử dụng đến một trang web có mã độc được hệ thống phát hiện và chuyển hướng đến trang landing page này.
Chức năng thông báo nhiễm mã độc: Người sử dụng được thông báo kịp thời về các hệ thống có thể bị lây nhiễm thông qua các thông báo bảo mật.
Như đã trình bày ở trên, hoạt động của hệ thống DNS RPZ dựa trên việc định nghĩa các chính sách/luật (rule) phản hồi truy vấn cho các zone tên miền (RPZ). Mỗi chính sách sẽ bao gồm các dấu hiệu “Trigger” và hành động “Action” tương ứng. Mỗi chính sách có thể sử dụng 1 trong số 5 dấu hiệu nhận biết và chỉ định 1 trong số 8 hành động tương ứng, cụ thể như sau:
Dấu hiệu nhận biết (Response Policy Triggers):
Theo tên miền truy vấn [QNAME].
Theo địa chỉ IP có thể có trong một phản hồi DNS [RPZ-IP].
Theo tên miền hoặc địa chỉ IP của một máy chủ tên miền DNS Authoritative [RPZ-NSDNAME và RPZ-NSIP].
Theo địa chỉ IP của client [RPZ-CLIENT-IP].
Hành động (Response Policy Actions):
Trả về phản hồi DNS với “tên miền không tồn tại” [NXDOMAIN].
Trả về phản hồi DNS với “tên miền tồn tại nhưng không có bất kỳ thông tin bản ghi nào” [NODATA].
Chuyển hướng người dùng tới một tên miền hoặc bất kỳ tên miền con nào thông qua một CNAME [ví dụ: CNAME example.vn].
Thay thế phản hồi bằng dữ liệu đã được chỉ định [Local Data].
Yêu cầu client phải gửi lại truy vấn thông qua giao thức TCP.. [CNAME rpz-tcp-only].
Không áp dụng bất kỳ chính sách nào, thực hiện phân giải như thông thường [DISABLED, CNAME rpz-passthru].
Loại bỏ truy vấn, không có bất kỳ phản hồi nào đến Client [CNAME rpz-drop].
Hiện nay, DNS RPZ là tính năng được tích hợp trong các phần mềm dịch vụ DNS. Hiện nay nhiều phần mềm DNS mã nguồn mở và thương mại đều đã hỗ trợ tính năng nay. Các sản phẩm an toàn bảo mật của một số hãng an toàn thông tin cũng được cài đặt, tích hợp sẵn DNS RPZ như:
AnswerX (Akamai), BlueCat DNS (BlueCat), SolidServer (EfficientIP), DNS Firewall (InfoBlox), BIND 9 (ISC), policy.rpz module (Knot), NLnet Labs Unbound (NLnet Labs), PowerDNS Recursor (PowerDNS),...