一种安全防护方法、装置和存储介质与流程

文档序号:31052463发布日期:2022-08-06 08:13阅读:53来源:国知局
一种安全防护方法、装置和存储介质与流程

1.本公开涉及网络空间安全领域,尤其涉及一种安全防护方法、装置和存储介质。


背景技术:

2.云计算正在持续改变组织机构使用、存储和共享数据、应用程序和工作负载的方式。这也带来了一系列新的安全威胁和挑战。随着大量数据进入云计算——特别是云服务,这些资源自然就成为了攻击者的目标。
3.基于云的各种应用资源易受网络安全威胁的影响,包括数据泄露、勒索软件、分布式拒绝服务攻击和网络钓鱼攻击。网络攻击者可以使用被盗的凭据或受到威胁的应用程序,利用安全漏洞来发起攻击,破坏服务或窃取敏感数据。强大的安全系统和实践对于维护关键业务应用程序的可用性、保护机密信息并确保合规性至关重要。
4.基于实际的攻防场景,假设存在强大的攻击者是合理的,这种情况下,对攻击者所使用的攻击技术/方法是未知的,的高价值资产系统中存在的漏洞也是未知的,这是防御方当前面临的最大困境之一,该困境可以被称为“未知网络攻击”。尽管当前拟态防御方案针对这类攻击问题给出了解决方案,但是该实现方案中存在一些关键性的技术挑战,这些挑战的存在使得对“未知的未知”攻击的防御方案在落地应用上具有局限性。其中,拟态防御是根据拟态章鱼仿生学原理构思出的一套可防御未知漏洞威胁的内生安全防御体系架构,其利用相对正确公理假设多个异构执行体不太可能同时被相同的漏洞所利用,执行体的异构性越大,则突破异构防御的可能性越小,但构造复杂的异构执行体需要较高的技术成本;且随着攻击技术的对抗升级,未来利用相同的未知漏洞来攻击多个异构执行体将是可能的,从而相对正确性公理将有可能随着攻击能力的提高而向攻击者倾斜;此外,存在一些场景,攻击者本不可以攻击成功,却因为拟态防御下对系统的动态切换为黑客带来了可能的攻击入口,增加了攻击成功的机会;攻击者只需要等待一轮的动态切换,就可以再次实施攻击。


技术实现要素:

5.有鉴于此,本公开提出了一种安全防护方法、装置和存储介质,可以对待保护的特定服务实现安全防护,对已知或未知的安全风险实现有效防范。
6.根据本公开的一方面,提供了一种安全防护方法,包括:
7.接收特定服务的目标请求;
8.将所述目标请求广播至多个节点;其中,所述多个节点为用于执行所述特定服务的预设节点;
9.根据所述多个节点响应于所述目标请求执行所述特定服务的过程中,实体对象的状态变化,进行安全判定;其中,所述实体对象包括进程、权限或指令中的一项或多项。
10.在一种可能的实现方式中,所述根据所述多个节点响应于所述目标请求执行所述特定服务的过程中,实体对象的状态变化,进行安全判定,包括:
11.根据所述多个节点响应于所述目标请求,执行所述特定服务过程中实体对象的状态变化,构建所述多个节点的实体状态变换图;其中,不同节点的实体状态变换图所对应的实体对象不同;
12.通过判断所述多个节点实体状态变换图之间是否存在同构关系,得到所述安全判定的结果。
13.在一种可能的实现方式中,所述多个节点包括第一节点;
14.所述通过判断所述多个节点对应的实体状态变换图之间是否存在同构关系,得到所述安全判定的结果,包括:
15.根据所述第一节点的实体状态变换图、所述第二节点的实体状态变换图及预设映射关系,判断所述第一节点的实体状态变换图与所述第二节点的实体状态变换图之间是否存在同构关系;其中,所述第二节点为所述多个节点中除所述第一节点外的任一节点;所述预设映射关系表示所述第一节点及第二节点响应于正常业务请求,执行所述特定服务所得到的实体状态变换图之间的映射关系;
16.在所述第一节点的实体状态变换图与所述第二节点的实体状态变换图之间存在同构关系的情况下,所述安全判定的结果为安全;否则,所述安全判定的结果为不安全;
17.其中,所述多个节点响应于正常业务请求执行所述特定服务时,所对应的实体状态变换图存在同构关系;所述多个节点响应于非正常业务请求执行所述特定服务时,所对应的实体状态变换图不存在同构关系。
18.在一种可能的实现方式中,所述安全防护方法还包括:
19.在所述安全判定的结果为安全的情况下,发送所述第一节点响应于所述目标请求,执行所述特定服务的结果。
20.在一种可能的实现方式中,所述根据所述多个节点响应于所述目标请求,执行所述特定服务过程中实体对象的状态变化,构建所述多个节点的实体状态变换图,包括:
21.根据所述多个节点响应于所述目标请求执行所述特定服务过程中,实体对象在特定时间、特定操作或特定指令下对应的状态,构建所述多个节点的实体状态变换图。
22.在一种可能的实现方式中,所述不同节点的实体状态变换图中所包含的图节点的数量相同。
23.在一种可能的实现方式中,所述多个节点至少包括三个节点;所述多个节点为云端的节点。
24.根据本公开的另一方面,提供了一种安全防护装置,包括:
25.接收模块,用于接收特定服务的目标请求;
26.广播模块,用于将所述目标请求广播至多个节点;其中,所述多个节点为用于执行所述特定服务的预设节点;
27.安全判定模块,用于根据所述多个节点响应于所述目标请求执行所述特定服务的过程中,实体对象的状态变化,进行安全判定;其中,所述实体对象包括进程、权限或指令中的一项或多项。
28.在一种可能的实现方式中,所述安全判定模块,还用于:根据所述多个节点响应于所述目标请求,执行所述特定服务过程中实体对象的状态变化,构建所述多个节点的实体状态变换图;其中,不同节点的实体状态变换图所对应的实体对象不同;
29.通过判断所述多个节点实体状态变换图之间是否存在同构关系,得到所述安全判定的结果。
30.在一种可能的实现方式中,所述多个节点包括第一节点;
31.所述通过判断所述多个节点对应的实体状态变换图之间是否存在同构关系,得到所述安全判定的结果,包括:
32.根据所述第一节点的实体状态变换图、所述第二节点的实体状态变换图及预设映射关系,判断所述第一节点的实体状态变换图与所述第二节点的实体状态变换图之间是否存在同构关系;其中,所述第二节点为所述多个节点中除所述第一节点外的任一节点;所述预设映射关系表示所述第一节点及第二节点响应于正常业务请求,执行所述特定服务所得到的实体状态变换图之间的映射关系;
33.在所述第一节点的实体状态变换图与所述第二节点的实体状态变换图之间存在同构关系的情况下,所述安全判定的结果为安全;否则,所述安全判定的结果为不安全;
34.其中,所述多个节点响应于正常业务请求执行所述特定服务时,所对应的实体状态变换图存在同构关系;所述多个节点响应于非正常业务请求执行所述特定服务时,所对应的实体状态变换图不存在同构关系。
35.在一种可能的实现方式中,所述安全防护装置还包括:
36.发送模块,用于在所述安全判定的结果为安全的情况下,发送所述第一节点响应于所述目标请求,执行所述特定服务的结果。
37.在一种可能的实现方式中,所述根据所述多个节点响应于所述目标请求,执行所述特定服务过程中实体对象的状态变化,构建所述多个节点的实体状态变换图,包括:
38.根据所述多个节点响应于所述目标请求执行所述特定服务过程中,实体对象在特定时间、特定操作或特定指令下对应的状态,构建所述多个节点的实体状态变换图。
39.在一种可能的实现方式中,所述不同节点的实体状态变换图中所包含的图节点的数量相同。
40.在一种可能的实现方式中,所述多个节点至少包括三个节点;所述多个节点为云端的节点。
41.根据本公开的另一方面,提供了一种安全防护装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
42.根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
43.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
44.本公开实施例中通过接收特定服务的目标请求;将所述目标请求广播至多个节点;其中,所述多个节点为用于执行所述特定服务的预设节点;根据所述多个节点响应于所述目标请求执行所述特定服务的过程中,实体对象的状态变化,进行安全判定;从而可以对待保护的特定服务实现安全防护,对已知或未知的安全风险实现有效防范。作为一个示例,基于正常业务间可达的同构关系以及异常业务不可达的同构关系,即在目标请求为合法访
问者发起的正常业务请求时,基于多个节点响应于正常业务请求执行特定服务的过程中实体对象的状态变化,可以确定同构关系;而在目标请求为攻击者发起的非正常业务请求时,基于多个节点响应于非正常业务请求执行所述特定服务的过程中实体对象的状态变化,不能够确定同构关系;从而基于相同操作下不同实体对象的同构关系,区分正常业务请求及非正常业务请求,实现同构安全判定,有效防御“未知网络攻击”,并对攻击者进行“威慑”。作为另一个示例,多个节点可以为云端的节点,从而可以利用云上存在大量节点资源的优势,实现对“未知的未知”攻击的安全防护;此外,对于执行特定服务的节点不作特殊要求,从而可有效利用云端海量节点资源,相对于拟态防御等方式,可极大降低节点的构建成本和未知防御系统的实现难度。
45.根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
46.包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
47.图1示出根据本公开一实施例的一种待保护系统的结构示意图。
48.图2示出根据本公开一实施例的安全防护方法的流程图。
49.图3示出根据本公开一实施例的进行安全判定的流程图。
50.图4示出根据本公开一实施例的安全防护方法示意图。
51.图5示出根据本公开一实施例的安全防护装置的结构图。
52.图6示出根据本公开一示例性实施例的安全防护装置的框图。
具体实施方式
53.以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
54.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
55.另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
56.图1示出根据本公开一实施例的一种待保护系统的结构示意图。如图1所示,该待保护系统可以包括:同构安全链及同构安全链网关,其中,同构安全链可以包括多个节点(如图1中节点a、b、c);需要说明的是,图1所示的同构安全链仅为示例,本公开实施例对同构安全链中节点数量等不作限制。
57.示例性地,多个节点可以包括第一节点(也可以称为主节点)及第二节点(也可以称为辅节点);其中,所述第二节点为所述多个节点中除所述第一节点外的任一节点。示例性地,节点a可以为第一节点,节点b、c可以为第二节点。
58.示例性地,所述多个节点可以为针对某一特定服务,在同构安全链上预设好的与
特定服务对应的节点。
59.示例性地,所述多个节点之间存在同构关系。其中,以两个图片g和h为例,可以给出“同构”的一般定义:当且仅当存在一个将g的图节点1~n映射到h的图节点1~n的一一对应函数m,即映射函数m,使得g中任意两个图节点i和j相连接,当且仅当h中对应的两个图节点m(i)和m(j)相连接,可记作g与h同构。基于该定义,本技术实施例中在进程、权限、指令等维度(即实体对象)建立了类似上述定义中g和h的同构关系,即建立进行相同操作时不同节点的实体状态变换图之间的同构关系,并且为了保持图节点数量一致,可采用包括但不限于时间、敏感操作或敏感指令来确定图的一条“边”。
60.示例性地,所述多个节点之间存在互锁关系,所述互锁关系表现为多个节点之间的操作相互牵制。示例性地,互锁关系可以表现为第二节点为第一节点是否提供特定服务执行结果的反馈做担保,例如,第一节点反馈特定服务的执行结果需要第二节点提供具有同构关系的实体状态变换图;多个节点之间的互锁关系可以通过预配置实现。
61.示例性地,待保护系统可以包括云端系统,多个节点可以为云端的多个节点。示例性地,可以利用自动化编排系统来管理多个云端节点,当一个节点故障或失效时,可以通过自动化编排系统自主地实现对失效节点的替换或重组,从而可以为同构安全链的实现提供更可靠稳定的技术保障。这样,利用云端存在大量节点资源的优势,将同构安全链构建在云端,可以防止攻击者同时对两个及以上节点的攻陷,极大提高攻击成本。同时,每个节点在保证自身功能正常执行的前提下,通常还有冗余资源,通过合理配置云上节点资源,可以保证资源的有效利用,并可以实现低成本、易普适的同构安全链。
62.基于图1所示的同构安全链,本技术实施例提供的安全防护方法(详细描述参见下文)可以防御面向云的“未知网络攻击”,通过正常业务间可达的同构关系以及非正常业务不可达的同构关系来锁定攻击,实现对“未知的未知”攻击的安全防护或实现对攻击者“威慑”。本技术实施例不关注攻击者使用的手段或方法,也不关注攻击者掌握的未知漏洞,不关注攻击者如何进入待防护系统,本技术实施例关注攻击者在入侵待保护系统后开展的可疑攻击行为,即攻击者是否有意图要开展攻击。本技术实施例,可以基于待保护系统上多个节点处理正常业务时的不同维度的、具有同构关系的实体状态变换图,建立待保护系统内一种安全防御机制,有效防御“挖漏洞”、“设后门”、“植病毒”、“藏木马”等经典的网络攻击,对已知或未知的安全风险实现有效防范。此外,本技术实施例还可以利用云上存在大量节点资源的优势,实现对“未知的未知”攻击的安全防护,通过合理配置云上节点资源,从而实现低成本、易普适的同构安全链,缓解当前针对此类攻击的防御技术面临的挑战;并且通过基于云上资源的同构匹配来锁定攻击,可以有助于防御方在锁定攻击之后开展后续的拒止或反制手段。
63.图2示出根据本公开一实施例的安全防护方法的流程图。该方法可以在待保护系统中或待保护系统的一个或多个部件中执行。如图2所示,该方法可以包括:
64.s1、接收特定服务的目标请求。
65.作为一个示例,待保护系统中同构安全链网关可以接收访问者发送的特定服务的目标请求。
66.可以理解的是,访问者可以为合法访问者,也可以为攻击者。相应的,目标请求可以为合法访问者发起的正常业务请求,目标请求也可以为攻击者发起的非正常业务请求。
例如,比如待保护系统上具有“登录”和“注册账户”的操作;正常业务请求可以为:只有点击了“注册账户”,系统后台数据库中才会多一个账户;非正常业务请求可以包括:没有点击“注册账户”却在后台数据库多了一个账户信息,即攻击者可能绕过了“注册账户”的操作。
67.示例性地,所述特定服务可以是待保护系统上的任意服务或敏感服务;其中,所述敏感服务可以是只有特定权限的人才能操作的服务。
68.s2、将所述目标请求广播至多个节点;其中,所述多个节点为用于执行所述特定服务的预设节点。
69.作为一个示例,待保护系统中同构安全链网关可以将所述目标请求广播至同构安全链上,同构安全链上的多个节点可以接收到该目标请求;其中,所述同构安全链包括与所述特定服务对应的多个节点。
70.在一种可能的实现方式中,所述多个节点至少包括三个节点。例如,可以为上述图1中节点a、b、c。
71.s3、根据所述多个节点响应于所述目标请求执行所述特定服务的过程中,实体对象的状态变化,进行安全判定;其中,所述实体对象包括进程、权限或指令中的一项或多项。
72.示例性地,所述实体对象可以是进程、权限、指令等随着特定服务的执行产生状态变化的实体。可以理解的是,实体对象还可以包括其他随着特定服务的执行产生状态变化的实体,对此不作限定。这样,通过选取多个随着特定服务的执行产生状态变化的实体对象,从而能够从不同的维度出发,准确区分正常业务与非正常业务。
73.该步骤中可以基于正常业务间可达的同构关系以及异常业务不可达的同构关系,即在目标请求为合法访问者发起的正常业务请求时,基于多个节点响应于正常业务请求执行特定服务的过程中实体对象的状态变化,可以确定同构关系;而在目标请求为攻击者发起的非正常业务请求时,基于多个节点响应于非正常业务请求执行所述特定服务的过程中实体对象的状态变化,不能够确定同构关系;从而基于相同操作下不同实体对象的同构关系,区分正常业务请求及非正常业务请求,实现同构安全判定,有效防御“未知网络攻击”,并对攻击者进行“威慑”。
74.在一种可能的实现方式中,可以根据多个节点中不同节点响应于目标请求执行特定服务的过程中,不同实体对象的状态变化,进行安全判定;例如,可以根据第一节点响应于目标请求执行特定服务的过程中进程的状态变化,及第二节点响应于目标请求执行特定服务的过程中权限的状态变化,进行安全判定;再例如,可以根据第一节点响应于目标请求执行特定服务的过程中进程的状态变化,及第二节点响应于目标请求执行特定服务的过程中指令的状态变化,进行安全判定;等等。举例来说,以多个节点为图1中节点a、b、c为例,可以根据节点a响应于目标请求执行特定服务的过程中进程的状态变化、节点b响应于目标请求执行特定服务的过程中权限的状态变化、及节点c响应于目标请求执行特定服务的过程中指令的状态变化,进行安全判定。
75.这样,通过上述步骤s1-s3,接收特定服务的目标请求;将所述目标请求广播至多个节点;其中,所述多个节点为用于执行所述特定服务的预设节点;根据所述多个节点响应于所述目标请求执行所述特定服务的过程中,实体对象的状态变化,进行安全判定;从而可以对待保护的特定服务实现安全防护,对已知或未知的安全风险实现有效防范。示例性地,多个节点可以为云端的节点,从而可以利用云上存在大量节点资源的优势,实现对“未知的
未知”攻击的安全防护;此外,对于执行特定服务的节点不作特殊要求,从而可有效利用云端海量节点资源,相对于拟态防御等方式,可极大降低节点的构建成本和未知防御系统的实现难度。
76.图3示出根据本公开一实施例的进行安全判定的流程图。如图3所示,在一种可能的实现方式中,上述步骤s3中,所述根据所述多个节点响应于所述目标请求执行所述特定服务的过程中,实体对象的状态变化,进行安全判定,可以包括以下步骤:
77.步骤s301、根据所述多个节点响应于所述目标请求,执行所述特定服务过程中实体对象的状态变化,构建所述多个节点的实体状态变换图;其中,不同节点的实体状态变换图所对应的实体对象不同。
78.该步骤中,不同节点的实体状态变换图所对应的实体对象不同,例如,可以根据第一节点响应于目标请求执行特定服务过程中进程的状态变化,构建第一节点的进程图;根据第二节点响应于目标请求执行特定服务过程中权限的状态变化,构建第二节点的权限图;再例如,可以根据第一节点响应于目标请求执行特定服务过程中进程的状态变化,构建第一节点的进程图;根据第二节点响应于目标请求执行特定服务过程中指令限的状态变化,构建第二节点的指令图。举例来说,以多个节点为图1中节点a、b、c为例,可以根据节点a响应于目标请求执行特定服务过程中进程的状态变化,构建节点a的进程图;根据节点b响应于目标请求执行特定服务过程中权限的状态变化,构建节点b的权限图;根据节点c响应于目标请求执行特定服务过程中指令的状态变化,构建节点c的指令图。
79.这样,通过选取多个随着特定服务的执行必然产生状态变化的实体对象,构建多个节点对应的实体状态变换图,可以实现与特定服务执行的紧耦合;同时,不同节点选择不同的实体对象,生成实体状态变换图,从而有效防止攻击者同时对多个节点采用相同的攻击手段,提高安全防护效果。例如,节点a、b、c分别采用进程、权限、指令,生成节点a的进程图、节点b的权限图、节点c的指令图,从而在攻击者同时对三个节点采用相同的攻击手段(例如,攻击者攻击权限)的情况下,进行有效防护。
80.示例性地,多个节点执行所述特定服务可以是多个节点各自在本地完成一次所述特定服务的符号执行。
81.在一种可能的实现方式中,所述根据所述多个节点响应于所述目标请求,执行所述特定服务过程中实体对象的状态变化,构建所述多个节点的实体状态变换图,可以包括:根据所述多个节点响应于所述目标请求执行所述特定服务过程中,实体对象在特定时间、特定操作或特定指令下对应的状态,构建所述多个节点的实体状态变换图。
82.其中,实体状态变换图可以用于表征实体对象的状态变化,实体状态变换图可以包括多个图节点及至少一条“边”,示例性地,所述不同节点的实体状态变换图中所包含的图节点的数量相同。
83.作为一个示例,可以采用特定时间、特定操作或特定指令等来确定实体状态变换图的一条“边”,并利用实体对象在特定时间、特定操作或特定指令下对应的状态确定图节点;通过这种方式可以保持图节点的数量一致,方便后续确定实体状态变换图之间是否具有同构关系。
84.在一个实施例中,可以以特定时间为例,来确定实体状态变换图的一条“边”。可以在t0时刻到t1时刻构建一条“边”,“边”的两端(即图节点)可以为进程、权限或指令等实体
对象在对应时刻的状态,最终可以构建以时间来分割的进程图、权限图或指令图等,即构建好的实体状态变换图,从而可以表征不同时刻,实体对象的状态变化。
85.举例来说,以实体对象为权限,采用“时间”确定一条边为例,可以记录不同节点在t0时刻到tn时刻执行特定服务的权限变化。假设共有5个权限等级,每一时刻的权限等级就是一个图节点,根据第一节点在执行特定服务的过程中t0时刻到tn时刻的权限变化,可以构建出权限图:5(t0)

4(t1)

3(t2)
→…→
4(tn);根据第二节点在执行特定服务的过程中t0时刻到tn时刻的权限变化,可以构建出权限图:5(t0)

2(t1)

5(t2)
→…→
1(tn);这样,通过时间来划分,第一节点的权限图与第二节点的权限图的节点数量是一致的。
86.步骤s302、通过判断所述多个节点实体状态变换图之间是否存在同构关系,得到所述安全判定的结果。
87.可以理解的是,正常业务请求触发的操作会在同构安全链上互锁的多个节点之间实现同构;非正常业务请求触发的操作则不会建立同构;即多个节点响应于正常业务请求执行所述特定服务时,基于实体对象的状态变化所生成的实体状态变换图存在同构关系;多个节点响应于非正常业务请求执行所述特定服务时,基于实体对象的状态变化所生成的实体状态变换图不存在同构关系。从而,可以通过判断多个节点实体状态变换图之间是否存在同构关系,实现同构安全判定。
88.这样,通过上述步骤s301-s302,基于同构的思想,选择不同的实体对象构建面向特定服务的实体状态变换图,通过实体状态变换图之间的同构关系可以有效区分正常业务请求(即安全判定结果为安全的业务场景)和非正常业务请求(即安全判定结果为不安全的业务场景)。
89.在一种可能的实现方式中,在步骤s302中,所述通过判断所述多个节点对应的实体状态变换图之间是否存在同构关系,得到所述安全判定的结果,可以包括:
90.(1)根据所述第一节点的实体状态变换图、所述第二节点的实体状态变换图及预设映射关系,判断所述第一节点的实体状态变换图与所述第二节点的实体状态变换图之间是否存在同构关系;其中,所述预设映射关系表示所述第一节点及第二节点响应于正常业务请求,执行所述特定服务所得到的实体状态变换图之间的映射关系。
91.其中,预设映射关系可以为预设的一一对应函数m;这样,通过该一一对应函数m,便可建立在进程图、权限图和指令图等实体状态变换图上的同构关系。
92.示例性地,所述预设映射关系可以通过预配置进行设定。可以理解的是,针对待防护的系统,可以预先为所有的正常业务完成同构配置,即对多个节点响应于正常业务请求,执行特定服务的过程中时各实体对象的状态变化进行了数据收集,从而得到预设映射关系。
93.需要说明的是,在多个节点包括多个第二节点的情况下,第一节点响应于正常业务请求执行所述特定服务所得到的实体状态变换图,与不同第二节点响应于正常业务请求执行所述特定服务所得到的实体状态变换图,之间的映射关系可以相同也可以不同。本技术实施例对此不作限定。例如,上述图1中,节点a响应于正常业务请求执行所述特定服务所得到的实体状态变换图、节点b响应于正常业务请求执行所述特定服务所得到的实体状态变换图、节点c响应于正常业务请求执行所述特定服务所得到的实体状态变换图;三个实体状态变换图中两两之间的映射关系均相同,即节点a与节点b存在同构关系、节点a与节点c
存在同构关系、节点b与节点c存在同构关系;再例如,节点a响应于正常业务请求执行所述特定服务所得到的实体状态变换图与节点b响应于正常业务请求执行所述特定服务所得到的实体状态变换图的映射关系,与节点a响应于正常业务请求执行所述特定服务所得到的实体状态变换图与节点c响应于正常业务请求执行所述特定服务所得到的实体状态变换图的映射关系不同,即节点a与节点b存在同构关系、节点a与节点c存在同构关系、节点b与节点c不存在同构关系。
94.示例性地,预设映射关系可以对第一节点已知,对第二节点是未知的,即第一节点知道如何确定多个节点对应的实体状态变换图之间是否存在同构关系,而第二节点不知道如何确定多个节点对应的实体状态变换图之间是否存在同构关系。
95.示例性地,可以将第一节点的实体状态变换图和第二节点的实体状态变换图作为输入,提供给第一节点的同构匹配模型,进行同构安全判定。所述同构匹配模型可以用于判断输入的各节点的实体状态变换图之间是否存在同构关系。同构匹配模型可以基于预设映射关系及相关技术实现,对此不作限定。可选地,同构匹配模型的输出可以是bool类型输出,在第一节点的实体状态变换图和第二节点的实体状态变换图存在同构关系的情况下输出1,对应的安全判定的结果为安全;在第一节点的实体状态变换图和第二节点的实体状态变换图不存在同构关系的情况下输出0,对应的安全判定的结果为不安全。可选地,可以在预配置阶段对特定服务的关键执行代码进行加密,同构匹配模型的输出可以是string类型输出,在第一节点的实体状态变换图和第二节点的实体状态变换图存在同构关系的情况下输出key,对应的安全判定的结果为安全,可以用key解密锁定的特定服务;第一节点的实体状态变换图和第二节点的实体状态变换图不存在同构关系的情况下时输出err,对应的安全判定的结果为不安全。
96.(2)在所述第一节点的实体状态变换图与所述第二节点的实体状态变换图之间存在同构关系的情况下,所述安全判定的结果为安全;否则,所述安全判定的结果为不安全。
97.可以理解的是,在不同节点响应于正常业务请求执行所述特定服务时,所得到这些节点的实体状态变换图根据预设映射关系满足同构关系,从而安全判定的结果为安全,相应的访问者为合法访问者,可以为其提供特定服务;而在不同节点响应于非正常业务请求执行所述特定服务时,所得到这些节点的实体状态变换图根据预设映射关系,不满足同构关系,从而安全判定的结果为不安全,相应的访问者初步判定为攻击者,根据不同的场景需求可以直接拒绝为其提供特定服务,也可以要求访问者提供更多的信息后再决定是否为其提供特定服务。
98.作为一个示例,可以在同构安全链上预设三个与特定服务对应的节点,其中,选择一个节点设定为第一节点,另外两个节点设定为第二节点;三个节点之间具有互锁关系及同构关系。在进行同构安全判定时,三个节点可以各自在本地完成一次特定服务的执行,并分别构建不同维度的实体状态变换图(例如进程图、权限图、指令图等);两个第二节点的实体状态变换图可以通过互锁关系提交给第一节点,第一节点可以将自身对应的实体状态变换图与两个第二节点对应的实体状态变换图作为输入,提供给本地的同构匹配模型,完成同构安全判定;当三个节点的实体状态变换图均保持一致的同构关系,安全判定的结果为安全;否则安全判定的结果为不安全。
99.在一种可能的实现方式中,所述方法还包括:在所述安全判定的结果为安全的情
况下,发送所述第一节点响应于所述目标请求执行所述特定服务的结果。可以理解的是,在安全判定的结果为安全的情况下,此时发出目标请求的访问者为合法访问者,因此,可以向该访问者发送第一节点响应于目标请求执行特定服务的结果。
100.在一种可能的实现方式中,所述方法还包括:在所述安全判定的结果为不安全的情况下,拒绝执行特定服务;或者,可以向访问者发送拒绝执行特定服务的信息,或者,可以向访问者发送需要进一步认证的指示信息,等等。可以理解的是,在安全判定的结果为不安全的情况下,此时发出目标请求的访问者初步判定为攻击者,因此,可以拒绝该访问者的请求,或者,可以要求访问者提供其他认证信息,从而实现对攻击者的“威慑”。
101.举例来说,图4示出根据本公开一实施例的安全防护方法示意图。如图4所示,可以将上述图1中节点a、b、c作为同构安全链上为特定服务对应的三个节点,其中,节点a为第一节点,节点b和c为第二节点,三个节点之间具有互锁关系及同构关系;其中,三个节点的互锁关系表现为b、c为a是否提供敏感服务执行结果的反馈做担保;三个节点的同构关系表现为a、b、c响应于正常业务请求,各自在本地完成一次特定服务的执行,并分别构建不同维度的实体状态变换图(例如进程图、权限图、指令图等),这些实体状态变换图根据预设映射关系满足同构关系。其中,该预设映射关系只存在于节点a上,不存在于节点b、节点c上,所以节点a知道如何确定三者上的实体状态变换图是否存在同构关系,但是节点b、节点c不知道。当访问者请求待保护系统上的特定服务时,特定服务的目标请求可以首先发送给同构安全链网关,同构安全链网关可以将该目标请求广播至同构安全链的节点a、b、c;节点a、b、c可以基于各自本地的执行该特定服务的过程中,实体对象的状态变化构建实体状态变换图;节点b、c上的实体状态变换图会通过互锁关系提交给节点a,节点a会将自身与节点b、c的实体状态变换图作为输入,提供给本地的同构匹配模型,以完成同构安全判定;其中,当且仅当三个实体状态变换图均保持一致的同构关系时,判定结果为安全,节点a才会将该特定服务的执行结果发送给同构安全链网关,同构安全链网关在接收到执行特定服务的结果后,向访问者转发该执行特定服务的结果;否则,判定结果为不安全,节点a则向同构安全链网关发送拒绝执行特定服务的消息,同构安全链网关向访问者转发该消息。
102.图5示出根据本公开一实施例的安全防护装置的结构图。如图5所示,本公开实施例所述安全防护装置,包括:
103.接收模块,用于接收特定服务的目标请求;
104.广播模块,用于将所述目标请求广播至多个节点;其中,所述多个节点为用于执行所述特定服务的预设节点;
105.安全判定模块,用于根据所述多个节点响应于所述目标请求执行所述特定服务的过程中,实体对象的状态变化,进行安全判定;其中,所述实体对象包括进程、权限或指令中的一项或多项。
106.在一种可能的实现方式中,所述安全判定模块,还用于:
107.根据所述多个节点响应于所述目标请求,执行所述特定服务过程中实体对象的状态变化,构建所述多个节点的实体状态变换图;其中,不同节点的实体状态变换图所对应的实体对象不同;
108.通过判断所述多个节点实体状态变换图之间是否存在同构关系,得到所述安全判定的结果。
109.在一种可能的实现方式中,所述多个节点包括第一节点;
110.所述通过判断所述多个节点对应的实体状态变换图之间是否存在同构关系,得到所述安全判定的结果,包括:
111.根据所述第一节点的实体状态变换图、所述第二节点的实体状态变换图及预设映射关系,判断所述第一节点的实体状态变换图与所述第二节点的实体状态变换图之间是否存在同构关系;其中,所述第二节点为所述多个节点中除所述第一节点外的任一节点;所述预设映射关系表示所述第一节点及第二节点响应于正常业务请求,执行所述特定服务所得到的实体状态变换图之间的映射关系;
112.在所述第一节点的实体状态变换图与所述第二节点的实体状态变换图之间存在同构关系的情况下,所述安全判定的结果为安全;否则,所述安全判定的结果为不安全;
113.其中,所述多个节点响应于正常业务请求执行所述特定服务时,所对应的实体状态变换图存在同构关系;所述多个节点响应于非正常业务请求执行所述特定服务时,所对应的实体状态变换图不存在同构关系。
114.在一种可能的实现方式中,所述安全防护装置还包括:发送模块,用于在所述安全判定的结果为安全的情况下,发送所述第一节点响应于所述目标请求,执行所述特定服务的结果。
115.在一种可能的实现方式中,所述发送模块还用于:在所述安全判定的结果为不安全的情况下,发送拒绝所述目标请求的消息。
116.在一种可能的实现方式中,所述根据所述多个节点响应于所述目标请求,执行所述特定服务过程中实体对象的状态变化,构建所述多个节点的实体状态变换图,包括:根据所述多个节点响应于所述目标请求执行所述特定服务过程中,实体对象在特定时间、特定操作或特定指令下对应的状态,构建所述多个节点的实体状态变换图。
117.在一种可能的实现方式中,所述不同节点的实体状态变换图中所包含的图节点的数量相同。
118.在一种可能的实现方式中,所述多个节点至少包括三个节点;所述多个节点为云端的节点。
119.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
120.本公开实施例中通过接收特定服务的目标请求;将所述目标请求广播至多个节点;其中,所述多个节点为用于执行所述特定服务的预设节点;根据所述多个节点响应于所述目标请求执行所述特定服务的过程中,实体对象的状态变化,进行安全判定;从而可以对待保护的特定服务实现安全防护,对已知或未知的安全风险实现有效防范。作为一个示例,基于正常业务间可达的同构关系以及异常业务不可达的同构关系,即在目标请求为合法访问者发起的正常业务请求时,基于多个节点响应于正常业务请求执行特定服务的过程中实体对象的状态变化,可以确定同构关系;而在目标请求为攻击者发起的非正常业务请求时,基于多个节点响应于非正常业务请求执行所述特定服务的过程中实体对象的状态变化,不能够确定同构关系;从而基于相同操作下不同实体对象的同构关系,区分正常业务请求及非正常业务请求,实现同构安全判定,有效防御“未知网络攻击”,并对攻击者进行“威慑”。
作为另一个示例,多个节点可以为云端的节点,从而可以利用云上存在大量节点资源的优势,实现对“未知的未知”攻击的安全防护;此外,同构安全链对于执行特定服务的节点不作特殊要求,从而可有效利用云端海量节点资源,对比拟态防御,可极大降低节点的构建成本和未知防御系统的实现难度。
121.本公开实施例还提出一种安全防护装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
122.图6是根据一示例性实施例示出的一种安全防护装置1900的框图。例如,装置1900可以被提供为一服务器或终端设备。参照图6,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
123.装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(i/o)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如windows servertm,mac osxtm,unixtm,linuxtm,freebsdtm或类似。
124.本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
125.在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。
126.本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
127.本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
128.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
129.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关
计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
130.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
131.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
132.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
133.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
134.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
135.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技
术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1