用于DNS安全性的智能白名单的制作方法

文档序号:28184095发布日期:2021-12-25 01:21阅读:306来源:国知局
用于DNS安全性的智能白名单的制作方法
用于dns安全性的智能白名单


背景技术:

1.域名系统网络服务在基于ip的网络中通常无处不在。通常,客户端(例如,计算设备)试图通过使用网址(例如,包括域名或完全限定域名的统一资源定位符(url))在因特网上连接到(一个或多个)服务器。网址被转化成ip地址。域名系统(dns)负责执行从网址到ip地址的该转化。具体地,包括网址的请求被发送到dns服务器,该dns服务器用对应的ip地址或者在域尚未注册的情况下——即不存在的域——用错误消息进行回复(例如,nx 域响应,在本文也称为nxdomain响应,由dns服务器针对不存在的域返回)。
附图说明
2.本发明的各种实施例在以下详细描述和附图中公开。
3.图1是根据一些实施例的用于域名系统(dns)安全性的智能白名单的系统架构的图解。
4.图2是根据一些实施例的用于生成和部署用于dns安全性的事件驱动智能列表的系统处理架构的概述。
5.图3是根据一些实施例的生成用于dns安全性的事件驱动智能列表的过程。
6.图4a是根据一些实施例的按域的基于云的安全性解决方案的数据覆盖的图表。
7.图4b是根据一些实施例的按域的样本dns数据源覆盖的顶部95%与dns威胁数据相比较的图表。
8.图5是图示根据一些实施例的与威胁指示符相比较的流行域的示例集的绘图。
9.图6是图示根据一些实施例的用于智能列表的模拟的变化似然函数的图表。
10.图7是图示根据一些实施例的用于dns安全性的智能白名单的过程的流程图。
11.图8是图示根据一些实施例的用于dns安全性的智能白名单的过程的另一流程图。
具体实施方式
12.本发明可以以众多方式实现,包括作为过程;装置;系统;物质的组成;体现在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如被配置为执行存储在耦合到处理器的存储器上和/或由该存储器提供的指令的处理器。在本说明书中,这些实现或者本发明可以采取的任何其他形式可以被称为技术。一般来说,在本发明的范围内,可以变更所公开的过程的步骤次序。除非另有说明,否则被描述为被配置为执行任务的诸如处理器或存储器的组件可以被实现为被临时配置为在给定时间执行该任务的通用组件或被制造为执行该任务的特定组件。如本文使用的,术语“处理器”指代被配置为处理数据(诸如计算机程序指令)的一个或多个设备、电路和/或处理核心。
13.下面提供了本发明的一个或多个实施例的详细描述以及图示本发明原理的附图。结合此类实施例描述了本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明包括许多替代、修改和等同物。为了提供对本发明的透彻理解,在以下描述中阐述了众多具体细节。这些细节是出于示例的目的而提供的,并且本发明可以根
据权利要求书来实践,而无需这些具体细节中的一些或全部。为了清楚的目的,没有详细描述与本发明相关的技术领域中已知的技术材料,以便不会不必要地模糊本发明。
14.域名系统网络服务在基于ip的网络中通常无处不在。通常,客户端(例如,计算设备)试图通过使用网址(例如,包括域名或完全限定域名的统一资源定位符(url))在因特网上连接到(一个或多个)服务器。网址被转化成ip地址。域名系统(dns)负责执行从网址到ip地址的该转化。具体地,包括网址的请求被发送到dns服务器,该dns服务器用用对应的ip地址或者在域尚未注册的情况下——即不存在的域——用错误消息进行回复(例如,nx 域响应,在本文也称为nxdomain响应,由dns服务器针对不存在的域返回)。
15.黑名单(例如,也称为阻止列表)通常指代可以应用于例如url、域名、ip地址和/或其他名称/地址(例如,电子邮件地址、文件名等)以拒绝访问黑名单上包括的任何此类对象的访问控制机制。白名单(例如,也称为允许列表)指代可以应用于例如url、域名、ip地址和/或其他名称/地址(例如,电子邮件地址、文件名等)以允许访问白名单上包括的任何对象的访问控制机制。
16.例如,包括在黑名单上的url或域名可以被dns服务器和/或网络浏览器应用,以拒绝访问用户访问该url或域名的网络浏览请求。作为另一个示例,包括在白名单上的url或域名可以由dns服务器和/或网络浏览器应用,以允许访问用户访问该url或域名的网络浏览请求。
17.黑名单和/或白名单可以应用于诸如为企业网络和/或家庭网络提供增强的访问控制和网络安全性。例如,黑名单和/或白名单可以应用于网络和/或主机/端点设备中的dns服务器、防火墙、电子邮件服务器和/或其他元件。例如,dns服务器可以被配置为实施包括一个或多个网址的黑名单和/或白名单(例如,包括域名和/或fqdn的url),诸如以分别阻止用户访问恶意软件网站或其他未授权网站(例如,酒精、赌博和/或其他类型的网站,基于企业网络的配置的网络/安全策略),或允许用户访问授权网站(例如,内部的、预先批准的和/或其他类型的授权网站,基于企业网络的配置的网络/安全策略)。
18.黑名单实现——包括在商业上可获得的dns安全产品中发现的实现——通常容易因人以及因自动化而出错。白名单通常被用作预防措施,以最小化此类错误的影响,但在不断演变的网站和因特网环境中,白名单创建和管理起来在技术上具有挑战性且耗时。
19.例如,白名单经常是陈旧的,并且包括不相关的或过于宽泛的项目。白名单优选地也是短列表(例如,相对短的域列表,它不过度地包括潜在的不期望的、灰色软件和/或恶意软件的域),同时最小化黑名单中的错误对客户的生产数据环境的影响。
20.现有的白名单方法通常基于手动列表创建过程,这是耗时且容易出错的过程。现有的白名单方法也可能使用基于在威胁指示符列表中发现的假阳性的手动精选列表,这通常导致不了解上下文的陈旧和有问题的条目,并引起白名单尺寸方面的膨胀。例如,被发现是良性的域可能稍后被恶意的行动者购买。白名单的另一种常见方法是使用公开可获得的列表来创建白名单,所述公开可获得的列表诸如在https://www.alexa.com/siteinfo/100k.to处可获得的alexa顶部十万网站列表、在https://majestic.com/reports/majestic

million处可获得的majestic million、在https://www.domcop.com/处可获得的domcop或其他商业上/公开可获得的顶部访问网站列表。然而,这是危险的方法,因为已知这些列表偶尔包括恶意域(例如,恶意软件域),并且此外,它们是从可能无法正确建模数
据生产环境的角度生成的。在一些现有的方法中,考虑了客户网络内域的流行度,但不考虑环境中的威胁。照此,现有方法通常创建白名单,所述白名单通常要么太小且无效,要么太大且不安全(例如,通过包括不应该被列入白名单的域,诸如通过包括恶意软件域和/或对于特定数据生产环境不应该被列入白名单的域)。
21.用于dns安全性的智能白名单的技术概述照此,提供了用于域名系统(dns)安全性的智能白名单的新的和改进的技术。在一些实施例中,根据一些实施例的用于dns安全性的智能白名单的系统/过程/计算机程序产品包括:接收网络相关事件数据集(例如,流行的网络域集),其中该网络相关事件数据集包括域名系统(dns)相关事件数据;接收网络相关威胁数据集,其中该网络相关威胁数据集包括dns相关威胁数据(例如,dns威胁馈送,诸如通用dns威胁馈送、与第一企业网络相关联的dns威胁馈送和/或与第一垂直物(vertical)相关联的dns威胁馈送);以及使用该网络相关事件数据集和该网络相关威胁数据集生成白名单,其中该白名单包括dns相关事件数据中包括的网络域的子集,其基于dns相关事件数据和dns相关威胁数据的数据驱动模型。
22.例如,用于dns安全性的智能白名单的技术可以被应用于生成上下文特定的、数据驱动的白名单(例如,在本文也称为智能列表),该白名单自动地和动态地调整以适应生产数据环境(例如,公司、政府实体和/或另一种类型的实体的计算机联网环境)中的改变,这促进在最小化错误的同时最大化对生产数据环境的安全性保护。具体地,所公开的用于dns安全性的智能白名单的技术可以被应用于生成用于dns安全性的改进的白名单,并且还促进从数据中学习以随着时间推移自动地和动态地调整智能列表。此外,用于dns安全性的智能白名单的技术可以促进标识生产数据环境的dns安全性的黑名单的问题(例如,通过标识应该或不应该在黑名单上的一个或多个项目)。
23.在一些实施例中,根据一些实施例的用于dns安全性的智能白名单的系统/过程/计算机程序产品进一步包括过滤dns相关事件数据以生成智能白名单,其中使用分类器自动过滤dns相关事件数据以排除与恶意软件相关联的一个或多个网络域;以及将智能白名单输出到用于使用智能白名单过滤dns请求的网络设备(例如,dns设备,诸如dns器具,和/或可以使用智能白名单过滤dns请求的另一种类型的网络/安全设备)。
24.在一些实施例中,根据一些实施例的用于dns安全性的智能白名单的系统/过程/计算机程序产品进一步包括过滤dns相关事件数据以生成智能白名单,其中使用分类器自动过滤dns相关事件数据以排除与恶意软件相关联的一个或多个网络域;以及基于另一网络相关事件数据集和另一网络相关威胁数据集周期性地更新智能白名单,其中智能白名单被自动地和动态地调整以适应与第一企业网络相关联的生产数据环境中的改变。在示例实现中,分类器包括统计分类器(例如,使用贝叶斯统计来实现,如下面进一步描述的),该统计分类器促进创建条件概率分布,该条件概率分布基于dns相关数据随着时间推移自动地和动态地调整。
25.不同于手动的或基于某些数据源中的固定阈值的现有白名单方法(例如,诸如在https://www.alexa.com/siteinfo/100k.to处可获得的alexa顶部十万网站列表、在https://majestic.com/reports/majestic

million处可获得的majestic million、在https://www.domcop.com/处可获得的domcop或其他商业上/公开可获得的顶部访问网站列表,用于创建白名单),所公开的用于dns安全性的智能白名单的技术生成统计模型,该统
计模型组合以下各项:域的评级、威胁指示符(例如,可以类似地利用来自公开/商业上可获得的源的威胁指示符,诸如商业上可获得的infoblox威胁情报数据交换(tide)解决方案或威胁指示符的其他公开/商业上可获得的源,诸如从互联网暴风中心、dga档案馆或surbl商业上可获得的那些,和/或可以类似地利用两个或更多个这样的威胁指示符源的组合来实现所公开的用于生成用于dns安全性的智能列表的技术),以及基于威胁和客户影响调整白名单的历史视角(例如,为受dns安全性解决方案保护的生产数据环境定制)。例如,所公开的用于dns安全性的智能白名单的技术生成白名单,该白名单随着特定数据源(例如,商业上可获得的infoblox主动信任云(atc)或另一个dns相关数据集)内存在的威胁水平而落和涨。所公开的用于dns安全性解决方案的智能白名单的技术不限于dns安全性,而是可以类似地应用于其他安全性解决方案的白名单和黑名单(例如,反垃圾邮件和/或其他安全性相关应用,其将受益于使用基于上下文的解决方案,该基于上下文的解决方案使用两种竞争力量来应用统计分类器,这两种竞争力量随着时间推移而自动地和动态地适应)。
26.在一些实施例中,所公开的用于dns安全性的智能白名单的技术在特定上下文(例如,用于部署的数据环境,诸如大型云dns服务或特定网络环境,诸如银行、大学、个人设备)内生成白名单,这通过考虑域的流行度而使用主动威胁指示符作为网络威胁在dns中可能变得有多流行的概率度量,并使用最流行的威胁域作为给定时间点的高水位线。所公开的用于dns安全性的智能白名单的技术然后执行机器学习技术(mlt)以基于该高水位线的落和涨自动地学习白名单的适当阈值,该高水位线基于数据(例如,其将基于给定数据源内的威胁的影响而不同)随时间推移自动地和动态地调整。作为另一个益处,所公开的用于dns安全性的智能白名单的技术还促进标识威胁指示符列表中需要进一步审查(例如,由安全性分析师手动审查和/或进一步的自动化安全性分析)的指示符。例如,所公开的智能列表可以被实现用于dns安全性,这通过将生成的智能列表提供为优先白名单,该优先白名单覆盖给定生产数据环境的黑名单。
27.在以上提到的统计分类器的示例实现中,使用了贝叶斯推理模型,该贝叶斯推理模型是根据给定时间点的三个因素创建的:(1)基于域在数据集(例如,atc或另一个dns相关数据集)内的流行度来阻止域的影响;(2)基于流行度将恶意域列入白名单的影响;以及(3)基于主动威胁指示符,一个域是恶意的似然性。在该示例实现中,威胁指示符集(例如黑名单上的域)——此后被标记为threat——被用来度量高威胁如何到达特定数据集(例如,dns数据源内的高水位线),这避免了这些技术中使用智能列表增强dns安全性的观察偏差。随着每个白名单创建,这些技术可以使用threat数据来更新恶意域的似然分布(例如,后验几率(odd)),然后将其馈送到下一个白名单中,如下面进一步描述的。
28.因此,与基于流行度周围的静态阈值或手动条目并且不是上下文特定的现有白名单方法不同,所公开的用于dns安全性的智能白名单的技术提供了技术改进,该技术改进提供白名单,该白名单随着时间推移自动地和动态地调整以适应不断改变的环境,并且还根据特定的客户生产数据环境被调整。照此,所公开的用于dns安全性的智能白名单的技术使用威胁馈送来生成白名单,并且还可以标识威胁馈送内的可能问题,如将在下面进一步描述的。
29.例如,通过阻止域来度量对客户的影响、以已知威胁的深度为条件的组合允许所公开的用于dns安全性的智能白名单的技术对白名单上的域将是恶意的似然性动态地建
模。好的白名单在大小方面相对有限/小,同时保护绝大多数客户的正常dns使用免于假阳性(例如,不允许访问不应该被访问的网站,诸如恶意软件域或其他未授权的域,以及允许访问该生产数据环境上的用户应该可访问的网站,诸如通过将github包括在白名单上以防止将禁止客户访问github.com的错误,但是通常也合期望的是避免生成在大小方面过大的白名单,因为这样可能于是包括应该被列入黑名单的域,因此合期望的是生成对包括在白名单上的域具有高置信度的动态白名单,并且不希望恶意软件域或其他未授权域在白名单上)。如下面还将进一步描述的,统计分类器的使用(例如,使用贝叶斯统计来实现,如下面进一步描述的)促进创建条件概率分布,该条件概率分布基于dns相关数据随时间推移自动地和动态地调整(例如,不同于手动生成的白名单,该白名单易于出错并持续增长,并且难以维护,因为在过去给定日期手动添加到白名单的域可能保留在白名单上,即使此类域稍后变成恶意软件域)。
30.因此,所公开的用于dns安全性的智能白名单的技术提供了用于dns安全性的智能白名单的上下文特定的解决方案。例如,所公开的用于dns安全性的智能白名单的技术可以通过利用内部dns数据(例如,客户的dns数据,与一般的、非客户特定的dns数据相反)针对不同的客户适应性地执行,诸如下面进一步描述的。作为另一个示例,所公开的用于dns安全性的智能白名单的技术可以针对不同的垂直物,诸如isp实体、银行实体、政府实体、教育实体和/或其他类型的实体来执行。所公开的技术也可以针对诸如客户端设备的网络浏览之类的特定类型的流量来实现。
31.类似地,(一个或多个)威胁指示符源可以通过利用内部威胁指示符数据源(例如,客户的dns数据,与一般的、非客户特定的dns数据相反)和/或使用基于云的威胁指示符数据源,针对不同的客户适应性地执行,诸如下面进一步描述的。例如,(一个或多个)威胁指示符数据源可以是特定于内部,以特定于给定客户的网络环境,和/或是基于云的,以适应给定的垂直物。作为另一个示例,假设(一个或多个)威胁指示符数据源没有完全建模网络威胁景观,并且取而代之仅使用其对良性域空间的渗透,一个或多个威胁指示符数据源可以用于使用例如tide或使用不同的威胁指示符源来全似然分布建模。
32.现在下面将进一步描述用于执行所公开的用于dns安全性的智能白名单的技术的各种系统和过程实施例。
33.用于dns安全性的智能白名单的系统架构概述图1是根据一些实施例的用于域名系统(dns)安全性的智能白名单的系统架构的图解。图1图示了多阶段自动化dns安全性分析系统,该系统可以用于为生产数据环境(例如,公司、政府实体和/或另一类型实体的计算机联网环境)生成和部署用于dns安全性的智能白名单。具体地,多阶段自动化dns安全性分析系统可以用于执行所公开的用于dns安全性的智能白名单的技术。在示例实现中,该系统可以被实现为内部系统和解决方案,用于为该特定生产数据环境生成和部署用于dns安全性的智能白名单,和/或被实现为基于云的系统和解决方案,用于为多个不同的客户生成和部署用于dns安全性的智能白名单(例如,可以时其适合它们相应的生产数据环境和/或它们相应的垂直物,如下面进一步描述的)。
34.参考图1,在104过滤dns威胁数据102以标识当前的dns威胁。在106,基于事件数据108和从组件110接收的一时间段(例如,可配置的时间段)内的域流行度来确定威胁的流行度。在114,基于从组件106和110接收的新数据更新概率,以更新从先验概率分布组件112接
收的先验概率分布。基于新数据的更新概率(114)被用于生成新的白名单(例如,智能列表),如在122所示,其然后可以通过网络(例如,因特网或企业网络)被分发到各种产品,如在124所示(例如,dns安全性产品或利用白名单的其他安全相关产品)。基于新数据的更新概率(114)还可以生成供安全性分析师(如在120所示)审查(118)的新项目。基于新数据的更新概率(114)也被提供给更新概率分布组件116,然后被提供并存储为先验概率分布112,如图1中所示。可以周期性地接收威胁数据和事件数据,以随着时间推移持续更新白名单,从而自动地和动态地生成适应于随着时间推移演进的威胁环境的白名单(例如,智能列表)。下面将进一步描述这些组件和处理操作中的每一个。
35.用于dns安全性的智能白名单的系统处理架构概述图2是根据一些实施例的用于生成和部署用于dns安全性的事件驱动智能列表的系统处理架构的概述。在该示例实现中,使用商业上可获得的amazon web services
®
(aws)s3来执行该处理,或者如对于本领域普通技术人员来说将清楚的是,可以类似地利用其他基于云的计算和存储解决方案,或者可以类似地利用使用服务器类硬件和存储解决方案的内部计算解决方案来执行图2中所示的公开的处理,其可以使用如上关于图1描述的系统架构来实现。
36.参考图2,在202,使用apache parquet输出格式(例如,类似于优化行

列(orc)的列存储文件格式),将来自公开/商业上可获得的或专有源的威胁指示符存储在商业上可获得的amazon web services
®ꢀ
s3库存中。如在204所示,威胁指示符然后被处理以找到是主动列出域的域。在206,事件数据(例如,来自各种dns安全性事件数据相关源)也使用apache parquet输出格式存储在商业上可获得的amazon web services
®ꢀ
s3库存中。然后,如在208所示,基于一些配置(例如,可配置的时间段),单独处理事件数据以计算顶部n个域。在212,使用210处的阈值,处理主动列出的域和计算出的顶部n个域,以生成白名单(例如,对于给定客户的生产数据环境和/或特定垂直物类型特定的,如下面进一步描述的),如在214所示,并且标识威胁项目以供安全性分析师进一步审查,如在216所示。210处的阈值可以是静态的(例如,设置为75%),或者经由机器学习算法被动态地导出。在利用动态阈值的情况下,主动列出的域和计算出的顶部n个域被处理以生成统计数据来细化模型并调整未来的白名单的阈值。例如,可选地被提供给贝叶斯过程(如在220所示)的重叠的后验几率(如在218所示)然后被用于更新210处的阈值(例如,基于来自贝叶斯处理操作(220)的输入而实现为动态阈值,如下面进一步描述的)。下面将进一步描述这些组件和处理操作中的每一个。
37.图3是根据一些实施例的用于生成用于dns安全性的事件驱动智能列表的过程。智能列表通常指代所公开的用于生成数据驱动白名单的技术,并且在一些实施例中,可以附加地包括评估现有黑名单指示符。如关于各种实施例所描述的,智能白名单可以被实现为生成相对小/最小大小的白名单,同时仍然降低了由于指示符源中的假阳性而对客户的企业网络的潜在中断的风险。一般来说,白名单是保护企业网络和避免它们在此类企业网络上的活动中断之间的平衡。如关于各种实施例所公开的,智能列表基于事件和dns数据,在保护企业网络和避免中断它们在此类企业网络上的活动之间自动地和动态地平衡,如本文进一步描述的。例如,如下面描述的图3中所示,存在两种类型的潜在良性数据源:原始事件数据和公开可获得的域流行度列表。
38.事件处理参考图3,基于事件的处理使用多种商业上可获得的和专有的事件数据,其由二级域(sld)聚合,如在302所示,以及域随时间推移的流行度(例如,alexa、majestic和domcop),如在312所示。然后在加载事件阶段304处理在302存储的事件概要数据(例如,商业上可获得的和专有的dns相关事件数据),该加载事件阶段304还接收比较日期310作为输入,并且加载事件阶段304的处理包括加载数据、限定名(qname),其计算和添加每个sld的事件总数。在306,清除事件数据以移除无效的顶级域(tld)和指针(ptr)记录(例如,用于反向dns查找),然后在308总结事件以计算顶部一百万个域(例如,或另一阈值数量的顶部域)。这些总结可以通过以每天为基础或以另一周期为基础执行域总结过程来生成。如上面参考图2类似地描述的,智能白名单是根据基于一时间段(例如,5

7天或另一阈值时间段)内的流行度的数据创建的。白名单被馈送到网络安全产品(例如,dns防火墙和客户端设备)。在示例实现中,基于重要的历史数据分析来确定阈值,如下面进一步描述的。在该示例实现中,擦除白名单中的已知威胁,如通过threat数据集中的成员身份标识的。在该示例实现中,智能列表使用总体流行度,而不是通过其他因素进行标准化。威胁指示符的“高水位线”被记录,并用于创建一智能列表版本,其从已知威胁中学习,如下面进一步描述的。
39.公共流行度处理如在312所示,公共流行度处理使用各种公共域流行度列表,诸如如上关于图2类似描述的alexa、domcop和majestic数据。在该示例实现中,列表包括每日顶部n个数量的流行域,按流行度评级递减。这些流行域数据源中的每一个都可以基于各种不同的标准生成域流行度列表。存储在312处的公共域流行度列表数据在加载流行度阶段314处被处理,所述加载流行度阶段314还接收比较日期310作为输入,并且加载流行度阶段314处的处理包括加载和标准化公共流行度列表,如下面进一步描述的。在该示例实现中,智能白名单是从一天的收集数据中创建的。白名单被馈送到网络安全性产品,例如dns防火墙。作为已知威胁的域被从白名单中移除。包含威胁指示符的流行域的评级被记录,以用于智能列表的未来动态模型中。
40.事件和公共域流行度列表的常见处理如在316和318所示,加载_流行度阶段314和总结_事件阶段308的输出各自被馈送到顶部n个spark数据帧316和顶部n个pandas数据帧318二者。在该示例实现中,pandas数据帧和spark数据帧用于高效地执行大数据/集群处理,诸如分析、改变给定数据集和/或从给定数据集提取信息的各种功能。
41.参考使用顶部n个pandas数据帧318执行的处理,基于事件的列表被提供给充实_总结阶段320以确定事件的评级。参考将被馈送到顶部n个spark数据帧处理的威胁指示符(在该示例实现中,threat)数据处理,如在322所示的存储在s3数据存储中的threat数据被提供给加载_主动_威胁_数据阶段324以选择相关的当前威胁,然后在326输出这些过滤的threat事件,其然后被提供给顶部n个spark数据帧处理。参考使用顶部n个spark数据帧316执行的处理,基于事件的列表被提供给寻找_命中阶段328,以在threat中作为主动威胁的顶部n个域中找到域,然后作为如在330所示的threat spark数据帧中的命中输出。参考使用顶部n个pandas数据帧318执行的处理,基于事件的列表被提供给充实_总结阶段320以确定事件的评级。公共列表和充实_总结阶段320的输出以及threat spark数据帧330中的命
中被提供给计算_威胁_水平阶段332,以确定顶部n个域中的主动threat的评级,然后输出到threat“命中”,如在334所示(例如,threat“命中”输出包括关于在相对流行的域中找到的威胁指示符的信息,并且可以包括域、评级、威胁信息(例如,恶意软件或网络钓鱼域)等。)。基于固定决策逻辑(例如,已知沉洞域的移除),进一步过滤计算_威胁_水平阶段332的输出。来自阶段336的过滤输出被馈送到calc_需求_审查阶段338,并且也被馈送到calc_白名单阶段344。calc_需求_审查阶段338确定需要进一步审查的sld,然后将其提供给审查阶段340,审查阶段340标识在列入白名单之前要进一步审查的域。calc_白名单阶段344基于如在342所示的智能列表的阈值输入来确定进入白名单的域,以生成智能列表346,该智能列表346包括未包括在threat数据集中并且是流行的过滤的域集合。
42.在该示例实现中,顶部n个域(例如,顶部一百万个域)作为该过程的副产品被生成和存储。基于threat与提议的白名单的重叠,创建需要进一步审查的域的列表(340)。这些是threat指示符的域,其通常应该被进一步审查(例如,由安全性分析师和/或使用进一步的自动化安全性分析)。在一些情况下,这些指示符可能不是有效的威胁指示符,过于宽泛,或者应该具有修改的ttl值。在该示例中,需要进一步审查的域仅包含在threat中承担任务并满足336处附加过滤的sld。
43.事件和公共域流行度列表的常见处理的输出在该示例实现中,上述处理正在创建具有多种目的的若干个输出。首先,基于threat域的流行度、清除/过滤,为每个源生成白名单。第二,输出在流行域中发现的所有威胁指示符的列表以及那些威胁指示符在每个源中的评级。第三,输出每个源的顶部n个列表(例如顶部一百万个)。这些都是历史存储以及“最新”版本;和threat中被提供供进一步审查的项目。
44.白名单和威胁审查的统计分类器上述用于dns安全性的智能列表处理是基于两种类型的潜在良性数据源来执行的:(1)原始事件数据;以及(2)公开发布的域流行度列表。从白名单的角度来看,智能列表是域的分类器,可以实现该分类器来有效地将客户的大部分正常流量列入白名单,以确保它不被各种威胁馈送中的假阳性所破坏,同时最小化它不允许真正的威胁进入客户的网络的似然性。
45.事件模型如以上类似地描述的(例如,诸如以上关于图1

3描述的实施例),可以实现用于域的智能列表分类器,以考虑给定评级度量(例如,流行度)的上下文中的数据,并定位阈值,超过该阈值,这样的域可以被分类为白名单。在一些实施例中,评级由客户网络内活动的累积密度来度量。如对于本领域普通技术人员来说将显然的是,其他影响度量可以类似地用于度量评级,诸如开源流行度评级。
46.图4a是根据一些实施例的基于云的安全性解决方案的按域数据覆盖的图表。作为示例,图4a图示了一周时段内dns事件数据源的累积密度。在这种情况下,所有事件的75%在~12000个域内,如在402所示的垂直阈值所指示的。注意不过该阈值是在累积分布函数(cdf)的斜率大幅降低之后。因此,为了将白名单覆盖增加大约5%的事件,我们然后将我们的白名单域加倍,从而增加将(一个或多个)恶意域列入白名单的风险。
47.在示例实现中,基于评估大约一个月的数据和与threat指示符的交互,选择静态
阈值作为客户空间覆盖和风险容限(例如,75%的累积密度)之间的平衡。因此,在该示例实现中,当利用静态阈值机制时,每周白名单包含可变数量的域,所述域占前一周流量的75%。
48.在示例实现中,在标识顶部域之后,移除处于threat中的阈值以上的域。在其他实现中,这些将不从白名单移除。这些重叠的域被标示,加上阈值的5%的附加接近度,作为被标识用于手动审查的域,如以上类似描述的。这些域可以用于威胁指示符清除或智能黑名单。在该示例实现中,利用基于累积密度的静态阈值,可以从白名单中移除sld在评级的域的顶部75%中的threat中的域,并且所述域被标示用于进一步审查,如以上类似地描述的。
49.图4b是根据一些实施例的按域的样本dns数据源覆盖的顶部95%与dns威胁数据比较的图表。图4b图示了在sld水平聚合的threat数据如何与在样本dns事件源中看到的dns查询重叠。在该示例中,我们只查看如在410所示的顶部95%的域(按容量),以便更好地看到图表,因为数据高度歪斜。如所示,threat域与该范围内的评级域重叠,并且少许伸入顶部75%。
50.在一些实施例中,利用事件的总体流行度来执行所公开的用于生成用于dns安全性的智能列表的基于事件的处理。在其他实施例中,利用不同的评级度量。如以下描述的,所公开的技术甚至可以在基础评级度量——即确定域的评级排序的函数——未知时实现。
51.公共流行度模型如以上类似地描述的,在执行所公开的用于生成用于dns安全性的智能列表的技术中,也利用了公共流行度分析。在示例实现中,公共流行度分析包括利用公开可获得的列表,所述公开可获得的列表诸如在https://www.alexa.com/siteinfo/100k.to处可获得的alexa顶部十万网站列表、在https://majestic.com/reports/majestic

million处可获得的majestic million、在https://www.domcop.com/处可获得的domcop或其他商业上/公开可获得的顶部访问网站列表。
52.如上述实施例中说明的,所公开的用于生成用于dns安全性的智能列表的技术利用智能列表结合威胁指示符评估(例如,在示例实现中,来自公开/商业上可获得的源,诸如infoblox威胁情报数据交换(tide)解决方案或其他公开/商业上可获得的威胁指示符源的威胁指示符,可以类似地用于此类威胁评估,和/或两个或更多此类威胁指示符源的组合可以类似地用于此类威胁评估,以实现所公开的用于生成用于dns安全性的智能列表的技术)。
53.图5是图示根据一些实施例的与威胁指示符相比较的流行域的示例集的绘图。具体地,图5图示了根据一些实施例,公开可获得的流行域列表可以如何与威胁指示符进行比较。如以上类似讨论的,先前的方法将这些列表的顶部100k个域列入白名单,而没有任何威胁指示符评估。从图5中所示的绘图中,在该范围内可以观察到众多的threat命中,这意味着此类先前的方法将导致将有问题的域(例如,恶意软件域或潜在的恶意软件域)列入白名单。因此,先前描述的基于事件的数据的类似方法被实现到公开可获得的数据源中。
54.然而,公开可获得的列表可能不公开它们确定评级排序所用的方法或提供对基础数据源的广度的洞察。列表包含每日评级,例如,顶部一百万个流行域,通过使流行度评级递减,所述流行度评级如由每个提供商使用不同标准独立确定的。即使没有如在基于事件的白名单创建中完成的计算累积密度函数所必需的信息,我们也可以计算威胁指示符与评级的重叠,并确定白名单的阈值。在一些实施例中,例如,一个人可以将公开可获得的评级
代理到事件数据中,以获得近似累积密度函数。
55.在示例实现中,在评估一时段(例如,几周或几个月或另一时间段)的数据以及与threat指示符的交互之后,在510选择20000静态评级阈值。如从图5中清楚的,仍然可能存在具有高于该阈值的流行度评级的主动威胁。可以调整阈值,以计及客户环境内的风险容限。
56.照此,在一些实施例中,遵循与以上关于使用威胁指示符的事件评估描述的类似过程,在移除满足另一滤波器的域(例如,移除已知沉洞域)之后,将510处的静态阈值以上的所有域列入白名单。在一些情况下,移除的域可以被标识用于进一步审查(例如,由安全性分析师的手动审查和/或其他进一步的自动化安全性分析)以及关于它们应该从threat(例如,和/或(一个或多个)另一个威胁指示符源)中移除还是不移除(例如,上述threat清除器组件可以被用来实现这些公开的技术)的确定。在示例实现中,这些重叠的域可以被标记用于这样的进一步分析,包括高于设置阈值的余量。
57.在另一个实施例中,可以实现替代流行度模型来执行所公开的用于生成用于dns安全性的智能列表的技术。上述实施例利用了总体流行度。替代实施例可以被实现为使用替代评级度量。
58.用于实现统计分类器的贝叶斯推理模型在一些实施例中,贝叶斯推理模型被用来执行所公开的用于实现统计分类器的技术,所述统计分类器用于生成用于dns安全性的智能列表。如以上关于各种实施例类似地描述的(例如,包括如上所述的图1的组件112、114和116,以及在如上所述的图2的组件/阶段218和220处),可以通过使用threat(即,一个或多个威胁指示符数据源)的高水位线来学习每个数据源内的适当阈值和白名单的上下文来生成动态智能列表。
59.在示例实现中,我们从两种相互竞争的力量开始,给定上下文中(例如,在特定产品或客户网络内)所有域的流行度,其是阻止任何给定域对给定dns数据集的影响的代理,以及如经由threat观察到的、相对于流行度度量的威胁的分布,其创建了域的评级次序。基础假设是,足够流行的域不太可能表示真正的网络威胁,而与此同时,与域(例如,恶意软件域)相关联的一些威胁在流行度方面可能上升得相当高。此外,恶意域可以上升到的评级通常将随着时间推移而落或涨。照此,将确定统计阈值,其允许以高置信度将良好/安全域(例如,非恶意软件或已知良好域)与其余域有效分离,如下面进一步描述的。虽然上述各种实施例使用流行度度量,但是其他实施例可以类似地使用任何数量的附加因素(例如,域历史、名称服务器信誉)。在其他实施例中,结合了客户指定的风险模型(例如,域分类、网络内的设备类型),其可以用于微调白名单阈值。此外,虽然我们在上述各种实施例中使用基于累积密度的流行度模型,但是在各种其他实施例中可以使用功能类似的适当评级。因此,诸如majestic million开源评级的数据源可以类似地用作另一个数据源,而无需改变上述用于生成用于dns安全性的智能列表的技术。
60.在该示例实现中,该过程使用贝叶斯条件概率模型来计算阈值。通过把随着时间推移的显著时段的流量用于威胁和流行度,我们创建了针对最大威胁评级的知情先验似然分布。对于给定的白名单,我们计算一设置的时间段(例如,一周或另一设置的时间段)内所有域的流行度评级。我们计算当前已知威胁的对应评级分布,并确定高水位线,即我们在数据集中观察到的最流行的威胁。该观察用于使用贝叶斯定理更新似然模型,从而创建后验
概率分布。给定假设的该观察的该概率——也称为似然分布——可以用各种不同的方式建模;示例实现再次使用以该值为中心的高斯分布。具有最大似然的后验分布的值成为我们的新阈值。我们的白名单包含的所有内容具有小于阈值的累积密度或者替代地具有比阈值更大的流行度。在示例实现中,通过数据分析创建知情先验,但是在其他实施例中,将使用均匀先验或其他先验分布,以及对似然分布的其他选择。我们的threat清除器(例如,如以上类似描述的threat清除器组件)突出显示了高于阈值加上一些可选的预定阈值填充(例如,5%或一些其他阈值填充值)的所有推定恶意域。例如,该填充违背了流行度值的自然流动性。
61.作为具体的示例,假设我们的先验概率分布是以75%或0.75的累积密度为中心的高斯分布。将此视为威胁将在我们的数据集内将达到的最高评级的概率分布,最大似然为0.75,这意味着0.75的阈值将最有可能是最大水平。真实水平可能更高或更低,但这些以较低的概率发生。最大似然然后可以用作我们的白名单阈值。虽然在该示例中使用了后验概率分布的最大似然,但是在其他实施例中,人们可以使用替代的统计标准,如现在对于本领域普通技术人员来说是将是显然的。
62.图6是图示根据一些实施例的用于智能列表的模拟的变化的似然函数的图表。该图表示出随时间推移基于针对可能阈值的新恶意软件域观察的增加的阈值(例如,在602处示出)(例如,如此类改变随时间推移基于流行度和威胁数据的新数据集发生)。
63.作为示例,如果那一周观察到的最高威胁发生在0.73水平,则我们可能选择将作为正确的那个的概率建模为以每个假设为中心的高斯分布。然后,根据贝叶斯定理,通过将当前似然分布乘以先验概率来计算后验概率分布。这将提高0.73左右的概率,并降低远离该点的值的概率。后验几率分布的最大似然是新的阈值,它可能离0.73的观察到的值仍然有一些距离。每次我们计算新的白名单时,我们都使用观察到的数据更新概率。贝叶斯模型被调谐,以确保阈值在新的观察下移动,但不摆动。随着威胁水平增加或减少,阈值将使用这些公开的技术自动地和动态地调整。
64.在另一个实施例中,替代的似然模型可以用于类似地执行用于确定该阈值的这些技术。例如,贝叶斯方法高度依赖于先验概率分布的适当模型。在我们的案例中,这是最高的网络威胁将发生在客户dns活动的顶部x%内的似然性。在该示例实现中,我们基于对60天的可获得的dns和威胁指示符数据的深入分析,播种我们的方法。作为替代方案,人们可以改变初始似然分布(例如,使用不知情先验或知情先验的不同方法)和用于观察的似然分布二者。在其他实施例中,可以使用各种其他机器学习/分类器技术来类似地执行这些技术,包括例如支持向量机(svm)、k

最近邻(knn)、逻辑回归、神经网络,和/或任何其他ml/分类器算法可以类似地应用于实现所公开的技术,但是这样对于dns安全性应用上下文的该白名单可能具有不同的性能影响和/或有效性。
65.在另一个实施例中,可以实现多维模型而不是一维模型来执行所公开的用于确定该阈值的技术。例如,附加维度可以考虑各种其他因素,诸如以下示例因素中的一个或多个:dns查询是从多个不同的计算/联网设备(例如,客户端设备)接收还是从单个计算/联网设备接收;多个客户端ip;和dns查询的当日时间。在该示例中,可以实现能够支持更复杂的决策边界的svm(例如,如果dns查询仅与一个客户端设备相关联,则影响可以相对小,和/或所生成的智能白名单可以基于与客户或垂直物的dns数据相关联的当日时间是动态的)。
66.威胁馈送清除智能列表过程还提供了一种有效的机制来标识黑名单中可能不是恶意的项目(例如,可能被误分类为恶意软件域的域,诸如被用于标识恶意软件域的机器学习工具误分类的域、或由于人为错误、自动化分类错误而可能发生的其他类型的误分类、和/或可能不再与恶意软件相关联的域)。在示例实现中,当生成白名单时,我们标识距离阈值在填充距离内的任何域。例如,如果阈值为75%,则我们可以在该示例中基于5%的填充阈值,考虑落入客户事件的顶部80%内的所有黑名单域。如以上类似地描述的,填充阈值是补偿此类域流行度度量中存在的不确定性的有效机制。
67.自动化和部署在一些实施例中,所公开的用于dns安全性过程的智能列表从dns事件的每个可获得的源和域的公开可获得的流行度列表(例如,alexa、domcop、majestic和/或其他这样的数据源可以类似地用于域的公开可获得的流行度列表)中生成一个白名单。在其他实施例中,这些源和/或最终白名单经由统计功能被组合。
68.考虑到多种数据源,期望自动化来创建没有或有最小的人工交互或中断的可再现产品。在示例实现中,代码以这样的方式设计:将各种数据集模式标准化为规范化/标准格式,并且也是命令行可再现脚本,以自动生成输出并将其存储在它们的适当数据库中。在该示例实现中,部署部分将支持白名单的自动创建和发布/部署。智能白名单可以由满足预定白名单发布日期(例如,每周一或某个其他预定白名单发布日期)的预定作业(例如,cron作业)自动地生成。在其他实施例中,白名单过程可以在流数据上运行,从而近乎实时地调整参考评级数据和阈值二者。
69.用于dns安全性的智能白名单的示例过程图7是图示根据一些实施例的用于dns安全性的智能白名单的过程的流程图。在各种实施例中,过程700由以上关于图1至图6描述的(一个或多个)系统和处理技术来执行。
70.在702,接收网络相关事件数据集。例如,网络相关事件数据集可以包括域名系统(dns)相关事件数据,诸如,如以上类似描述的流行网络域集。替代的网络相关事件数据包括经由网络浏览和通用ip流量的ip数据包传输生成的url请求。
71.在704,接收网络相关威胁数据集。例如,该网络相关威胁数据集可以包括dns相关威胁数据,诸如dns威胁馈送,包括通用dns威胁馈送、与第一企业网络相关联的dns威胁馈送和/或与第一垂直物相关联的dns威胁馈送,如以上类似地描述的。
72.在706,使用网络相关事件数据集和网络相关威胁数据集生成白名单被执行。例如,白名单可以被生成为包括dns相关事件数据中包括的网络域的子集,其基于dns相关事件数据和dns相关威胁数据的数据驱动模型,如以上类似地描述的。
73.图8是图示根据一些实施例的用于dns安全性的智能白名单的过程的另一流程图。在各种实施例中,过程800由以上关于图1至图6描述的(一个或多个)系统和处理技术来执行。
74.在802,接收网络相关事件数据集。例如,网络相关事件数据集可以包括域名系统(dns)相关事件数据,诸如,如以上类似描述的流行网络域集。
75.在804,接收网络相关威胁数据集。例如,网络相关威胁数据集可以包括dns相关威胁数据,诸如dns威胁馈送,包括通用dns威胁馈送、与第一企业网络相关联的dns威胁馈送
和/或与第一垂直物相关联的dns威胁馈送,如以上类似地描述的。
76.在806,使用网络相关威胁数据集过滤网络相关事件数据集。例如,可以过滤dns相关事件数据以生成智能白名单(例如,智能列表),其中使用分类器自动过滤dns相关事件数据以排除与恶意软件相关联的一个或多个网络域。在示例实现中,分类器包括统计分类器(例如,使用贝叶斯统计来实现),该统计分类器促进创建条件概率分布,该条件概率分布基于dns相关数据随着时间推移自动地和动态地调整,如以上类似地描述的。同样如以上类似地描述的,智能列表可以基于另一网络相关事件数据集和另一网络相关威胁数据集周期性地更新(例如,智能白名单可以被自动地和动态地调整以适应与第一企业网络相关联的生产数据环境的改变)。
77.在808,使用过滤的网络相关事件数据集生成智能白名单被执行。例如,智能白名单(例如,智能列表)可以被生成为包括dns相关事件数据中包括的网络域的子集,其基于dns相关事件数据和dns相关威胁数据的数据驱动模型,如以上类似地描述的。
78.在810,智能白名单被输出到网络设备。例如,智能白名单(例如,智能列表)可以被输出到用于使用智能列表过滤dns请求的网络设备(例如,智能列表可以被输出到dns设备,诸如dns器具,和/或可以使用智能列表过滤dns请求的另一种类型的网络/安全性设备),如以上类似地描述的。
79.尽管为了清楚理解的目的,已经对前述实施例进行了一些详细描述,但是本发明不限于所提供的细节。存在许多实现本发明的替代方式。所公开的实施例是说明性的而非限制性的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1