恶意BGP劫持的精确实时识别的制作方法

文档序号:15362545发布日期:2018-09-05 01:00阅读:344来源:国知局

网络罪犯通过边界网关协议(bgp)劫持可暂时窃取与可信自治系统(as)相关联的互联网协议地址块(ip地址)以执行其他恶意活动,诸如,发送垃圾邮件、网络钓鱼、恶意软件托管等。由于ip地址是分配给参与使用互联网协议进行通信的计算机网络的每个设备(例如,计算机、打印机)的数字标签,因此ip地址的窃贼表示身份信息窃贼的形式,由此不能追查罪犯的踪迹。可将这些单独的ip地址一起组合成前缀,这可由as(诸如sprint、verizon、at&t等)发起或拥有。每个as可包括具有路由表的一个或多个路由器,使用bgp作为用于在as之间交换关于ip路由的信息的标准路由协议来维护所述路由表。因此,从被劫持的网络发起攻击,网络罪犯可以基于先前的ip信誉阻碍可追溯性并规避安全系统,这通常可以用作网络的第一层防御。

尽管bgp劫持监视器有助于检测被劫持的网络ip前缀,但现有的劫持检测技术主要受制于四个方面。首先,传统的劫持检测系统呈现包含正样本和负样本示例两者的标记集合,其中正样本表示恶意bgp通告(路由数据),而负样本表示良性bgp通告。然而,现实世界实现的正样本只能由能够自信地识别bgp劫持事件的安全专家检测到,而负样本(良性bgp通告)太多样化而无法标记。由于使检测到的劫持无效的具有挑战性的任务,其他当前劫持监视器遭受了许多正误识。

其次,一些当前劫持监视器仅帮助网络运营商监视他们自己的网络,在这种情况下,网络运营商手动提供对检测到的劫持事件的生效或失效。第三,这些检测机制中的一些仅在互联网路由基础结构中查找异常以检测网络ip前缀的劫持而不将其与任何类型的恶意网络流量相关联,以查看被劫持的前缀是否可用于发起其他类型的攻击。第四,一些系统仅考虑网络ip前缀劫持的几个场景,这些场景可能不一定是网络罪犯所使用的场景。

最后,已经做出了很多努力来将安全机制实现到路由基础结构中(通常使用加密技术)以防止网络ip前缀劫持攻击(例如,rpki、bgpsec等)。然而,这些所提议的解决方案通常需要对网络设备的软件和硬件进行重大更改,这在当前使得这些解决方案无法广泛展开。正是在这种情况下,以下实施方案应运而生。



技术实现要素:

在一些实施方案中,提供了检测路由器劫持事件的系统和方法。该方法可包括通过数据收集模块从至少一个bgp路由器接收与bgp事件相关联的路由数据。该方法还可包括通过数据处理器处理路由数据以生成与源、前缀和/或上游装置相关联的特征列表。此外,该方法可包括使用路由数据和特征列表生成劫持检测模型。模型生成步骤可包括通过采用包括至少一个数据输入和概率输出的机器学习技术(诸如正样本未标记(pu)学习)来计算恶意事件的概率;其中,数据输入耦接以接收历史确认的bgp劫持数据集和路由数据,从而概率输出基于数据输入传输恶意事件的概率值。此外,该方法可包括使用bgp劫持模型将bgp事件分类为恶意事件或良性事件。分类可包括使用路由数据的保持数据子集评估概率是否大于阈值截止值;由此,在验证概率大于阈值截止值时,事件被分类为恶意事件。

在一些实施方案中,提供了路由器劫持检测系统。路由器劫持检测系统可包括数据收集模块,该数据收集模块被耦接以从至少一个bgp路由器接收与bgp事件相关联的路由数据、存储器以及处理器。处理器可包括数据处理模块,该数据处理模块耦接到数据收集模块,以生成与路由数据相关联的特征列表。处理器还可包括模型生成模块,该模型生成模块耦接到数据收集模块和数据处理模块,以基于路由数据和特征列表生成劫持检测模型。此外,处理器可包括检测单元,该检测单元耦接到模型生成模块以使用bgp劫持模型和劫持检测模型来将bgp事件分类为恶意事件或良性事件。此外,处理器可包括验证单元,该验证单元耦接到检测单元,以接收分类的恶意事件或良性事件的通知并且检测是否发生了正误识或负误识。该验证单元可耦接到校正单元以校正历史确认的bgp劫持数据集。此外,调谐单元耦接到模型生成模块,以用于使用校正的历史确认的bgp劫持数据集来重新训练劫持检测模型。

在一些实施方案中,有形非暂态计算机可读介质具有指令,其中所述指令当由处理器执行时,使得处理器执行本文所述的路由器劫持检测方法。该方法可包括通过数据收集模块从至少一个bgp路由器接收与bgp事件相关联的路由数据。该方法还可包括通过数据处理器处理路由数据以生成与源、前缀或上游装置相关联的特征列表。此外,该方法可包括使用路由数据和特征列表生成劫持检测模型。模型生成步骤可包括通过采用包括至少一个数据输入和概率输出的机器学习技术(诸如pu学习)来计算恶意事件的概率;其中,数据输入耦接以接收历史确认的bgp劫持数据集和路由数据,从而概率输出基于数据输入传输恶意事件的概率值。此外,该方法可包括使用bgp劫持模型将bgp事件分类为恶意事件或良性事件。分类可包括使用路由数据的保持数据子集评估概率是否大于阈值截止值;由此,在验证概率大于阈值截止值时,事件被分类为恶意事件。

根据以下结合附图的具体实施方式,实施方案的其他方面和优点将变得显而易见,所述附图以举例的方式示出了所描述的实施方案的原理。

附图说明

通过参考以下结合附图的描述可完全理解所描述的实施方案及其优点。在不脱离所描述的实施方案的实质和范围的情况下,这些附图决不限制本领域技术人员可对所描述的实施方案进行的形式和细节上的任何更改。

图1a是具有劫持检测系统的示例性网络架构的框图,所述劫持检测系统检测本文所公开的实时应用中的恶意劫持事件。

图1b是一些实施方案中的图1的示例性自治系统(as)。

图2是具有嵌入式劫持检测模块的示例性as。

图3a是根据一些实施方案的用于实时检测恶意劫持事件的方法的流程图。

图3b是根据一些实施方案的图3a的模型建立阶段300的流程图。

图3c是根据一些实施方案的图3a的劫持检测阶段350和模型重新训练阶段380的流程图。

图4是示出了可实现本文所述的实施方案的示例性计算设备的示意图。

具体实施方式

以下实施方案描述了检测路由器劫持事件以用于确保网络完整性的系统和方法。该方法可包括通过数据收集模块从至少一个bgp路由器接收与bgp事件相关联的路由数据。该方法还可包括通过数据处理器处理路由数据以生成与源、前缀和/或上游装置相关联的特征列表。此外,该方法可包括使用路由数据和特征列表生成劫持检测模型。模型生成步骤可采用包括至少一个数据输入和概率输出的机器学习技术;其中,数据输入耦接以接收历史确认的bgp劫持数据集和路由数据,而概率输出传输恶意事件的概率值,该概率值可基于数据输入计算。此外,该方法可包括使用bgp劫持模型将bgp事件分类为恶意事件或良性事件。具体地讲,分类可包括使用路由数据的保持数据子集评估概率是否大于阈值截止值;由此,在验证概率大于阈值截止值时,事件被分类为恶意事件。因此,已知与恶意事件相关联的网络ip前缀可能是有价值的,使得本文所述的系统能够采取必要的适当动作以便不仅为单个ip地址而且为整个ip地址块(ip前缀)重选路由流量。

该系统可采用机器学习技术,诸如pu学习方法来实现精确的实时bgp劫持识别,克服有限的良性训练数据并减轻安全专家的手动标记工作。具体地讲,模型生成步骤可采用具有正数据输入,未标记数据输入和概率输出的pu学习技术,其中正数据输入被耦接以接收历史确认的bgp劫持数据集并且未标记数据输入被耦接以接收路由数据;而概率输出传输恶意事件的概率值,该概率值可基于数据输入来计算。例如,通过使用过去2.5年内收集的3,899个bgp劫持数据和340,000个未确认数据,该系统能够实现针对所有新的bgp劫持事件的99.6%的检测率。

本文所述的系统不仅在互联网路由基础结构中查找异常以检测网络ip前缀的劫持,而且本文所述的系统和方法可将这些异常与各种类型的恶意网络流量相关联以查看被劫持的前缀是否可用于发起其他类型的攻击。检测恶意使用被劫持的网络可有助于更有效地识别由攻击者执行的恶意活动(例如,滥发邮件、诈骗网站),攻击者的目标是通过劫持网络以阻碍可追溯性并规避基于ip信誉的防御系统。

由本文所述的系统生成的恶意事件的知识可用于更新现有的基于ip信誉的系统,例如,更新用于垃圾邮件过滤器的ip黑名单。精确检测恶意bgp劫持将能够识别完全处于网络罪犯控制下的网络,其中对于在给定的时间段内源自这些网络ip前缀的所有网络流量可采取适当的措施(例如,在其安全系统中分配非常低的信誉)。安全系统(例如,垃圾邮件过滤器)通常使用ip信誉作为第一层防御(例如,阻止或去优先级流量),因为与其他网络流量分析相比,该过程的资源消耗非常低。因此,本文所述的系统和方法将有助于更新现有的基于ip信誉的系统(例如,ip黑名单)并使得竞争对手被迫使用传统的更高资源要求的技术(例如,下载和分析电子邮件)来检测源自被劫持网络的恶意活动。从而,本文所述的系统和方法完美地自动且有效地识别bgp劫持事件。

以下将说明更多有关细节。然而,对本领域技术人员而言,显而易见,缺少这些具体细节也能实施本发明。在一些情况下,为避免使本发明表述不清,将以框图形式(而非详细说明)说明众所周知的结构和设备。

在随后的部分详细说明中,将从计算机存储器中数据位操作的算法和符号表示角度进行说明。这些算法描述和表示是数据处理领域技术人员用以向其他同行表述其工作本质的有效手段。此处的算法通常为一系列能达到所需结果的有序步骤。所述步骤是指那些需要对物理量进行的物理操作步骤。通常(但并非必须),这些物理量以能够被存储、传输、组合、比较以及其他方式操作的电信号或磁信号的形式出现。已经证明,主要出于常见用途原因,有时可将这些信号方便地称为位、值、元素、符号、字符、项、数等等。

然而,应该牢记,所有这些名称和类似术语均将与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非特别说明,否则从以下讨论显而易见,可以理解,在整个说明书中,利用诸如“提供”、“生成”、“安装”、“监视”、“强制执行”、“接收”、“记录”、“拦截”等术语的讨论是指计算机系统或类似电子计算设备的动作和过程,其对表示计算机系统寄存器和存储器中物理(电子)量的数据进行操作,并将所述数据转换为表示所述计算机系统存储器或寄存器(或其他此类信息存储、传输或显示设备)中其他类似物理量的其他数据。

本发明还涉及一种用于执行本文中操作的设备。该设备可出于所需目的而专门构造,或者其可包括由存储在计算机中的计算机程序选择性地启动或重新配置的通用计算机。此类计算机程序可存储在一种计算机可读存储介质中,例如其不限于如软盘、光盘、cd-rom和磁光盘在内的任何类型的磁盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或适用于存储电子指令的任何类型的介质,每种介质均耦接至计算机系统总线。

本文提及的“一个实施方案”或“实施方案”是指结合该实施方案所描述的特定特征、结构或特性包括在本发明的至少一个实施方案中。本说明书不同场合出现的短语“在一个实施方案中”并不一定涉及同一实施方案。相同的编号表示图示中的相同元件。

图1a是实时检测恶意事件的示例性网络架构100的框图,其中劫持检测系统120的实施方案可在其中操作。网络架构100可包括耦接到网络150(例如,诸如互联网的公共网络或诸如局域网(lan)的专用网络)的多于一个劫持检测系统120。此外,网络架构100可包括计算设备136,该计算设备被耦接以接收来自安全专家的输入,其在重新训练阶段验证正误识和负误识样本。计算设备136的示例可包括但不限于个人计算机、膝上型电脑、pda、移动电话、网络设备等。计算设备136和劫持检测系统120可驻留在相同的lan上,或者可驻留在可通过互联网耦接在一起,但由防火墙、路由器和/或其他网络设备隔开的不同的lan上。在另一个实施方案中,计算系统可驻留在不同的网络上。尽管未示出,但是在各种实施方案中,计算系统可以是笔记本电脑、台式计算机、基于微处理器或可编程消费电子产品、网络设备、移动电话、智能电话、寻呼机、射频(rf)设备、红外(ir)设备、个人数字助理(pda)、电视机、结合至少一个前述设备的集成设备等。

网络150可包括受独立管理域控制的构成as(140a至140f)的一个或多个子网,所述as通过其区域互联网注册机构分配给它的唯一数字标识符(asid)来识别。每个as(140a至140f)可包括一个或多个bgp路由器(未示出)以有利于域间路由,例如,通过相邻自治系统(as)路由ip流量。asid可与as拥有的一个或多个ip目的地前缀相关联。劫持检测系统120的示例可包括但不限于个人计算机、膝上型电脑、pda、移动电话、网络设备等。劫持检测系统120也可以是网络设备、网关、个人计算机等。在所示的一个实施方案中,劫持检测系统120可驻留在网络150的外部。在另一个实施方案中,劫持检测系统120可与一个as(140a至140f)一起驻留,这将参考图2进一步描述。

每个as(140a至140f)可通过互联网耦接在一起,但被防火墙、路由器和/或其他网络设备隔开。互联网可包括成千上万的as,其中每个as可使用bgp路由器建立相邻关系以维护和交换域间路由信息(或路由通告)。尽管未示出,但是在各种实施方案中,劫持检测系统120可以是笔记本电脑、台式计算机、基于微处理器或可编程消费电子产品、网络设备、移动电话、智能电话、寻呼机、射频(rf)设备、红外(ir)设备、个人数字助理(pda)、电视机、结合至少一个前述设备的集成设备等。

劫持检测系统120可包括用于实时收集路由数据以便分析恶意bgp事件的数据收集模块122。劫持检测系统120还可包括本地数据存储库124,其可以是存储当前路由数据、至少历史确认的bgp劫持数据集(正样本)、负样本等的一个或多个集中式数据存储库。本地数据存储库124可表示驻留在一个或多个海量存储设备诸如基于磁或光存储的磁盘、磁带或硬盘驱动器上的单个或多个数据结构(数据库、存储库、文件等)。尽管被示出为对于劫持检测系统120是本地的,但是本地数据存储库124可远离劫持检测系统120并且劫持检测系统120可以通过公共或专用网络与本地数据存储库124进行通信。

劫持检测系统120还可包括处理器126、数据预处理模块128、bgp劫持检测模块130和存储器134。数据预处理模块128可耦接以从数据收集模块接收路由数据。数据预处理模块128可包括用于处理路由数据以生成与源、前缀和/或任何上游装置相关联的特征列表的指令。此类列表可包括下面的表1中的任何一个特征。应当理解,这些实施方案可以访问全局bgp通告的历史记录。如果检测到新通告,则实施方案能够生成如表1所示的特征。

bgp劫持检测模块130可采用机器学习技术来生成劫持检测模型132,该劫持检测模型包括至少一个数据输入和概率输出。数据输入可耦接以接收来自本地数据存储库124的历史确认的bgp劫持数据集。此外,数据输入可耦接以接收来自数据收集模块122的路由数据。bgp劫持检测模块130可进一步处理由劫持检测模型132生成并通过概率输出传输的恶意事件的概率值。

该系统可包括三个操作阶段:模型建立阶段、恶意bgp劫持检测阶段和模型重新训练阶段。在模型建立阶段,bgp劫持检测模块130可检索历史确认的bgp劫持数据集。bgp劫持检测模块130还可使用路由数据的保持数据子集来生成阈值截止值,其中该阈值截止值用于确定事件是恶意的还是良性的。bgp劫持检测模块130可通过采用具有数据输入和概率输出的机器学习技术来计算恶意事件的概率,其中数据输入耦接以接收历史确认的bgp劫持数据集和路由数据。最后,劫持检测模型132被配置为当概率大于阈值截止值时将bgp事件分类为恶意事件。

在恶意bgp劫持检测阶段,尽管as之间的域间路由使得as不能阻止恶意as(例如,前缀劫持者)的bgp路由器使用虚构的as路径通告到目的地前缀的路由(例如,虚假通告),劫持检测系统120可监视由bgp路由器在预定时间段内发送的所有路由数据,以使用在模型建立阶段生成的模型来检测恶意事件。尽管虚假通告可迅速级联到多个as中的大量bgp路由器并污染与其相关联的路由表,但本文所述的系统会实时检测这些恶意事件并且可向每个as发出通知以独立校正相关联的路由表。在另一个实施方案中,劫持检测系统120可检测与恶意事件相关联的ip地址块并识别至少一个损坏的路径。劫持检测系统120还可生成校正的路径并更新路由表。

在模型重新训练阶段,bgp劫持检测模块130可执行附加测试以检测每个事件是否为负误识或正误识。在另一个实施方案中,bgp劫持检测模块130可耦接以接收来自已验证任何负误识或正误识事件的管理员的输入。响应于检测到负误识或正误识,bgp劫持检测模块130可进一步校正存储在本地数据存储库124中的历史确认的bgp劫持数据集。bgp劫持检测模块130还可向每个as生成通知以校正相关联的路由表。此外,bgp劫持检测模块130可使用校正的历史确认的bgp劫持数据集重新训练bgp劫持模型132。

图1b示出了一些实施方案中的图1的示例性自治系统(as)140a。as140a包括至少一个域内网络148,该至少一个域内网络148互连至少一个bgp路由器144和至少一个内部网关协议(igp)路由器142。所述至少一个bgp路由器144被配置为维护并与相邻as(140b至140e)的bgp路由器交换域间路由信息以便将ip流量路由到相邻as或从相邻as路由ip流量,例如,如图1所示。bgp路由器144可包括路由表146,其保持:(1)目的地前缀;(2)下一跳as;和(3)as级路径。

图2示出了根据一些实施方案的具有嵌入式劫持检测系统的示例as。类似于as140a、as200可包括至少一个域内网络210,该至少一个域内网络210互连至少一个bgp路由器206和至少一个igp路由器20。所述至少一个bgp路由器206可被配置为保持并与相邻as的bgp路由器交换域间路由信息以便将ip流量路由到相邻as或从相邻as路由ip流量,例如,如图1所示。bgp路由器206可包括路由表146,其保持:(1)目的地前缀;(2)下一跳as;和(3)as级路径。

劫持检测系统204可耦接到至少一个域内网络210,该至少一个域内网络互连至少一个bgp路由器206和至少一个igp路由器202。类似于独立劫持检测系统120,劫持检测系统204可包括数据收集模块、处理器、数据预处理模块、bgp劫持检测模块和存储器(未示出)。数据收集模块可耦接以接收来自至少一个域内网络210的路由数据,所述至少一个域内网络互连至少一个bgp路由器206和至少一个igp路由器202。数据预处理模块可包括用于处理路由数据以生成与源、前缀和/或任何上游装置相关联的特征列表的指令。劫持检测系统204可采用机器学习技术来生成劫持检测模型,该劫持检测模型包括至少一个数据输入和概率输出。该模型的数据输入可耦接以接收来自本地或远程数据存储库的历史确认的bgp劫持数据集。此外,生成的劫持模型的数据输入可耦接以接收路由数据。劫持检测系统204可进一步处理概率值以检测恶意事件。

图3a示出了根据一些实施方案的用于实时检测恶意劫持事件的方法的流程图。如上所述,本文所述的用于劫持检测的系统和方法可包括三个操作阶段:模型建立阶段300、恶意bgp劫持检测阶段350和模型重新训练阶段380。例如,在动作300的第一阶段,劫持检测系统120可基于机器学习技术建立劫持检测模型。用于练习劫持检测的合适的机器学习方法可以包括例如监督学习方法(例如,分析学习、人工神经网络、基于案例的推理、决策树学习、归纳逻辑编程高斯过程回归、基因表达式编程、核估计量、支持向量机、随机森林、分类器集成等)、无监督学习方法(例如,具有自组织映射(som)和自适应共振理论(art)的神经网络)、半监督学习方法(例如,约束聚类、pu学习)、强化学习方法(例如,蒙特卡洛方法)、转导推理方法(例如,转导支持向量机、贝叶斯委员会机器)或多任务学习方法(例如,聚类多任务学习)。

在动作350的第二阶段,劫持检测系统120可通过实时劫持检测以bgp通告的形式发送的路由数据来进行处理。例如,路由数据可由数据收集模块122和bgp劫持检测模块130实时监视。bgp劫持检测模块130可使用在动作300中生成的劫持检测模型132来识别恶意和良性事件。bgp劫持检测模块130可进一步检测与至少一个恶意事件相关联的ip地址块。此外,bgp劫持检测模块130可检测与所识别的恶意事件相关联的至少一个损坏路径。因此,bgp劫持检测模块130可生成存储在bgp路由器的路由表中的校正的路径,替换所述至少一个损坏的路径。

在动作380的第三阶段,可验证负误识和正误识数据,以便重新训练在模型建立阶段生成的劫持检测模型。例如,bgp劫持检测模块130可识别负误识和正误识数据集并验证其准确性。在另一个实施方案中,bgp劫持检测模块130可被耦接以接收来自计算设备136的输入,其中安全专家输入与负误识和正误识数据集相关的验证数据。这三个阶段将参考图3b和图3c进一步详细说明。

图3b示出了根据一些实施方案的图3a的模型建立阶段300的流程图。在模型建立阶段300,数据收集模块可在动作302中实时收集bgp路由数据。例如,数据收集模块122可耦接以接收由as(140a至140f)的bgp路由器发送的bgp通告。在动作304中,可从路由数据生成与所有权、前缀数据和上游装置相关的特征列表。例如,数据预处理模块128可处理每个bgp路由通告以生成与表示该通告的所有权、前缀和/或上游装置相关的特征列表。在动作306中,劫持检测可检索历史确认的劫持数据。例如,bgp劫持检测模块130可从本地数据存储库诸如数据库124检索历史确认的劫持数据。在另一个实施方案中,历史确认的劫持数据可由数据收集模块122通过网络150从一些联网存储单元收集。

在动作308中,可使用在动作306中检索到的历史确认的bgp劫持数据以及动作304的特征列表来建立初始模型。例如,bgp劫持检测模块130可使用一些实时路由数据,采用机器学习算法来生成初始模型。此外,在动作310中,可使用初始模型收集预定量的正数据和未标记数据。例如,一旦劫持检测系统120收集预定量的正数据(即,确认的bgp劫持)和未标记数据(即,由数据收集模块收集的数据),则bgp劫持检测模块130可采用pu学习方法来建立劫持检测模型,在动作312处更新模型。

因此,在动作314中,可生成阈值截止值。例如,bgp劫持检测模块130可使用路由数据的保持数据子集生成阈值。在一些实施方案中,可使用受试者工作特征(roc)曲线来生成阈值。例如,正误识率预期可预设为0.1%,其中bgp劫持检测模块130可查看roc曲线以确定什么阈值截止值对应于0.1%的正误识率。由于pu学习的概率性质,该阈值可用作确定bgp通知是否是恶意的截止值。具体地讲,具有大于阈值的概率的通告可被分类为恶意。一旦建立了劫持检测模型,该模型可驻留在存储器134中用于劫持检测目的。

使用正样本和未标记示例(pu学习)的机器学习技术作为二进制分类应用中的解决方案出现,其中难以收集负数据样本或训练数据中存在大量负误识。例如,参考本文所述的系统和方法,路由数据可由可建立劫持检测模型的两个样本集合组成:包括手动确认和验证的bgp劫持示例的正集合;以及混合集合,其中包含可以是bgp劫持或良性bgp通告的可疑事件。然而,混合集合最初未标记。也就是说,在混合数据集中,恶意劫持事件与良性bgp通告之间没有区别。缺乏负(良性bgp通告)样本表示当前现实世界中的手动bgp劫持识别过程,由于大多数依靠安全专家自信地识别bgp劫持事件(正样本),而其他bgp通告(负样本)太多样化而无法标记。另外,由于与阻止进一步检查的这些通告相关联的复杂因素,某些可疑事件可能不会被标记。

关于劫持检测,缺乏可靠的负样本是网络威胁识别的常见问题。例如,目前没有解决网络入侵和病毒检测的系统。将网络连接标记为良性或侵入性网络连接需要人力专家的巨大开销。此外,网络流量的任何变化都会改变良性行为的概况。如果识别的侵入性连接被认为是正样本,而良性连接被认为是负样本,则可以看出真正的负样本比正训练数据更难获得。目前基于距离或密度的检测策略已被应用于仅从明确标记的入侵威胁中学习。然而,这些方法假设恶意行为或良性行为具有相对恒定的概况,这在现实生活数据中并不总是令人满意。

图3c示出了根据一些实施方案的图3a的劫持检测阶段350和模型重新训练阶段380的流程图。在动作352中的恶意bgp劫持检测阶段,劫持检测系统可接收路由数据。例如,数据收集模块122可实时收集bgp路由信息。在动作354中,可从在动作352中接收到的路由数据生成与所有权、前缀数据和上游装置相关的特征列表。例如,每个bgp路由通告可由数据预处理模块处理以生成表示接收到的一个或多个bgp通告的特征列表。在动作356中,劫持检测模型可用于生成恶意事件的概率。例如,bgp劫持检测模块130可使用存储在存储器134中的劫持检测模型132来处理每个通告。在决策框358处,将概率与劫持检测模型的阈值进行比较。例如,可评估由劫持检测模型132生成的概率以确定其是否大于阈值,其中基于在模型建立阶段300识别的阈值,该事件被分类为恶意事件(在动作360中)或者良性事件(在动作362中)。

在动作364中,可存储恶意事件和良性事件。例如,恶意事件和良性事件可存储在表示一个或多个集中式数据储存库的本地数据存储库124中。在另一个实施方案中,所识别的事件可以在与劫持检测系统120分开的存储设备中,或者远程存储在公共或专用网络上。如参考下文的重新训练阶段380更详细地说明的那样,所述存储的数据可用作重新训练模型的输入。在动作366中,可生成相关联的ip地址块的信誉评分。例如,bgp劫持检测模块130可使用与由数据收集模块122接收的路由数据相关联的所识别的恶意事件和良性事件来生成信誉评分。因此,在动作368中,信誉评分可被发送给as。例如,劫持检测系统120可通过网络150向as(140a至140f)发送信誉评分。此外,在动作370中,可校正具有所识别的至少一个恶意事件的bgp路由器的路由表。例如,bgp劫持检测模块130可识别与每个恶意事件相关联的ip地址块。bgp劫持检测模块130可识别路由表中对应于各个恶意事件的各个损坏路径。另外,bgp劫持检测模块130可使用路由表和对应的as(140a至140f)的当前知识来生成校正的路径以更新路由表。

在动作382的重新训练阶段380,可验证负误识和正误识。例如,可使用bgp劫持检测模块130运行验证过程。在另一个实施方案中,系统管理员(安全专家)可手动确认bgp通告是否是恶意劫持事件并且通过使用耦接到bgp劫持检测模块130的计算设备136输入该数据。有利的是,这部分验证过程不用于调查每个恶意bgp劫持事件。也就是说,bgp劫持检测模块130或安全专家仅需要验证正误识或负误识是否试图逐步提高训练数据的质量。在动作384中,可更新历史确认的劫持数据。例如,被证明为恶意的经验证的负误识可被添加到存储在本地数据存储库124中的历史确认的劫持数据中。一旦数据累积到一定的大小或匹配某些业务需求(例如,正误识增加到特定值以上),可更新历史数据;并且在动作386中,可利用更新的数据重新训练劫持检测模型。有利的是,在一些实施方案中,因为数据已被处理并转换成特征列表,所以动作386处的重新训练可能需要不到10分钟来完成。

图4是用于促进dlp管理器的执行的计算机系统的一个实施方案的示意图。在计算机系统400内是一组用于使得机器执行本文所述的一种或多种方法中的任一种方法的指令。cpu400可被定义为执行本文所述的功能以实现参考图1至图3c所描述的功能。在可供选择的实施方案中,该机器可以连接到(例如,联网到)lan、内部网、外部网或因特网中的其他机器。所述机器可以为云端的主机、云提供商系统、云控制器或任何其他机器。所述机器可以在客户端-服务器网络环境中以作为服务器或客户端机器运行,也可在对等(或分布式)网络环境中作为对等机器运行。所述机器可以为个人计算机(pc)、平板pc、控制台设备或机顶盒(stb)、个人数字助理(pda)、蜂窝式电话、网络设备、服务器、网络路由器、交换机或桥接器,或能够(按顺序或以其他方式)执行规定措施的任何机器。此外,虽然仅示出了单个机器,但是术语“机器”还应被视为包括独立或共同执行一组(或多组)指令以执行本文所述的一种或多种方法中的任一种方法的机器(例如,计算机)的任何集合。

示例性计算机系统400包括处理设备426、主存储器422(例如,只读存储器(rom)、闪存存储器、动态随机存取存储器(dram)(诸如同步dram(sdram)或dram(rdram)等))、静态存储器418(例如,闪存存储器、静态随机存取存储器(sram)等)以及辅助存储器408(例如,呈驱动单元形式的数据存储设备,其可包括固定或可移动计算机可读存储介质),这些存储器通过总线428相互通信。在一些实施方案中,体现本文所公开的方法的功能的代码可被存储在主存储器422、静态存储器418或辅助存储器408中以供诸如处理设备426的处理器执行。计算设备上的操作系统可以是redhat或其他已知的操作系统。应当理解,本文所述的实施方案还可与虚拟化计算系统结合。

处理设备426表示一个或多个通用处理设备,诸如微处理器、中央处理单元等。更具体地讲,处理设备426可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、实现其他指令集的处理器或实现指令集组合的多个处理器。处理设备426还可以是一个或多个专用处理设备,诸如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理设备426被配置为执行用于执行本文所述的操作和步骤的指令424。

计算机系统400还可包括网络接口设备416。计算机系统400还可包括通过图形端口和图形芯片组连接到计算机系统的视频显示单元402(例如,液晶显示器(lcd)或阴极射线管(crt))、数字字母混合输入设备404(例如,键盘)、光标控制设备406(例如,鼠标)以及信号发生设备414(例如.扬声器)。

辅助存储器408可包括机器可读存储介质(或更具体地讲计算机可读存储介质)410,其上存储体现本文所述的任何一种或多种方法或功能的一组或多组指令412。在一个实施方案中,指令412包括用于劫持检测模型132的指令。在由计算机系统400执行期间,指令412还可完全或至少部分地驻留在主存储器422和/或处理设备426内,主存储器422和处理设备426还构成机器可读存储介质。

计算机可读存储介质410还可用于永久地存储指令412。虽然计算机可读存储介质410在示例性实施方案中被示出为单个介质,但是术语“计算机可读存储介质”应被视为包括存储一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应视为包括能够存储或编码用于由机器执行并使机器执行本发明的任一种或多种方法的一组指令的任何介质。术语“计算机可读存储介质”应因此视为包括(但不限于)固态存储器以及光学介质和磁介质。

本文所述的指令412、组件和其他特征可被实现为离散硬件组件或集成在诸如asics、fpga、dsp或类似设备的硬件组件的功能中。另外,指令412可被实现为硬件设备中的固件或功能电路。此外,指令412可被实现在硬件设备和软件组件的任何组合中。

上文对诸多细节做出陈述。然而,,对本领域技术人员而言,显而易见,缺少这些具体细节也能实施本发明。在一些情况下,为避免使本发明表述不清,将以框图形式(而非详细说明)说明众所周知的结构和设备。

应当理解,上述描述旨在做示例性描述,而非限制性描述。在阅读并理解上述描述后,许多其他实施方案对于本领域技术人员而言将是显而易见的。虽然本文已结合具体示例性实施方案对本发明进行说明,但应认识到,本发明并不限于所述的实施方案,在不脱离所附权利要求书的精神和范围情况下,本发明在实施中可做有关修改和变更。因此,应以说明性意义而非限制性意义看待本说明书和附图。因此,应结合所附权利要求书以及所述权利要求书有权获得的等效物的完整范围,共同确定本发明的范围。

本文公开了详细的示例性实施方案。然而,出于描述实施方案的目的,本文所公开的具体功能细节仅仅是代表性的。然而,实施方案可体现为许多另选形式,并且不应被理解为仅限于本文所述的实施方案。

应当理解,虽然术语第一、第二等可以在本文中用于描述各种步骤或计算,但是这些步骤或计算不应受到这些术语的限制。这些术语仅用于将一个步骤或计算与另一个步骤或计算进行区分。例如,第一计算可被称为第二计算,并且类似地,第二步骤可被称为第一步骤,而不脱离本公开的范围。如本文所用,术语“和/或”和“i”符号包括一个或多个相关联的所列项目的任何和所有组合。如本文所用,除非上下文另外明确地指出,否则单数形式“一”、“一个”和“该”也旨在包括复数形式。还应当理解,当在本文中使用时,术语“包括(comprises)”、“包括(comprising)”、“包括(includes)”和/或“包括(including)”指明存在所述特征、整体、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其组合。因此,本文所使用的术语仅仅是为了描述具体实施方案,并非旨在进行限制。

还应该指出的是,在一些另选具体实施中,所提及的功能/动作可以不按照附图中指出的顺序发生。例如,取决于所涉及的功能/动作,连续示出的两个图实际可基本上同时执行,或者有时可以相反的顺序执行。考虑到上述实施方案,应当理解,这些实施方案可采用涉及存储在计算机系统中的数据的各种计算机实现的操作。这些操作是需要物理量的物理操纵的那些操作。通常(但并非必须),这些物理量以能够被存储、传输、组合、比较以及其他方式操作的电信号或磁信号的形式出现。此外,所执行的操纵通常被称为术语诸如产生、识别、确定或比较。本文所述的形成实施方案的一部分的任何操作是可用的机器操作。这些实施方案还涉及用于执行这些操作的设备或装置。该装置可根据所需目的而特别构造,或者该装置可以是通用计算机,该通用计算机由存储在计算机中的计算机程序选择性地激活或配置。具体地讲,各种通用机器可以与根据本文的教导内容编写的计算机程序一起使用,或者可以更方便地构造更专用的装置来执行所需操作。

模块、应用程序、层、代理或其他方法可操作实体可被实现为硬件、固件或执行软件的处理器或它们的组合。应当理解,在本文所公开的基于软件的实施方案的情况下,软件可体现在物理机器诸如控制器中。例如,控制器可以包括第一模块和第二模块。控制器可被配置为执行例如方法、应用程序、层或代理的各种动作。

这些实施方案也可实施为非暂态计算机可读介质上的计算机可读代码。计算机可读介质是可以存储数据的任何数据存储设备,所述数据随后可由计算机系统读取。计算机可读介质的示例包括硬盘驱动器、附网存储(nas)、只读存储器、随机存取存储器、cd-rom、cd-r、cd-rw、磁带、闪存存储器设备以及其他光学和非光学数据存储设备。计算机可读介质还可以分布在网络耦接的计算机系统上,使得计算机可读代码以分布式方式存储和执行。本文所述的实施方案可以利用包括手持设备、平板电脑、微处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等的各种计算机系统配置来实施。这些实施方案也可以在分布式计算环境中实施,其中任务由通过基于有线或无线网络链接的远程处理设备执行。

尽管方法操作是以特定顺序描述的,但是应当理解,其他操作可以在所描述的操作之间执行,所描述的操作可被调整使得它们在稍微不同的时间发生,或者所描述的操作可以分布在系统中,该系统允许以与处理相关联的各种间隔发生处理操作。

在各种实施方案中,本文所述的方法和机制的一个或多个部分可以形成云计算环境的一部分。在此类实施方案中,根据一个或多个各种模型,资源可以作为服务通过互联网提供。此类模型可包括基础设施即服务(iaas)、平台即服务(paas)和软件即服务(saas)。在iaas中,计算机基础结构作为服务提供。在这种情况下,计算装置通常由服务提供商拥有和运营。在paas模型中,开发人员用于开发软件解决方案的软件工具和底层装置可作为服务提供并由服务提供商托管。saas通常包括作为按需服务的服务提供商许可软件。服务提供商可托管该软件,或者可将软件部署到客户一段给定的时间。上述模型的许多组合是可能的并且是可以预期的。

各种单元、电路或其他组件可被描述或要求为“被配置为”执行一个或多个任务。在此类上下文中,通过指示单元/电路/组件包括在操作期间执行一个或多个任务的结构(例如,电路),短语“被配置为”被用于如此表示结构。这样,即使当指定的单元/电路/组件当前不可操作(例如,未开启)时,也可以说单元/电路/组件被配置为执行任务。与“被配置为”语言一起使用的单元/电路/组件包括硬件;例如,电路、存储可执行以实现操作的程序指令的存储器等。记住,单元/电路/组件“被配置为”执行一个或多个任务明确表示针对该单元/电路/组件,不援引35u.s.c.112,第六段。另外,“被配置为”可包括由软件和/或固件(例如,fpga或执行软件的通用处理器)操纵以能够执行相关任务的方式进行操作的通用结构(例如,通用电路)。“被配置为”还可包括调整制造过程(例如,半导体制造设施)以制造适于实现或执行一个或多个任务的设备(例如,集成电路)。

出于阐释目的,已参考特定实施方案进行了以上描述。然而,以上示例性讨论并非旨在是穷举的或将本发明限制为所公开的精确形式。鉴于上述教导,许多修改形式和变型形式都是可能的。为了最好地解释这些实施方案的原理及其实际应用,选择并描述了实施方案,由此使得本领域其他技术人员能最好地利用这些实施方案以及具有可适合所设想的具体用途的各种修改形式。因此,本实施方案被认为是例示性的而非限制性的,并且本发明不限于本文给出的细节,而是可以在所附权利要求的范围和等同物内进行修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1