TTL值与DNS TTL值
TTL(Time- To-Live),简单的说它表示一条域名解析记录在DNS服务器上缓存时间.当各地的DNS服务器接受到解析请求时,就会向域名指定的DNS服务器发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向DNS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。
fast-flux
在正常的DNS服务器中,用户对同一个域名做DNS查询,在较长的一段时间内,无论查询多少次返回的结果基本上是不会改变的。Fast-flux技术是指不断改变域名和IP地址映射关系的一种技术,也就是说在短时间内查询使用Fast-flux技术部署的域名,会得到不同的结果。
输入:log_time,src_ip,ttl
输出:是否可疑
为解决上述问题,本发明提供了一种基于DNS异常挖掘的Fast Flux僵尸网络检测方法,包括如下步骤:
步骤一:预先建立域名白名单,所述白名单内保存有正常网址的二级域名。
步骤二:根据域名白名单、DNS查询响应数据的TTL值、域名对应的IP地址相似程度、域名对应的IP数量,进行数据过滤,提取出可疑的网络流量。
步骤三:对可疑的网络流量进行DGA检测、基于协议特征的检测、基于流量特征的检测。
步骤四:根据步骤三的三个检测结果进行告警融合,最终判定可疑的网络流量是否为恶意攻击。
进一步的,所述步骤二具体为:
步骤2.1:预先定义DNS查询响应数据的TTL值阈值、域名对应的IP地址相似程度的阈值、域名对应的IP数量的阈值。
步骤2.2:判断请求网址是否为可疑的网络流量,当所请求域名的二级域名不存在于白名单中以及DNS查询响应数据的TTL值小于TTL阈值以及域名对应的IP数大于IP数阈值以及IP地址相似程度大于相似程度阈值时,判断为可疑的网络流量。
进一步的,步骤2.3中,IP地址相似程度的技术公式为其中,sim(I)表示IP地址相似程度,P表示IP地址用点划分的8位,R表示一条DNS请求对应的IP数目。
进一步的,步骤三具体为:
步骤3.1:预先建立基于协议特征的分类模型、基于流量特征的分类模型,所述基于协议特征的分类模型采用的特征为v1={IP数、TTL值、域名长度、域名层级、请求类型、非权威应答数},基于流量特征的分类模型采用的特征为v2={总流量、包数、包大小方差、上行包量、会话时长、包间隔时间}。
步骤3.2:将请求进行DAG检测过滤、基于协议特征的分类模型过滤、基于流量特征的分类模型过滤。
进一步的,步骤三中,进行DAG检测需要基于随机性的特征、基于统计的特征、基于高级特征。
进一步的,随机性的特征包括熵、长度、加权熵,统计的特征包括元音字母的比例、数字比例、重复字母比例、连续数字段比例、连续辅音字母段比例,高级特征包括一元组平均排名、二元组平均排名、三元组平均排名、一元组排名标准差、二元组排名标准差、三元组排名标准差、Hmm转移概率、gibberish值。