客户内网存在若干台异常主机,频繁向外网发送异常的DNS请求,此时有几种情况:
1) 上端运营商等机构发现客户处存在异常流量,要求客户处理。
2) 客户内网的态势感知平台或其他类似设备识别到类似异常,需要尽快处理。
在上述条件下,可使用全新NGFW对异常DNS流量进行过滤,称为DNS过滤或DNS清洗。
1、部署时大致拓扑如下:
2、部署的其他要求:
1)防火墙必须能够连接公网;
2)防火墙必须已购买授权,且授权仍在有效期内;
3)异常DNS流量必须经过防火墙;
特别说明:
1、 DNS黑域名过滤功能仅限V5.2-R6.0平台版本使用。
2、 V5.2-R6.0平台版本在V5.2-R609.P0.t5-20200507版本之前(不含),默认出厂配置下设备与云端进行联动存在一定概率异常,如需要使用该功能,建议通过TFTP方式升级设备到V5.2-R609.P0.t5-20200507及以后版本,并导入升级前配置
1、黑域名是什么?
“黑域名”一般指的是如下两种类型的域名:
1)通过非正规渠道购买、来历不明的域名;
2)恶意软件用于在僵尸网络中实现管理及控制等功能而使用的域名;
一般情况下“黑域名”特指第二类,即恶意软件(如挖矿病毒、僵尸网络、勒索病毒等)通过“黑域名”实现被控制终端与控制服务器之间保持通信的域名。“黑域名”还可分为静态和动态两类。
静态黑域名常用于挖矿、勒索病毒等网络攻击行为,动态黑域名常用于僵尸网络或C&C等网络攻击行为,常常使用DGA算法(Domain Generate Algorithm)生成。
对恶意程序而言,固定的恶意IP地址极易被安全设备检测并阻断,无法实现隐蔽与有效的控制。所以,僵尸网络与C&C攻击在设置恶意软件时极力避免使用固定IP地址作为被控终端与服务器端的连接。在程序中常常使用DGA算法来生成随机域名(黑域名),以绕过常见的安全防护手段,实现对被控制端持续、有效的控制。
通过DGA算法生成的黑域名在互联网中常常无法访问,因为恶意攻击者在恶意软件运行时,才对域名进行注册,所以我们发现的黑域名常常无法直接进行访问。
2、黑域名与普通域名的区别有哪些?
1)现用现注册:由于注册域名需要费用,故恶意攻击者常常在黑域名计划上线前才注册域名,在此时黑域名才可在互联网环境中访问。
2)使用时间短:由于现有安全防护措施对网络流量中的行为进行检测,发现可疑请求后将上传云端安全管理中心。所以在黑域名生效使用后,现有检测、防护设备可快速识别并广播防护规则实现有效阻断,为了避免长时间动态域名的暴露,恶意攻击使用一个特定黑域名的时间都不长,通过在1-7天左右。
3)同一款恶意软件硬编码多个黑域名:同一款恶意软件在制作时可能会内置多个黑域名,以提高成功连接僵尸网络的几率。
3、黑域名的常见通信过程是怎样的?
当下互联网环境中,常常使用黑域名来实现隐藏僵尸网络中主控端真实IP,因其使用域名的动态性,可绕过基于特征检测的安全防护设备防护功能。
以动态黑域名为例,说明黑域名的使用场景及使用过程。
1)感染并生成随机域名:恶意人员通过恶意邮件、网络入侵等手段,向用户计算机投放恶意病毒,释放C&C被控端软件。被控端软件部署后,根据DGA算法生成伪随机域名。
2)注册随机域名,被控端反向连接主控端:恶意攻击者可提前注册部分黑域名,在恶意程序感染终端后使用DGA算法生成伪随机域名池,使用池中域名逐一向DNS服务器请求对应的IP地址,直至成功获取IP地址后即进行C&C会话连接,进行反向连接。
对于历史上发现的黑域名示例:
l zugzwang.me
l tr069.online
l tr069.tech
l tr069.support
l zvdhcktzjoz.biz
l 1cgqypq2o9mf4d3pgt0100twa.net
l d7gdxaph63ks231iac1gfmf0i.biz
l pwmdyyj.info
l sxekhtn.net
l bbhxyjv.org
l ihbgynr.biz
l ywqksthri.net
l ……
4、黑域名如何识别?
一些第三方威胁情报公共平台可以进行黑域名的协助确认(以下截图以微步在线威胁情报社区为例):
在防火墙进行DNS过滤过程中,防火墙需要与云端服务器进行交互,当第一次识别到某个域名(假设为域名A)的解析请求时,防火墙会在转发DNS报文的同时与云端确认域名分类,并记录在防火墙的缓存信息中。在缓存信息有效的前提下,第二次以及更多次请求识别到域名A的解析请求时防火墙可以直接进行处理。
以防火墙对某个域名(假设为域名A)进行DNS过滤的工作流程的描述,可用下图简述:
1) 用户基本上网配置;
2) 防火墙授权注册与激活;
3) 配置DNS过滤模板;
4) 配置SSL深度检测模板;
5) 安全策略中调用DNS过滤模板;
1、 用户基本上网配置:
根据实际需求,将防火墙部署到网络中,实现基本上网需求,具体步骤可参考典型场景配置--路由模式--单线上网 章节。
部署完成后,需满足:
1)未开启虚拟域功能的情况下,设备管理地址需要能够与外网正常通信,包括域名解析与主动向外的访问;
2)在开启虚拟域功能的情况下,设备管理域中的管理地址需要能够与外网正常通信,包括域名解析与主动向外的访问;
2、 防火墙授权注册与激活:
按照防火墙授权注册流程完成注册与激活,激活完成后确保当前设备仍处在授权有效期内,如下图所示:
3、 配置DNS过滤模板:
通过Web 进入 对象配置--DNS过滤模板,设备默认已有DNS模板“default”,可点击右上角的增加按钮,新增一个模板,如本例增加的模板“dns_filter”:
配置选项说明:
阻断发送到botnet C&C的DNS请求:防火墙设备在导入授权后,会将云端的Botnet地址库、C&C地址库下载到本地;开启此功能后,当DNS请求的域名在Botnet地址库或C&C库中,DNS请求将直接阻断,不会进行后续处理;
基于安全中心分类的过滤器:将DNS请求的域名发送到云端,云端会返回请求的域名的分类信息,用户可基于分类结果,对不同的分类执行不同的动作;
静态域过滤器-域过滤:可手工定义一个域名列表,人为指定对特定域名的处理动作;
静态域过滤器-外部IP阻断清单:与域过滤类似,可手工定义一组IP列表,当域名解析出的地址在该地址列表范围内,人为指定处理动作;
可选项-当发生网址分类错误时允许DNS请求:开启此功能后,当请求的域名发送给云端,云端暂未对其进行分类,或者防火墙与云端无法正常通信时,用户的DNS解析报文可正常转发;关闭此功能后,如出现域名没有分类,或云端连接异常时,DNS报文将不进行转发。
可选项-记录所有DNS查询及相应日志:开启此功能后,可同时记录DNS的请求与回复内容。
推荐必须开启的功能选项:阻断发送到BotnetC&C的DNS请求,基于安全中心分类的过滤器(务必根据实际需要对特定分类的动作进行修改与确认),可选项-当发生网址分类错误时允许DNS请求。
4、 配置SSL深度检测模板
在防火墙6.0软件版本上,为了提高安全性,在安全策略开启UTM功能时,要求必须选择SSL/SSH深度检测模板。设备默认已内置SSL深度检测模板,但默认模板中都会对SSL、SSH协议进行代理检测,在实际应用中可能导致出现业务异常。因此如实际场景中没有SSL加密内容的解密需求,需要重新设置一个不加密检测的SSL模板。
配置方法:通过WEB方式进入 对象配置--SSL/SSH深度检测模板,点击右上角新建按钮,创建一个新的SSL/SSH深度检测模板,如下图新建的SSL/SSH深度检测模板“no_ssl”:
新建的模板中,将“检查所有端口”以及“HTTPS”等协议后的开启选项全部关闭即可。
5、 安全策略中调用DNS过滤模板
通过Web界面,在策略设置--IPv4策略中,对现有策略进行调整。如下图所示,在对上网上网的“安全配置”进行设置后,调用DNS过滤模板“dns_filter”以及SSL/SSH深度检测模板“no_ssl”:
通过防火墙下PC尝试解析黑域名,查看防火墙阻断效果,在防火墙上通过查看日志以及内外网接口抓包方式确认效果。
本案例中使用3个域名进行测试,分别为“v.y6h.net”“lpp.ackng.com”“loseyourip.com”。首先需要通过工具确认域名的属性(本案例使用VirusTotal进行测试,实际场景中可使用其他工具):
在确认域名存在风险后,可继续进行下述测试:
1、PC端DNS解析情况:
测试说明:
1)参数“-qt=A”为nslookup的补充参数,意为强制进行IPv4的域名解析;
2)命令最后的地址,意为强制使用该地址作为DNS服务器;
3)每次测试前,均使用命令“ipconfig /flushdns”清空DNS缓存,避免缓存影响测试结果。
2、 防火墙端日志:
测试说明:
1)动作为“block”且消息字段显示“Domain belongs to a denied category in policy”,表明该DNS报文是通过DNS分类手段被阻断;
2)动作为“block”且消息字段显示“Domain was blocked by dns botnet C&C”表明该DNS报文是匹配到本地的Botnet C&C库被阻断。
1、 DNS黑域名过滤功能仅限V5.2-R6.0平台版本使用。
2、 V5.2-R6.0平台版本在V5.2-R609.P0.t5-20200507版本之前(不含),默认出厂配置下设备与云端进行联动存在一定概率异常,如需要使用该功能,建议通过TFTP方式升级设备到V5.2-R609.P0.t5-20200507及以后版本,并导入升级前配置;
3、 DNS域名过滤中有多种方式,优先级为:静态域名过滤 > Botnet C&C库 > 云端分类库;
4、 当防火墙设备没有授权时,云端分类库将无法使用。
5、 如公网DNS服务器已对部分域名的对应关系进行安全性处理(比如将黑域名的记录关系对应到127.0.0.1或其他私有地址),对于此类的域名解析依赖于云端库分类进行过滤将失效,此时可在使用云端库分类的同时结合静态域名过滤的方式实现。