信息泄露检测方法及装置、存储介质和电子设备与流程

文档序号:32306172发布日期:2022-11-23 10:03阅读:33来源:国知局
1.本公开涉及计算机
技术领域
:,更具体地,涉及一种信息泄露检测方法、信息泄露检测装置、计算机可读存储介质和电子设备。
背景技术
::2.随着计算机与互联网
技术领域
:的发展,导致信息泄露的方式也逐渐丰富,例如攻击api(applicationprograminterface,应用程序编程接口)引起的信息泄露,因此通过对信息泄露的有效检测工作来阻止信息泄露显得尤为重要。3.相关技术通过检测业务请求的响应流量的方式判断是否存在信息泄露,不仅存在漏报,也无法及时阻止信息泄露行为的发生。4.需要说明的是,在上述
背景技术
:部分发明的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。技术实现要素:5.本公开的目的在于提供一种信息泄露检测方法及装置、计算机可读存储介质和电子设备,进而提高信息泄露检测的准确性和防护有效性。6.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。7.根据本公开的一个方面,提供一种信息泄露检测方法,包括:8.在业务请求进入应用程序编程接口服务之前,拦截获取业务请求信息,其中,通过所述应用程序编程接口服务执行所述业务请求对应的业务逻辑;9.根据所述业务请求信息对所述业务请求进行信息泄露检测;10.在执行完成所述业务请求对应的业务逻辑后,拦截获取请求响应结果,并对所述请求响应结果进行信息泄露检测;11.其中,响应于所述信息泄露检测的检测结果指示存在泄露风险,对所述检测结果做出响应处理。12.在本公开的一种示例性实施例中,在发起所述业务请求之前,所述方法还包括:13.在请求处理流程中的第一目标函数设置第一hook点,所述请求处理流程是指所述业务请求进入所述应用程序编程接口服务之前的处理流程;14.在响应处理流程中的第二目标函数设置第二hook点,所述响应处理流程是指完成执行所述业务请求后,生成目标响应结果之前的处理流程;15.其中,所述第一hook点用于拦截所述业务请求信息,并按照第一处理逻辑基于所述业务请求信息进行信息泄露检测和结果响应;所述第二hook点用于拦截所述请求响应结果,并按照第二处理逻辑对所述请求响应结果进行信息泄露检测和结果响应。16.在本公开的一种示例性实施例中,所述根据所述业务请求信息对所述业务请求进行信息泄露检测,包括:17.解析token信息并进行校验;18.将请求参数进行特征匹配处理和越限判断,以检测注入攻击行为;19.基于所述token信息和应用程序编程接口信息进行操作权限校验,以检测越权访问行为。20.在本公开的一种示例性实施例中,所述将请求参数进行特征匹配处理和越限判断,以检测注入攻击行为,包括:21.将所述请求参数与预设的注入攻击行为特征进行匹配,以根据匹配结果检测所述业务请求中的注入攻击行为;22.比对所述请求参数与预设的参数使用范围,根据比对结果检测所述业务请求中的越限行为。23.在本公开的一种示例性实施例中,所述基于所述token信息和应用程序编程接口信息进行操作权限校验,以检测越权访问行为,包括:24.获取所述token信息中的用户角色信息;25.利用所述应用程序编程接口信息中的用户权限信息,对所述用户角色信息进行校验,以检测所述业务请求中的越权访问行为。26.在本公开的一种示例性实施例中,所述在执行完成所述业务请求对应的业务逻辑后,拦截获取请求响应结果,并对所述请求响应结果进行信息泄露检测,包括:27.拦截获取异常响应结果和正常响应结果;28.对所述异常响应结果进行信息泄露检测;29.对所述正常响应结果进行信息泄露检测。30.在本公开的一种示例性实施例中,所述对所述异常响应结果进行信息泄露检测,包括:31.对所述异常响应结果进行语义分析,以获得异常指示信息;32.将所述异常指示信息与预设的泄露指示信息进行特征比对,根据比对结果确定所述异常响应结果中的泄露信息。33.在本公开的一种示例性实施例中,所述对所述正常响应结果进行信息泄露检测,包括:34.通过对所述正常响应结果进行数据流分析,以获取所述正常响应结果中目标实体类;35.对所述目标实体类进行解析,若所述目标实体类的类型为数据库对应的实体类,则所述正常响应结果存在信息泄露风险;36.若解析结果反映所述正常响应结果携带有敏感信息的序列化明文,所述正常响应结果存在信息泄露风险。37.在本公开的一种示例性实施例中,所述响应于所述信息泄露检测的检测结果指示存在泄露风险,对所述检测结果做出响应处理,包括:38.响应于所述业务请求的信息泄露检测结果指示存在泄露风险,拒绝所述业务请求;39.响应于所述请求响应结果的信息泄露检测结果指示存在泄露风险,记录泄露风险;40.其中,对于异常响应结果还进行提示信息重置,对于正常响应结果还保持业务正常运行。41.根据本公开的一个方面,提供一种信息泄露检测装置,所述装置包括:42.第一拦截模块,用于在业务请求进入应用程序编程接口服务之前,拦截获取业务请求信息,其中,通过所述应用程序编程接口服务执行所述业务请求对应的业务逻辑;43.所述第一拦截模块还用于根据所述业务请求信息对所述业务请求进行信息泄露检测;44.第二拦截模块,用于在执行完成所述业务请求对应的业务逻辑后,拦截获取请求响应结果,并对所述请求响应结果进行信息泄露检测;45.结果处理模块,用于响应于所述信息泄露检测的检测结果指示存在泄露风险,对所述检测结果做出响应处理。46.根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。47.根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。48.本公开的示例性实施例中的信息泄露检测方法,一方面,在业务请求进入应用程序接口服务之前,拦截获取业务请求信息,并对根据业务请求信息对业务请求进行信息泄露检测,可以在信息泄露行为发生前进行有效防护,及时防护信息泄露;另一方面,在执行完成业务请求对应的业务逻辑后,拦击获取请求响应结果,并对请求响应结果进行信息泄露检测,通过拦截获取请求响应结果,可以对所有的响应进行检测,包括正常响应和异常响应,降低信息检测的漏检;再一方面,在信息泄露的检测结果指示存在泄露风险时,可以对检测结果做出及时响应,有效阻止信息的泄露。49.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明50.通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:51.图1示出了根据本公开示例性实施例所涉及的一种应用场景图;52.图2示出了根据本公开示例性实施例的一种信息泄露检测方法的流程图;53.图3示出了根据本公开示例性实施例的一种根据业务请求信息对业务请求进行信息泄露检测的流程图;54.图4示出了根据本公开示例性实施例的一种请求响应结果的处理流程图;55.图5示出了根据本公开示例性实施例的一种应用场景下的信息泄露检测方法的流程示意图;56.图6示出了根据本公开示例性实施例的一种信息泄露检测装置的架构示意图;57.图7示出了根据本公开示例性实施例的电子设备的框图。58.在附图中,相同或对应的标号表示相同或对应的部分。具体实施方式59.现在将参考附图更全面地描述示例性实施方式。然而,示例性实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例性实施方式的构思全面地传达给本领域的技术人员。图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。60.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免模糊本公开的各方面。61.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。62.在本领域的相关技术中,对攻击api引起的信息泄露的主要方式是对业务请求的响应流量进行检测,判断是否存在信息泄露。但是,该种方式基于响应中存在的异常流量进行流量特征匹配,通过在响应后进行校验,无法及时防护信息泄露。并且,即便是正常响应也可能存在信息泄露,例如越权访问、直接返回数据库实体类等,通过流量检测是很难检测是否存在信息泄露,进而导致信息泄露检测存在漏检的问题。此外,相关技术在检测到信息泄露后,不能及时阻止信息泄露行为的继续发生,仍可能引起信息进一步泄露,影响系统的安全运行。63.基于此,在本公开示例性实施例中,首先提供了一种信息泄露检测方法。参考图1为本公开示例性实施例所涉及的一种应用场景图。如图1所示,从发起业务请求到生成目标响应结果的完整流程中,业务请求在进入应用程序编程接口api服务之前,还包括过滤器链、执行器链,并通过路径映射参数绑定以匹配api服务,最终进入api服务。在进入api服务后,执行业务请求对应的具体业务逻辑。在业务逻辑处理完成到生成完整的目标响应结果的过程中,还包括返回值处理、执行器链、视图解析渲染、执行器链以及过滤器链等过程。64.其中,在业务请求进入api服务前对业务请求信息进行信息泄露检测可以在业务执行前做到有效检测和防护,经历api服务完成业务逻辑处理到生成目标响应结果之前,对请求响应结果进行检测,不区分是否为异常响应,减少检测的漏报。65.值得说明的是,本公开实施例的信息泄露检测方法可以在api安全防护场景中得到应用,例如web应用、系统应用,等等,对此不做特殊限定。66.值得说明的是,图1中的各步骤的具体实现方式,根据实际实施需要设定,例如在视图解析渲染部分是否进行服务降级处理是根据实际业务需求设定,本公开对此也不做特殊限定。67.如图2示出了根据本公开实施例的一种信息泄露检测方法的流程图,如图2所示,本公开实施例的信息泄露检测方法可以包括步骤s210至步骤s230:68.步骤s210:在业务请求进入应用程序编程接口服务之前,拦截获取业务请求信息,其中,通过应用程序编程接口服务执行业务请求对应的业务逻辑;69.步骤s220:根据业务请求信息对业务请求进行信息泄露检测;70.步骤s230:在执行完成业务请求对应的业务逻辑后,拦截获取请求响应结果,并对请求响应结果进行信息泄露检测;71.其中,响应于信息泄露检测的检测结果指示存在泄露风险,对检测结果做出响应处理。72.根据本公开实施例的信息泄露检测方法,在业务请求进入应用程序接口服务之前,拦截获取业务请求信息,并对根据业务请求信息对业务请求进行信息泄露检测,可以在信息泄露行为发生前进行有效防护,及时防护信息泄露;在执行完成业务请求对应的业务逻辑后,拦击获取请求响应结果,并对请求响应结果进行信息泄露检测,通过拦截获取请求响应结果,可以对所有的响应进行检测,包括正常响应和异常响应,降低信息检测的漏检;在信息泄露的检测结果指示存在泄露风险时,可以对检测结果做出及时响应,有效阻止信息的泄露。73.下面结合图2对本公开实施例的信息泄露检测方法进行详细阐述。74.在步骤s210中,在业务请求进入应用程序编程接口服务之前,拦截获取业务请求信息。75.在本公开示例性实施例中,通过应用程序编程接口api服务执行业务请求对应的业务逻辑。攻击者通过模糊测试或无效/越界等方式访问api服务,验证响应信息,从而获得系统信息。本公开实施例可以在业务请求进入api服务之前,拦截获取业务请求信息。76.业务请求信息包括请求头的cookie/token信息、请求的具体参数和api名称等请求参数,通过拦截业务请求信息在执行具体业务逻辑之前实现信息泄露的检测。77.在一示例性实施例中,以agent的方式插入hook点来拦截获取相关信息。其中,在请求处理流程中的第一目标函数设置第一hook点,请求处理流程是指业务请求进入应用程序编程接口服务之前的处理流程,第一hook点用于拦截业务请求信息,并按照第一处理逻辑基于业务请求信息进行信息泄露检测和结果响应。通过在第一目标函数设置第一hook点,在执行业务请求相关的业务逻辑前进行信息泄露检测和防护,实现信息泄露的及时检测和防护。78.示例性的,可以在执行器链的prehandle中以agent的方式插入第一hook点,参见图1所示,可以在interceptor的执行器链的prehandle中插入第一hook点,由于路径参数绑定流程是通过api比较匹配来确定目标api的过程,例如通过自定义网关的方式实现,本公开实施例通过在路径参数绑定流程前的执行器链的prehandle中插入第一hook点,不仅用户无感知,在第一hook点自解码的过程中不会对执行逻辑造成过多影响。79.值得说明的是,在业务请求进行api服务之前,本公开实施例也可以根据实际业务需求等选取其它的第一目标函数插入第一hook点,对此不做特殊限制。80.在响应处理流程中的第二目标函数设置第二hook点,响应处理流程是指完成执行业务请求后,生成目标响应结果之前的处理流程。第二hook点用于拦截请求响应结果,并按照第二处理逻辑对请求响应结果进行信息泄露检测和结果响应。81.其中,以agent的方式在第二目标函数插入第二hook点。继续参见图1所示,在业务逻辑处理完成到生成完整请求响应的过程中,需要先进行视图解析渲染后,再进入执行器链的aftercompletion方法,本公开实施例在aftercompletion方法中,以agent的方式插入第二hook点。82.由于在视图渲染过程中可能存在全局异常处理的服务降级处理,例如在视图解析渲染时,将存在的异常进行服务降级处理而防止信息泄露,因此在aftercompletion方法中以agent的方式插入第二hook点,可避免得到的响应结果为全局异常处理前的响应结果,从而通过第二hook点可以获取到正常响应结果和异常响应结果,并在aftercompletion执行的过程中,获取响应参数的数据流。83.值得说明的是,在业务逻辑处理完成到生成完整请求响应的过程中,本公开实施例也可以根据实际业务需求等选取其它的第二目标函数插入第二hook点,对此不做特殊限制。84.本公开实施例在业务请求进入api服务之前和业务请求生成目标响应结果之前分别插入hook点,可以对业务请求进行检测,也可以对业务请求的所有响应结果进行检测,无需区分是否异常响应,避免漏检,提高信息检测的全面有效性。85.在步骤s220中,根据业务请求信息对所述业务请求进行信息泄露检测。86.在本公开示例性实施例中,对拦截获取的业务请求信息进行信息泄露检测,以及时阻止信息泄露。其中,如图3所示,根据业务请求信息对业务请求进行信息泄露检测可以包括:87.解析token信息并进行校验;88.将请求参数进行特征匹配处理和越限判断,以检测注入攻击行为;89.基于token信息和应用程序编程接口信息进行操作权限校验,以检测越权访问行为。90.其中,token信息包括用户信息、用户角色,时间戳信息等,当攻击者通过某种方式获取一个token后,可以修改token提高角色权限或使用过期的token进行访问,达到获取系统信息的目的。本公开实施例通过token信息进行解析和校验,判断是否存在token时间过期、用户角色是否正确等来检测业务请求是否存在攻击行为。91.示例性的,当用户存在刷新、退出页面等,再次登录时的token时间更新,但是攻击者可能仍使用过期的token发起访问,此时通过检测token信息来判断是否存在攻击行为。92.将请求参数进行特征匹配处理和越限判断,以检测注入攻击行为可以包括:93.将请求参数与预设的注入攻击行为特征进行匹配,以根据匹配结果检测业务请求中的注入攻击行为;94.比对请求参数与预设的参数使用范围,根据比对结果检测所述业务请求中的越限行为。95.其中,注入攻击行为通过获取系统敏感信息或用户信息,是主要的信息泄露攻击的方式之一。在业务请求进入api服务之前,可以将请求参数与预设的注入攻击行为特征进行匹配,并根据匹配结果检测业务请求中的注入行为攻击。96.攻击者也可以通过使用范围外的值来访问应用,例如将id的值设置为-1,通过判断应用的响应来获取系统信息或系统代码信息。本公开实施例通过比对请求参数与预设的参数使用范围,根据比对结果检测业务请求中是否存在越限行为,以避免存在使用范围外的参数进行恶意访问。97.在一示例性实施例中,基于token信息和应用程序编程接口信息进行操作权限校验,以检测越权访问行为,可以包括:98.获取token信息中的用户角色信息;99.利用应用程序编程接口信息中的用户权限信息,对用户角色信息进行校验,以检测业务请求中的越权访问行为。100.其中,利用token信息中的用户角色信息,结合api信息可以确定是否存在越权行为。在检测过程中,可以结合应用的用户中心,通过对token信息和用户权限信息进行校验,判断是否存在越权访问行为。101.本公开实施例根据业务请求信息对业务请求进行信息泄露检测,以及时检测业务请求中的存在的泄露风险,以对检测结果做出响应处理,避免信息泄露行为的发生。102.在步骤s230中,在执行完成业务请求对应的业务逻辑后,拦截获取请求响应结果,并对请求响应结果进行信息泄露检测。103.在本公开示例性实施例中,业务请求的请求响应结果存在两种情况,一种是业务处理正常返回了请求结果,另一种是业务处理失败,返回了错误信息以及提示。本公开实施例考虑到信息泄露不仅存在于异常响应结果中,在正常响应结果中也可能存在信息泄露,如越权访问、直接返回数据库实体类等,这些信息泄露通过流量检测是难以检测出是否存在问题。因此,通过在执行业务请求对应的业务逻辑后,拦击获取请求响应结果,对请求响应结果均进行信息泄露检测。104.如图4示出了根据本公开示例性实施例的一种请求响应结果的处理流程图。如图4所示,可以拦截获取请求响应结果,在步骤s410中,通过判断业务是否正常处理来区分异常响应结果和正常响应结果。在步骤s420中,对异常响应结果进行信息泄露检测,并在步骤s430中,对正常响应结果进行信息泄露检测。105.其中,对异常响应结果进行信息泄露检测可以包括:106.对异常响应结果进行语义分析,以获得异常指示信息,并将异常指示信息与预设的泄露指示信息进行特征比对,根据比对结果确定异常响应结果中的泄露信息。107.实际实施时,当业务处理异常,异常响应中包含异常提示,例如,当业务处理异常时,应用程序出现相关的报错信息以及程序堆栈信息,如果该些信息直接被返回将造成系统信息以及代码泄露,而开发人员为了方便定位问题,可能会在错误提示中加入敏感信息,如访问某个连接失败、失败原因等,但是具有造成信息泄露的风险。本公开实施例对异常响应结果进行语义分析,以获得异常指示信息,将异常指示信息与预设的泄露指示信息进行特征比对,根据比对结果确定异常响应结果中的泄露信息。108.其中,可以通过检测异常响应结果中的关键字符以确定是否存在以上异常指示信息,无需耗费过多检测时间,避免hook点插入对业务整体耗时的影响。109.示例性的,对异常响应结果进行语义分析获得异常指示信息,例如异常指示信息为一条错误提示,然后将该错误提示与堆栈信息、与常见的sql(structuredquerylanguage,结构化查询语言)异常提示进行特征匹配,以检测异常错误提示中的信息泄露。110.其中,对正常响应结果进行信息泄露检测可以包括:111.首先,通过对正常响应结果进行数据流分析,以获取正常响应结果中目标实体类;其次,对目标实体类进行解析,若目标实体类的类型为数据库对应的实体类,则正常响应结果存在信息泄露风险。并且,若解析结果反映正常响应结果携带有敏感信息的序列化明文,正常响应结果存在信息泄露风险。112.在实际实施时,由于在业务处理流程中插入hook点,通过hook点可获得业务处理的数据流数据,因此当业务正常处理后,返回正确的请求响应,可以对正常响应结果进行数据流分析。通过数据流分析确定响应参数的class类,然后对class类进行分析。113.分析class类可以确定class是否是数据库对应的实体类,例如存在entity、table注解等则表征属于数据库对应的实体类,则正常响应结果存在信息泄露的风险。114.分析class类也可以判断是否直接将敏感信息直接序列化明文返回,如将密码等信息,即使是正常响应结果,若存在以上两种情况,也存在造成系统信息泄露的风险。115.本公开实施例通过第二hook点拦截获取请求响应结果,并对请求响应结果中的异常响应结果和正常响应结果均进行信息泄露检测,减少检测的漏报,提高信息检测的全面有效性。116.在一示例性实施例中,还可以响应于信息泄露检测的检测结果指示存在泄露风险,对检测结果做出响应处理,至少可以包括:117.响应于业务请求的信息泄露检测结果指示存在泄露风险,拒绝业务请求;118.响应于请求响应结果的信息泄露检测结果指示存在泄露风险,记录泄露风险;119.其中,对于异常响应结果还进行提示信息重置,对于正常响应结果还保持业务正常运行。120.实际实施时,业务请求信息中的任一参数存在信息泄露风险,均直接返回错误提示信息,并拒绝业务请求。例如返回系统繁忙的提示。当业务正常返回,在不影响业务正常运行的情况下,不对该响应做出修改,而通过日志记录本次访问,以通过日志记录的行为通知开发人员做出后续处理。当业务异常返回时,可以重置请求响应结果,将存在信息泄露的异常响应结果进行服务降低,重置为系统友好提示,例如系统繁忙,以阻止信息泄露。121.如图5示出了应用场景下的信息泄露检测方法的流程示意图,下面结合图1和图5,对于应用场景下的信息泄露检测方法进行说明。122.步骤s510,在请求处理流程中的第一目标函数设置第一hook点。123.其中,在业务请求进入api服务之前插入第一hook点,可以对请求头和请求参数进行校验,可检测出越权访问等行为。124.步骤s520:在响应处理流程中的第二目标函数设置第二hook点。125.在业务逻辑处理完成到生成目标响应结果之前插入第二hook点,可检测所有的异常响应结果,第二hook点处可以使用数据流分析检测正常响应结果,从而对异常/正常响应结果均做出信息泄露检测,检测检测的漏报。126.步骤s530:根据业务请求信息对业务请求进行信息泄露检测。127.可以对cookie/token信息和请求参数进行校验。128.步骤s540:对拦截获取的请求响应结果进行信息泄露检测。129.步骤s550:响应于信息泄露检测的检测结果指示存在泄露风险,对检测结果做出响应处理。130.其中,若未检测到泄露风险,则正常放行。若存在泄露风险,则按照预设的响应处理方式进行响应处理,确保在不影响运行中应用不出问题的情况下,阻止信息泄露。131.值得说明的是,本公开实施例的信息泄露检测方法具有广泛的应用场景。例如,可以在api安全防护中使用,对线上服务进行信息泄露防护,以减少api信息泄露;又如,在开发、安全和运营devsecops中使用,维护服务上线后的安全运营;再如,在红蓝对抗中通过应用本公开实施例的信息泄露检测方法降低系统应用被攻击造成的信息泄露,等等,在此不再一一列举。132.由以上可知,本公开实施例的信息泄露检测方法,在api访问流程中,在业务请求request和请求响应response的流程中分别插入hook点,服务请求参数和响应参数进行检测,判断是否存在越限访问、冒充访问、注入攻击、越权访问、判断响应是否存在信息泄露,增加了api安全信息泄露方面可检测的攻击类型。通过agent方式插入hook点,在hook点不仅可以检测request参数,还可以检测resonse参数的正常响应结果以及异常响应结果,提高了信息泄露检测的覆盖度。此外,在检测出存在信息泄露后,在hook点以及做出响应处理,对正常业务采取日志记录的方式,从而不影响正常业务的运行,对异常请求以及异常响应采取降级处理,将存在的信息泄露的响应重置为友好提示,阻止信息泄露,从而提高信息检测的全面有效性。133.此外,根据本公开的示例性实施例,还提供一种信息泄露检测装置,如图6所示,该装置600包括:134.第一拦截模块610,用于在业务请求进入应用程序编程接口服务之前,拦截获取业务请求信息,其中,通过所述应用程序编程接口服务执行所述业务请求对应的业务逻辑;135.所述第一拦截模块610还用于根据所述业务请求信息对所述业务请求进行信息泄露检测;136.第二拦截模块620,用于在执行完成所述业务请求对应的业务逻辑后,拦截获取请求响应结果,并对所述请求响应结果进行信息泄露检测;137.结果处理模块630,用于响应于所述信息泄露检测的检测结果指示存在泄露风险,对所述检测结果做出响应处理。138.在本公开一示例性实施例中,信息泄露检测装置600还包括:139.第一设置模块,用于在请求处理流程中的第一目标函数设置第一hook点,所述请求处理流程是指所述业务请求进入所述应用程序编程接口服务之前的处理流程;140.第二设置模块,用于在响应处理流程中的第二目标函数设置第二hook点,所述响应处理流程是指完成执行所述业务请求后,生成目标响应结果之前的处理流程;141.其中,所述第一hook点用于拦截所述业务请求信息,并按照第一处理逻辑基于所述业务请求信息进行信息泄露检测和结果响应;所述第二hook点用于拦截所述请求响应结果,并按照第二处理逻辑对所述请求响应结果进行信息泄露检测和结果响应。142.在本公开一示例性实施例中,第一拦截模块610可以包括:143.第一检测单元,用于解析token信息并进行校验;144.第二检测单元,用于将请求参数进行特征匹配处理和越限判断,以检测注入攻击行为;145.第三检测单元,用于基于所述token信息和应用程序编程接口信息进行操作权限校验,以检测越权访问行为。146.在本公开一示例性实施例中,第二检测单元被配置为:147.将所述请求参数与预设的注入攻击行为特征进行匹配,以根据匹配结果检测所述业务请求中的注入攻击行为;148.比对所述请求参数与预设的参数使用范围,根据比对结果检测所述业务请求中的越限行为。149.在本公开一示例性实施例中,第三检测单元被配置为:150.获取所述token信息中的用户角色信息;151.利用所述应用程序编程接口信息中的用户权限信息,对所述用户角色信息进行校验,以检测所述业务请求中的越权访问行为。152.在本公开一示例性实施例中,第二拦截模块620还可以包括:153.拦截单元,用于拦截获取异常响应结果和正常响应结果;154.第四检测单元,用于对所述异常响应结果进行信息泄露检测;155.第五检测单元,用于对所述正常响应结果进行信息泄露检测。156.在本公开一示例性实施例中,第四检测单元被被配置为:157.对所述异常响应结果进行语义分析,以获得异常指示信息;158.将所述异常指示信息与预设的泄露指示信息进行特征比对,根据比对结果确定所述异常响应结果中的泄露信息。159.在本公开一示例性实施例中,第五检测单元被配置为:160.通过对所述正常响应结果进行数据流分析,以获取所述正常响应结果中目标实体类;161.对所述目标实体类进行解析,若所述目标实体类的类型为数据库对应的实体类,则所述正常响应结果存在信息泄露风险;162.若解析结果反映所述正常响应结果携带有敏感信息的序列化明文,所述正常响应结果存在信息泄露风险。163.在本公开一示例性实施例中,结果处理模块630可以包括:164.第一响应单元,用于响应于所述业务请求的信息泄露检测结果指示存在泄露风险,拒绝所述业务请求;165.第二响应单元,用于响应于所述请求响应结果的信息泄露检测结果指示存在泄露风险,记录泄露风险;166.其中,对于异常响应结果还进行提示信息重置,对于正常响应结果还保持业务正常运行。167.由于本公开的示例性实施例的信息泄露检测装置的各个功能模块(单元)的具体细节在上述信息泄露检测方法的发明实施例中已经详细说明,因此不再赘述。168.应当注意,尽管在上文详细描述中提及了信息泄露检测装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。169.此外,在本公开示例性实施方式中,还提供了一种能够实现上述方法的计算机存储介质。其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。170.本公开实施例还提供用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。171.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。172.计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。173.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。174.可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。175.此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。所属
技术领域
:的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。176.下面参照图7来描述根据本公开的这种实施例的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。177.如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740。178.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。179.存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(rom)723。180.存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。181.总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。182.电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。183.通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。184.此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。185.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本
技术领域
:中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1