CN114553514A - 移动应用的静态注入风险检测方法及装置 - Google Patents
移动应用的静态注入风险检测方法及装置 Download PDFInfo
- Publication number
- CN114553514A CN114553514A CN202210143305.2A CN202210143305A CN114553514A CN 114553514 A CN114553514 A CN 114553514A CN 202210143305 A CN202210143305 A CN 202210143305A CN 114553514 A CN114553514 A CN 114553514A
- Authority
- CN
- China
- Prior art keywords
- mobile application
- installation package
- risk detection
- file
- history record
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 123
- 238000002347 injection Methods 0.000 title claims abstract description 119
- 239000007924 injection Substances 0.000 title claims abstract description 119
- 230000003068 static effect Effects 0.000 title claims abstract description 111
- 238000009434 installation Methods 0.000 claims abstract description 106
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 29
- 238000004364 calculation method Methods 0.000 claims description 26
- 238000004806 packaging method and process Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 6
- 238000012856 packing Methods 0.000 description 5
- 238000009517 secondary packaging Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种移动应用的静态注入风险检测方法及装置,可用于移动互联技术领域,其中方法包括:接收移动应用的apk安装包在运行时发出的加载动态链接库指令;根据所述加载动态链接库指令,计算动态链接库的hmac加密钥消息认证码;将所述动态链接库的hmac加密钥消息认证码与预先保存在资源文件中的第一历史记录进行匹配,所述第一历史记录为apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果;根据动态链接库的hmac加密钥消息认证码与第一历史记录匹配的结果,进行移动应用的静态注入风险检测。本发明可以进行移动应用的静态注入风险检测,提高风险检测准确率。
Description
技术领域
本发明涉及移动互联技术领域,尤其涉及移动应用的静态注入风险检测方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在移动应用中,经常发生静态注入攻击的场景。攻击者通过手动将攻击的代码、动态库so等放入到apk包或者运行时的应用目录下。待apk启动运行时,自动加载注入的攻击代码执行,从而达到攻击的目的。
现有技术中,防止静态注入风险的方法有两种:一种是通过检测运行时环境中是否有常用的注入工具来实现,另一种是通过检查apk的包名,来判定是否进行过二次打包,进而判断是否被静态修改过原包。对于第一种方法,当遇到新的注入工具时候,原来的防护就失效了,而对于第二种方法,当通过防止注入代码到应用的运行时目录时,二次打包的检测就无效,因此风险检测准确率较低。
因此,亟需一种可以克服上述问题的移动应用的静态注入风险检测方案。
发明内容
本发明实施例提供一种移动应用的静态注入风险检测方法,用以进行移动应用的静态注入风险检测,提高风险检测准确率,该方法包括:
接收移动应用的apk安装包在运行时发出的加载动态链接库指令;
根据所述加载动态链接库指令,计算动态链接库的hmac加密钥消息认证码;
将所述动态链接库的hmac加密钥消息认证码与预先保存在资源文件中的第一历史记录进行匹配,所述第一历史记录为apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果;
根据动态链接库的hmac加密钥消息认证码与第一历史记录匹配的结果,进行移动应用的静态注入风险检测。
本发明实施例提供一种移动应用的静态注入风险检测装置,用以进行移动应用的静态注入风险检测,提高风险检测准确率,该装置包括:
指令接收模块,用于接收移动应用的apk安装包在运行时发出的加载动态链接库指令;
hmac计算模块,用于根据所述加载动态链接库指令,计算动态链接库的hmac加密钥消息认证码;
匹配模块,用于将所述动态链接库的hmac加密钥消息认证码与预先保存在资源文件中的第一历史记录进行匹配,所述第一历史记录为apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果;
风险检测模块,用于根据动态链接库的hmac加密钥消息认证码与第一历史记录匹配的结果,进行移动应用的静态注入风险检测。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述移动应用的静态注入风险检测方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述移动应用的静态注入风险检测方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述移动应用的静态注入风险检测方法。
本发明实施例通过接收移动应用的apk安装包在运行时发出的加载动态链接库指令;根据所述加载动态链接库指令,计算动态链接库的hmac加密钥消息认证码;将所述动态链接库的hmac加密钥消息认证码与预先保存在资源文件中的第一历史记录进行匹配,所述第一历史记录为apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果;根据动态链接库的hmac加密钥消息认证码与第一历史记录匹配的结果,进行移动应用的静态注入风险检测。
本发明的有益效果:实施例在apk安装包运行时接收加载动态链接库指令,将计算得到的hmac加密钥消息认证码与预先保存在资源文件中的apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果进行匹配,进而可以检查运行时文件的完整性,当遇到新的注入工具时候,原来的防护仍旧有效,并且当通过防止注入代码到应用的运行时目录时,保证二次打包检测有效,有效防护新型的注入工具,实现移动应用的静态注入风险检测,提高风险检测准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中移动应用的静态注入风险检测方法示意图;
图2为本发明实施例中另一移动应用的静态注入风险检测方法示意图;
图3为本发明实施例中另一移动应用的静态注入风险检测方法示意图;
图4为本发明实施例中另一移动应用的静态注入风险检测方法示意图;
图5为本发明实施例中另一移动应用的静态注入风险检测方法示意图;
图6为本发明实施例中另一移动应用的静态注入风险检测方法示意图;
图7为本发明实施例中移动应用的静态注入风险检测装置的结构图;
图8为本发明实施例中另一移动应用的静态注入风险检测装置的结构图;
图9为本发明实施例中另一移动应用的静态注入风险检测装置的结构图;
图10为本发明实施例中另一移动应用的静态注入风险检测装置的结构图;
图11为本发明实施例中另一移动应用的静态注入风险检测装置的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
为了进行移动应用的静态注入风险检测,提高风险检测准确率,本发明实施例提供一种移动应用的静态注入风险检测方法,如图1所示,该方法可以包括:
步骤101、接收移动应用的apk安装包在运行时发出的加载动态链接库指令;
步骤102、根据所述加载动态链接库指令,计算动态链接库的hmac加密钥消息认证码;
步骤103、将所述动态链接库的hmac加密钥消息认证码与预先保存在资源文件中的第一历史记录进行匹配,所述第一历史记录为apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果;
步骤104、根据动态链接库的hmac加密钥消息认证码与第一历史记录匹配的结果,进行移动应用的静态注入风险检测。
由图1所示可以得知,本发明实施例通过接收移动应用的apk安装包在运行时发出的加载动态链接库指令;根据所述加载动态链接库指令,计算动态链接库的hmac加密钥消息认证码;将所述动态链接库的hmac加密钥消息认证码与预先保存在资源文件中的第一历史记录进行匹配,所述第一历史记录为apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果;根据动态链接库的hmac加密钥消息认证码与第一历史记录匹配的结果,进行移动应用的静态注入风险检测。本发明实施例在apk安装包运行时接收加载动态链接库指令,将计算得到的hmac加密钥消息认证码与预先保存在资源文件中的apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果进行匹配,进而可以检查运行时文件的完整性,有效防护新型的注入工具,实现移动应用的静态注入风险检测,提高风险检测准确率。
具体实施时,在发布apk安装包之前,对apk安装包中的动态链接库进行hmac加密钥消息认证码的计算,将计算结果进行加密后保存于资源文件中作为第一历史记录。当移动应用的apk安装包在实际运行时要加载动态链接库时候会发出加载动态链接库指令,根据加载动态链接库指令进行动态链接库的hmac加密钥消息认证码计算。然后,将动态链接库的hmac加密钥消息认证码与预先保存在资源文件中的第一历史记录进行匹配,并根据匹配的结果进行移动应用的静态注入风险检测,具体的,若匹配成功则判定为移动应用存在静态注入风险,若匹配失败则判定为移动应用不存在静态注入风险。
在一个实施例中,动态链接库包括:so文件,其中so文件是C或C++编译出来的,其功能和作用类似于windows下.dll文件。
在一个实施例中,如图2所示,移动应用的静态注入风险检测方法还包括:
步骤201、接收移动应用的apk安装包在运行时发出的加载dex文件指令;
步骤202、根据所述加载dex文件指令,计算dex文件的hmac加密钥消息认证码;
步骤203、将所述dex文件的hmac加密钥消息认证码与预先保存在资源文件中的第二历史记录进行匹配,所述第二历史记录为apk安装包在发布前对dex文件的hmac加密钥消息认证码进行计算的结果;
步骤204、根据dex文件的hmac加密钥消息认证码与第二历史记录匹配的结果,进行移动应用的静态注入风险检测。
具体实施时,在发布apk安装包之前,对apk安装包中的dex文件进行hmac加密钥消息认证码的计算,将计算结果进行加密后保存于资源文件中作为第二历史记录。当移动应用的apk安装包在实际运行时要加载dex文件时候会发出加载dex文件指令,根据加载dex文件指令进行dex文件的hmac加密钥消息认证码计算。然后,将dex文件的hmac加密钥消息认证码与预先保存在资源文件中的第二历史记录进行匹配,并根据匹配的结果进行移动应用的静态注入风险检测,具体的,若匹配成功则判定为移动应用存在静态注入风险,若匹配失败则判定为移动应用不存在静态注入风险。
在一个实施例中,如图3所示,移动应用的静态注入风险检测方法还包括:
步骤301、从系统接口读取移动应用的签名信息;
步骤302、将所述移动应用的签名信息与第三历史记录进行比较,所述第三历史记录为apk安装包在编译打包时记录的签名信息;
步骤303、根据系统接口读取的签名信息与第三历史记录比较的结果,进行移动应用的静态注入风险检测。
具体实施时,从系统接口读取移动应用的签名信息,将移动应用的签名信息与apk安装包在编译打包时记录的签名信息比较,根据比较的结果进行移动应用的静态注入风险检测,具体的,若移动应用的签名信息与apk安装包在编译打包时记录的签名信息不一致,则判定为移动应用存在静态注入风险,若移动应用的签名信息与apk安装包在编译打包时记录的签名信息一致,则判定为移动应用不存在静态注入风险。
在一个实施例中,如图4所示,移动应用的静态注入风险检测方法还包括:
步骤401、读取移动应用的apk安装包中的metainf文件;
步骤402、将所述移动应用的apk安装包中的metainf文件与第四历史记录进行比较,所述第四历史记录为apk安装包在编译打包时的metainf文件;
步骤403、根据读取的metainf文件与第四历史记录比较的结果,进行移动应用的静态注入风险检测。
具体实施时,读取移动应用的apk安装包中的metainf文件,将移动应用的apk安装包中的metainf文件与apk安装包在编译打包时的metainf文件进行比较,根据比较的结果进行移动应用的静态注入风险检测,具体的,若读取的metainf文件与apk安装包在编译打包时的metainf文件不一致,则判定为移动应用存在静态注入风险,若读取的metainf文件与apk安装包在编译打包时的metainf文件一致,则判定为移动应用不存在静态注入风险。
在一个实施例中,如图5所示,移动应用的静态注入风险检测方法还包括:
步骤501、扫描移动应用的apk安装包在运行时的文件目录树;
步骤502、根据apk安装包在运行时的文件目录树,计算文件目录树对应的hmac加密钥消息认证码;
步骤503、将所述apk安装包在运行时的文件目录树与第五历史记录进行比较,所述第五历史记录为apk安装包在编译打包前的文件目录树;
步骤504、将所述apk安装包在运行时的文件目录树对应的hmac加密钥消息认证码与第六历史记录进行比较,所述第六历史记录为apk安装包在编译打包前对文件目录树的hmac加密钥消息认证码进行计算的结果;
步骤505、根据apk安装包在运行时的文件目录树与第五历史记录比较的结果,以及apk安装包在运行时的文件目录树对应的hmac加密钥消息认证码与第六历史记录比较的结果,进行移动应用的静态注入风险检测。
具体实施时,apk安装包在编译打包前记录文件目录树并计算文件目录树的hmac加密钥消息认证码,然后在apk安装包运行时扫描文件目录树并计算对应的hmac加密钥消息认证码,将apk安装包在运行时的文件目录树与apk安装包在编译打包前的文件目录树进行比较,将apk安装包在运行时的文件目录树对应的hmac加密钥消息认证码与apk安装包在编译打包前对文件目录树的hmac加密钥消息认证码进行比较,根据比较的结果进行移动应用的静态注入风险检测,具体的,若apk安装包在运行时的文件目录树与apk安装包在编译打包前的文件目录树不一致,若apk安装包在运行时的文件目录树对应的hmac加密钥消息认证码与apk安装包在编译打包前对文件目录树的hmac加密钥消息认证码不一致,则判定为移动应用存在静态注入风险,否则判定为移动应用不存在静态注入风险。
在一个实施例中,如图6所示,移动应用的静态注入风险检测方法还包括:
步骤601、在移动应用启动时,进行预设框架的检测,所述预设框架包括:root框架,frida框架,xposed框架其中之一;
步骤602、根据预设框架的检测结果,进行移动应用的静态注入风险检测。
具体实施时,在移动应用启动或运行时,随机进行root,frida,xposed等预设框架检测,如存在运行的迹象则判定为移动应用存在静态注入风险。
具体实施时,判定代码需要做高度混淆,保障判定逻辑的有效性,在多个apk的运行点进行判定,防止绕过的逻辑发生。本发明实施例可以检测静态注入的各个检查点,通过hmac计算检查各种文件完整性的方式,通过检测运行时文件的完整性,可以有效防护新型的注入工具,可以防护通过静态修改运行时目录下文件方式的静态注入。
基于同一发明构思,本发明实施例还提供了一种移动应用的静态注入风险检测装置,如下面的实施例所述。由于这些解决问题的原理与移动应用的静态注入风险检测方法相似,因此移动应用的静态注入风险检测装置的实施可以参见方法的实施,重复之处不再赘述。
图7为本发明实施例中移动应用的静态注入风险检测装置的结构图,如图7所示,该装置包括:
指令接收模块701,用于接收移动应用的apk安装包在运行时发出的加载动态链接库指令;
hmac计算模块702,用于根据所述加载动态链接库指令,计算动态链接库的hmac加密钥消息认证码;
匹配模块703,用于将所述动态链接库的hmac加密钥消息认证码与预先保存在资源文件中的第一历史记录进行匹配,所述第一历史记录为apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果;
风险检测模块704,用于根据动态链接库的hmac加密钥消息认证码与第一历史记录匹配的结果,进行移动应用的静态注入风险检测。
在一个实施例中,指令接收模块701还用于:接收移动应用的apk安装包在运行时发出的加载dex文件指令;
所述hmac计算模块702还用于:根据所述加载dex文件指令,计算dex文件的hmac加密钥消息认证码;
所述匹配模块703还用于:将所述dex文件的hmac加密钥消息认证码与预先保存在资源文件中的第二历史记录进行匹配,所述第二历史记录为apk安装包在发布前对dex文件的hmac加密钥消息认证码进行计算的结果;
所述风险检测模块704还用于:根据dex文件的hmac加密钥消息认证码与第二历史记录匹配的结果,进行移动应用的静态注入风险检测。
在一个实施例中,如图8所示,移动应用的静态注入风险检测装置还包括:
签名信息读取模块705,用于从系统接口读取移动应用的签名信息;
第一比较模块706,用于将所述移动应用的签名信息与第三历史记录进行比较,所述第三历史记录为apk安装包在编译打包时记录的签名信息;
所述风险检测模块704还用于:根据系统接口读取的签名信息与第三历史记录比较的结果,进行移动应用的静态注入风险检测。
在一个实施例中,如图9所示,移动应用的静态注入风险检测装置还包括:
文件读取模块707,用于读取移动应用的apk安装包中的metainf文件;
第二比较模块708,用于将所述移动应用的apk安装包中的metainf文件与第四历史记录进行比较,所述第四历史记录为apk安装包在编译打包时的metainf文件;
所述风险检测模块704还用于:根据读取的metainf文件与第四历史记录比较的结果,进行移动应用的静态注入风险检测。
在一个实施例中,如图10所示,移动应用的静态注入风险检测装置还包括:
目录树扫描模块709,用于扫描移动应用的apk安装包在运行时的文件目录树;
所述hmac计算模块702还用于:根据apk安装包在运行时的文件目录树,计算文件目录树对应的hmac加密钥消息认证码;
第三比较模块710,用于将所述apk安装包在运行时的文件目录树与第五历史记录进行比较,所述第五历史记录为apk安装包在编译打包前的文件目录树;以及,将所述apk安装包在运行时的文件目录树对应的hmac加密钥消息认证码与第六历史记录进行比较,所述第六历史记录为apk安装包在编译打包前对文件目录树的hmac加密钥消息认证码进行计算的结果;
所述风险检测模块704还用于:根据apk安装包在运行时的文件目录树与第五历史记录比较的结果,以及apk安装包在运行时的文件目录树对应的hmac加密钥消息认证码与第六历史记录比较的结果,进行移动应用的静态注入风险检测。
在一个实施例中,如图11所示,移动应用的静态注入风险检测装置还包括:
框架检测模块711,用于在移动应用启动时,进行预设框架的检测,所述预设框架包括:root框架,frida框架,xposed框架其中之一;
所述风险检测模块704还用于:根据预设框架的检测结果,进行移动应用的静态注入风险检测。
在一个实施例中,动态链接库包括:so文件。
基于前述发明构思,本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述移动应用的静态注入风险检测方法。
基于前述发明构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述移动应用的静态注入风险检测方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述移动应用的静态注入风险检测方法。
本发明实施例通过接收移动应用的apk安装包在运行时发出的加载动态链接库指令;根据所述加载动态链接库指令,计算动态链接库的hmac加密钥消息认证码;将所述动态链接库的hmac加密钥消息认证码与预先保存在资源文件中的第一历史记录进行匹配,所述第一历史记录为apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果;根据动态链接库的hmac加密钥消息认证码与第一历史记录匹配的结果,进行移动应用的静态注入风险检测。本发明实施例在apk安装包运行时接收加载动态链接库指令,将计算得到的hmac加密钥消息认证码与预先保存在资源文件中的apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果进行匹配,进而可以检查运行时文件的完整性,有效防护新型的注入工具,实现移动应用的静态注入风险检测,提高风险检测准确率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种移动应用的静态注入风险检测方法,其特征在于,包括:
接收移动应用的apk安装包在运行时发出的加载动态链接库指令;
根据所述加载动态链接库指令,计算动态链接库的hmac加密钥消息认证码;
将所述动态链接库的hmac加密钥消息认证码与预先保存在资源文件中的第一历史记录进行匹配,所述第一历史记录为apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果;
根据动态链接库的hmac加密钥消息认证码与第一历史记录匹配的结果,进行移动应用的静态注入风险检测。
2.如权利要求1所述的移动应用的静态注入风险检测方法,其特征在于,还包括:
接收移动应用的apk安装包在运行时发出的加载dex文件指令;
根据所述加载dex文件指令,计算dex文件的hmac加密钥消息认证码;
将所述dex文件的hmac加密钥消息认证码与预先保存在资源文件中的第二历史记录进行匹配,所述第二历史记录为apk安装包在发布前对dex文件的hmac加密钥消息认证码进行计算的结果;
根据dex文件的hmac加密钥消息认证码与第二历史记录匹配的结果,进行移动应用的静态注入风险检测。
3.如权利要求1所述的移动应用的静态注入风险检测方法,其特征在于,还包括:
从系统接口读取移动应用的签名信息;
将所述移动应用的签名信息与第三历史记录进行比较,所述第三历史记录为apk安装包在编译打包时记录的签名信息;
根据系统接口读取的签名信息与第三历史记录比较的结果,进行移动应用的静态注入风险检测。
4.如权利要求1所述的移动应用的静态注入风险检测方法,其特征在于,还包括:
读取移动应用的apk安装包中的metainf文件;
将所述移动应用的apk安装包中的metainf文件与第四历史记录进行比较,所述第四历史记录为apk安装包在编译打包时的metainf文件;
根据读取的metainf文件与第四历史记录比较的结果,进行移动应用的静态注入风险检测。
5.如权利要求1所述的移动应用的静态注入风险检测方法,其特征在于,还包括:
扫描移动应用的apk安装包在运行时的文件目录树;
根据apk安装包在运行时的文件目录树,计算文件目录树对应的hmac加密钥消息认证码;
将所述apk安装包在运行时的文件目录树与第五历史记录进行比较,所述第五历史记录为apk安装包在编译打包前的文件目录树;
将所述apk安装包在运行时的文件目录树对应的hmac加密钥消息认证码与第六历史记录进行比较,所述第六历史记录为apk安装包在编译打包前对文件目录树的hmac加密钥消息认证码进行计算的结果;
根据apk安装包在运行时的文件目录树与第五历史记录比较的结果,以及apk安装包在运行时的文件目录树对应的hmac加密钥消息认证码与第六历史记录比较的结果,进行移动应用的静态注入风险检测。
6.如权利要求1所述的移动应用的静态注入风险检测方法,其特征在于,还包括:
在移动应用启动时,进行预设框架的检测,所述预设框架包括:root框架,frida框架,xposed框架其中之一;
根据预设框架的检测结果,进行移动应用的静态注入风险检测。
7.如权利要求1所述的移动应用的静态注入风险检测方法,其特征在于,所述动态链接库包括:so文件。
8.一种移动应用的静态注入风险检测装置,其特征在于,包括:
指令接收模块,用于接收移动应用的apk安装包在运行时发出的加载动态链接库指令;
hmac计算模块,用于根据所述加载动态链接库指令,计算动态链接库的hmac加密钥消息认证码;
匹配模块,用于将所述动态链接库的hmac加密钥消息认证码与预先保存在资源文件中的第一历史记录进行匹配,所述第一历史记录为apk安装包在发布前对动态链接库的hmac加密钥消息认证码进行计算的结果;
风险检测模块,用于根据动态链接库的hmac加密钥消息认证码与第一历史记录匹配的结果,进行移动应用的静态注入风险检测。
9.如权利要求8所述的移动应用的静态注入风险检测装置,其特征在于,所述指令接收模块还用于:接收移动应用的apk安装包在运行时发出的加载dex文件指令;
所述hmac计算模块还用于:根据所述加载dex文件指令,计算dex文件的hmac加密钥消息认证码;
所述匹配模块还用于:将所述dex文件的hmac加密钥消息认证码与预先保存在资源文件中的第二历史记录进行匹配,所述第二历史记录为apk安装包在发布前对dex文件的hmac加密钥消息认证码进行计算的结果;
所述风险检测模块还用于:根据dex文件的hmac加密钥消息认证码与第二历史记录匹配的结果,进行移动应用的静态注入风险检测。
10.如权利要求8所述的移动应用的静态注入风险检测装置,其特征在于,还包括:
签名信息读取模块,用于从系统接口读取移动应用的签名信息;
第一比较模块,用于将所述移动应用的签名信息与第三历史记录进行比较,所述第三历史记录为apk安装包在编译打包时记录的签名信息;
所述风险检测模块还用于:根据系统接口读取的签名信息与第三历史记录比较的结果,进行移动应用的静态注入风险检测。
11.如权利要求8所述的移动应用的静态注入风险检测装置,其特征在于,还包括:
文件读取模块,用于读取移动应用的apk安装包中的metainf文件;
第二比较模块,用于将所述移动应用的apk安装包中的metainf文件与第四历史记录进行比较,所述第四历史记录为apk安装包在编译打包时的metainf文件;
所述风险检测模块还用于:根据读取的metainf文件与第四历史记录比较的结果,进行移动应用的静态注入风险检测。
12.如权利要求8所述的移动应用的静态注入风险检测装置,其特征在于,还包括:
目录树扫描模块,用于扫描移动应用的apk安装包在运行时的文件目录树;
所述hmac计算模块还用于:根据apk安装包在运行时的文件目录树,计算文件目录树对应的hmac加密钥消息认证码;
第三比较模块,用于将所述apk安装包在运行时的文件目录树与第五历史记录进行比较,所述第五历史记录为apk安装包在编译打包前的文件目录树;以及,将所述apk安装包在运行时的文件目录树对应的hmac加密钥消息认证码与第六历史记录进行比较,所述第六历史记录为apk安装包在编译打包前对文件目录树的hmac加密钥消息认证码进行计算的结果;
所述风险检测模块还用于:根据apk安装包在运行时的文件目录树与第五历史记录比较的结果,以及apk安装包在运行时的文件目录树对应的hmac加密钥消息认证码与第六历史记录比较的结果,进行移动应用的静态注入风险检测。
13.如权利要求8所述的移动应用的静态注入风险检测装置,其特征在于,还包括:
框架检测模块,用于在移动应用启动时,进行预设框架的检测,所述预设框架包括:root框架,frida框架,xposed框架其中之一;
所述风险检测模块还用于:根据预设框架的检测结果,进行移动应用的静态注入风险检测。
14.如权利要求8所述的移动应用的静态注入风险检测装置,其特征在于,所述动态链接库包括:so文件。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一所述方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210143305.2A CN114553514A (zh) | 2022-02-16 | 2022-02-16 | 移动应用的静态注入风险检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210143305.2A CN114553514A (zh) | 2022-02-16 | 2022-02-16 | 移动应用的静态注入风险检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114553514A true CN114553514A (zh) | 2022-05-27 |
Family
ID=81675392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210143305.2A Pending CN114553514A (zh) | 2022-02-16 | 2022-02-16 | 移动应用的静态注入风险检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553514A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140298468A1 (en) * | 2011-11-10 | 2014-10-02 | Securebrain Corporation | Unauthorized application detection system and method |
CN107808096A (zh) * | 2017-11-23 | 2018-03-16 | 厦门安胜网络科技有限公司 | 检测apk运行时被注入恶意代码的方法、终端设备及存储介质 |
CN110135154A (zh) * | 2019-03-28 | 2019-08-16 | 江苏通付盾信息安全技术有限公司 | 应用程序的注入攻击检测系统及方法 |
CN112231702A (zh) * | 2020-10-14 | 2021-01-15 | 深圳市百富智能新技术有限公司 | 应用保护方法、装置、设备及介质 |
-
2022
- 2022-02-16 CN CN202210143305.2A patent/CN114553514A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140298468A1 (en) * | 2011-11-10 | 2014-10-02 | Securebrain Corporation | Unauthorized application detection system and method |
CN107808096A (zh) * | 2017-11-23 | 2018-03-16 | 厦门安胜网络科技有限公司 | 检测apk运行时被注入恶意代码的方法、终端设备及存储介质 |
CN110135154A (zh) * | 2019-03-28 | 2019-08-16 | 江苏通付盾信息安全技术有限公司 | 应用程序的注入攻击检测系统及方法 |
CN112231702A (zh) * | 2020-10-14 | 2021-01-15 | 深圳市百富智能新技术有限公司 | 应用保护方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
刘峰宇;解炜;: "基于签名认证的DLL加载漏洞防御技术研究", 信息网络安全, no. 11, 10 November 2017 (2017-11-10), pages 1 - 4 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101503785B1 (ko) | 동적 라이브러리를 보호하는 방법 및 장치 | |
EP3462358B1 (en) | System and method for detection of malicious code in the address space of processes | |
KR101857001B1 (ko) | 안드로이드 동적 로딩 파일 추출 방법, 이를 수행하기 위한 기록 매체 및 시스템 | |
AU2006235058B2 (en) | System and method for foreign code detection | |
JPWO2005024630A1 (ja) | 不正コードの防止方法および防止プログラム | |
CN107330328B (zh) | 防御病毒攻击的方法、装置及服务器 | |
CN113761519B (zh) | 一种Web应用程序的检测方法、装置及存储介质 | |
CN101944042A (zh) | 一种Java程序的运行方法及电子终端 | |
GB2510641A (en) | Detecting suspicious code injected into a process if function call return address points to suspicious memory area | |
CN112134905B (zh) | 基于安卓系统的签名方法、装置以及设备 | |
CN111382447B (zh) | 安装包的加密方法、存储介质及计算机设备 | |
US20150026483A1 (en) | Systems and Methods for Mobile Application Protection | |
CN114692134A (zh) | 一种基于linux内核进程监控来保护代码及数据的系统和方法 | |
CN112035803B (zh) | 一种基于Windows平台软件的保护方法及装置 | |
US8549631B2 (en) | Internet site security system and method thereto | |
CN113129004A (zh) | 交易安全性检测方法及装置 | |
CN114553514A (zh) | 移动应用的静态注入风险检测方法及装置 | |
KR101052735B1 (ko) | 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치 | |
CN112784261B (zh) | 用于程序运行的方法及相应的系统、计算机设备和介质 | |
CN114238943A (zh) | 应用程序防护方法、装置、设备及存储介质 | |
KR20090081200A (ko) | 인터넷 사이트 보안 시스템 및 그 방법 | |
JP5177206B2 (ja) | ソフトウェアの改竄検出装置及び改竄検出方法 | |
CN114139215A (zh) | 一种动态库文件加载方法及装置 | |
JP4728619B2 (ja) | ソフトウェアの改竄検出装置、改竄防止装置、改竄検出方法及び改竄防止方法 | |
JP5177205B2 (ja) | ソフトウェアの改竄防止装置及び改竄防止方法 |
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 |