17-DGA域名检测配置
本章节下载: 17-DGA域名检测配置 (401.54 KB)
目 录
DGA域名检测功能基于深度学习算法,能高效检测出DNS请求报文中可能包含的DGA域名,及时封堵内网僵尸主机与C&C服务器(Command and Control Server,用于向恶意软件下达攻击指令的服务器)的通信流量;并可输出DGA域名检测日志,经数据分析中心综合处理后,生成僵尸网络分析报告,使管理员能够精确定位内网僵尸主机。关于数据分析中心的详细介绍,请参见“DPI深度安全配置指导”中的“数据分析中心”。
某些恶意软件在感染了内网主机后,需要定期与外网的C&C服务器通信,接收来自C&C服务器的指令,并向其传递被感染主机上的隐私数据。
通常,恶意软件会采用如下方式与C&C服务器通信:
· 固定IP:恶意软件直接与C&C服务器的固定IP地址通信。
· 静态域名:恶意软件通过一个固定域名与C&C服务器通信。
· 静态域名列表:恶意软件在固定域名列表中选择一个域名与C&C服务器通信。
· DGA域名:恶意软件通过由DGA算法(Domain Generation Algorithm,域名生成算法)动态生成的域名与C&C服务器通信。
对于管理员而言,固定IP、静态域名和静态域名列表的访问方式很容易通过IP地址黑名单和域名黑名单进行流量封堵;而DGA算法的不可预测性,使得恶意软件能利用DGA域名轻易地绕过传统基于黑名单的防御方式与C&C服务器通信。
DGA算法是一种伪随机算法(Pseudo-Random Algorithm),能将特定的随机种子(通常是系统当前日期)作为输入,输出一系列具备如下特征的域名字符串:
· 随机性:不同随机种子生成的域名字符串的文本差异性较大。
· 单向性:恶意软件的控制者可以通过特定的随机种子还原出恶意软件与C&C服务器通信时将要采用的域名,而其他人无法通过域名字符串反推DGA算法或随机种子。
恶意软件的控制者与侵入内网的恶意软件运行同一套DGA算法。控制者可以事先通过确定的随机种子生成大量备选域名,只需要在约定的通信时间前将一小部分域名在域名系统上注册,即可顺利实现与内网恶意软件的交互。
图1-1所示为DGA域名检测功能的系统架构。DGA域名检测功能需要在设备上安装智能业务平台模块,智能业务平台模块上带有AI引擎,用于部署利用深度学习技术生成的DGA域名特征模型以及相关检测算法。关于智能业务平台模块的详细介绍,请参见“DPI深度安全配置指导”中的“智能业务平台”。
图1-1 DGA域名检测系统架构图
设备将待检测域名发送给智能业务平台模块后,由智能业务平台模块对域名进行检测。智能业务平台模块调用AI引擎,将待检测域名与DGA域名特征模型进行匹配,利用深度学习算法判定待检测域名是否为DGA域名。之后,智能业务平台模块将检测结果发送给设备,设备根据配置的处理动作对被判定为请求解析DGA域名的DNS请求报文执行阻断或放行操作。
图1-1所示硬件外观仅示意,请以硬件的实际外观为准。
图1-2所示为设备对接收到的DNS请求报文进行DGA域名检测的具体流程。
图1-2 DGA域名检测功能处理流程图
DGA域名检测功能的处理流程如下:
(1) 域名提取。设备将DNS请求报文中的请求域名提取出来作为待检测域名。
(2) 匹配例外域名。设备将待检测域名与所配置的例外域名进行匹配,根据匹配结果的不同,设备有如下处理方式:
¡ 待检测域名为例外域名:设备不对该域名进行后续DGA域名检测,放行DNS请求报文。待检测域名不为例外域名:设备执行步骤(3),继续进行DGA缓存匹配。
(3) 匹配DGA缓存。DGA缓存用于维护一定时间内各IP地址发起DGA域名解析请求的历史记录。DGA缓存的主要内容包括:
¡ 源IP地址:DNS请求报文的源IP地址。
¡ DGA域名访问次数:源IP地址请求解析DGA域名的总次数(发送一个请求解析DGA域名的DNS请求报文算作一次)。
¡ 源IP地址的状态:包括冻结状态和非冻结状态。
¡ 剩余冻结时间:处于冻结状态的源IP地址的剩余冻结时间。
根据匹配结果的不同,设备有如下处理方式:
¡ 如果DNS请求报文的源IP地址在DGA缓存中存在,说明源IP地址曾有过DGA域名访问历史,根据DGA缓存中该IP地址的状态不同,设备有如下处理动作:
- IP地址为冻结状态:设备阻断DNS请求报文。
- IP地址为非冻结状态:如果DGA缓存中该IP地址的DGA域名访问次数低于5次,设备执行步骤(4),继续对域名进行检测;否则设备放行DNS请求报文。
¡ 如果DNS请求报文的源IP地址在DGA缓存中不存在,设备执行步骤(4),继续对域名进行检测。
(4) 域名检测。设备将待检测域名通过内联以太网接口发送给智能业务平台模块,智能业务平台模块接收到待检测域名后,调用AI引擎对域名进行检测。完成DGA域名检测后,智能业务平台模块将检测结果返回给设备。
(5) 执行处理动作。如果待检测域名被判定为非DGA域名,设备放行DNS请求报文;如果待检测域名被判定为DGA域名,根据DGA缓存中源IP地址的DGA域名访问次数,设备有如下处理方式:
¡ 如果源IP地址的DGA域名访问次数达到5次(包含本次),则设备根据配置的处理动作,对DNS请求报文进行阻断或放行操作,并可生成DGA域名检测日志。
对于被阻断的DNS请求报文,其源IP地址在DGA缓存中的状态将变为冻结,在剩余冻结时间内,该IP地址发起的所有域名解析请求都会因匹配该条记录,而被设备阻断。
¡ 如果源IP地址的DGA域名访问次数低于5次(包含本次),则设备放行DNS请求报文。
如果DGA缓存中不存在该IP地址的记录,设备会为该IP地址创建一条DGA域名访问次数为1、状态为非冻结的记录。
DGA域名检测日志用来记录设备从DNS请求报文中检测到的DGA域名信息。日志内容包括DNS请求报文的源/目的IP地址、源/目的端口、源VPN、源/目的安全域、设备对报文执行的处理动作、DGA域名访问次数以及DGA域名。
一旦待检测域名被智能业务平台模块判定为DGA域名,且设备上配置的处理动作中包括生成日志信息,设备会生成DGA域名检测日志:
· 设备将源IP地址相同的DGA域名检测信息聚合为一条DGA域名检测日志进行输出。DGA域名检测日志可以输出到信息中心,或以快速日志方式输出到日志主机(需开启快速日志功能并配置相关输出参数)。关于信息中心的详细介绍,请参见“网络管理和监控配置指导”中的“信息中心”;关于快速日志的详细介绍,请参见“网络管理和监控配置指导”中的“快速日志输出”。
· 开启DGA域名检测业务的日志采集功能后,设备产生的DGA域名检测日志会被数据分析中心综合处理,生成僵尸网络分析报告,展示在设备的Web界面上。管理员可根据此报告精确定位内网的僵尸主机。
DGA域名检测功能仅支持对最长128个字符的标准英文域名(由英文字母、数字、“.”、“-”和“_”字符组成)进行检测;不支持对其他语言的域名,包括这些域名所对应的国际化域名编码(即Punycode编码)进行检测。
本特性的支持情况与设备型号有关,请以设备的实际情况为准。
F1000系列 |
型号 |
说明 |
F1000-X-G5系列 |
F1000-A-G5、F1000-C-G5、F1000-C-G5-LI、F1000-E-G5、F1000-H-G5、F1000-S-G5 |
支持 |
F1000-X-XI系列 |
F1000-D-XI、F1000-E-XI |
支持 |
F100系列 |
型号 |
说明 |
F100-X-G5系列 |
F100-E-G5 |
支持 |
F100-A-G5、F100-C-G5、F100-M-G5、F100-S-G5 |
不支持 |
|
F100-C-A系列 |
F100-C-A2、F100-C-A1 |
不支持 |
F100-X-XI系列 |
F100-A-XI、F100-C-XI、F100-S-XI |
不支持 |
(1) 配置智能业务平台模块
(2) 配置设备
¡ (可选)配置DGA域名检测日志以快速日志方式输出
¡ (可选)开启DGA域名检测业务日志采集功能
DGA域名检测功能需要设备与安装在其上的智能业务平台模块配合实现。在智能业务平台模块上激活DPI各业务模块配置后,智能业务平台才能接收设备提交的待检测域名进行DGA域名检测。
用户需要将智能业务平台模块安装到设备上,并完成初始化配置,具体安装和配置方法请参见智能业务平台模块部署手册。
(1) 进入系统视图。
system-view
(2) 激活DPI各业务模块配置。
inspect activate
缺省情况下,DPI各业务模块配置未被激活。
执行此命令会暂时中断DPI业务的处理,可能导致其他基于DPI功能的业务同时出现中断。例如,安全策略无法对应用进行访问控制等。
关于该命令的详细介绍,请参见“DPI深度安全命令参考”中的“应用层检测引擎”。
智能业务平台的IP地址应为智能业务平台模块内联以太网接口的IP地址。
用户将DGA域名检测处理动作由放行报文修改为阻断报文后,对于DGA缓存中DGA域名访问次数达到5次的源IP地址,其状态会统一变为冻结。
(1) 进入系统视图。
system-view
(2) 配置智能业务平台的IP地址。
intelligent-inspect ip ip-address
缺省情况下,未配置智能业务平台的IP地址。
关于该命令的详细介绍,请参见“DPI深度安全命令参考”中的“智能业务平台”。
(3) (可选)配置例外域名。
inspect domain-name exception domain-name
缺省情况下,未配置例外域名。
(4) 进入DGA域名检测视图。
dga
(5) 配置DGA域名检测处理动作。
action { permit | drop } [ logging ]
缺省情况下,DGA域名检测处理动作为放行报文。
(6) 开启DGA域名检测功能。
service enable
缺省情况下,DGA域名检测功能处于关闭状态。
缺省情况下,设备生成的DGA域名检测日志会被输出到信息中心进行处理。配置本功能后,设备生成的DGA域名检测日志将仅通过快速输出通道输出,不通过信息中心输出。
(1) 进入系统视图。
system-view
(2) 开启快速日志输出功能。
customlog format dpi dga
缺省情况下,快速日志输出功能处于关闭状态。
关于该命令的详细介绍,请参见“网络管理和监控命令参考”中的“快速日志输出”。
(3) 配置快速日志输出参数。
customlog host [ vpn-instance vpn-instance-name ] { hostname | ipv4-address | ipv6 ipv6-address } [ port port-number ] export dpi dga
缺省情况下,未配置快速日志输出参数。
关于该命令的详细介绍,请参见“网络管理和监控命令参考”中的“快速日志输出”。
开启本功能后,设备产生的DGA域名检测日志会被数据分析中心综合处理,生成僵尸网络分析报告,展示在设备的Web界面上。
(1) 进入系统视图。
system-view
(2) 开启DGA域名检测业务日志采集功能。
dac log-collect service dpi dga enable
缺省情况下,未开启DGA域名检测业务日志采集功能。
关于该命令的详细介绍,请参见“DPI深度安全命令参考”中的“数据分析中心”。
在完成上述配置后,在任意视图下执行display命令可以显示DGA域名检测功能的运行情况,通过查看显示信息验证配置的效果。
表1-1 DGA域名检测的显示和维护
操作 |
命令 |
显示例外域名 |
display inspect domain-name exception |
企业网管理员为了及时检测到内网主机的异常外连行为,需要在企业安全网关Device上配置DGA域名检测功能,对网络中的DNS请求报文进行DGA域名检测,并将疑似僵尸主机的IP地址进行冻结,阻断该IP地址发起的所有DNS请求报文。此外,安全网关还应生成DGA域名检测日志,供数据分析中心模块综合分析,精确定位内网可能存在的僵尸主机。
图1-3 DGA域名检测配置组网图
将智能业务平台模块安装到Device上,并完成初始化配置,具体安装和配置方法请参见智能业务平台模块部署手册。
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Module> system-view
[Module] interface gigabitethernet 1/0/1
[Module-GigabitEthernet1/0/1] ip address 1.1.1.1 24
[Module-GigabitEthernet1/0/1] quit
(2) 激活DPI各业务模块配置
[Module] inspect activate
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 24
[Device-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
(2) 将接口加入安全域
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device] security-zone name Trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name Untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置安全策略保证网络互通
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-0-trust-untrust] action pass
[Device-security-policy-ip-0-trust-untrust] source-zone Trust
[Device-security-policy-ip-0-trust-untrust] destination-zone Untrust
[Device-security-policy-ip-0-trust-untrust] source-ip-subnet 192.168.1.0 24
[Device-security-policy-ip-0-trust-untrust] quit
[Device-security-policy-ip] quit
(4) 配置NAT源地址转换
# 配置ACL 2000,允许对内网192.168.1.0/24网段的报文进行地址转换。
[Device] acl basic 2000
[Device-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Device-acl-ipv4-basic-2000] quit
# 在接口GigabitEthernet1/0/2上配置Easy IP方式的出方向动态地址转换,使得内网主机访问Internet的报文可以使用接口GigabitEthernet1/0/2的IP地址进行源地址转换。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] nat outbound 2000
[Device-GigabitEthernet1/0/2] quit
(5) 配置DGA域名检测功能
# 配置智能业务平台的IP地址。
[Device] intelligent-inspect ip 1.1.1.1
# 配置DGA域名检测。
[Device] dga
[Device-dga] action drop logging
[Device-dga] service enable
[Device-dga] quit
# 开启DGA域名检测业务日志采集功能。
[Device] dac log-collect service dpi dga enable
(1) 在Device上执行display intelligent-inspect status命令显示智能业务平台的连接状态为Connected。
[Device] display intelligent-inspect status
State: Connected.
(2) 内网出现针对DGA域名的解析请求后,Device会将疑似僵尸主机的IP地址进行冻结,在30分钟内阻断该IP地址发起的所有DNS请求报文,并生成前缀为DGA/4/DGA_IPV4_INTERZONE的DGA域名检测日志。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!