DNS协议工作原理不再赘述~~~
知名的入侵检测三大模型:Kill Chain 杀生链、Diamond Model 钻石模型、MITRE ATT&CK ,其中Kill Chain杀伤链模型可以拆分恶意软件的每个攻击阶段,从而实现识别和阻止功能,攻击阶段分为7个,侦查、武器化、部署阶段、攻击阶段、后门植入阶段、远程控制阶段、后渗透阶段,其中利用DNS相关的有三个阶段:
武器化阶段:准备0-day攻击payload,并利用DGA生成DNS域名支撑后续攻击;
攻击阶段:引导被攻击者下载并执行Payload(下载Payload可能和域名URL相关);
远程控制阶段:建立C&C通道,获得指令、开始***(建立心跳、C&C通道和域名相关);
其中DGA算法是应用比较广泛的,其目的就是利用DGA算法生成域名,通过在被控端同样的计算,产生大量的域名,混淆视听,链接云端的控制端,进行命令控制或数据传输,那如何检测DGA域名呢?目前常见的方式有两种:
1、威胁情报检测
利用大数据威胁情报检测是近几年兴起的技术,其在威胁检测与安全运营占有越来越重的戏份,其检测的精准度完全取决于威胁情报的质量,而威胁情报的质量取决于数据,所以像国际大厂火眼、思科等公司,还有国内的360、阿里、腾讯等,尤其是专注于安全的360,均在这方面占有优势。
2、机器学习算法检测
机器学习算法在威胁检测领域近些年应用也非常广泛,其主要弥补传统IDS特征缺点,并检测异常行为与未知威胁,用于DGA检测也非常有效,虽然存在一定误报率,但仍是比较好的手段之一。
无论是常见的勒索病毒、木马还是高端的APT攻击,恶意代码中通常都会使用DGA手段,通过DNS流量监测,能够有效发现这些威胁。