CN115186269A - 一种漏洞挖掘方法、装置、存储介质及电子设备 - Google Patents

一种漏洞挖掘方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN115186269A
CN115186269A CN202210845194.XA CN202210845194A CN115186269A CN 115186269 A CN115186269 A CN 115186269A CN 202210845194 A CN202210845194 A CN 202210845194A CN 115186269 A CN115186269 A CN 115186269A
Authority
CN
China
Prior art keywords
program
service
vulnerability
tangent
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210845194.XA
Other languages
English (en)
Inventor
张锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210845194.XA priority Critical patent/CN115186269A/zh
Publication of CN115186269A publication Critical patent/CN115186269A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本说明书公开了一种漏洞挖掘方法、装置、存储介质及电子设备,本说明书实施例中确定切面程序在业务应用程序中的切点和注入方式,并将获取到的切面程序注入在业务应用程序中。在业务应用程序执行业务过程中,通过切面程序采集执行业务时的交互数据,并对交互数据进行分析,得到分析结果。若根据分析结果确定出执行业务过程中出现异常,则确定执行业务过程中被攻击的对象,基于对象,挖掘出业务应用程序的漏洞。在此方法中,在执行业务过程中,同步获取并分析交互数据,可以及时确定执行业务过程中是否出现异常,并及时挖掘出业务应用程序的漏洞并进行修补,从而有效抵御攻击方的攻击。

Description

一种漏洞挖掘方法、装置、存储介质及电子设备
技术领域
本说明书涉及网络安全领域,尤其涉及一种漏洞挖掘方法、装置、存储介质及电子设备。
背景技术
在网络安全领域中,执行不同业务的各业务系统不可避免会存在系统漏洞,而攻击方可以通过系统漏洞对防守方的业务系统进行攻击,以窃取或篡改业务系统中诸如隐私数据等重要信息。
目前,攻击方对业务系统攻击完成后,防守方才察觉业务系统的系统漏洞,这使得业务系统针对攻击方的攻击处于被动状态,从而导致业务系统无法有效抵御攻击方的攻击。
因此,防守方如何在攻击方未完成攻击之前,挖掘出业务系统的系统漏洞并进行漏洞修补,是一个亟需解决的问题。
为此,本说明书提供了一种基于安全切面的漏洞挖掘方法、装置、存储介质及电子设备。
发明内容
本说明书实施例提供一种漏洞挖掘方法、装置、存储介质及电子设备,以部分解决上述现有技术存在的问题。
本说明书实施例采用下述技术方案:
本说明书提供的一种漏洞挖掘方法,所述方法包括:
获取待注入的切面程序;
确定所述切面程序在业务应用程序中的切点以及注入方式;
根据所述切点以及所述注入方式,将所述切面程序注入在所述业务应用程序中;
在所述业务应用程序执行业务时,通过所述切面程序采集执行所述业务时的交互数据,并对所述交互数据进行数据分析,得到数据分析结果;
若根据所述数据分析结果确定出执行所述业务的过程中出现异常,则进一步挖掘出所述业务应用程序的漏洞。
可选地,获取待注入的切面程序,具体包括:
获取注入请求;
根据所述注入请求中携带的切面程序标识,从漏洞挖掘管控平台获取与所述切面程序标识对应的切面程序。
可选地,根据所述切点以及所述注入方式,将所述切面程序注入在所述业务应用程序中,具体包括:
根据所述切点以及所述注入方式,将所述切面程序注入在所述业务应用程序中的切点对应的方法中,其中,所述注入方式包括:动态注入和静态注入。
可选地,对所述交互数据进行数据分析,得到数据分析结果,具体包括:
将所述交互数据发送给数据分析系统,以使所述数据分析系统通过预设的分析方式,对所述交互数据进行数据分析,得到数据分析结果。
可选地,挖掘出所述业务应用程序的漏洞,具体包括:
确定执行所述业务过程中被攻击的对象,并在执行所述业务的过程中,根据所述对象,挖掘出所述业务应用程序的漏洞。
可选地,根据所述对象,挖掘出所述业务应用程序的漏洞,具体包括:
根据所述对象与所述业务应用程序的源代码,挖掘出所述业务应用程序的漏洞。
可选地,还包括:
根据挖掘出的漏洞以及针对所述对象预设的漏洞修补程序,对所述漏洞进行修补。
本说明书提供的一种漏洞挖掘装置,包括:
获取模块,用于获取待注入的切面程序;
确定模块,用于确定所述切面程序在业务应用程序中的切点以及注入方式;
注入模块,用于根据所述切点以及所述注入方式,将所述切面程序注入在所述业务应用程序中;
分析模块,用于在所述业务应用程序执行业务时,通过所述切面程序采集执行所述业务时的交互数据,并对所述交互数据进行数据分析,得到数据分析结果;
漏洞挖掘模块,用于若根据所述数据分析结果确定出执行所述业务的过程中出现异常,则进一步挖掘出所述业务应用程序的漏洞。
本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的漏洞挖掘方法。
本说明书提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的漏洞挖掘方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
本说明书实施例中确定切面程序在业务应用程序中的切点和注入方式,并将获取到的切面程序注入在业务应用程序中。在业务应用程序执行业务过程中,通过切面程序采集执行业务时的交互数据,并对交互数据进行分析,得到分析结果。若根据分析结果确定出执行业务过程中出现异常,则进一步挖掘出业务应用程序的漏洞。在此方法中,在执行业务过程中,同步获取并分析交互数据,可以及时确定执行业务过程中是否出现异常,并及时挖掘出业务应用程序的漏洞并进行修补,从而有效抵御攻击方的攻击。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书实施例提供的漏洞挖掘系统的框架示意图;
图2为本说明书实施例提供的一种漏洞挖掘方法的流程示意图;
图3为本说明书实施例提供的使用漏洞挖掘方法的示意图;
图4为本说明书实施例提供的一种漏洞挖掘的装置结构示意图;
图5为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
在本说明书中,安全切面是指通过采用面向切面编程(Aspect-orientedProgramming,AOP)的方式,在不修改业务应用程序的情况下,在业务应用程序的运行逻辑中动态的添加或修改用于实现安全切面业务的切面程序的方法。使得在实现安全切面业务的同时,使实现安全切面业务的程序与业务应用程序解耦,从而避免高耦合导致的开发迭代问题。
这里说的切面程序,即基于业务运行逻辑来实现安全切面业务的增强程序。可通过采用面向切面编程的方式,将切面程序注入至业务应用程序的相应切点处,该切面程序在执行业务应用程序的过程中被触发执行,实现所需的安全切面业务功能。
而业务应用程序在执行业务时,业务应用程序通常通过方法之间的调用进行业务执行。因此,可将业务应用程序中的任意方法作为切面程序的切入点,即上述所说的切点,并将切面程序注入对应切点。使得业务应用程序在执行至切点,即调用该切点对应的业务应用程序的方法时,执行在该切点注入的切面程序。
通常,负责将切面程序注入至切点的过程的代码存在较高的可复用性,因此,通常将实现这一过程的程序抽象为一个服务模块,即切面底座。切面底座可从提供安全切面业务的第三方获取需要注入的切面程序以及获取业务应用程序中的切点,在应用容器启动后在业务应用程序的切点处注入对应的切面程序。
业务应用程序可以是业务平台的服务器中提供业务服务的业务应用程序。其中,业务服务可以是业务平台的服务器向用户提供的业务服务,如,查询业务、支付业务等。业务服务还可以是业务平台的某服务器向其他服务器提供的业务服务,如,结算业务等。
当然了,由上述描述可知,为了使安全切面业务的程序与业务应用程序解耦,本说明书通过采用面向切面编程的方式使得安全切面业务的程序与业务应用程序在业务执行时相互交织,但又互相平行可各自独立维护。因此,区别于业务应用程序的业务提供方,提供安全切面业务的第三方可通过管控平台管理安全切面业务所涉及的内容,例如,安全切面业务管控策略的配置、切面程序的版本迭代、切面程序的注入规则配置等等。当然,提供安全切面业务的可以是第三方,也可以是业务提供方。
管控平台在管理安全切面业务所涉及的内容时,可通过配置文件记录各种配置信息,例如各种策略的配置、切面程序的注入规则配置等。使得切面底座可根据配置文件完成对切面程序的注入,或者管控平台可根据配置文件实现安全切面业务。
在实际应用中,业务提供方通常设置有包括若干物理机或物理服务器的机房,通过物理机提供业务应用程序所需的物理资源。当然,一个业务应用程序可能无需整个物理机的所有物理资源,于是,一般还会通过虚拟化技术在一个物理机上运行多个虚拟主机(virtual hosting)。各个虚拟主机之间是互相独立的,各自享有物理机的部分物理资源。然后,可在虚拟主机中注入应用容器,并通过应用容器运行业务应用程序。应用容器通常包含分配给该应用容器的物理资源,如CPU、内存等,以及提供给该应用容器的运行环境,如操作系统(Operating System,OS)或其他运行环境数据,如,容器的序列(Serial Number,SN)号、分配的IP(Influential Property)、应用名、租户、环境变量等)。业务应用程序可注入在应用容器中以执行业务。
而在基于安全切面执行业务的场景中,业务提供方或者提供安全切面业务的第三方的服务器可提供管控平台,通过管控平台管理安全切面业务所涉及的内容,并将切面底座注入在应用容器中,通过切面底座将切面程序注入业务应用容器中的业务应用程序中,以为业务提供方的应用容器提供安全切面业务的支持。
于是,可预先在业务提供方的应用容器中注入切面底座。一般情况下,在启动应用容器时,可唤起提供给应用容器的操作系统,以及运行预先注入的切面底座,通过切面底座从管控平台中得到切面程序和业务应用程序的切点,并将切面程序注入应用容器中的业务应用程序的切点处。此外,切面底座也可在业务应用程序执行过程中,从管控平台中得到切面程序和业务应用程序的切点,并将切面程序注入应用容器中的业务应用程序的切点处。
当然,切面底座如何从管控平台中得到注入切面程序所需的信息,可根据需要设置。例如,可以是根据配置文件主动从管控平台中拉取所需的信息,或者管控平台可主动下发使切面底座接收所需的信息。
将切面程序注入业务应用程序的切点后,业务应用程序在执行过程中,即可触发该切面程序从而实现相应的安全切面业务功能。
在本说明书中,针对漏洞挖掘主要分为两个部分,第一部分:在执行业务过程中,将切面程序注入到业务系统的业务应用程序中。第二部分:在执行业务过程中,对切面程序采集到的交互数据进行分析,先于攻击方挖掘出业务应用程序的漏洞,并对该漏洞进行修补。
第一部分中的切面程序注入到业务应用程序中需要考虑三个要素:切点、切面程序、切面底座。其中,切点可以表示业务应用程序中注入切面程序的位置。切面底座用于将切面程序注入到某个切点。其中,切面底座可以预先注入于业务应用程序中,可以注入于业务应用程序容器化后的应用容器或虚拟机中。
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
在本说明书实施例中,本说明书提供一种漏洞挖掘系统,该漏洞挖掘系统可以包括:漏洞挖掘管控平台、注入于业务应用程序中的切面底座、数据分析系统。如图1所示。
在图1中,漏洞挖掘管控平台涉及切点列表单元、切面程序单元、管控配置单元。切点列表单元用于管理所有漏洞挖掘场景下的切点。其中漏洞挖掘场景可以包括:账户登录场景、刷脸支付场景、账户校验场景、金融服务场景等。
切面程序单元用于管理所有漏洞挖掘场景下的切面程序以及各切面程序对应的切面程序标识。其中,切面程序标识可以是指切面程序版本标识。
管控配置单元用于选择切面程序、切面程序标识、切面程序注入的切点以及注入方式。其中,注入方式可以包括:静态注入和动态注入。
在选择实际漏洞挖掘场景下的切面程序、切面程序标识、切面程序注入的切点和注入方式之后,漏洞挖掘管控平台根据选择的切面程序、切面程序标识、切面程序注入的切点和注入方式,生成针对切面程序的注入信息。然后,将注入信息发送给切面底座。
切面底座可以指实现注入功能的程序代码。切面底座涉及待注入切点单元、注入方式单元、待注入切面程序单元。待注入切点单元用于接收漏洞挖掘管控平台发送的切点。注入方式单元用于接收漏洞挖掘管控平台发送的注入方式。待注入切面程序单元用于接收漏洞挖掘管控平台发送的切面程序标识,并基于切面程序标识从漏洞挖掘管控平台获取与该切面程序标识对应的切面程序。其中,不同的切面程序可以包括:调用栈检测、函数参数检测等。
在业务执行过程中,切面底座可以部署于业务系统的业务应用程序中。切面底座可以接收漏洞挖掘管控平台发送的注入信息,并基于注入信息中包含的切面程序标识,从漏洞挖掘管控平台获取与切面程序标识对应的切面程序。然后,将切面程序注入到注入信息中包含的切点对应的方法(即,函数)中。
数据分析系统涉及数据分析单元和漏洞挖掘单元。数据分析单元可以通过注入到业务应用程序中的切面程序采集业务执行过程中的交互数据。对获取到的交互数据进行数据分析,得到数据分析结果。若根据数据分析结果确定业务应用程序执行业务过程中存在异常,漏洞挖掘单元可以确定执行业务过程中被攻击的对象,并根据被攻击的对象,挖掘出业务应用程序中的漏洞,并进行修补。
在本说明书实施例中,基于漏洞挖掘系统包括的漏洞挖掘管控平台、切面底座和数据分析系统,本说明书提供一种漏洞挖掘方法的流程示意图,如图2所示。该漏洞挖掘方法可以应用于服务器,该服务器用于执行业务。该漏洞挖掘方法可以包括:
S200:获取待注入的切面程序。
S202:确定所述切面程序在业务应用程序中的切点以及注入方式。
S204:根据所述切点以及所述注入方式,将所述切面程序注入在所述业务应用程序中。
在本说明书实施例中,在漏洞挖掘过程中,通过漏洞挖掘管控平台,向切面底座发送针对不同漏洞挖掘场景的注入请求。然后,服务器获取注入请求,并根据注入请求,将获取到的切面程序注入到业务应用程序中。其中,注入请求中可以携带有切面程序或切面程序标识、待注入的切点、注入方式等。
在漏洞挖掘之前,可以将实现切面注入功能的切面底座部署于业务系统的业务应用程序中。这样,可以通过在服务器上运行的切面底座,获取注入请求,并根据注入请求将获取到的待注入的切面程序注入于业务应用程序中。
具体的,通过预先部署于业务应用程序中的切面底座,可以根据注入请求中携带的切面程序标识,从漏洞挖掘管控平台获取与切面程序标识对应的切面程序,作为待注入的切面程序。同时,可以通过切面底座,从注入请求中确定出待注入的切面程序在业务应用程序中的切点以及注入方式。然后,采用确定出的注入方式,将待注入的切面程序注入到业务应用程序中的切点对应的方法中。其中,待注入的切面程序用于采集各切点处产生的交互数据。不同的切点可以表示不同的业务服务接口。
S206:在所述业务应用程序执行业务时,通过所述切面程序采集执行所述业务时的交互数据,并对所述交互数据进行数据分析,得到数据分析结果。
S208:若根据所述数据分析结果确定出执行所述业务的过程中出现异常,则进一步挖掘出所述业务应用程序的漏洞。
在本说明书实施例中,在业务应用程序执行业务时,服务器可以通过切面程序采集执行业务时各切点处的交互数据。然后,对采集到的交互数据进行数据分析,得到数据分析结果。
具体的,服务器可以将采集到的交互数据发送给数据分析系统。数据分析系统通过预设的分析方式,对交互数据进行数据分析,得到数据分析结果。其中,预设的分析方式可以包括:大数据分析和人工智能算法分析。
其中,在对交互数据进行数据分析后,若交互数据中存在风险等级高的异常数据,则确定执行业务过程中出现异常。
若根据数据分析结果确定出执行业务的过程中出现异常,服务器可以确定执行业务过程中被攻击的对象,并在执行业务的过程中,根据被攻击的对象,挖掘出业务应用程序的漏洞,并对挖掘出的漏洞进行修补。
具体的,若根据数据分析结果确定出执行业务的过程中出现异常,则可以通过数据分析系统,根据出现异常的交互数据,确定执行业务过程中被攻击的对象。然后,在执行业务过程中,根据被攻击的对象以及业务应用程序的源代码,挖掘出业务应用程序的漏洞。其中,被攻击的对象可以指业务服务接口,比如:用户信息接口、刷脸支付接口等。
进一步,在挖掘业务应用程序的漏洞时,可以根据业务应用程序的源代码,确定针对被攻击的对象的漏洞挖掘策略。然后,采用确定出的漏洞挖掘策略,频繁调用被攻击的对象,以挖掘出与被攻击的对象关联的漏洞。其中,当被攻击的对象为用户信息接口时,漏洞挖掘策略可以是遍历不同的用户ID。当被攻击的对象为刷脸支付接口时,漏洞挖掘策略可以是遍历不同用户的脸部图像。
在挖掘业务应用程序的漏洞时,由于在确定出被攻击的对象的基础上,能够知道攻击方的攻击方向,然后,再结合对业务应用程序的源代码的了解,可以比攻击方更快挖掘出业务应用程序的漏洞。
之后,可以根据挖掘出的漏洞以及针对被攻击的对象所预设的漏洞修改程序,对挖掘出的漏洞进行修补。这样,在执行业务过程中,可以有效抵御攻击方的攻击。
接下来,本说明书实施例中提供一种使用漏洞挖掘方法的示意图,如图3所示。
在图3中,在业务系统执行业务过程中,切面程序可以采集注入切面程序的切点所涉及的交互数据,并将交互数据发送给数据分析系统。数据分析系统对交互数据进行分析,发现客户端在第一次采用账户密码认证成功之后,调用用户信息接口356次,且都被业务系统中负责权限的子系统拦截了。显然,攻击方想要通过遍历用户ID来攻击和窃取用户资料信息。当数据分析系统确定业务执行过程中存在异常之后,数据分析系统会进行告警,并顺着用户信息接口方向进行漏洞挖掘,最终发现用户信息接口存在内存溢出攻击漏洞。在挖掘出漏洞后,在业务执行过程中,可以对用户信息接口进行漏洞修补和加固,从而有效抵御攻击方的网络攻击。
通过上述图2所示的方法可见,本说明书通过预先注入的切面底座,确定切面程序在业务应用程序中的切点和注入方式,并将获取到的切面程序注入在业务应用程序中。在业务应用程序执行业务过程中,通过切面程序采集执行业务时的交互数据,并对交互数据进行分析,得到分析结果。若根据分析结果确定出执行业务过程中出现异常,则确定执行业务过程中被攻击的对象,基于对象,挖掘出业务应用程序的漏洞。在此方法中,在执行业务过程中,同步获取并分析交互数据,可以及时确定执行业务过程中被攻击的对象。并且,基于对业务应用程序的源代码的了解,可以先于攻击方挖掘出业务应用程序的漏洞并进行修补,从而有效抵御攻击方的攻击。另外,采用大数据分析和智能人工算法,可以提高漏洞挖掘的效率。漏洞挖掘系统可以针对不同的漏洞挖掘场景配置不同的注入信息,可以提高漏洞挖掘系统的通用性。
以上为本说明书实施例提供的漏洞挖掘方法,基于同样的思路,本说明书还提供了相应的装置、存储介质和电子设备。
图4为本说明书实施例提供的一种漏洞挖掘装置的结构示意图,所述装置包括:
获取模块401,用于获取待注入的切面程序;
确定模块402,用于确定所述切面程序在业务应用程序中的切点以及注入方式;
注入模块403,用于根据所述切点以及所述注入方式,将所述切面程序注入在所述业务应用程序中;
分析模块404,用于在所述业务应用程序执行业务时,通过所述切面程序采集执行所述业务时的交互数据,并对所述交互数据进行数据分析,得到数据分析结果;
漏洞挖掘模块405,用于若根据所述数据分析结果确定出执行所述业务的过程中出现异常,则进一步挖掘出所述业务应用程序的漏洞。
可选地,所述装置还包括:修补模块406;
修补模块406,用于根据挖掘出的漏洞以及针对所述对象预设的漏洞修补程序,对所述漏洞进行修补。
可选地,所述获取模块401,具体用于获取注入请求;根据所述注入请求中携带的切面程序标识,从漏洞挖掘管控平台获取与所述切面程序标识对应的切面程序。
可选地,所述注入模块403,具体用于根据所述切点以及所述注入方式,将所述切面程序注入在所述业务应用程序中的切点对应的方法中,其中,所述注入方式包括:动态注入和静态注入。
可选地,所述分析模块404,具体用于将所述交互数据发送给数据分析系统,以使所述数据分析系统通过预设的分析方式,对所述交互数据进行数据分析,得到数据分析结果。
可选地,所述漏洞挖掘模块405,具体用于确定执行所述业务过程中被攻击的对象,并在执行所述业务的过程中,根据所述对象,挖掘出所述业务应用程序的漏洞。
可选地,所述漏洞挖掘模块405,具体用于根据所述对象与所述业务应用程序的源代码,挖掘出所述业务应用程序的漏洞。
本说明书还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可用于执行上述图2提供的漏洞挖掘方法。
基于图2所示的漏洞挖掘方法,本说明书实施例还提供了图5所示的无人设备的结构示意图。如图5,在硬件层面,该无人设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图2所示的漏洞挖掘方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (10)

1.一种漏洞挖掘方法,所述方法包括:
获取待注入的切面程序;
确定所述切面程序在业务应用程序中的切点以及注入方式;
根据所述切点以及所述注入方式,将所述切面程序注入在所述业务应用程序中;
在所述业务应用程序执行业务时,通过所述切面程序采集执行所述业务时的交互数据,并对所述交互数据进行数据分析,得到数据分析结果;
若根据所述数据分析结果确定出执行所述业务的过程中出现异常,则进一步挖掘出所述业务应用程序的漏洞。
2.如权利要求1所述的方法,获取待注入的切面程序,具体包括:
获取注入请求
根据所述注入请求中携带的切面程序标识,从漏洞挖掘管控平台获取与所述切面程序标识对应的切面程序。
3.如权利要求1所述的方法,根据所述切点以及所述注入方式,将所述切面程序注入在所述业务应用程序中,具体包括:
根据所述切点以及所述注入方式,将所述切面程序注入在所述业务应用程序中的切点对应的方法中,其中,所述注入方式包括:动态注入和静态注入。
4.如权利要求1所述的方法,对所述交互数据进行数据分析,得到数据分析结果,具体包括:
将所述交互数据发送给数据分析系统,以使所述数据分析系统通过预设的分析方式,对所述交互数据进行数据分析,得到数据分析结果。
5.如权利要求1所述的方法,挖掘出所述业务应用程序的漏洞,具体包括:
确定执行所述业务过程中被攻击的对象,并在执行所述业务的过程中,根据所述对象,挖掘出所述业务应用程序的漏洞。
6.如权利要求5所述的方法,根据所述对象,挖掘出所述业务应用程序的漏洞,具体包括:
根据所述对象与所述业务应用程序的源代码,挖掘出所述业务应用程序的漏洞。
7.如权利要求5或6所述的方法,还包括:
根据挖掘出的漏洞以及针对所述对象预设的漏洞修补程序,对所述漏洞进行修补。
8.一种漏洞挖掘装置,包括:
获取模块,用于获取待注入的切面程序;
确定模块,用于确定所述切面程序在业务应用程序中的切点以及注入方式;
注入模块,用于根据所述切点以及所述注入方式,将所述切面程序注入在所述业务应用程序中;
分析模块,用于在所述业务应用程序执行业务时,通过所述切面程序采集执行所述业务时的交互数据,并对所述交互数据进行数据分析,得到数据分析结果;
漏洞挖掘模块,用于若根据所述数据分析结果确定出执行所述业务的过程中出现异常,则进一步挖掘出所述业务应用程序的漏洞。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-7任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述权利要求1-7任一项所述的方法。
CN202210845194.XA 2022-07-18 2022-07-18 一种漏洞挖掘方法、装置、存储介质及电子设备 Pending CN115186269A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210845194.XA CN115186269A (zh) 2022-07-18 2022-07-18 一种漏洞挖掘方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210845194.XA CN115186269A (zh) 2022-07-18 2022-07-18 一种漏洞挖掘方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN115186269A true CN115186269A (zh) 2022-10-14

Family

ID=83519945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210845194.XA Pending CN115186269A (zh) 2022-07-18 2022-07-18 一种漏洞挖掘方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN115186269A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378735A (zh) * 2022-10-19 2022-11-22 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、存储介质及电子设备
WO2024139272A1 (zh) * 2022-12-26 2024-07-04 支付宝(杭州)信息技术有限公司 原型链污染漏洞防护方法及装置、介质、设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378735A (zh) * 2022-10-19 2022-11-22 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、存储介质及电子设备
CN115378735B (zh) * 2022-10-19 2023-03-24 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、存储介质及电子设备
WO2024139272A1 (zh) * 2022-12-26 2024-07-04 支付宝(杭州)信息技术有限公司 原型链污染漏洞防护方法及装置、介质、设备

Similar Documents

Publication Publication Date Title
US20200301764A1 (en) Operating system on a computing system
US10735472B2 (en) Container authorization policies for network trust
US10887346B2 (en) Application-level sandboxing
JP6055574B2 (ja) セキュアなオペレーティングシステム環境へのコンテキストベースのスイッチング
EP3671508A1 (en) Customizing operating system kernels with secure kernel modules
KR101970744B1 (ko) 신뢰 레벨 활성화 기법
CN115378735B (zh) 一种数据处理方法、装置、存储介质及电子设备
CN115186269A (zh) 一种漏洞挖掘方法、装置、存储介质及电子设备
KR20210122288A (ko) 하드웨어 보안 모듈에 대한 보안 게스트들의 보안 키들의 바인딩
US10333925B2 (en) Seamless provision of authentication credential data to cloud-based assets on demand
CN103870749B (zh) 一种实现虚拟机系统的安全监控系统及方法
CN110022311B (zh) 一种基于攻击图的云外包服务数据泄露安全测试用例自动化生成方法
CN110199283B (zh) 用于在网络功能虚拟化环境中认证平台信任的系统和方法
CN110390184B (zh) 用于在云中执行应用的方法、装置和计算机程序产品
CN115185605A (zh) 一种业务执行方法、装置、存储介质及电子设备
CN112805708A (zh) 保护计算机系统上的选定磁盘
CN115374481B (zh) 数据脱敏处理的方法、装置、存储介质及电子设备
CN115277142A (zh) 一种安全防护方法、装置、存储介质及电子设备
CN115186270A (zh) 一种漏洞修复方法、装置、存储介质及电子设备
Paju et al. SoK: A Systematic Review of TEE Usage for Developing Trusted Applications
Duncan et al. Cloud cyber security: finding an effective approach with unikernels
CN115859339A (zh) 一种云存储数据的加密和解密的方法、装置、介质及设备
CN115617471A (zh) 一种业务调用的方法、装置、存储介质及电子设备
CN115495343A (zh) 一种安全维护方法、装置、存储介质及电子设备
US20220066757A1 (en) Determining When to Perform and Performing Runtime Binary Slimming

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination