一种安全防护方法、装置、存储介质及电子设备与流程

专利2024-04-18  9



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.图1为本说明书中一种安全防护方法的流程示意图;
37.图2为本说明书中一种安全防护的结构示意图;
38.图3为本说明书提供的一种安全防护装置的示意图;
39.图4为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
40.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
41.随着计算机技术的飞速发展,各种数据或信息通常通过网络进行传输,为了避免信息遭到泄露,网络安全成为重点关注的对象之一。目前,采用蜜罐技术(honeypot technology)来对服务器进行安全防护。蜜罐技术本质上是一种对攻击者进行欺骗的技术,其通过布置一些作为诱饵的主机、网络服务等,将攻击者将其误认为真正的主机或服务器,使攻击者对蜜罐系统进行攻击,而避免攻击者去攻击真正的主机或服务器。蜜罐系统可对攻击者的攻击行为进行捕获,将捕获到的攻击行为加以分析,从而了解攻击者的攻击意图、攻击工具、攻击手段等。这样,可以清晰的了解所要面对的安全威胁,能够更有效地增强真正的主机或服务器的安全防护能力。
42.其中,由于蜜罐系统是在模拟真正的业务系统,而并没用真实的用户对其进行使用,攻击者并不会从蜜罐系统中获取到真实的信息,因此,也就不会将真实的业务系统中的信息或数据泄露。另外,蜜罐系统并不是部署在真正的业务系统上的,蜜罐系统与真正的业务系统是分开部署,且是相互独立的关系。
43.在通常情况下,蜜罐系统是被动的等待攻击者对其进行入侵攻击的,为了提高蜜罐系统对于攻击者的捕获率,通常会采用增加蜜罐系统的部署数量。真正的业务系统通常由服务器集群构成的,成千上万的服务器连接在一起组成了网状结构,可将蜜罐系统部署在靠近各个网络节点的位置上。可是,蜜罐系统是虚拟的业务系统,也就是假的应业务系统,没有实际业务访问量,将其部署在靠近各个网络节点上,还会占用内存资源,并且,随着蜜罐系统的部署数量的增多,网络安全防护的成本也会随着增加。
44.另外,当某个数据或信息的价值越高时,其对攻击者的吸引力就越高,该数据或信息被窃取的可能性就越高。因此,还可采用蜜罐系统部署至靠近实际的业务系统的关键位置的方式来提高蜜罐系统的捕获率,但是,这样反而还会暴露出真正的业务系统的网络结构以及其能够被轻易攻击入侵的位置(脆弱点)。在实际操作中,采用将蜜罐系统部署到靠近网络关键位置后,蜜罐系统的捕获率也不会有明显的提升,同时,真实的业务系统被攻击的风险还会提升。
45.本说明书提供了一种安全防护方法,以安全切面的方式,在不增加蜜罐系统的部署数量以及不暴露真正的业务系统的网络结构以及其容易被攻击入侵的位置的前提下,提高蜜罐系统对入侵攻击的捕获率,进而增加业务系统对入侵攻击的防御能力。
46.其中,上文所说的安全切面是指通过采用面向切面编程(aspect-oriented programming,aop)的方式,在不修改业务应用程序的情况下,在业务应用程序的运行逻辑
中动态的添加或修改用于实现安全切面业务的切面程序的方法。使得在实现安全切面业务的同时,使实现安全切面业务的程序与业务应用程序解耦,从而避免高耦合导致的开发迭代问题。
47.这里说的切面程序,即基于业务运行逻辑来实现安全切面业务的增强程序。可通过采用面向切面编程的方式,将切面程序注入至业务应用程序的相应切点处,该切面程序在执行业务应用程序的过程中被触发执行,实现所需的安全切面业务功能。
48.而业务应用程序在执行业务时,业务应用程序通常通过方法之间的调用进行业务执行。因此,可将业务应用程序中的任意方法作为切面程序的切入点,即上述所说的切点,并将切面程序注入对应切点。使得业务应用程序在执行至切点,即调用该切点对应的业务应用程序的方法时,执行在该切点注入的切面程序。
49.通常,负责将切面程序注入至切点的过程的代码存在较高的可复用性,因此,通常将实现这一过程的程序抽象为一个服务模块,即切面底座。切面底座可从提供安全切面业务的第三方获取需要部署的切面程序以及获取业务应用程序中的切点,在应用容器启动后被环境并在业务应用程序的切点处注入对应的切面程序。
50.业务应用程序可以是业务平台的服务器中提供业务服务的业务应用程序。其中,业务服务可以是业务平台的服务器向用户提供的业务服务,如,查询业务、支付业务等。业务服务还可以是业务平台的某服务器向其他服务器提供的业务服务,如,结算业务等。
51.当然了,由上述描述可知,为了使安全切面业务的程序与业务应用程序解耦,本说明书通过采用面向切面编程的方式使得安全切面业务的程序与业务应用程序在业务执行时相互交织,但又互相平行可各自独立维护。因此,区别于业务应用程序的业务提供方,提供安全切面业务的第三方可通过管控平台管理安全切面业务所涉及的内容,例如,安全切面业务管控策略的配置、切面程序的版本迭代、切面程序的部署规则配置等等。当然,提供安全切面业务的可以是第三方,也可以是业务提供方。
52.管控平台在管理安全切面业务所涉及的内容时,可通过配置文件记录各种配置信息,例如各种策略的配置、切面程序的部署规则配置等。使得切面底座可根据配置文件完成对切面程序的部署,或者管控平台可根据配置文件实现安全切面业务。
53.在实际应用中,业务提供方通常设置有包括若干物理机或物理服务器的机房,通过物理机提供业务应用程序所需的物理资源。当然,一个业务应用程序可能无需整个物理机的所有物理资源,于是,一般还会通过虚拟化技术在一个物理机上运行多个虚拟主机(virtual hosting)。各个虚拟主机之间是互相独立的,各自享有物理机的部分物理资源。然后,可在虚拟主机中部署应用容器,并通过应用容器运行业务应用程序。应用容器通常包含分配给该应用容器的物理资源,如cpu、内存等,以及提供给该应用容器的运行环境,如操作系统(operating system,os)或其他运行环境数据,如,容器的序列(serial number,sn)号、分配的ip(influential property)、应用名、租户、环境变量等)。业务应用程序可部署在应用容器中以执行业务。
54.而在基于安全切面执行业务的场景中,业务提供方或者提供安全切面业务的第三方的服务器可提供管控平台,通过管控平台管理安全切面业务所涉及的内容,并将切面底座部署在应用容器中,通过切面底座将切面程序注入业务应用容器中的业务应用程序中,以为业务提供方的应用容器提供安全切面业务的支持。
55.于是,可预先在业务提供方的应用容器中部署切面底座。一般情况下,在启动应用容器时,可唤起提供给应用容器的操作系统,以及运行预先部署的切面底座,通过切面底座从管控平台中得到切面程序和业务应用程序的切点,并将切面程序注入应用容器中的业务应用程序的切点处。此外,切面底座也可在业务应用程序执行过程中,从管控平台中得到切面程序和业务应用程序的切点,并将切面程序注入应用容器中的业务应用程序的切点处。
56.当然,切面底座如何从管控平台中得到部署切面程序所需的信息,可根据需要设置。例如,可以是根据配置文件主动从管控平台中拉取所需的信息,或者管控平台可主动下发使切面底座接收所需的信息。
57.将切面程序注入业务应用程序的切点后,业务应用程序在执行过程中,即可触发该切面程序从而实现相应的安全切面业务功能。
58.以下结合附图,详细说明本说明书各实施例提供的技术方案。
59.图1为本说明书中一种安全防护方法的流程示意图,具体包括以下步骤:
60.s100:接收注入请求。
61.s102:将所述注入请求中包含的切面程序注入在业务应用程序中,并运行,其中,所述切面程序用于检测入侵攻击。
62.首先,本说明书所提供的安全防护方法的核心思想为:将具备入侵检测功能的切面程序,注入至所需要进行安全防护的业务应用程序之中。在业务应用程序执行业务的过程中,被注入至业务应用程序中的切面程序能够随业务应用程序一起启动,时刻检测是否出现入侵攻击行为。当在执行业务应用程序对应的业务过程中,出现入侵攻击业务应用程序时,切面程序可检测到入侵攻击,此时,可将入侵攻击对应的操作数据进行获取。之后,可根据获取到的入侵攻击对应的操作数据,将入侵攻击引导至蜜罐系统。本说明书所提供的安全防护方法可通过一种主动引导的方式提高蜜罐系统的捕获率,而并非使蜜罐系统被动的等待攻击者对其的入侵攻击。
63.基于上述对本说明书所提供的安全防护方法的核心思路的说明,本说明书提供的安全防护方法,可由所需被安全防护的业务应用程序对应的服务器或电子设备执行,例如,笔记本电脑、手机等,还可由用于监控业务应用程序的监控系统执行,监控系统部署在独立的服务器之中,本说明书对此不作限制。另外,除业务应用系统之外,需要被安全防护的业务应用程度对应的服务器或主机均可作为本方法的执行主体。
64.以下仅以所需被安全防护的业务应用系统对应的服务器为执行主体为例,示例性的对本说明书提供的安全防护方法进行说明。
65.具体的,业务应用程序对应的服务器可接收到包含有具备入侵检测功能的切面程序的注入请求,服务器可将注入请求中包含的入侵检测功能的切面程序注入至业务应用程序之中。
66.其中,注入请求中除了包括有切面程序,还包括有切面程序所要注入的位置(即,上述说提到的切点)以及注入方式,另外,还可根据实际需求,将其他信息包含至注入请求中,本说明书对此不作限制。
67.服务器可对接收到的注入请求进行解析,可从注入请求中解析出所要注入至业务应用程序中用于增强入侵检测这一安全切面业务的切面程序,该切面程序所要注入的注入位置,以及注入该切面程序的注入方式。之后,服务器可通过切面底座按照解析出的注入方
式,将解析出的切面程序注入在其所应注入的位置。其中,注入方式可以为静态代理,也可以为动态代理。
68.若以静态代理的方式对切面程序进行注入,服务器可先将业务应用程序停止运行,再将切面程序注入至业务应用程序后,再将注入有切面程序的业务应用程序启动。
69.若以动态代理的方式对切面进行注入,服务器可在业务应用程序在运行的过程中,将切面程序注入至业务应用程序之中。在实际操作中,通常以动态代理作为主要的注入方式。
70.其中,注入位置相当于业务应用程序注入切面程序的切点,其可以为业务应用程序中的某一个类的某一函数的某一部位,所提到的部位可以是业务应用程序中用于实现业务功能的代码的起始点、结束点或者抛出异常点,例如,before、return或者throw等,本说明书对此不作限制。
71.s104:若在执行所述业务应用程序对应业务的过程中,通过所述切面程序检测到入侵攻击,则获取入侵攻击对应的操作数据。
72.以将切面程序注入在业务应用程序中用于实现业务功能的代码之前为例,当用户对业务应用软件执行操作时,由于在用于实现业务功能的代码之前,注入了用于入侵检测的切面程序,因此,切面程序可通过用户的操作来判断当前用户的操作是否存在异常行为,当确定当前用户的操作属于异常行为时,可确定业务应用系统遭受到了入侵攻击。
73.此时,为了保护业务应用系统中的用户数据不被攻击者窃取,则业务应用程序可在确定遭受到入侵攻击时,停止执行后续的业务,并对当前的入侵攻击对应的操作数据进行获取。
74.s106:根据所述操作数据,将所述入侵攻击引导至蜜罐系统中,以通过所述蜜罐系统进行安全防护。
75.具体的,将入侵攻击引导至蜜罐系统的操作为:业务应用程序对应的服务器可将入侵攻击对应的操作数据发送至切面程序管控平台,切面程序管控平台可通过接收到的入侵攻击对应的操作数据,将入侵攻击重放给蜜罐系统,以使蜜罐系统与入侵攻击对应的攻击者建立连接,以将入侵攻击引导至蜜罐系统中。
76.基于图1所示的安全防护方法,业务应用程序对应的服务器根据接收到的注入请求,将包含在注入请求中的用于检测入侵攻击的切面程序部署在业务应用程序中。在业务应用程序执行业务过程中,当切面程序检测到入侵攻击,便可获取入侵攻击对应的操作数据,并根据入侵攻击对应的操作数据,将入侵攻击引导至蜜罐系统。从上述方法中可以看出,本方法并非被动的等待攻击者攻击蜜罐系统,而是通过注入在业务应用系统的切面程序,将入侵攻击引导至蜜罐系统。基于此,本方法能在少量部署蜜罐系统的情况下,就可提高蜜罐系统的捕获率,同时,也节约了部署蜜罐系统的成本。
77.在本说明书实施例中,上述安全防护方法实际上是由一种安全防护系统来实现的,其中,安全防护系统的结构如图2所示。本说明书所提供的安全防护系统包含有切面程序管控平台、业务应用程序对应的服务器以及蜜罐系统。
78.具体的,工作人员可预先设置入侵检测规则,切面程序管控平台可根据预设的入侵检测规则确定具备有入侵检测功能的切面程序。其中,入侵检测规则可以理解为,预先规定一些指定操作,当检测到用户的操作满足指定操作时,则可确定业务应用程序遭受到了
入侵攻击,此时,用户执行的操作所产生的操作数据属于入侵攻击对应的操作数据。另外,针对不同的业务,还可设置有不同的入侵检测规则,本说明书对此不作限制。
79.举例来说,对于支付业务,即便在用户操作失误的情况下,也不会出现输入多次密码,仍然密码错误的情况。因此,可以设置当检测到用户输入指定次数以上仍密码错误时,确定检测到了入侵攻击。
80.由上述说明可知,用于入侵检测的切面程序实际上为基于业务运行逻辑来实现检测入侵攻击的增强程序,其用于增强对入侵检测的这一安全切面业务。本说明书所提供的安全防护方法,采用了安全切面的方式来实现对于切面程序的注入。具体的,在业务应用程序中预先部署的切面底座,切面底座可随业务应用程序的运行一同启动。切面底座可对注入请求进行解析,来确定出切面程序在业务应用程序所需被注入的切点,同时,确定出注入切面程序的部署方式。之后,可通过切面底座,将切面程序部署以解析出的注入方式,将其注入至在业务程序中的上述所提到的切点中。
81.之后,切面程序,作为入侵检测的增强程序,就可发挥其检测入侵攻击的作用。当通过切面程序检测到入侵攻击时,可将入侵攻击对应的操作数据发送给切面程序管控平台的攻击重放模块,切面程序管控平台就可将入侵攻击对应的操作数据重放至蜜罐系统中。其中,入侵攻击对应的操作数据至少包括攻击信息以及上下文流量数据,入侵攻击对应的操作数据可以看作是符合入侵检测规则中规定的指定操作对应的数据。例如,对于支付操作,入侵检测规则规定在用户执行支付的过程中,若用户的输入密码操作的次数达到指定次数后,监测到仍未输入正确的密码,则可以将当前用户所执行的输入密码操作的次数,作为操作数据。
82.如图2所示,蜜罐系统接收到入侵攻击对应的操作数据后,可模拟业务应用程序,与攻击者建立交互连接,以响应攻击者的攻击流量,以此来引导攻击者去攻击蜜罐系统,而避免攻击者去攻击业务应用程序。之后,蜜罐系统可对攻击信息等信息进行进一步的解析操作,以分析出攻击者所采用的攻击工具、攻击技术、攻击意图等,在了解对方的入侵攻击的情况下,可更好的对业务应用系统进行其他的有效的防护措施。
83.举例来说,当攻击者想要攻击业务应用程序对应的服务器时,攻击者可按照业务应用程序对应的业务流程进行操作,当业务应用程序中的切面程序检测出当前攻击者执行的操作符合入侵检测对应的指定操作时,确定业务应用程序遭受到了入侵攻击,此时,业务应用程序可停止执行后续业务操作,向攻击者展示网址等跳转链接,在攻击者对展示的跳转链接执行了点击等操作之后,攻击者就会从真实的业务应用程序中,跳转到蜜罐系统之中,之后,攻击者对业务应用程序的任何操作均是与蜜罐系统之间的交互,而不会与真正的业务应用系统对应的服务器产生任何交互动作了。
84.进一步的,针对实际的应用场景,在一部分特殊情况下,预先设定的入侵检测规则并不适用,为了避免切面程序将正常用户的操作识别为入侵操作,可对切面程序设置配置开关程序。举例来说,在某些电商进行促销的时间点,用户是会频繁的进行支付操作,这属于正常行为,为了避免切面程序将当下的频繁支付操作误认为入侵操作。切面程序管控平台可发送针对切面程序的关闭指令,这样,在业务应用程序执行支付这项业务的过程中,就不会执行切面程序。反之,切面管控平台还可发送针对切面程序的开启指令,这样,在业务应用程序执行业务的过程中,就会执行切面程序。
85.以上为本说明书的一个或多个实施例提供的安全防护方法,基于同样的思路,本说明书还提供了相应的安全防护装置,如图3所示。
86.图3为本说明书提供的一种安全防护装置示意图,具体包括:
87.注入模块301、入侵检测模块302、安全防护模块303,其中,
88.注入模块301,用于接收注入请求;将所述注入请求中包含的切面程序注入在业务应用程序中,并运行,其中,所述切面程序用于检测入侵攻击;
89.入侵检测模块302,用于若在执行所述业务应用程序对应业务的过程中,通过所述切面程序检测到入侵攻击,则获取入侵攻击对应的操作数据;
90.安全防护模块303,用于根据所述操作数据,将所述入侵攻击引导至蜜罐系统中,以通过所述蜜罐系统进行安全防护。
91.可选地,所述注入模块301具体用于,对所述注入请求进行解析,确定出所述注入请求中包含的切面程序在所述业务应用程序中的注入位置,作为目标位置;将所述切面程序注入至所述目标位置,以将所述切面程序注入在所述业务应用程序中。
92.可选地,所述注入模块301具体用于,对所述注入请求进行解析,确定注入方式,其中,所述注入方式包括静态代理、动态代理中的至少一种;根据所述注入方式,将所述注入请求中包含的切面程序注入在业务应用程序中。
93.可选地,所述入侵检测模块302还用于,若接收针对所述切面程序的开启指令,则将所述切面程序对应的状态切换为开启状态,并在执行所述业务应用程序对应业务的过程中,执行所述切面程序;若接收针对所述切面程序的关闭指令,则将所述切面程序对应的状态切换为关闭状态,并在执行所述业务应用程序对应业务的过程中,不执行所述切面程序。
94.可选地,所述注入模块301具体用于,通过预先部署在所述业务应用程序中的切面底座,将所述注入请求中包含的切面程序注入至所述业务应用程序注入所述切面程序的切点中,以将所述切面程序注入在所述业务应用程序中。
95.可选地,所述安全防护模块303具体用于,将所述操作数据发送至切面程序管控平台,以使所述切面程序管控平台通过接收到的所述操作数据,将所述入侵攻击引导至蜜罐系统中。
96.需要说明的是,本技术中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
97.本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的安全防护方法。
98.本说明书还提供了图4所示的电子设备的示意结构图。如图4所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的安全防护方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
99.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然
而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
100.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
101.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
102.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
103.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产
品的形式。
104.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
105.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
106.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
107.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
108.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
109.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
110.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
111.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
112.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程
序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
113.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
114.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

技术特征:
1.一种安全防护方法,包括:接收注入请求;将所述注入请求中包含的切面程序注入在业务应用程序中,并运行,其中,所述切面程序用于检测入侵攻击;若在执行所述业务应用程序对应业务的过程中,通过所述切面程序检测到入侵攻击,则获取入侵攻击对应的操作数据;根据所述操作数据,将所述入侵攻击引导至蜜罐系统中,以通过所述蜜罐系统进行安全防护。2.如权利要求1所述的方法,将所述注入请求中包含的切面程序注入在业务应用程序中,具体包括:对所述注入请求进行解析,确定出所述注入请求中包含的切面程序在所述业务应用程序中的注入位置,作为目标位置;将所述切面程序注入至所述目标位置,以将所述切面程序注入在所述业务应用程序中。3.如权利要求1或2所述的方法,将所述注入请求中包含的切面程序注入在业务应用程序中,具体包括:对所述注入请求进行解析,确定注入方式,其中,所述注入方式包括静态代理、动态代理中的至少一种;根据所述注入方式,将所述注入请求中包含的切面程序注入在业务应用程序中。4.如权利要求1所述的方法,所述方法还包括:若接收针对所述切面程序的开启指令,则将所述切面程序对应的状态切换为开启状态,并在执行所述业务应用程序对应业务的过程中,执行所述切面程序;若接收针对所述切面程序的关闭指令,则将所述切面程序对应的状态切换为关闭状态,并在执行所述业务应用程序对应业务的过程中,不执行所述切面程序。5.如权利要求1所述的方法,将所述注入请求中包含的切面程序注入在业务应用程序中,具体包括:通过预先部署在所述业务应用程序中的切面底座,将所述注入请求中包含的切面程序注入至所述业务应用程序注入所述切面程序的切点中,以将所述切面程序注入在所述业务应用程序中。6.如权利要求1所述的方法,根据所述操作数据,将所述入侵攻击引导至蜜罐系统中,以通过所述蜜罐系统进行安全防护,具体包括:将所述操作数据发送至切面程序管控平台,以使所述切面程序管控平台通过接收到的所述操作数据,将所述入侵攻击引导至蜜罐系统中。7.一种安全防护装置,包括:注入模块,用于接收注入请求;将所述注入请求中包含的切面程序注入在业务应用程序中,并运行,其中,所述切面程序用于检测入侵攻击;入侵检测模块,用于若在执行所述业务应用程序对应业务的过程中,通过所述切面程序检测到入侵攻击,则获取入侵攻击对应的操作数据;安全防护模块,用于根据所述操作数据,将所述入侵攻击引导至蜜罐系统中,以通过所
述蜜罐系统进行安全防护。8.如权利要求7所述的装置,所述安全防护模块,具体用于将所述操作数据发送至切面程序管控平台,以使所述切面程序管控平台通过接收到的所述操作数据,将所述入侵攻击引导至蜜罐系统中。9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~6任一项所述的方法。10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述权利要求1~6任一项所述的方法。

技术总结
本说明书公开了一种安全防护方法、装置、存储介质及电子设备,根据接收到的注入请求,将包含在注入请求中的用于检测入侵攻击的切面程序注入在业务应用程序中。在业务应用程序执行业务过程中,当切面程序检测到入侵攻击,便可获取入侵攻击对应的操作数据,并根据入侵攻击对应的操作数据,将入侵攻击引导至蜜罐系统。本方法并非被动的等待攻击者攻击蜜罐系统,而是通过部署在业务应用系统的切面程序,将入侵攻击引导至蜜罐系统。基于此,本方法能在少量部署蜜罐系统的情况下,就可提高蜜罐系统的捕获率,同时,也节约了部署蜜罐系统的成本。本。本。


技术研发人员:张锐
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2022.07.18
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-7850.html

最新回复(0)