用于检测域生成算法恶意软件和被此类恶意软件感染的系统的系统和方法技术方案

技术编号:15193560 阅读:136 留言:0更新日期:2017-04-20 14:26
公开了用于对域生成算法(DGA)及其命令和控制(C&C)服务器的检测的系统和方法。在一个实施例中,此类方法包括检查DNS查询以检查DNS解析失败,以及监测每个失败的域的某组参数,例如级数、域名的长度、词法复杂度等等。然后可将这些参数与某些阈值比较以确定域名是否可能是DGA恶意软件的一部分。然后可将被标识为DGA恶意软件的一部分的域名组合在一起。一旦DGA域名被标识,可监测来自该域名的活动以检测来自同一源的成功的解析从而观察成功的域解析的任一个是否匹配这些参数。如果它们匹配特定阈值,则确定域是DGA恶意软件的C&C服务器并且由此将其标识。

【技术实现步骤摘要】
【国外来华专利技术】
本公开总地涉及网络安全管理,并且具体涉及用于检测使用域生成算法的恶意软件和标识被此类恶意软件感染的系统的系统和方法。背景与其他网络交互的计算机网络被不断地暴露给恶意软件或恶性软件,例如病毒、蠕虫、僵尸网络和木马,恶意软件被形成以潜入计算机软件架构的每一级。随着用于检测这些恶意软件的机制发展和改进,恶意软件的数量和种类也发展和改进。一种近年使用增加的恶意软件依赖于用于创建数千接触命令和控制(C&C)通道的域名的域生成算法(DGA)。C&C通道包括C&C服务器,C&C服务器是恶意软件作者具有控制权的域名。大部分生成的域名为不是有效的域名的随机字符串。然而,算法创建足够多的域名,最终生成了一些有效的域名,并且从这些有效的域名中最终发现和接触到C&C服务器。通过只使用一个C&C服务器,这种类型的恶意软件帮助恶意软件作者维持小但灵活的物理C&C基础结构,其只需要短的时间段被配置和调节开启。这帮助恶意软件作者保持他们的僵尸网络在较长的时间段中是活的并且防止损坏。此外,僵尸守护者只需要从DGA生成的多个域名中注册一个域名以运行此类操作。这帮助恶意软件作者在不暴露C&C基础结构的情形下建立大的感染基础。因此,此类恶意软件是高度有效的并且很难被检测到。这种类型的恶意软件还使静态信誉系统难以维持所有可能的C&C域的准确列表。此外,传统黑名单机制在这种情况下通常不起作用。以下公开解决了这些问题和其他问题。附图说明图1是示出根据一个或多个公开的实施例的网络架构基础结构的框图。图2是示出根据一个实施例的与本文所描述的技术一起使用的可编程设备的框图。图3是示出根据另一实施例的与本文所描述的技术一起使用的可编程设备的框图。图4A-4B是根据一个或多个公开的实施例的用于为给定的域名计算词法复杂度分数的算法的流程图。图5是根据一个或多个公开的实施例的用于确定域名是否是DGA生成的流程图。图6是根据一个或多个公开的实施例的用于标识域生成算法恶意软件使用的C&C域的流程图。具体实施方式基于DGA的恶意软件经常使用大量随机生成的域名的域名服务器(DNS)查询以寻找它们的C&C服务器。在该过程期间,它们通常生成对不存在的(NX)域的大量DNS查询。为了有效地检测此类算法,过程可用于检查用于此类NX域的DNS查询(即,DNS解析失败),以及监测用于这些NX域的每一个的某组参数(例如级数、域名长度、词法复杂度等等)。然后可将这些参数与某些阈值比较以确定域名是否可能是DGA恶意软件的一部分。然后可将被标识为DGA恶意软件的一部分的域名组合在一起。一旦标识了DGA域名,可监测来自域名的源IP的活动以检测来自同一源的成功的解析从而观察成功的域解析的任一个是否匹配某些特定参数。如果它们匹配特定参数,则确定域是DGA恶意软件的C&C服务器并且由此可标识该域。在下面的描述中,为了进行解释,阐述了许多特定的细节以提供对本专利技术的透彻理解。然而,对本领域技术人员将显而易见的是,在没有这些特定细节的情况下也可实施本专利技术。在其他实例中,以框图形式示出结构和设备,以避免使本专利技术变得模糊。对不具有下标或后缀的编号的引用理解为引用对应于所引用编号的下标和后缀的全部实例。此外,已出于可读性和指导性目的大致上选择了本公开中所使用的语言,并且可能未选择这些语言来描绘或限定专利技术主题,借助于确定此类专利技术主题所必需的权利要求书。说明书中对\一个实施例\或\实施例\等的引用意味着结合该实施例所描述的特定的特征、结构或特性被包括在本专利技术的至少一个实施例中,并且对\一个实施例\或\实施例\的多个引用不应该被理解为一定都引用同一个实施例。如本文中所使用的,术语“可编程设备”可以是指用于执行描述为在可编程设备上执行或由可编程设备执行的功能的单个的可编程设备或一起工作的多个可编程设备。现在参考图1,示意性地示出了示例基础结构100。基础结构100包括计算机网络102,计算机网络102可包括当今可用的许多不同类型的计算机网络,例如,因特网、企业网络或者局域网(LAN)。这些网络中的每一个都可以包含有线或无线设备,并使用任意数量的网络协议(例如,TCP/IP)来进行操作。网络102连接到网关和路由器(由108表示)、最终用户计算机106以及计算机服务器104。在基础结构100中还示出了用于与移动通信设备一起使用的蜂窝网络103。如在本领域内已知的那样,移动蜂窝网络支持移动电话以及许多其他类型的设备(例如,未示出的平板计算机)。基础结构100中的移动设备被示为移动电话110。在诸如图1显示的网络中,根据本文公开的一个或多个实施例,可监测和分析网络活动以检测DGA恶意软件。一个或多个软件程序或装置可用于监测和分析网络活动并且执行对网络中的NX域的分析以检测DGA恶意软件并标识其源。现在参考图2,框图示出了根据一个实施例的可采用恶意软件检测方法的可编程设备200。示出在图2中的可编程设备是包括第一处理元件270和第二处理元件280的多处理器可编程设备200。虽然示出了两个处理元件270和280,可编程设备200的实施例也可以只包括一个此类处理元件。可编程设备200被示为点对点互连系统,其中第一处理元件270和第二处理元件280经由点对点互连250耦合。图2示出的互连的任何或者全部可以被实现为多点总线而不是点对点互连。如图2所示,处理元件270和280中的每一个可以是多核处理器,包括第一和第二处理器核(即,处理器核274a与b以及处理器核284a与284b)。此类核274a、274b、284a、284b可以配置成结合图4和5以本文所公开的方式来执行指令代码。然而,其他实施例可以根据需要使用是单核处理器的处理元件。在具有多个处理元件270的实施例中,每个处理元件根据需要可以被实现为具有不同数量的核。每个处理元件270、280可以包括至少一个共享高速缓存246。共享高速缓存246a、246b可以存储被处理元件的一个或多个组件(例如核274a、274b和284a、284b)分别利用的数据(例如指令)。例如,共享高速缓存可以本地地高速缓存存储器232、234中存储的数据以供处理元件270、280的组件更快速的访问。在一个或多个实施例中,共享高速缓存246a、246b可以包括一个或多个中级高速缓存,例如,第2级(L2)、第3级(L3)、第4级(L4),或其他级的高速缓存,末级高速缓存(LLC),或其组合。尽管图2为了附图的清楚示出了具有两个处理元件270、280的可编程设备,本专利技术的范围不限于此,并且可以存在任何数量的处理元件。替代地,处理元件270、280的一个或多个可以是处理器之外的元件,例如图形处理单元(GPU)、数字信号处理(DSP)单元、现场可编程门阵列、或者任何其他可编程处理元件。处理元件280相对于处理元件270可以是异构的或者非对称的。按照包括架构、微架构、热、功耗特征等优点的一系列度量,处理元件270、280之间可能存在各种差异。这些差异会有效地显示为处理元件270、280之间的不对称性和异构性。在一些实施例中,各种处理元件270、280可驻留在同一管芯封装中。第一处理元件270可本文档来自技高网...
用于检测域生成算法恶意软件和被此类恶意软件感染的系统的系统和方法

【技术保护点】
至少一种计算机可读介质,指令存储在所述计算机可读介质上,包括被执行时使可编程设备进行以下操作的指令:通过监测网络活动来标识域名;将所述域名的一部分标识为名称;为所述名称计算词法复杂度分数;以及至少基于所述词法复杂度分数确定所述域名是否是域生成算法(DGA)生成的。

【技术特征摘要】
【国外来华专利技术】2014.08.22 US 14/466,8061.至少一种计算机可读介质,指令存储在所述计算机可读介质上,包括被执行时使可编程设备进行以下操作的指令:通过监测网络活动来标识域名;将所述域名的一部分标识为名称;为所述名称计算词法复杂度分数;以及至少基于所述词法复杂度分数确定所述域名是否是域生成算法(DGA)生成的。2.如权利要求1所述的计算机可读介质,其特征在于,用于将所述域名的一部分标识为所述名称的所述指令进一步使所述可编程设备:标识和移除顶级域(TLD);响应于确定所述FLD的长度小于指定的阈值,移除第一级域(FLD);以及如果确定所述域名以藉词开始,则移除所述藉词;以及将所述域名的剩余部分标识为所述名称。3.如权利要求1-2中的任一项所述的计算机可读介质,其特征在于,所述藉词包括字符www。4.如权利要求2所述的计算机可读介质,其特征在于,用于将所述域名的一部分标识为所述名称的所述指令进一步使所述可编程设备:如果确定所述FLD的长度等于或小于所述指定的阈值,则移除所述FLD。5.如权利要求1-2中的任一项所述的计算机可读介质,其特征在于,用于为所述名称计算词法复杂度分数的所述指令进一步包括使所述可编程设备进行以下操作的指令:解析所述名称以标识有效的词;创建有效的词的组合;计算被标识的有效的词的总长度;从所述名称的长度中减去所述总长度以确定剩余部分的长度;以及通过将所述剩余部分的长度除以所述名称的长度来计算所述词法复杂度分数。6.如权利要求5所述的计算机可读介质,其特征在于,用于确定所述域名是否是DGA生成的所述指令进一步包括使所述可编程设备进行以下操作的指令:确定所述域名的域名服务器(DNS)响应是否指示失败的解析;如果确定所述词法复杂度分数小于词法复杂度阈值,则将所述域名添加至不存在的域的列表;计算当在所述不存在的域的列表中建立第一条目时和当建立当前条目时之间的时间差;确定所述不存在的域的列表中的条目的数量;以及如果所述时间差小于指定的时间阈值并且所述条目的数量大于指定的计数阈值,则将所述域名标识为DGA生成的。7.如权利要求6所述的计算机可读介质,其特征在于,用于确定所述域名是否是DGA生成的所述指令进一步包括使所述可编程设备进行以下操作的指令:如果所述域名被标识为在白名单上,则不将所述域名标识为DGA生成的。8.如权利要求6所述的计算机可读介质,其特征在于,用于确定所述域名是否是DGA生成的所述指令进一步包括使所述可编程设备进行以下操作的指令:如果所述域名的长度大于指定的阈值,则不将所述域名标识为DGA生成的。9.如权利要求6所述的计算机可读介质,其特征在于,用于确定所述域名是否是DGA生成的所述指令进一步包括使所述可编程设备进行以下操作的指令:如果确定先前未观察到所述域名的计算的级数,则创建新的不存在的域列表。10.一种网络设备,配置为执行对多媒体文件的分析,包括:处理器;存储器,耦合至所述处理器;以及软件,存储在所述存储器上,包括被执行时使所述处理器进行以下操作的指令:确定失败的解析域名是否在源IP监察列表上;当所述域名的长度落在指定的范围中并且所述域名的词法复杂度分数小于平均词法复杂度分数时,计算所述域名的年龄;以及确定所述年龄是否小于指定的值;以及当所述年龄小于所述指定的值时,将所述域名...

【专利技术属性】
技术研发人员:N·塔卡尔P·K·阿姆里塔鲁鲁V·塔内加
申请(专利权)人:迈克菲股份有限公司
类型:发明
国别省市:美国;US

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

1