进程注入攻击检测方法、装置、电子设备及存储介质

文档序号:190870 发布日期:2021-11-02 浏览:31次 >En<

阅读说明:本技术 进程注入攻击检测方法、装置、电子设备及存储介质 (Process injection attack detection method and device, electronic equipment and storage medium ) 是由 黄超华 于 2021-07-30 设计创作,主要内容包括:本发明公开了一种进程注入攻击检测方法、装置、电子设备及存储介质,通过获取应用程序运行时产生的第一maps信息以及终端的配置信息,计算出应用程序的最新版本的第一特征值,基于第一特征值与预先定义的正常特征值进行比较,若两者不一致,则提取异常部分信息进行异常分析,输出攻击检测结果,若两者一致,则对第一maps信息中的路径信息进行验证,得到攻击检测结果。通过上述方法实现进程注入攻击的检测,不需要大量收集攻击案例来学习,只需要设定正常的界限,即可实现不同场景的攻击检测的兼容使用,并且该正常特征值的设定结合了应用程序本身信息、终端信息和运行信息,使得该值更加贴近于攻击案例,大大提高了检测的精准度。(The invention discloses a process injection attack detection method, a device, electronic equipment and a storage medium, wherein a first characteristic value of the latest version of an application program is calculated by acquiring first maps information generated when the application program runs and configuration information of a terminal, the first characteristic value is compared with a predefined normal characteristic value, if the first characteristic value and the predefined normal characteristic value are not consistent, abnormal part information is extracted for abnormal analysis, an attack detection result is output, and if the first characteristic value and the predefined normal characteristic value are consistent, path information in the first maps information is verified to obtain the attack detection result. The detection of the process injection attack is realized through the method, a large number of attack cases do not need to be collected for learning, the compatible use of the attack detection of different scenes can be realized only by setting a normal boundary, and the setting of the normal characteristic value combines the information of the application program, the terminal information and the operation information, so that the value is closer to the attack cases, and the detection accuracy is greatly improved.)

进程注入攻击检测方法、装置、电子设备及存储介质

技术领域

本发明涉及终端检测技术领域,尤其涉及一种进程注入攻击检测方法、装置、电子设备及存储介质。

背景技术

随着移动互联网的诞生以来,移动终端技术的研发和推广得到了飞速发展,由于是在移动终端上的移动应用程序APP,尤其是安卓系统和Windows系统上的应用程序。为了适应于用户的使用需求,第三方在不断地研发出实现各种功能第三方应用程序,而这些第三方应用程序基本是属于开放式的推广,由于其开放式的特性,这些第三方应用程序的执行代码或者底层代码很容易被篡改插入一些恶意攻击程序,或者是被一些病毒注入攻击,导致客户端受到影响,甚至导致用户的隐私信息被泄露。

基于此,目前解决上述问题的解决方案是通过在客户端上设置检测工具,检测工具中预先设定有一些可能存在的攻击行为,然后监控应用程序在执行过程中是否存在相同的攻击行为,若存在,则认定为该应用程序中存在注入攻击,反之则不存在,但是这样的实现方式,对于攻击行为的收集需要比较大的数据量,对于新的攻击行为则无法检测到,这就导致检测准确率和场景适应度较低。

发明内容

本发明的主要目的是提供一种进程注入攻击检测方法、装置、电子设备及存储介质,以解决现有的攻击检测无法适应新场景的攻击检测,导致检测准确度不高的技术问题。

本发明第一方面提供了一种进程注入攻击检测方法,所述进程注入攻击检测方法包括:

获取终端的配置信息和基于所述终端运行的应用程序在运行时产生的第一maps信息;

提取所述第一maps信息中的路径信息,并基于所述路径信息和所述配置信息计算出所述应用程序的最新版本的第一特征值;

将所述第一特征值与预先定义的正常特征值进行比对分析,得到比对分析结果;

若所述比对分析结果为不一致,则提取所述应用程序中异常部分信息进行异常分析,输出攻击检测结果;

若所述对比分析结果为一致,则对所述路径信息进行一致性的验证,并基于验证的结果输出攻击检测结果。

可选的,在本发明第一方面的第一种实现方式中,所述获取终端的配置信息和基于所述终端运行的应用程序在运行时产生的第一maps信息包括:

在检测到终端中存在应用程序被运行时,获取所述终端的基带信息,并基于所述基带信息中提取出系统版本信息和所述终端的机型设备型号;

调用终端上的安全监控工具执行预设的收集策略,通过执行所述收集策略从所述终端的运行后台中获取所述应用程序的所有进程信息和应用程序的最新版本号,并基于所述所有进程信息生成第一maps信息。

可选的,在本发明第一方面的第二种实现方式中,所基于所述路径信息和所述配置信息计算出所述应用程序的最新版本的第一特征值括:

根据预设的正常特征值的定义规则,将所述路径信息、最新版本号、系统版本信息和机型设备型号进行拼接,得到所述应用程序运行时的第一特征值,其中所述定义规则为至少包含以下信息的随机组合:系统版本信息、机型设备型号、最新版本号、maps信息。

可选的,在本发明第一方面的第三种实现方式中,所述提取所述应用程序中异常部分信息进行异常分析,输出攻击检测结果包括:

确定所述第一特征值是否大于正常特征值;

若是,则提取所述第一maps信息中相对于前一版本的maps信息多出的加载文件;

若否,则提取所述第一maps信息中相对于前一版本的maps信息缺失的加载文件;

根据所述多出的加载文件或者所述缺失的加载文件进行攻击分析,得到攻击检测结果。

可选的,在本发明第一方面的第四种实现方式中,所述基于所述多出的加载文件或者所述缺失的加载文件进行攻击分析,得到攻击检测结果包括:

判断所述多出的加载文件或缺失的加载文件是否为代码文件;

若是,则提取当前版本的代码文件与前一版本的代码文件中异常部分的代码文件,并将所述异常部分的代码文件回传至所述终端对应的服务器后台进行测试以及分析其来源,基于测试的结果和所述来源生成第一攻击检测结果;

若否,则将所述加载文件回传至所述终端对应的服务器后台分析其来源,基于所述来源生成第二攻击检测结果。

可选的,在本发明第一方面的第五种实现方式中,所述将所述异常部分的代码文件回传至所述终端对应的服务器后台进行测试以及分析其来源,基于测试的结果和所述来源生成第一攻击检测结果包括:

根据所述加载文件提取对应的路径文件,通过增加的系统接口将所述路径文件回传至对应的服务器后台;

利用逆向分析方法分析其中的逻辑关系以及来源,基于分析得到的逻辑关系和所述来源生成第一攻击检测结果。

可选的,在本发明第一方面的第六种实现方式中,所述对所述路径信息进行一致性的验证,并基于验证的结果输出攻击检测结果包括:

利用哈希算法计算所述路径信息的哈希值;

将所述哈希值与前一版本的应用程序的路径信息的哈希值或者预设值进行比较;

若比较的结果为不一致,则利用逆向分析方法分析其中的逻辑关系以及来源,基于分析得到的逻辑关系和所述来源生成第三攻击检测结果。

本发明第二方面提供了一种进程注入攻击检测装置,所述进程注入攻击检测装置包括:

采集模块,用于获取终端的配置信息和基于所述终端运行的应用程序在运行时产生的第一maps信息;

计算模块,用于提取所述第一maps信息中的路径信息,并基于所述路径信息和所述配置信息计算出所述应用程序的最新版本的第一特征值;

对比模块,用于将所述第一特征值与预先定义的正常特征值进行比对分析,得到比对分析结果;

检测模块,用于在所述比对分析结果为不一致时,提取所述应用程序中异常部分信息进行异常分析,输出攻击检测结果;以及在所述对比分析结果为一致时,对所述路径信息进行一致性的验证,并基于验证的结果输出攻击检测结果。

可选的,在本发明第二方面的第一种实现方式中,所述采集模块包括:

第一获取单元,用于在检测到终端中存在应用程序被运行时,获取所述终端的基带信息,并基于所述基带信息中提取出系统版本信息和所述终端的机型设备型号;

第二获取单元,用于调用终端上的安全监控工具执行预设的收集策略,通过执行所述收集策略从所述终端的运行后台中获取所述应用程序的所有进程信息和应用程序的最新版本号,并基于所述所有进程信息生成第一maps信息。

可选的,在本发明第二方面的第二种实现方式中,所述计算模块具体用于:

根据预设的正常特征值的定义规则,将所述路径信息、最新版本号、系统版本信息和机型设备型号进行拼接,得到所述应用程序运行时的第一特征值,其中所述定义规则为至少包含以下信息的随机组合:系统版本信息、机型设备型号、最新版本号、maps信息。

可选的,在本发明第二方面的第三种实现方式中,所述检测模块包括:

确定单元,用于确定所述第一特征值是否大于正常特征值;

第一提取单元,用于在确定所述第一特征值大于正常特征值时,提取所述第一maps信息中相对于前一版本的maps信息多出的加载文件;

第二提取单元,用于在确定所述第一特征值不大于正常特征值时,提取所述第一maps信息中相对于前一版本的maps信息缺失的加载文件;

检测单元,用于根据所述多出的加载文件或者所述缺失的加载文件进行攻击分析,得到攻击检测结果。

可选的,在本发明第二方面的第四种实现方式中,所述检测单元具体用于:

判断所述多出的加载文件或缺失的加载文件是否为代码文件;

若是,则提取当前版本的代码文件与前一版本的代码文件中异常部分的代码文件,并将所述异常部分的代码文件回传至所述终端对应的服务器后台进行测试以及分析其来源,基于测试的结果和所述来源生成第一攻击检测结果;

若否,则将所述加载文件回传至所述终端对应的服务器后台分析其来源,基于所述来源生成第二攻击检测结果。

可选的,在本发明第二方面的第五种实现方式中,所述检测单元具体用于:

根据所述加载文件提取对应的路径文件,通过增加的系统接口将所述路径文件回传至对应的服务器后台;

利用逆向分析方法分析其中的逻辑关系以及来源,基于分析得到的逻辑关系和所述来源生成第一攻击检测结果。

可选的,在本发明第二方面的第六种实现方式中,所述检测模块还包括:

哈希计算单元,用于利用哈希算法计算所述路径信息的哈希值;

第二比较单元,用于将所述哈希值与前一版本的应用程序的路径信息的哈希值或者预设值进行比较;

输出单元,用于在所述哈希值与前一版本的应用程序的路径信息的哈希值或者预设值不一致时,利用逆向分析方法分析其中的逻辑关系以及来源,基于分析得到的逻辑关系和所述来源生成第三攻击检测结果。

本发明第三方面提供了一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面提供的进程注入攻击检测方法中的各个步骤。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的进程注入攻击检测方法中的各个步骤。

本发明的技术方案中,通过获取应用程序运行时产生的第一maps信息以及终端的配置信息,计算出应用程序的最新版本的第一特征值,基于第一特征值与预先定义的正常特征值进行比较,若两者不一致,则提取异常部分信息进行异常分析,输出攻击检测结果,若两者一致,则对第一maps信息中的路径信息进行验证,得到攻击检测结果,这样的方式只需要应用程序正常运行的特征值即可实现攻击检测,相比于现有技术来说,不需要收集攻击案例,该种方式更加容易实现,可以适用于各种应用程序在不同场景下的攻击检测,提高了场景的通用度。

进一步的,该正常特征值的设定结合了应用程序本身信息、终端信息和运行信息,使得该值更加贴近于攻击案例,大大提高了检测的精准度,同时能够检测出应用程序是否受到注入攻击,为及时采取防御措施防止应用程序被注入工具攻击奠定了基础,提升了用户使用应用程序的体验,降低了用户信息泄密的可能。

附图说明

图1为本发明中进程注入攻击检测方法的第一个实施例示意图;

图2为本发明中进程注入攻击检测方法的第二个实施例示意图;

图3为本发明中进程注入攻击检测方法的第三个实施例示意图;

图4为本发明中进程注入攻击检测装置的一个实施例示意图;

图5为本发明中进程注入攻击检测装置的另一个实施例示意图;

图6为本发明中电子设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种进程注入攻击检测方法、装置、电子设备及存储介质,该方法基于应用程序的运行情况,预先定义正常的运行值,即是正常特征值,然后实时获取终端上对应的应用程序运行时的maps信息,基于maps信息结合终端的配置信息计算出实时的特征值,将实时的特征值与正常特征值进行对比,若比对不一致,则提取maps信息中不一致的加载文件进行攻击检测,通过与正常值的比较,避免了攻击案例或者攻击特征的收集,相比于现有技术来说,简化了检测对比流程,提高了场景的兼容性,提高了检测准确度。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,在检测到进程存在注入攻击的风险后,提醒系统及时进行拦截等处理,避免用户信息的丢失。请参考图1所示,本发明实施例中进程注入攻击检测方法的第一个实施例包括:

101、获取终端的配置信息和基于终端运行的应用程序在运行时产生的第一maps信息;

在本实施例中,这里的终端指的是可安装第三方应用程序的终端,如电脑、平板、手机等终端,用户通过应用商城或者网页上下载应用程序包进行运行安装,而该方法主要是用于检测安装的应用程序是否存在恶意注入程序或者代码对终端进行攻击。

该步骤中,该终端的配置信息指的是终端的软件系统相关信息和硬件相关信息,如系统版本信息和终端的唯一标识,这些信息具体可以从终端中的系统设置中获取,其实现步骤如下:

在检测到终端中存在应用程序被运行时,获取所述终端的基带信息,并基于所述基带信息中提取出系统版本信息和所述终端的机型设备型号;

调用终端上的安全监控工具执行预设的收集策略,通过执行所述收集策略从所述终端的运行后台中获取所述应用程序的所有进程信息和应用程序的最新版本号,并基于所述所有进程信息生成第一maps信息。

在实际应用中,在启动进程注入攻击检测程序后,该程序通过对调用终端的软件系统的运行接口在后台启动系统,具体是调用设置功能,通过调用设置功能调出系统信息的界面,通过OCR识别技术对界面中的文字信息进行识别,提取其中的系统字段和设备字段,从而得到系统版本号和机型设备型号。例如手机,通过启动设置功能,调度“关于手机”功能,显示出手机的系统信息和设备信息,然后通过调度手机上的文字识别功能对界面中的信息进行提取,最后从提取到的信息中筛选出系统版本号和设备的机型设备型号,从而得到基带信息,这里的基带信息指的是包括软件系统和设备信息的设备信息。

在本实施例中,该第一maps信息可以理解为是终端的进程记录,在实际应用中,可以根据用户的需求进行监控采集,也可以是全部监控采集,例如,当终端需要进行程序安装时,用户通过在终端上触发应用程序的安装操作,根据用户的操作获取对应的应用程序的名称,基于名称查询终端后台中的进程信息,筛选出与所述名称对应的全部进程,根据全部进程生成对应的第一maps信息,当然还包括检测在终端中是否存在与所述名称对应的历史版本信息,若存在,则以历史版本为查询索引从终端后台中查询出最接近于当前时间的进程记录,基于所述进程记录生成对应的第二maps信息。

102、提取第一maps信息中的路径信息,并基于路径信息和配置信息计算出应用程序的最新版本的第一特征值;

maps文件是软件系统的内存映射表文件,每一行表示内存中的一段内存,包括内存段的开始和结束地址,内存权限(有执行权限的是代码段)以及映射到该内存段的文件(如果有的话),通过maps文件可以得到进程所有代码段的地址范围以及映射到此代码段的模块的信息。

本实施例中,在提取路径信息时,具体是根据maps格式解析第一maps信息,提取第一maps信息中的每一行信息,基于每行信息确定应用程序的代码文件中各代码段的起始地址和结束地址,从而得到路径信息。而对于应用程序的最新版本号,具体可以通过解析应用程序的安装包来获取得到。

该步骤中,基于路径信息和配置信息计算得到的应用程序的最新版本的第一特征值,可选的是通过路径信息和配置信息进行拼接得到,而该第一特征值实际上是一个信息组合,其包括终端的系统版本号、机型设备型号、应用程序的版本号和maps信息。计算时是根据预先定义好的排序规则进行计算,当然,为了保证信息的安全和一致性,还可以通过加密算法进行排序加密计算得到,这时该第一特征值为加密后的密文。

103、将第一特征值与预先定义的正常特征值进行比对分析,得到比对分析结果;

该步骤中,比较第一特征值与正常特征值是否一致,若不一致,则确定最新版本的应用程序中存在不同的记载文件,根据加载文件输出比较的结果。

104、若比对分析结果为不一致,则提取应用程序中异常部分信息进行异常分析,输出攻击检测结果;

该步骤中,具体是提取第一maps信息中的多出或缺少的加载信息,并对该部分加载信息进行注入攻击的检测,该检测具体是对加载信息的来源进行分析,而对于来源为非法或者是不信任的用户添加得到的,则输出注入攻击告警。

105、若对比分析结果为一致,则对路径信息进行一致性的验证,并基于验证的结果输出攻击检测结果。

本实施例中,验证路径信息的一致性,具体可以是利用校验算法对路径信息进行转换,得到一个唯一性的参考量,基于该参考量来验证路径信息是否正常,其中,将参考量与预先设定的参考值进行比较,得到校验结果,基于校验结果得到攻击检测结果。

在实际应用中,除了上述的检验方式之外,还可以通过与前一版本的产生的路径信息进行比对,具体的可以将两个路径信息进行比对,也可以是利用校验算法分别计算两个版本的应用程序运行时产生的路径信息的校验值,将两个校验值进行比对,若一致,则输出无注入攻击,若不一致,则输出存在注入攻击。

在本实施例中,对于异常分析和一致性的验证,具体还可以通过提取对应的加载信息回传至终端的后台进行测试校验和实现,例如通过系统中增加接口将此文件获取,并通过网络连接及接口,回传至服务器后台,安全开发人员下载此文件,通过逆向等技术分析方法,进一步此文件中逻辑。同时内部测试人员也内部尝试复现等跟进。

本发明实施例中,通过结合应用程序本身信息、终端信息和运行信息设定正常特征值,然后实时获取终端上对应的应用程序运行时的maps信息,基于maps信息结合终端的配置信息计算出实时的特征值,将实时的特征值与正常特征值进行对比,若比对不一致,则提取maps信息中不一致的加载文件进行攻击检测,这样的方式能够检测出应用程序是否受到注入攻击,为及时采取防御措施防止应用程序被注入工具攻击奠定了基础,提升了用户使用应用程序的体验,降低了用户信息泄密的可能,同时还提供了检测的准确度,无需攻击案例或者特征的收集,简化的检测流程,提高了场景的通用性。

请参阅图2,本发明实施例中进程注入攻击检测方法的第二个实施例包括:

201、获取终端的配置信息和基于终端运行的应用程序在运行时产生的第一maps信息;

该步骤中,对于终端的配置信息的获取可以通过解析终端当前的系统和终端的基带信息来得到。而对于第一maps信息则可以通过终端上的安全工具来获取,例如手机自带的“手机管家”或者“某某卫士”等软件,通过安全App(如手机管家)设定收集策略,每个机型版本每天收集一次系统关键进程(设置,电话或systemui等)的进程maps信息,并把当前系统版本(Flyme版本号)+机型设备型号+App版本号的信息组合一起上传至服务器后台,从而得到第一maps信息。

在本实施例中,在步骤201之前还包括针对终端上系统程序和第三方程序的运行分别定义预设值,该预设值为不同类型的应用程序在调用终端中各软件或者硬件的调用信息。

当然,本实施例优选的是针对每个应用程序进行定义,即是在终端首次安装应用程序时,会根据第一次安装的版本进行定义,而在后续的版本中会不断更新该值的设置,从而保证后续应用程序的安全更新。

202、提取第一maps信息中的路径信息,根据预设的正常特征值的定义规则,将路径信息、最新版本号、系统版本信息和机型设备型号进行拼接,得到应用程序运行时的第一特征值;

该步骤中,所述定义规则为系统版本信息+机型设备型号+最新版本号+maps信息。在计算第一特征值时,首先需要根据maps信息的格式解析出maps信息中记录的应用程序在运行时对于终端的软件或者硬件的调用信息,例如应用程序的代码文件中的每个代码段的调用起始地址,基于起始地址得到路径信息,然后根据定义规则中对于各个信息的排序进行排序后,得到系统版本信息、机型设备型号、最新版本号和路径信息的序列,将该序列进行前后拼接,得到第一特征值。

在实际应用中,在拼接之前还可以包括对每个信息进行类型的标记,即是在每个信息中添加标志位,当然在标记之前需要将每个信息进行二进制的转换,转换为数字字符串,将数字字符串中的最高置为1,以实现对信息的标记,然后将各信息的数字字符串进行先后拼接,从而得到第一特征值。

203、将第一特征值与预先定义的正常特征值进行比对分析,得到比对分析结果;

204、若比对分析结果为不一致,则确定第一特征值是否大于正常特征值;

205、若是,则提取第一maps信息中相对于前一版本的maps信息多出的加载文件;

206、若否,则提取第一maps信息中相对于前一版本的maps信息缺失的加载文件;

207、根据多出的加载文件或者缺失的加载文件进行攻击分析,得到攻击检测结果;

在本实施例中,在对加载文件进行攻击分析时,具体是将加载文件发送至终端对应的服务器上进行分析,即是在将上传到后台的实时数据与预设的正常值进行对比时,若发现第一maps信息中的pathname(路径)不一致(如运行时中多出一些私有加载的代码文件),则进一步分析异常情况。也可以设定自动化的策略,如发现运行时中多出一些私有加载的代码文件,则定义为高风险项,由安全工程师进一步确认分析;如发现运行时中多出一些其它信息,则定义为低风险项,由安全工程师定时检查。

进一步的,将上传到后台的实时数据与预设的正常值进行对比,若发现maps信息中的pathname不一致分以下情况:

a、比正常特征值多出一些加载文件

则根据加载文件的信息,取出路径信息,通过系统中增加接口将此文件获取,并通过网络连接及接口,回传至服务器后台,安全开发人员下载此文件,通过逆向等技术分析方法,进一步此文件中逻辑。同时内部测试人员也内部尝试复现等跟进。

b、与正常特征值一致

这种情况需要进一步分析每个文件的md5(hash)值与预设值是否相等。如果不一样,则则根据加载文件的信息,取出路径信息,通过系统中增加接口将此文件获取,并通过网络连接及接口,回传至服务器后台,安全开发人员下载此文件,通过逆向等技术分析方法,进一步此文件中逻辑。同时内部测试人员也内部尝试复现等跟进。

c、比正常特征值少

将缺少的文件信息回传至服务器后台,则开发人员进一步分析原因。

208、若比对分析结果为一致,对路径信息进行一致性的验证,并基于验证的结果输出攻击检测结果。

在本实施例中,在比对路径信息的一致性时,具体采用MD5加密算法来实现,通过MD5加密算法对当前版本的路径信息进行加密计算,得到加密数值,将所述加密数值与预设的数值进行比较,若不一致,则确定该应用程序的当前版本代码存在注入攻击。

本发明实施例中,基于应用程序的运行情况,预先定义正常的运行值,即是正常特征值,然后实时获取终端上对应的应用程序运行时的maps信息,基于maps信息结合终端的配置信息计算出实时的特征值,将实时的特征值与正常特征值进行对比,若比对不一致,则提取maps信息中不一致的加载文件进行攻击检测,通过与正常值的比较,无需进行攻击案例或者攻击特征的收集,简化了检测对比流程,提高了场景的兼容性,提高了检测准确度。

请参阅图3,本发明实施例中进程注入攻击检测方法的第三个实施例包括:

301、定义正常的预设值;

本实施例中,由系统版本(Flyme版本号)+机型设备型号+App版本号+App运行时中的maps信息(/proc/pid/maps,其中pid为App运行时的进程id,不固定,每次启动到结束进程为生命周期),组成某个机型某个系统版本某个App版本运行时信息,此信息存于服务器后台,作为正常的预设特征值。

302、收集应用程序的运行数据和运行应用程序的终端的配置信息;

本实施例中,在检测到终端中存在应用程序被运行时,获取所述终端的基带信息,并基于所述基带信息中提取出系统版本信息和所述终端的机型设备型号;

调用终端上的安全监控工具执行预设的收集策略,通过执行所述收集策略从所述终端的运行后台中获取所述应用程序的所有进程信息和应用程序的最新版本号,并基于所述所有进程信息生成第一maps信息。

在实际应用中,通过安全App(如手机管家)设定收集策略,每个机型版本每天收集一次系统关键进程(设置,电话或systemui等)的进程maps信息,从maps信息中提取到路径信息,同时还获取终端的当前系统版本(Flyme版本号)+机型设备型号+App版本号等信息,形成信息集合,为了便于后续攻击的检测,将收集到的数据发送至对应的服务器后台中进行存储。

303、提取所述第一maps信息中的路径信息,并基于所述路径信息和所述配置信息计算出所述应用程序的最新版本的第一特征值;

该步骤根据预设的正常特征值的定义规则,将所述路径信息、最新版本号、系统版本信息和机型设备型号进行拼接,得到所述应用程序运行时的第一特征值,其中所述定义规则为至少包含以下信息的随机组合:系统版本信息、机型设备型号、最新版本号、maps信息,例如:系统版本信息+机型设备型号+最新版本号+maps信息,在实际应用中,除了上述的信息之外,还可以包含其他的信息,比如app安装时间和更新时间等。

304、将第一特征值与预先定义的正常特征值进行比对分析,得到比对分析结果;

305、若比对分析结果为不一致,则提取应用程序中异常部分信息进行异常分析,输出攻击检测结果;

本实施例中,确定所述第一特征值是否大于正常特征值;

若是,则提取所述第一maps信息中相对于前一版本的maps信息多出的加载文件;

若否,则提取所述第一maps信息中相对于前一版本的maps信息缺失的加载文件;

根据所述多出的加载文件或者所述缺失的加载文件进行攻击分析,得到攻击检测结果。

进一步的,所述基于所述多出的加载文件或者所述缺失的加载文件进行攻击分析,得到攻击检测结果包括:

判断所述多出的加载文件或缺失的加载文件是否为代码文件;

若所述多出的加载文件或缺失的加载文件为代码文件,则提取当前版本的代码文件与前一版本的代码文件中异常部分的代码文件,并将所述异常部分的代码文件回传至所述终端对应的服务器后台进行测试以及分析其来源,基于测试的结果和所述来源生成第一攻击检测结果;

在实际应用中,根据加载文件的信息,取出路径信息,通过系统中增加接口将此文件获取,并通过网络连接及接口,回传至服务器后台,安全开发人员下载此文件,通过逆向等技术分析方法,进一步此文件中逻辑。同时内部测试人员也内部尝试复现等跟进。

若所述多出的加载文件或缺失的加载文件不是代码文件,则将所述加载文件回传至所述终端对应的服务器后台分析其来源,基于所述来源生成第二攻击检测结果。

在本实施例中,所述将所述异常部分的代码文件回传至所述终端对应的服务器后台进行测试以及分析其来源,基于测试的结果和所述来源生成第一攻击检测结果包括:

根据所述加载文件提取对应的路径文件,通过增加的系统接口将所述路径文件回传至对应的服务器后台;

利用逆向分析方法分析其中的逻辑关系以及来源,基于分析得到的逻辑关系和所述来源生成第一攻击检测结果。

306、若比对分析结果为不一致,则利用哈希算法计算路径信息的哈希值;

307、将哈希值与前一版本的应用程序的路径信息的哈希值或者预设值进行比较;

308、若比较的结果为不一致,则利用逆向分析方法分析其中的逻辑关系以及来源,基于分析得到的逻辑关系和来源生成第三攻击检测结果。

具体的将路径信息利用md5(hash)算法计算md5(hash)值,将计算到的值与预设的正常值是否相等。如果不一样,则根据加载文件的信息,取出路径信息,通过系统中增加接口将此文件获取,并通过网络连接及接口,回传至服务器后台,安全开发人员下载此文件,通过逆向等技术分析方法,进一步此文件中逻辑。同时内部测试人员也内部尝试复现等跟进。

综上,本发明实施例提供的方法,通过设定应用程序在正常状态下运行的特征值,获取应用程序在终端上运行安装时产生的maps信息对应的特征值,将该特征值与设定的特征值进行比对,若比对发现maps信息不一致,则提取所述应用程序中异常部分信息进行异常分析,输出攻击检测结果;若比对发现maps信息一致,则对所述路径信息进行一致性的验证,并基于验证的结果输出攻击检测结果。由于本方法采用的是正常值比对的方式实现攻击的检测,减少了对攻击特征值的收集和学习,对于终端运行应用程序来说,其正常运行时对于终端上的软件和硬件调用基本上都是固定的且合法的,若存在多余的调用时,则会认定为可能存在攻击,因此,采用该方法可以实现了多场景的兼容,提高的检测的通用性,同时以正常值为界限判断,可以避免了场景因素的干扰,提高了检测的准确度,以提高了用户对应用程序的使用体验。

上面对本发明实施例中进程注入攻击检测方法进行了描述,下面对本发明实施例中进程注入攻击检测装置进行描述,请参阅图4,本发明实施例中进程注入攻击检测装置一个实施例包括:

采集模块401,用于获取终端的配置信息和基于所述终端运行的应用程序在运行时产生的第一maps信息;

计算模块402,用于提取所述第一maps信息中的路径信息,并基于所述路径信息和所述配置信息计算出所述应用程序的最新版本的第一特征值;

对比模块403,用于将所述第一特征值与预先定义的正常特征值进行比对分析,得到比对分析结果;

检测模块404,用于在所述比对分析结果为不一致时,提取所述应用程序中异常部分信息进行异常分析,输出攻击检测结果;以及在所述对比分析结果为一致时,对所述路径信息进行一致性的验证,并基于所述验证的结果输出攻击检测结果。

本实施例提供的装置,通过结合应用程序本身信息、终端信息和运行信息来设定正常特征值的方式进行攻击的检测,使得该值更加贴近于攻击案例,大大提高了检测的精准度,同时能够检测出应用程序是否受到注入攻击,为及时采取防御措施防止应用程序被注入工具攻击奠定了基础,提升了用户使用应用程序的体验,降低了用户信息泄密的可能。

进一步地,请参阅图5,图5为进程注入攻击检测装置各个模块的细化示意图,该进程注入攻击检测装置包括:

采集模块401,用于获取终端的配置信息和基于所述终端运行的应用程序在运行时产生的第一maps信息;

计算模块402,用于提取所述第一maps信息中的路径信息,并基于所述路径信息和所述配置信息计算出所述应用程序的最新版本的第一特征值;

对比模块403,用于将所述第一特征值与预先定义的正常特征值进行比对分析,得到比对分析结果;

检测模块404,用于在所述比对分析结果为不一致时,提取所述应用程序中异常部分信息进行异常分析,输出攻击检测结果;以及在所述对比分析结果为一致时,对所述路径信息进行一致性的验证,并基于所述验证的结果输出攻击检测结果。

其中,所述采集模块401包括:

第一获取单元4011,用于在检测到终端中存在应用程序被运行时,获取所述终端的基带信息,并基于所述基带信息中提取出系统版本信息和所述终端的机型设备型号;

第二获取单元4012,用于调用终端上的安全监控工具执行预设的收集策略,通过执行所述收集策略从所述终端的运行后台中获取所述应用程序的所有进程信息和应用程序的最新版本号,并基于所述所有进程信息生成第一maps信息。

在本申请的另一实施例中,所述计算模块402具体用于:

根据预设的正常特征值的定义规则,将所述路径信息、最新版本号、系统版本信息和机型设备型号进行拼接,得到所述应用程序运行时的第一特征值,其中所述定义规则为至少包含以下信息的随机组合:系统版本信息、机型设备型号、最新版本号、maps信息。

在本实施例中,所述检测模块404包括:

确定单元4041,用于确定所述第一特征值是否大于正常特征值;

第一提取单元4042,用于在确定所述第一特征值大于正常特征值时,提取所述第一maps信息中相对于前一版本的maps信息多出的加载文件;

第二提取单元4043,用于在确定所述第一特征值不大于正常特征值时,提取所述第一maps信息中相对于前一版本的maps信息缺失的加载文件;

检测单元4044,用于根据所述多出的加载文件或者所述缺失的加载文件进行攻击分析,得到攻击检测结果。

在本申请的另一实施例中,所述检测单元4044具体用于:

判断所述多出的加载文件或缺失的加载文件是否为代码文件;

若是,则提取当前版本的代码文件与前一版本的代码文件中异常部分的代码文件,并将所述异常部分的代码文件回传至所述终端对应的服务器后台进行测试以及分析其来源,基于测试的结果和所述来源生成第一攻击检测结果;

若否,则将所述加载文件回传至所述终端对应的服务器后台分析其来源,基于所述来源生成第二攻击检测结果。

在本申请的另一实施例中,所述检测单元具体用于:

根据所述加载文件提取对应的路径文件,通过增加的系统接口将所述路径文件回传至对应的服务器后台;

利用逆向分析方法分析其中的逻辑关系以及来源,基于分析得到的逻辑关系和所述来源生成第一攻击检测结果。

在本实施例中,所述检测模块404还包括:

哈希计算单元4045,用于利用哈希算法计算所述路径信息的哈希值;

第二比较单元4046,用于将所述哈希值与前一版本的应用程序的路径信息的哈希值或者预设值进行比较;

输出单元4047,用于在所述哈希值与前一版本的应用程序的路径信息的哈希值或者预设值不一致时,利用逆向分析方法分析其中的逻辑关系以及来源,基于分析得到的逻辑关系和所述来源生成第三攻击检测结果。

本发明实施例中,基于应用程序的运行情况,预先定义正常的运行值,即是正常特征值,然后实时获取终端上对应的应用程序运行时的maps信息,基于maps信息结合终端的配置信息计算出实时的特征值,将实时的特征值与正常特征值进行对比,若比对不一致,则提取maps信息中不一致的加载文件进行攻击检测,这样的方式无需进行攻击案例或者攻击特征的收集,简化了检测对比流程,提高了场景的兼容性,提高了检测准确度。

上面图4和图5从模块化功能实体的角度对本发明实施例中的进程注入攻击检测装置进行详细描述,下面从硬件处理的角度对本发明实施例中电子设备进行详细描述。

图6是本发明实施例提供了一种电子设备的结构示意图,该电子设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对电子设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在电子设备600上执行存储介质630中的一系列指令操作。在实际应用中,该应用程序633可以被分割成采集模块401、计算模块402、对比模块403和检测模块404(虚拟装置中的模块)的功能。

电子设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如:Windows Serve,MacOSX,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的电子设备结构还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令或计算机程序,当所述指令或计算机程序被运行时,使得计算机执行上述实施例提供的进程注入攻击检测方法的各个步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(randomaccessmemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种标识识别方法、装置及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类