摘要:僵尸网络是指采用一种或多种传播手段,将大量主机感染bot程序,从而在控制者和被感染主机之间形成一个一对多的控制网络,控制者通过下发指令给僵尸主机进行攻击,如:DDoS攻击等。不论对网络安全运行还是用户数据安全保护,僵尸网络都是极具威胁的隐患。
僵尸网络是指采用一种或多种传播手段,将大量主机感染bot程序,从而在控制者和被感染主机之间形成一个一对多的控制网络,控制者通过下发指令给僵尸主机进行攻击,如:DDoS攻击等。不论对网络安全运行还是用户数据安全保护,僵尸网络都是极具威胁的隐患。
攻击发生之前感染主机需要和控制者进行通讯,一般通过解析C&C服务器的域名地址进行通讯,即僵尸网络外联。因此,对包含恶意IP和恶意域名的DNS流量进行阻断,可以在较早的阶段防御僵尸网络攻击。通过建立庞大的黑名单库,能够有效的识别绝大多数流量中的恶意IP和恶意域名。但是黑名单库更新存在一定的滞后性以及设备的内存/磁盘对黑名单库容量的限制,给了攻击者逃避黑名单检测的机会。
基于DGA(Domain Generation Algorithm)域名的通讯,是僵尸网络中攻击者常用的一种用于逃避域名黑名单检测的手段。DGA域名是一种通过输入一些种子,包含字符串、数字、特定英文字典中的单词以及日期,利用加密算法(比如异或操作等),从而产生一系列伪随机字符串生成的域名。
基于DGA域名的通讯流程如下:
1) 首先攻击者通过运行算法生成DGA域名,然后随机选择其中的少量域名进行注册,并将域名绑定到C&C服务器IP;
2) 受害者的机器被植入僵尸网络木马后运行DGA算法生成域名,并查询DNS服务器域名是否可以解析成IP地址,如果不能解析就尝试下一个域名,直到发现可以解析的域名(该域名是攻击者提前注册并绑定到C&C服务器上的),获取到对应的IP地址,进而展开和C&C服务器的通信。
DGA域名是随机生成的,且其域名形态与一些云服务提供商为平衡负载而大量使用的域名具有很大相似性,增加了识别DGA域名的难度。
为了实现对DGA域名等复杂威胁场景的准确检测,山石网科构建了云端赋能的协同检测架构。云端由数据湖、TIP、超算平台在内的多个部分构成,具备更强的数据分析和检测能力,能够为全系产品赋能。云端在进行流量信息和威胁情报收集基础上,完成智能检测算法模型的训练和迭代,并将模型相关文件下发给网关设备;设备加载模型后,对经过设备的流量进行检测和必要的统计,同时将检测结果和具有离线分析意义的原始数据上传至云端;云端对设备上传的信息进行整合和分析,提取出有价值的威胁情报,对智能检测算法模型进一步迭代。
在DGA域名协同检测的场景中,各平台的工作内容大致如下:
安全产品1.解析DNS报文,对非白名单域名进行预处理后,若缓存中不存在该域名的检测结果,则送入模型检测并对检测结果进行缓存,检测结果为DGA域名时能够对流量进行阻断并且上送云端做进一步校对;若缓存中存在该域名的检测结果,则直接执行该缓存对应的处理动作。
2.收集NXDomain报文的元数据上送云端。
数据湖数据湖需要存储NXDomain元数据、DGA检测结果、新家族发现的结果。
威胁情报运营团队1.公开数据集收集:包括正常域名数据集和DGA域名数据集,用于训练DGA模型。
2.从数据湖获取DGA新家族发现结果并进行分析。
超算平台1.完成DGA检测模型的训练和输出。
2.获取NXDomain的元数据进行DGA新家族发现。
TIP平台1.从超算平台获取DGA检测相关文件的更新,包括DGA模型文件、白名单文件、特征参数文件。
2.整合DGA检测相关文件、C2黑白名单和顶级域名单文件后,下发给Update Server。
Update Server从TIP获取所有文件后,加入botnet特征库,下发给请求的StoneOS设备。
通过云端赋能的协同检测,DGA检测模型能够不断迭代,从而更加精准的识别僵尸网络外联活动,有力的保障了DNS安全。
来源:小萱科技园地