多层次全周期物联网设备僵尸网络防御方法、装置及设备
文献发布时间:2023-06-19 11:35:49
技术领域
本申请涉及信息安全领域,尤其涉及一种多层次全周期物联网设备僵尸网络防御方法、装置及设备。
背景技术
僵尸网络是指控制者(可以称为Botmaster)出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络。
物联网设备由于设备数量庞大,基本上无法依靠安全人员人工进行安全检查和防护,并且其自身的计算和存储资源较少,无法在设备上搭载消耗资源较大的安全软件来保证安全性,导致僵尸网络不断威胁着物联网设备的安全性。
如何实现针对物联网设备的僵尸网络防御成为一个亟待解决的技术问题。
发明内容
有鉴于此,本申请提供一种多层次全周期物联网设备僵尸网络防御方法、装置及设备。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种多层次全周期物联网设备僵尸网络防御方法,包括:
获取物联网设备的流量数据;
依据所述物联网设备的流量数据对所述物联网设备进行威胁性监测,以确定所述物联网设备的安全状态;所述安全状态包括安全或处于僵尸网络生命周期的其中一个阶段;
当确定所述物联网设备的安全状态为处于僵尸网络生命周期的其中一个阶段时,确定与该阶段匹配的目标防御策略;
依据所述目标防御策略对所述物联网设备进行威胁阻断处理。
根据本申请实施例的第二方面,提供一种多层次全周期物联网设备僵尸网络防御装置,包括:
获取单元,用于获取物联网设备的流量数据;
监测单元,用于依据所述物联网设备的流量数据对所述物联网设备进行威胁性监测,以确定所述物联网设备的安全状态;所述安全状态包括安全或处于僵尸网络生命周期的其中一个阶段;
确定单元,用于当确定所述物联网设备的安全状态为处于僵尸网络生命周期的其中一个阶段时,确定与该阶段匹配的目标防御策略;
处理单元,用于依据所述目标防御策略对所述物联网设备进行威胁阻断处理。
根据本申请实施例的第三方面,提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现上述多层次全周期物联网设备僵尸网络防御方法。
根据本申请实施例的第四方面,提供一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上述多层次全周期物联网设备僵尸网络防御方法。
本申请实施例的多层次全周期物联网设备僵尸网络防御方法,通过对物联网设备的流量数据进行监测,并依据获取到的物联网设备的流量数据对物联网设备进行威胁性监测,以确定物联网设备是否处于僵尸网络生命周期的其中一个阶段,并在确定物联网设备处于僵尸网络生命周期的其中一个阶段时,依据物联网设备所处僵尸网络生命周期的阶段确定匹配的目标防御策略,并依据该目标防御策略对物联网设备进行威胁阻断处理,提高了物联网设备僵尸网络威胁性监测的准确性和针对性,提高了物联网设备僵尸网络防御的准确性和针对性,优化了物联网设备僵尸网络防御的效果。
附图说明
图1为本申请一示例性实施例示出的一种多层次全周期物联网设备僵尸网络防御方法的流程示意图;
图2为本申请一示例性实施例示出的一种多层次全周期物联网设备僵尸网络防御系统的架构示意图;
图3为本申请一示例性实施例示出的一种多层次全周期物联网设备僵尸网络防御装置的结构示意图;
图4为本申请一示例性实施例示出的一种电子设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对僵尸网络的生命周期进行简单说明。
僵尸网络本身的生命周期具有阶段性和特征性,每个阶段都具有不同的特征。僵尸网络生命周期可以包括以下阶段:
入侵阶段:通过SSH(Secure Shell,安全外壳协议)爆破、设备漏洞等方式进入设备;
投递阶段:设备被入侵后,会执行特定命令从脚本服务器上下载恶意脚本或文件并执行;
控制阶段:被感染设备连接C&C(Command and Control,指令和控制)服务器,接收指令;
传播阶段:被感染设备下载的恶意脚本或文件会对网络中其他设备发起攻击,感染其他设备成为僵尸网络的一部分;
攻击阶段:攻击者通过C&C服务器下发攻击指令,利用僵尸网络实施攻击,如:DDos(Distributed denial of service attack,分布式拒绝服务攻击)、挖矿等。
为了使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
请参见图1,为本申请实施例提供的一种多层次全周期物联网设备僵尸网络防御方法的流程示意图,如图1所示,该多层次全周期物联网设备僵尸网络防御方法可以包括以下步骤:
步骤S100、获取物联网设备的流量数据。
本申请实施例中,为了提高物联网设备的安全性,可以对物联网设备的流量数据进行监测,以便及时发现威胁。
示例性的,可以通过流量旁路监听的方式,对网络中物联网设备的流量数据(包括物联网设备接收到的流量数据和发送的流量数据)进行监听,以获取物联网设备的流量数据。
示例性的,在流量数据监听过程中,可以分别以数据包和数据流两个维度进行数据的提取和存储。
示例性的,为了对获取到的物联网设备的流量数据进行结构化存储,还可以获取物联网设备的基础信息,例如,IP地址、MAC地址、设备厂商、设备型号、设备开放端口等,从而,对于获取到的物联网设备的流量数据,可以将获取到的流量数据与物联网设备的基础信息关联存储,提高流量数据的管理效率。
步骤S110、依据物联网设备的流量数据对物联网设备进行威胁性监测,以确定物联网设备的安全状态,该安全状态包括安全或处于僵尸网络生命周期的其中一个阶段。
本申请实施例中,可以依据获取到的物联网设备的流量数据对物联网设备进行威胁性监测,以确定物联网设备的安全状态,即确定物联网设备是否安全。
示例性的,考虑到僵尸网络生命周期的不同阶段具有不同的特征,因此,为了提高物联网设备僵尸网络防御的针对性和准确性,可以依据获取到的物联网设备的流量数据,结合僵尸网络生命周期各阶段的特征,确定物联网设备是否处于僵尸网络生命周期的某一个阶段,以便在物联网设备处于僵尸网络生命周期的某一个阶段时,针对性进行防御处理。
步骤S120、当确定物联网设备的安全状态为处于僵尸网络生命周期的其中一个阶段时,确定与该阶段匹配的目标防御策略。
本申请实施例中,为了提高物联网设备僵尸网络防御的灵活性和针对性,优化物联网设备僵尸网络防御效果,可以预先针对僵尸网络生命周期的不同阶段设置不同的防御策略。
相应地,当依据步骤S100中获取到的物联网设备的流量数据确定物联网设备处于僵尸网络生命周期的其中一个阶段时,可以依据物联网设备所处的僵尸网络生命周期的阶段,确定与该阶段匹配的防御策略(本文中称为目标防御策略)。
示例性的,僵尸网络生命周期的不同阶段对应的防御策略不完全相同。
在一个示例中,僵尸网络生命周期的不同阶段对应的防御策略不同。
在另一个示例中,僵尸网络生命周期的部分阶段(包括多个阶段)对应的防御策略相同。
步骤S130、依据目标防御策略对物联网设备进行威胁阻断处理。
本申请实施例中,当按照上述实施例中描述的方式确定了与物联网设备所处僵尸网络生命周期的阶段匹配的目标防御策略时,可以依据该目标防御策略对物联网设备进行威胁阻断处理,以避免物联网设备进一步受到攻击,以及避免物联网设备对其他设备进行攻击。
需要说明的是,在本申请实施例中,当依据获取到的物联网设备的流量数据确定物联网设备的安全状态为安全时,可以继续对物联网设备的流量数据进行监测,并按照步骤S110~S130中描述的方式进行处理。
可见,在图1所示方法流程中,通过对物联网设备的流量数据进行监测,并依据获取到的物联网设备的流量数据对物联网设备进行威胁性监测,以确定物联网设备是否处于僵尸网络生命周期的其中一个阶段,并在确定物联网设备处于僵尸网络生命周期的其中一个阶段时,依据物联网设备所处僵尸网络生命周期的阶段确定匹配的目标防御策略,并依据该目标防御策略对物联网设备进行威胁阻断处理,提高了物联网设备僵尸网络威胁性监测的准确性和针对性,提高了物联网设备僵尸网络防御的准确性和针对性,优化了物联网设备僵尸网络防御的效果。
在一些实施例中,步骤S110中,依据物联网设备的流量数据对物联网设备进行威胁性监测,可以包括:
当物联网设备在第一预设时间阈值内建立SSH连接的次数超过预设次数阈值时,确定物联网设备处于僵尸网络生命周期的入侵阶段,并为物联网设备设置入侵标签。
示例性的,入侵标签附带的数据包括但不限于攻击IP地址、被攻击IP地址、标记时间、以及物联网设备在第一预设时间阈值内建立SSH连接的次数中的部分或全部。
其中,攻击IP地址为攻击者设备(对物联网和设备进行攻击的设备)的IP地址,被攻击IP地址为物联网设备的IP地址。
标记时间指为物联网设备设置入侵标签时的时间(也可以称为入侵时间)。
示例性的,该时间可以为10位的时间戳,如1613984097表示2021年2月22日16:54:57。
示例性的,考虑到对于物联网设备,僵尸网络病毒的入侵方法主要是SSH爆破,即对被攻击设备发送大量SSH尝试登录请求,而在正常状态下,物联网设备建立SSH连接主要是为了测试和安全检查,通常建立SSH连接的次数会较少,因此,可以依据预设时间内物联网设备建立SSH连接的次数确定物联网设备是否处于僵尸网络生命周期的入侵阶段。
相应地,可以依据获取到的物联网设备的流量数据,确定物联网设备在预设时间阈值(可以称为第一预设时间阈值,取值可以根据实际需求设置,如1分钟)内建立SSH连接的次数,并比较该次数与预设次数阈值(可以根据实际需求设置,如10次),当物联网设备在第一预设时间阈值内建立SSH连接的次数超过预设次数阈值时,可以确定物联网设备处于僵尸网络生命周期的入侵阶段,并为物联网设备设置入侵标签(该入侵标签用于标识物联网设备处于僵尸网络生命周期的入侵阶段)。
示例性的,上述入侵标签可以附带攻击IP地址、被攻击IP地址、时间、以及物联网设备在第一预设时间阈值内建立SSH连接的次数等数据中的部分或全部,以提高数据管理的精细化程度,便于后续依据相关数据采取对应处理。
在一个示例中,确定物联网设备处于僵尸网络生命周期的入侵阶段,并为物联网设备设置入侵标签之后,还可以包括:
当入侵标签中包括的攻击IP地址与入侵标签中包括的被攻击IP地址处于同一网段时,确定攻击者设备处于僵尸网络生命周期的传播阶段,并为攻击者设备设置传播标签,为被攻击者设备设置为入侵标签,该传播标签附带的数据包括攻击IP地址、被攻击IP地址、标记时间;
当入侵标签中包括的攻击IP地址与入侵标签中包括的被攻击IP地址处于不同网段时,确定攻击者设备处于僵尸网络生命周期的入侵阶段。
示例性的,当按照上述实施例中描述的方式确定物联网设备处于入侵阶段时,还可以依据获取到的攻击IP地址和被攻击IP地址,确定攻击IP地址和被攻击IP地址是否处于同一网段,即确定攻击者设备与该物联网设备是否处于同一网段。
当攻击IP地址和被攻击IP地址处于同一网段,即物联网设备受到同网段内设备的攻击时,可以确定攻击者设备当前处于僵尸网络生命周期的传播状态,此时,可以对攻击者设备设置传播标签。
示例性的,上述传播标签附带的数据可以包括但不限于攻击IP地址、被攻击IP地址以及标记时间等数据中的部分或全部。
示例性的,该标记时间指为物联网设备设置传播标签时的时间(也可以称为传播时间)。
当攻击IP地址和被攻击IP地址处于不同网段,即物联网设备受到其他网段设备的攻击时,可以确定攻击者设备当前处于僵尸网络生命周期的入侵阶段,此时,可以对攻击者设备设置入侵标签。
在一些实施例中,步骤S110中,依据物联网设备的流量数据对物联网设备进行威胁性监测,可以包括:
当物联网设备的流量数据中包括物联网设备发起的DNS数据时,利用预先训练的深度学习网络模型对DNS数据中包括的域名进行判定,以确定DNS数据中包括的域名是否为域名生成算法DGA域名;
若DNS数据中包括的域名为DGA域名,则确定物联网设备处于僵尸网络生命周期的控制阶段,并为物联网设备设置控制标签;
若DNS数据中包括的域名不是DGA域名,则确定物联网设备处于僵尸网络生命周期的投递阶段,并为物联网设备设置投递标签。
示例性的,考虑到当物联网设备被僵尸网络入侵成功后,在处于僵尸网络生命周期的投递阶段的情况下,通常会主动与脚本服务器进行通信,并下载恶意可执行文件;而正常情况下,物联网设备通常仅会与管理平台建立网络连接,并且一般为被动建立连接,而不会主动向外建立网络连接。
此外,考虑到物联网设备处于僵尸网络生命周期的控制阶段时,物联网设备需要连接C&C服务器获取指令,攻击者为了保护C&C服务器的IP地址,会在控制阶段生成一系列域名地址(可以称为DGA(Domain Generation Algorithm,域名生成算法)域名),这一系列域名中有一个会被正确解析。
因而,可以依据物联网设备的流量数据中是否包括物联网设备主动发起的DNS数据,如DNS请求报文,以及DNS数据中包括的域名是否为DGA域名,确定物联网设备是否处于僵尸网络生命周期的投递阶段或控制阶段。
相应地,对于获取到的物联网设备的流量数据,可以先确定物联网设备的流量数据中是否包括物联网设备发起的DNS数据。
当物联网设备的流量数据中包括物联网设备发起的DNS数据时,可以进一步确定该DNS数据中包括的域名是否为DGA域名。
示例性的,可以利用深度学习方法进行DGA域名判定,即通过以正常域名(非DGA)域名和DGA域名构建的训练样本训练深度学习网络模型(可以称为DGA域名检测模型),并利用训练好的网络模型对物联网设备的流量数据中包括的物联网设备发起的DNS数据中的已经进行DGA域名判定,以确定该DNS数据中包括的域名是否为DGA域名。
若该DNS数据中包括的域名为DGA域名,则确定物联网设备处于僵尸网络生命周期的控制阶段,并为物联网设备设置控制标签。
示例性的,该控制标签附带的数据可以包括但不限于被攻击IP地址、标记时间、域名、域名对应的IP地址等数据中的部分或全部。
示例性的,该标记时间指为物联网设备设置控制标签时的时间(也可以称为控制时间)。
若该DNS数据中包括的域名不是DGA域名,且物联网设备作为发起方设备与外部设备建立网络连接,并进行文件传输,则确定物联网设备处于僵尸网络生命周期的投递阶段,并为物联网设备设置投递标签。
示例性的,该投递标签附带的数据可以包括但不限于攻击IP地址、被攻击IP地址、标记时间、域名、域名对应的IP地址等数据中的部分或全部。
示例性的,该标记时间指为物联网设备设置投递标签时的时间(也可以称为投递时间)。
示例性的,与传统方案中通过黑白名单匹配进行攻击检测的实现方式相比,通过利用深度学习算法进行DGA域名检测的方式实现僵尸网络生命周期的控制阶段的判定,可以减少空间资源消耗,并能够实现未知威胁的检测。
示例性的,考虑到物联网设备处于僵尸网络生命周期的投递阶段时,在DNS解析成功后会主动与外部IP(外部设备的IP地址)建立网络连接,并存在文件传输行为,而这些行为在物联网设备正常状态下也是通常不会存在的,因此,还可以依据物联网设备是否主动与外部IP建立网络连接(即物联网设备的IP地址为源IP地址,外部IP为目的IP地址),以及是否存在文件传输行为,确定物联网设备是否处于僵尸网络生命周期的投递阶段,提高威胁性监测的检出率。
在一些实施例中,步骤S110中,依据物联网设备的流量数据对物联网设备进行威胁性监测,可以包括:
当物联网设备在第二预设时间阈值内发送的特定类型的数据包的数量超过预设数量阈值时,确定物联网设备处于僵尸网络生命周期的攻击阶段,并为物联网设备设置攻击标签。
示例性的,攻击标签附带的数据可以包括但不限于攻击IP地址、被攻击IP地址、标记时间、攻击方式等数据中的部分或全部。
示例性的,考虑到当物联网设备处于僵尸网络生命周期的攻击阶段时,物联网设备会根据接收到的C&C服务器的指令实施网络攻击,如DDoS、挖矿等,在该情况下,物联网设备会在短时间内发送大量特定类型的数据包,而正常情况下,物联网设备的数据流量并不会存在大量特定类型的数据包。
因而,可以依据物联网设备在一定时间内发送的特定类型的数据包的数量来确定物联网设备是否处于僵尸网络生命周期到达攻击阶段。
相应地,当获取到物联网设备的流量数据时,可以确定物联网设备在预设时间阈值(本文中称为第二预设时间阈值,其取值可以根据需求设置,如1分钟)内发送的特定类型的数据包的数量是否超过预设数量阈值(可以根据实际需求设置,如1000个)。
当物联网设备在第二预设时间内发送的特定类型的数据包的数量超过预设数量阈值时,可以确定物联网设备处于僵尸网络生命周期的攻击阶段,并为物联网设备设置攻击标签。
示例性的,攻击标签附带的标记时间指为物联网设备设置攻击标签时的时间(也可以称为攻击时间)。
需要说明的是,确定物联网设备是否处于僵尸网络生命周期的不同阶段的实现可以并行进行,例如,当获取到物联网设备的流量数据时,可以按照上述实施例中描述的方式并行确定物联网设备是否处于僵尸网络生命周期的入侵阶段、投递阶段、传播阶段、控制或攻击阶段。
在一些实施例中,上述物联网设备的安全状态还可以包括未知异常;
步骤S110中,依据物联网设备的流量数据对物联网设备进行威胁性监测之后,还可以包括:
当确定物联网设备未处于僵尸网络生命周期的任一阶段时,对于获取到的物联网设备的流量数据中的任一数据流,利用机器学习方法确定该数据流的特征向量;
分别确定该数据流的特征向量与各类别的数据的中心点向量的距离,并分别比较各距离与对应类别的数据的距离阈值;其中,各类别的数据的中心点依据物联网设备在第三预设时间阈值内的正常运行状态下的数据,利用机器学习方法确定;
若该数据流的特征向量与各类别的数据的中心点向量的距离均大于对应类别的距离阈值,则确定物联网设备的安全状态为未知异常;
否则,确定物联网设备的安全状态为安全。
示例性的,为了提高物联网设备异常状态的检出率,当确定物联网设备未处于僵尸网络生命周期的任一阶段时,还可以利用机器学习方法确定物联网设备是否存在未知异常。
示例性的,物联网设备的异常状态可以包括处于僵尸网络生命周期的任一阶段或存在未知异常。
相应地,可以依据物联网设备在预设时间阈值(本文称为第三预设时间阈值,其取值可以根据实际需求设置,如1天)内的正常运行状态下的数据,利用机器学习方法,确定物联网设备正常运行状态下各类别的数据的中心点和各类别的数据的距离阈值,其具体实现可以在下文中具体说明。
当确定物联网设备未处于僵尸网络生命周期的任一阶段时,对于步骤S100中获取到的物联网设备的流量数据中的任一数据流,可以利用机器学习方法确定该数据流的特征向量。
当确定了该数据流的特征向量时,可以分别确定该数据流的特征向量与各类别的数据的中心点向量的距离,并比较各距离与对应类别的数据的距离阈值。
示例性的,该数据流的特征向量与类别A的数据的中心点向量的距离,与类别A的数据的距离阈值进行比较;该数据流的特征向量与类别B的数据的中心点向量的距离,与类别B的数据的距离阈值进行比较。
若该数据的特征向量与各类别的数据的中心点向量的距离均大于对应类别的距离阈值,则可以确定物联网设备的安全状态为未知异常;
否则,即该数据流的特征向量与存在至少一个类别的数据的中心点向量的距离小于等于该类别的距离阈值,则确定物联网设备的安全状态为安全。
示例性的,当按照上述确定物联网设备处于僵尸网络生命周期的任一阶段或存在未知异常时,还可以生成告警数据,并将告警数据发送给指定终端,例如,通过邮件或短信形式将告警行驶发送给相关人员的终端设备。
其中,告警数据可以包括但不限于攻击IP地址、被攻击IP地址、告警时间(生成告警数据时的时间)、标签信息(即上述入侵标签、投递标签、传播标签、控制标签或攻击标签)等数据中的部分或全部。
在一个示例中,当实时测试数据量(获取到的各物联网设备的数据总量)与上述深度学习的训练数据的比例超过预设比例阈值(可以称为第一比例阈值,具体取值可以根据实际需求设定,如10%)时,可以对预先训练的深度学习网络模型进行更新。
在一个示例中,当实时测试数据量与上述机器学习的训练数据的比例超过预设比例阈值(可以称为第二比例阈值,具体取值可以根据实际需求设定,如10%)时,可以对各类别数据的中心点向量以及各类别数据的距离阈值进行更新。
在一些实施例中,步骤S120中,确定与该阶段匹配的目标防御策略,包括:
当该阶段为入侵阶段时,确定与该阶段匹配的目标防御策略为联动防火墙阻断攻击IP地址的流量数据。
示例性的,当确定物联网设备处于僵尸网络生命周期的入侵阶段时,可以联动防火墙阻断攻击IP地址的流量数据,以降低物联网设备的安全风险,提高物联网设备的安全性。
在一些实施例中,步骤S120中,确定与该阶段匹配的目标防御策略,包括:
当该阶段为投递阶段时,确定与该阶段匹配的目标防御策略为联动管理平台对该物联网设备进行恶意程序检测和删除,并重启该物联网设备;
示例性的,考虑到僵尸网络生命的投递阶段,被感染的物联网设备会下载恶意脚本或文件并执行,为了降低恶意脚本或文件对物联网设备的危害,当确定物联网设备处于僵尸网络生命周期的投递阶段时,可以联动管理平台对该物联网设备进行恶意程序检测,并在检测到恶意程序时,对恶意程序进行删除,并重启该物联网设备。
在一些实施例中,步骤S120中,确定与该阶段匹配的目标防御策略,包括:
当该阶段为控制阶段时,确定与该阶段匹配的目标防御策略为联动管理平台对该物联网设备进行恢复初始化,删除该物联网设备的所有数据并重新安装操作系统及相应软件。
示例性的,考虑到僵尸网络生命的控制阶段,被感染的物联网设备会连接C&C服务器,并接收指令,为了断开被感染的物联网设备与C&C服务器之间的连接,并避免被感染的物联网设备依据接收到的指令进行攻击,当确定物联网设备处于僵尸网络生命周期的控制阶段时,可以联动管理平台对该物联网设备进行恢复初始化,删除该物联网设备的所有数据并重新安装操作系统及相应软件。
示例性的,当确定物联网设备处于僵尸网络生命周期的攻击阶段时,还可以记录下设备发起的域名请求,并筛选出DGA域名,用于后续更新RCNN模型。
在一些实施例中,步骤S120中,确定与该阶段匹配的目标防御策略,包括:
当该阶段为传播阶段时,确定与该阶段匹配的目标防御策略为联动管理平台对该物联网设备进行恢复初始化,删除该物联网设备的所有数据并重新安装操作系统及相应软件;
示例性的,考虑到僵尸网络生命的传播阶段,被感染的物联网设备会下载恶意脚本或文件,并对网络中其他设备发起攻击,为了避免被感染的物联网设备对其他设备的攻击,当确定物联网设备处于僵尸网络生命周期的传播阶段时,可以联动管理平台对该物联网设备进行恢复初始化,删除该物联网设备的所有数据并重新安装操作系统及相应软件。
示例性的,当确定物联网设备处于僵尸网络生命周期的传播阶段时,还可以记录下传播过程中捕捉到的文件,记录文件的:文件名、文件大小、文件哈希值等信息,补充到IOC信息中。
在一些实施例中,步骤S120中,确定与该阶段匹配的目标防御策略,包括:
当该阶段为攻击阶段时,确定与该阶段匹配的目标防御策略为联动防火墙阻断该物联网设备的所有外发流量数据;联动管理平台对该物联网设备进行恢复初始化,删除该物联网设备的所有数据并重新安装操作系统及相应软件。
示例性的,考虑到僵尸网络生命的攻击阶段,攻击者会通过C&C服务器下发攻击指令,利用僵尸网络实施攻击,为了降低被感染物联网设备的安全风险,提高物理网设备的安全性,当确定物联网设备处于僵尸网络生命周期的攻击阶段时,一方面,可以联动防火墙阻断该物联网设备的所有外发流量数据;另一方面,可以联动管理平台对该物联网设备进行恢复初始化,删除该物联网设备的所有数据并重新安装操作系统及相应软件。
示例性的,在联动管理平台对该物联网设备进行恢复初始化,删除该物联网设备的所有数据并重新安装操作系统及相应软件之后,可以解除防火墙对该物联网设备的阻断策略。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。
请参见图2,为本申请实施例提供的一种多层次全周期物联网设备僵尸网络防御系统的架构示意图,如图2所示,该多层次全周期物联网设备僵尸网络防御系统中可以包括数据监测模块、威胁监测模块、威胁阻断模块、威胁告警模块以及方法自更新模块。其中:
数据监测模块,用于获取当前网络中物联网设备的基础信息和网络中所有的流量数据,为后续模块提供数据支持;
威胁监测模块,用于根据流量数据判断每个物联网设备的安全状态,该安全状态可以包括处于僵尸网络生命周期的某一阶段(入侵阶段、投递阶段、控制阶段、传播阶段或攻击阶段)、未知异常或安全;
威胁阻断模块,用于根据威胁监测模块的监测结果实施不同层次的阻断方式,包括外部流量阻断、设备重启和设备初始化;
威胁告警模块,用于向相关人员发送进行告警数据,并输出威胁情报,相关人员也可以对流量数据进行查阅;
方法自更新模块,用于实时性和半周期性更新威胁监测方法。
下面对各模块的功能进行详细说明。
一、数据监测模块
该实施例中以旁路部署的方式实时监测物联网设备的安全性,每捕捉到一个数据包则通过威胁监测模块进行威胁监测处理。
1.1、设备基础信息探测
物联网设备基础信息主动探测,通过广播和单播方式向网络中的物联设备发送数据包,并根据返回的数据提取设备的基础信息,该基础信息可以包括但不限于:IP地址、MAC地址、设备厂商、设备型号、设备开放端口。
1.2、流量旁路监听
物联网设备流量监听与存储,首先是通过旁路流量监听的方式获取网络中物联网设备产生的流量数据。其中,流量方向包括进出两个方向。然后,存储监听到的流量数据;其中,可以以数据包和数据流的方式分别进行存储。
1.2.1、数据包存储字段可以包括但不限于:数据包唯一ID、源IP、源端口、目的IP、目的端口、协议类型、时间、数据包大小、payload(负载)、域名信息(若存在);
1.2.2、数据流存储字段可以包括但不限于:源IP、源端口、目的IP、目的端口、协议类型、持续时间、数据包ID列表。
二、威胁监测模块
根据僵尸网络生命周期中每个阶段的特点,判断物联网设备的状态。
在该实施例中,对于获取到的物联网设备的流量数据,可以先进行IOC威胁情报匹配的方式对其进行威胁性初步筛选。
示例性的,IOC威胁情报可以包括但不限于IP地址黑白名单、文件名和哈希值黑白名单、域名黑白名单等。
通过IOC威胁情报匹配可以快速地确定流量数据是否存在威胁,但是其需要耗费存储空间进行黑白名单存储,且无法检测未知威胁,适用于大规模数据初筛。
对于数据监测模块获取到的流量数据,当通过IOC匹配的方式确定存在威胁时,可以进一步确定物联网设备处于僵尸网络生命周期的哪一个阶段。
2.1、IOC匹配结果为存在威胁(即恶意)则标签为“IOC Threat”,其附带的数据字段可以包括:攻击IP地址、被攻击IP地址、时间、IOC信息;转至2.2;
2.2、并行确定物联网设备处于僵尸网络生命周期的具体阶段:“入侵阶段”、“投递阶段”、“控制阶段”、“传播阶段”或“攻击阶段”;
2.3、若IOC匹配结果为不存在威胁,则依据流量特征确定“安全”或“未知异常”。
下面对确定物联网设备处于僵尸网络生命周期的具体阶段的实现进行说明。
2.2.1、入侵阶段
物联网设备可以被两种类型的攻击者设备入侵:内部攻击和外部攻击,区别在于攻击者设备所处的网络位置。
其中,入侵标签附带的数据字段可以包括:攻击IP地址、被攻击IP地址、入侵时间、Time_Therehold1(即上述第一预设时间阈值)时间内SSH次数。
考虑到对于物联网设备,僵尸网络病毒的入侵方法主要是SSH爆破,即对被攻击设备发送大量SSH尝试登录请求,而在正常状态下,物联网设备建立SSH连接主要是为了测试和安全检查,通常建立SSH连接的次数会较少,因此,可以依据预设时间内物联网设备建立SSH连接的次数确定物联网设备是否处于僵尸网络生命周期的入侵阶段。
示例性的,当物联网设备在Time_Therehold1(假设为1分钟)时间内建立的SSH次数超过Num_Therehold(即预设次数阈值,假设为10)次,则判断物联网设备处于僵尸网络生命周期的入侵阶段。
2.2.1.1、内部攻击
若被攻击IP地址和攻击IP地址处于同一网段,即物联网设备受到同网段内设备攻击,此时表明攻击者设备已经处于僵尸网络生命周期的传播阶段,对攻击者设备设置传播标签。
2.2.1.2、外部攻击
若被攻击IP地址和攻击IP地址处于不同网段,即物联网设备受到其他网段的设备攻击时,确定攻击者设备处于僵尸网络生命周期的入侵阶段。
2.2.2、投递阶段
物联网设备被入侵成功后,会主动与脚本服务器进行通信,并下载恶意可执行文件。投递标签附带的数据字段可以包括:攻击IP地址、被攻击IP地址、投递时间、域名、域名对应的IP地址、文件。
考虑到当物联网设备被僵尸网络入侵成功后,在处于僵尸网络生命周期的投递阶段的情况下,通常会主动与脚本服务器进行通信,并下载恶意可执行文件;而正常情况下,物联网设备通常仅会与管理平台建立网络连接,并且一般为被动建立连接,而不会主动向外建立网络连接。
当出现下列动作时,确定物联网设备处于僵尸网络生命周期的投递阶段:
2.2.2.1、物联网设备主动发起DNS数据解析;
2.2.2.2、DNS解析成功后,物联网设备作为源IP与外部IP建立了网络连接,并且存在文件传输行为。
2.2.3、控制阶段
考虑到物联网设备处于僵尸网络生命周期的控制阶段时,物联网设备需要连接C&C服务器获取指令,攻击者为了保护C&C服务器的IP地址,会在投递阶段生成一系列域名地址(可以称为DGA(Domain Generation Algorithm,域名生成算法)域名),这一系列域名中有一个会被正确解析。
控制标签附带的字段数据可以包括:被攻击IP地址、控制时间、域名、域名对应的IP地址。
示例性的,可以通过RCNN(Recurrent Convolutional Neural Networks,循环卷积神经网络)的DGA域名检测,确定物联网设备是否处于僵尸网络生命周期的控制阶段。
2.2.3.1、训练阶段:
利用循环神经网络和卷积神经网络构建DGA域名检测模型,利用收集的正常域名和DGA域名数据集训练该模型。
2.2.3.2、测试阶段:
利用训练好的DGA域名检测模型,对流量数据中包括的DNS数据中包括的域名进行DGA域名判断。若判断为DGA域名,则确定物联网设备处于僵尸网络生命周期的控制阶段;否则,确定物联网设备处于僵尸网络生命周期的投递阶段。
2.2.4、传播阶段
当物联网设备处于僵尸网络生命周期的传播阶段时,被感染的物联网设备会对网络中其他设备发起攻击,如:进行SSH爆破,传播文件等。
传播标签附带的数据字段可以包括:攻击IP地址、被攻击IP地址、传播时间、文件(若存在)。
示例性的,传播阶段的判定方式可以参见2.2.1中的相关描述。
2.2.5、攻击阶段
考虑到当物联网设备处于僵尸网络生命周期的攻击阶段时,物联网设备会根据接收到的C&C服务器的指令实施网络攻击,如DDoS、挖矿等,在该情况下,物联网设备会在短时间内发送大量特定类型的数据包,而正常情况下,物联网设备的数据流量并不会存在大量特定类型的数据包。
攻击标签附带的数据字段可以包括:攻击IP地址、被攻击IP地址、攻击时间、攻击方式。
示例性的,可以监控物联网设备的流量数据中特定类型的数据包的数量,当Time_Therehold2(即上述第二预设时间阈值,假设为1分钟)内特定类型数据包的数量超过Num_Therehold(即上述预设数量阈值,假设为1000)个时,确定物联网设备处于僵尸网络生命周期的攻击阶段。
上述特定类型的数据包包括但不限于:UDP(User Datagram Protocol,用户数据报协议)数据包、SYN(Synchronize Sequence Numbers,同步序列编号)数据包、ACK(确认)数据包或HTTP(Hypertext Transfer Protocol,超文本传输协议)数据包。
下面对依据流量特征确定“安全”或“未知异常”进行说明。
若通过IOC匹配的方式确定不存在威胁,上述5种阶段检测结果均不满足(即物联网设备未处于僵尸网络生命周期的任一阶段),则使用基于流量特征的异常流量发现方法。
示例性的,可以利用机器学习方法,提取流量特征,进而进行异常流量判定。
其中,利用机器学习方法实现异常流量发现可以准确地检测出异常情况,并不需要进行黑白名单的存储,但是其需要预先进行相关训练,检测效率相对较低。
“未知异常”标签附带的数据字段可以包括:攻击IP地址、被攻击IP地址、标记时间、域名(若存在)、域名对应的IP地址(若存在)、文件(若存在)。
示例性的,该标记时间指为物联网设备设置“未知异常”标签时的时间(可以称为未知异常时间)。
2.5.1、训练阶段
对于每个物联网设备捕捉一段时间内Time_Therehold3(即上述第三预设时间阈值,假设为1天)正常运行时的数据流,对于每个数据流提取下列特征:
数据包数量、数据流持续时间、第一个数据包大小、空payload的数据包数量、数据包大小的最大值&最小值&均值&中位数&标准差、payload的最大值&最小值&均值&中位数&标准差、小数据包(数据包大小小于64)的数据包数量、小数据包占比、数据包平均到达时间、平均每秒到达时间、进数据包数量&字节数、出数据包数量&字节数。
基于上述特征,构建每个物联网设备在Time_Therehold3时间内的特征向量(每个设备都包含至少1条数据流特征向量),对于每个物联网设备的数据流特征向量,进行K-Means聚类,类别数N使用肘方法计算得到,记录每个类别中心点向量(即上述中心点)、每个类中距离中心点的最大值(即上述距离阈值):[(Class1,Class1_length),(Class2,Class2_length),…(ClassN,ClassN_length)]。
2.5.2、测试阶段
对于数据监测模块监测到的每个物联网设备的数据流,提取训练阶段的特征,构建特征向量,再计算特征向量与训练结果中各中心点的距离Length,如果对于任意类别X,Length都大于ClassX_length,则该数据流被标记为“未知异常”,否则被标记为“安全”。
三、威胁阻断模块
根据威胁监测模块设置的标签数据,对物联网设备进行威胁阻断。
3.1、阻断对象:攻击IP地址、域名对应IP地址;
3.2、阻断方式:针对不同标签的威胁(即僵尸网络生命周期的不同阶段),可以进行不同的威胁处理方式:
(1)入侵阶段:联动防火墙阻断攻击IP地址的流量数据;
(2)投递阶段:联动管理平台对被感染的物联网设备进行恶意程序检测和删除,并重启该物联网设备;
(3)控制阶段:联动管理平台对设备进行恢复初始化,删除被感染的物联网设备所有数据并重新在操作系统及相应软件;同时记录下该物联网设备发起的域名请求,记录所有DGA域名用于后续更新RCNN模型;
(4)传播阶段:联动管理平台对被感染的物联网设备进行恢复初始化,删除该物联网设备所有数据并重新安装操作系统及相应软件;同时记录下传播过程中捕捉到的文件,记录文件的:文件名、文件大小、文件哈希值等信息,补充到IOC信息中;
(5)攻击:联动防火墙阻断被感染的物联网设备所有外发流量数据;联动管理平台对该物联网设备进行恢复初始化,删除该物联网设备所有数据并重新安装操作系统及相应软件;解除防火墙对该物联网设备的阻断策略。
四、威胁告警模块
根据前述数据构建IOC威胁情报和告警数据:
4.1、IOC威胁情报:攻击IP地址、域名对应的IP地址、DGA域名、文件名、文件hash值;
4.2、告警数据:以邮件或短信形式通知相关人员,告警数据可以包括:攻击IP地址、被攻击IP地址、时间信息、设备当前的标签。
五、方法自更新模块
更新威胁监测更新:
5.1、实时性更新:威胁告警模块输出的IOC威胁情报实时补充到威胁监测模块使用的IOC威胁情报中;
5.2、半周期性更新:当实时测试数据超过训练数据Percentage_Therehold(即上述第一比例阈值或第二比例阈值,假设均为10%)时,自动更新DGA域名检测模型和各类别数据的中心点向量以及各类别数据的距离阈值。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
请参见图3,为本申请实施例提供的一种多层次全周期物联网设备僵尸网络防御装置的结构示意图,如图3所示,该多层次全周期物联网设备僵尸网络防御装置可以包括:
获取单元310,用于获取物联网设备的流量数据;
监测单元320,用于依据所述物联网设备的流量数据对所述物联网设备进行威胁性监测,以确定所述物联网设备的安全状态;所述安全状态包括安全或处于僵尸网络生命周期的其中一个阶段;
确定单元330,用于当确定所述物联网设备的安全状态为处于僵尸网络生命周期的其中一个阶段时,确定与该阶段匹配的目标防御策略;
处理单元340,用于依据所述目标防御策略对所述物联网设备进行威胁阻断处理。
在一些实施例中,所述监测单元320依据所述物联网设备的流量数据对所述物联网设备进行威胁性监测,包括:
当所述物联网设备在第一预设时间阈值内建立安全外壳协议SSH连接的次数超过预设次数阈值时,确定所述物联网设备处于僵尸网络生命周期的入侵阶段,并为所述物联网设备设置入侵标签;
其中,所述入侵标签附带的数据包括攻击IP地址、被攻击IP地址、标记时间、以及所述物联网设备在所述第一预设时间阈值内建立SSH的次数;所述攻击IP地址为攻击者设备的IP地址,所述被攻击IP地址为所述物联网设备的IP地址。
在一些实施例中,所述监测单元320,还用于当所述入侵标签中包括的攻击IP地址与所述入侵标签中包括的被攻击IP地址处于同一网段时,确定攻击者设备处于僵尸网络生命周期的传播阶段,并为所述攻击者设备设置传播标签,为所述被攻击者设备设置为入侵标签;其中,所述传播标签附带的数据包括攻击IP地址、被攻击IP地址、标记时间;
当所述入侵标签中包括的攻击IP地址与所述入侵标签中包括的被攻击IP地址处于不同网段时,确定攻击者设备处于僵尸网络生命周期的入侵阶段。
在一些实施例中,所述监测单元320依据所述物联网设备的流量数据对所述物联网设备进行威胁性监测,包括:
当所述物联网设备的流量数据中包括所述物联网设备发起的DNS数据时,利用预先训练的深度学习网络模型对所述DNS数据中包括的域名进行判定,以确定所述DNS数据中包括的域名是否为域名生成算法DGA域名;
若所述DNS数据中包括的域名为DGA域名,则确定所述物联网设备处于僵尸网络生命周期的控制阶段,并为所述物联网设备设置控制标签,所述控制标签附带的数据包括被攻击IP地址、标记时间、域名、域名对应的IP地址;
若所述DNS数据中包括的域名不是DGA域名,且所述物联网设备作为发起方设备与外部设备建立网络连接,并进行文件传输,则确定所述物联网设备处于僵尸网络生命周期的投递阶段,并为所述物联网设备设置投递标签,所述投递标签附带的数据包括攻击IP地址、被攻击IP地址、标记时间、域名、域名对应的IP地址。
在一些实施例中,所述监测单元320依据所述物联网设备的流量数据对所述物联网设备进行威胁性监测,包括:
当所述物联网设备在第二预设时间阈值内发送的特定类型的数据包的数量超过预设数量阈值时,确定所述物联网设备处于僵尸网络生命周期的攻击阶段,并为所述物联网设备设置攻击标签,所述攻击标签附带的数据包括攻击IP地址、被攻击IP地址、标记时间、攻击方式。
在一些实施例中,所述安全状态还包括未知异常;
所述监测单元320依据所述物联网设备的流量数据对所述物联网设备进行威胁性监测之后,还包括:
当确定所述物联网设备未处于僵尸网络生命周期的任一阶段时,对于所述物联网设备的流量数据中的任一数据流,利用机器学习方法该数据流的特征向量;
分别确定该数据流的特征向量与各类别的数据的中心点向量的距离,并分别比较各距离与对应类别的数据的距离阈值;其中,各类别的数据的中心点向量和距离阈值依据所述物联网设备在第三预设时间阈值内的正常运行状态下的数据,利用机器学习方法确定;
若该数据流的特征向量与各类别的数据的中心点向量的距离均大于对应类别的数据的距离阈值,则确定所述物联网设备的安全状态为未知异常;
否则,确定所述物联网设备的安全状态为安全。
在一些实施例中,所述确定单元330确定与该阶段匹配的目标防御策略,包括:
当该阶段为入侵阶段时,确定与该阶段匹配的目标防御策略为联动防火墙阻断攻击IP地址的流量数据;
和/或,
当该阶段为投递阶段时,确定与该阶段匹配的目标防御策略为联动管理平台对所述物联网设备进行恶意程序检测和删除,并重启所述物联网设备;
和/或,
当该阶段为控制阶段时,确定与该阶段匹配的目标防御策略为联动管理平台对所述物联网设备进行恢复初始化,删除所述物联网设备的所有数据并重新安装操作系统及相应软件;
和/或,
当该阶段为传播阶段时,确定与该阶段匹配的目标防御策略为联动管理平台对所述物联网设备进行恢复初始化,删除所述物联网设备的所有数据并重新安装操作系统及相应软件;
和/或,
当该阶段为攻击阶段时,确定与该阶段匹配的目标防御策略为联动防火墙阻断所述物联网设备的所有外发流量数据;联动管理平台对所述物联网设备进行恢复初始化,删除所述物联网设备的所有数据并重新安装操作系统及相应软件。
请参见图4,为本申请实施例提供的一种电子设备的硬件结构示意图。该电子设备可包括处理器401、存储有机器可执行指令的机器可读存储介质402。处理器401与机器可读存储介质402可经由系统总线403通信。并且,通过读取并执行机器可读存储介质402中与多层次全周期物联网设备僵尸网络防御控制逻辑对应的机器可执行指令,处理器401可执行上文描述的多层次全周期物联网设备僵尸网络防御方法。
本文中提到的机器可读存储介质402可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
在一些实施例中,还提供了一种机器可读存储介质,该机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上文描述的多层次全周期物联网设备僵尸网络防御方法。例如,所述机器可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
- 多层次全周期物联网设备僵尸网络防御方法、装置及设备
- 多层次全周期物联网设备僵尸网络防御方法、装置及设备