一种DGA恶意软件识别方法技术

技术编号:19352347 阅读:19 留言:0更新日期:2018-11-07 17:34
本发明专利技术公开了一种DGA恶意软件识别方法,可基于DGA技术本身的弱点快速识别出DGA恶意软件。由于DGA恶意软件所感染的主机并不知道其控制服务器域名,被感染主机需不断随机生成域名并尝试连接,直至成功连接到控制服务器。本发明专利技术基于上述弱点,并借鉴随机漫步思想,将主机每一次失败的域名连接看作一次随机漫步,给出随机漫步增量的计算方法,通过将随机漫步步数以及随机漫步增量和与预设阈值进行对比,判断主机是否被DGA恶意软件感染。该方法可在被感染主机连接到控制服务器之前完成检测,有效抑制DGA恶意软件的应用,在网络安全领域具有广泛的应用前景。

【技术实现步骤摘要】
一种DGA恶意软件识别方法
本专利技术属于网络安全
,具体涉及一种DGA(DomainGenerationAlgorithm,域名生成算法)恶意软件识别方法。
技术介绍
早期的DGA技术主要用于僵尸网络,很多相关检测方法均是基于僵尸网络的特性(包括同步性、周期性和节点关联性)来检测DGA恶意软件。而近期的DGA技术被用于勒索软件,在该类应用中,勒索软件不具备上述僵尸网络的特性,因此传统的检测方法难以应用于此类场景。DGA恶意软件的关键弱点在于被感染的主机不知道控制服务器域名,即被感染主机需通过随机算法不断生成域名并尝试进行连接,直至成功连接到控制服务器域名。因此,可通过分析连接失败的域名数量以及域名本身的特点来实现DGA恶意软件的识别。专利CN106576058A《用于检测域生成算法恶意软件和被此类恶意软件感染的系统的系统和方法》、专利CN106992969A《基于域名字符串统计特征的DGA生成域名的检测方法》、专利CN105577660A《基于随机森林的DGA域名检测方法》、专利CN107046586A《一种基于类自然语言特征的算法生成域名检测方法》、专利US2013191915(A1)《METHODANDSYSTEMFORDETECTINGDGA-BASEDMALWARE》提出的检测方法均是以单个域名或该域名的相关参数作为分析检测对象,由于在实际网络环境中存在大量正常的不规则域名,尤其是长度较短的域名,导致该类检测方法均具有较高的误报率。
技术实现思路
本专利技术技术解决问题:针对DGA恶意软件的关键弱点,即被感染主机不知道控制服务器域名,提供一种DGA恶意软件识别方法,可在被感染主机连接到控制服务器之前将其检测出来。本专利技术技术解决方案:为实现上述目的,本专利技术采用如下技术方案。一种DGA恶意软件识别方法,包括以下步骤:a)主机每一次失败的域名连接称为一次随机漫步,基于主机第i个连接失败的域名,计算随机漫步增量Δi,并求得前n次随机漫步增量和Λn;b)当Λn大于预设阈值上界Bu或随机漫步的步数n超过预设阈值Bs时,判定该主机被DGA恶意软件感染,当Λn小于预设阈值下界Bl时,判定该主机未被DGA恶意软件感染;c)当某主机被判定为被感染状态时,发出告警并重置Λ1=0,当主机被判定为正常状态时,直接重置Λ1=0。进一步地,步骤1)中,随机漫步增量Δi的计算方法为其中,l为域名长度,,Pr(α0)和Pr(αk|αk-1)基于Alexa排名前10万的域名统计得出,Pr(α0)为所有域名中初始字符为α0的统计概率,Pr(αk|αk-1)为所有域名中第k-1个字符为αk-1的条件下第k个字符为αk的概率。进一步地,Pr(αk|αk-1)的计算方法为其中为二元字符组αk-1αk在所有域名中出现的次数,为起始字符为αk-1的二元字符组在所有域名中出现的次数。进一步地,步骤2)中,阈值上界Bu和阈值下界Bl基于漏报率fnr和误报率fpr计算得出,计算方法为其中,漏报率指主机被感染但判定结果为主机为正常状态,误报率指主机未被感染但判定结果为主机为被感染状态。进一步地,步骤2)中,漏报率fnr、误报率fpr以及阈值Bs可根据系统安全性需求、当前的网络状况等因素综合确定。本专利技术与现有技术相比的有益效果在于:现有的DGA恶意软件识别方法可大致分为两类。一类通过提取分析单个域名的特征来判断DGA域名,由于在实际网络环境中存在大量正常的不规则域名,尤其是长度较短的域名,导致该类检测方法均具有较高的误报率。另一类是基于僵尸网络的特点来进行检测,即通过分析多次连接的特点来判断域名是否异常,因此只能在连接请求完成之后才能检测出DGA域名。本专利技术提出的一种基于阈值随机漫步算法的DGA恶意软件识别方法,该方法不需要恶意样本作为训练集,可在被感染主机连接到控制服务器之前完成检测,且阈值随机漫步算法能在保证检测准确率的同时最大限度地提高检测速率。本专利技术通过实验验证,其误报率可做到小于3%,表明了其有效性。附图说明图1为本专利技术的有限状态机示意图。具体实施方式下面结合附图和实施示例,对本专利技术的具体实施方式作进一步详细描述。以下实施示例用于说明本专利技术,但不限制本专利技术的范围。本专利技术需首先设置漏报率fnr和误报率fpr,并基于fnr和fpr计算得随机漫步增量的阈值上界Bu和阈值下界Bl。随机漫步的步数阈值Bs暂不设置。例如,设置fnr=0.01,fpr=0.001,则可计算得然后测试正常访问在上述参数条件下的最大结束步数S,再根据S设置随机漫步的步数阈值Bs。例如,测试得S=12,则可设置Bs=15。在检测阶段,如图1,初始状态下Λ1=0,当主机尝试一次域名连接时,若连接成功,则Λn不变,若连接失败,则根据如下公式计算随机漫步增量Δi以及随机漫步增量和Λn,Λn=∑iΔi。其中,l为域名长度,Pr(α0)为所有域名中初始字符为α0的统计概率,Pr(αk|αk-1)为所有域名中第k-1个字符为αk-1的条件下第k个字符为αk的概率。Pr(αk|αk-1)的计算方法为:其中为二元字符组αk-1αk在所有域名中出现的次数,为起始字符为αk-1的二元字符组在所有域名中出现的次数。当Λn大于预设阈值上界Bu或随机漫步的步数超过预设阈值Bs时,判定该主机被DGA恶意软件感染,当Λn小于预设阈值下界Bl时,判定该主机未被DGA恶意软件感染。当某主机被判定为被感染状态时,发出告警并回到初始状态,即将重置Λ1=0,当主机被判定为正常状态时,直接回到初始状态并重置Λ1=0。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴。本文档来自技高网
...

【技术保护点】
1.一种DGA恶意软件识别方法,其特征在于,包括以下步骤:(1)主机每一次失败的域名连接称为一次随机漫步,基于主机第i个连接失败的域名,计算随机漫步增量Δi,并求得前n次随机漫步增量和Λn;(2)当Λn大于预设阈值上界Bu或n超过预设阈值Bs时,判定该主机被DGA恶意软件感染,当Λn小于预设阈值下界Bl时,判定该主机未被DGA恶意软件感染;(3)当某主机被判定为被感染状态时,发出告警并重置Λ1=0,当主机被判定为正常状态时,直接重置Λ1=0。

【技术特征摘要】
1.一种DGA恶意软件识别方法,其特征在于,包括以下步骤:(1)主机每一次失败的域名连接称为一次随机漫步,基于主机第i个连接失败的域名,计算随机漫步增量Δi,并求得前n次随机漫步增量和Λn;(2)当Λn大于预设阈值上界Bu或n超过预设阈值Bs时,判定该主机被DGA恶意软件感染,当Λn小于预设阈值下界Bl时,判定该主机未被DGA恶意软件感染;(3)当某主机被判定为被感染状态时,发出告警并重置Λ1=0,当主机被判定为正常状态时,直接重置Λ1=0。2.根据权利要求1所述的DGA恶意软件识别方法,其特征在于:所述步骤(1)中,随机漫步增量Δi的计算方法为其中,l为域名长度,Pr(α0)为所有域名中初始字符为α0的统计概率,Pr(αk|αk-1)为所有域名中第k-1个字符为αk-1的条件下第k个字符为αk的概率。3.根据权利要求2所述的DGA恶意软件识别方法,其特征在于:所述Pr(αk|αk-1)的计算方法为:其中为二元字符组αk-1αk在所有域名中出现的次数,为起始字符为αk-1的二元字符组在所有域名中出现的次数。4.根据权利要求1...

【专利技术属性】
技术研发人员:罗熙徐震王利明杨婧
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1