CN114861180B - 应用程序的安全性检测方法和装置 - Google Patents
应用程序的安全性检测方法和装置 Download PDFInfo
- Publication number
- CN114861180B CN114861180B CN202210573954.6A CN202210573954A CN114861180B CN 114861180 B CN114861180 B CN 114861180B CN 202210573954 A CN202210573954 A CN 202210573954A CN 114861180 B CN114861180 B CN 114861180B
- Authority
- CN
- China
- Prior art keywords
- application program
- target application
- detection list
- risk value
- detection
- 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.)
- Active
Links
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种应用程序的安全性检测方法,包括:运行至少一个目标应用程序;检测所述目标应用程序是否存在恶意行为发生,若所述目标应用程序运行时发生了恶意行为,则将所述目标应用程序添加至第一检测列表;检测所述目标应用程序的权限信息,若存在越权行为,则将所述目标应用程序添加至第二检测列表;检测所述目标应用程序的所有第三方SDK是否存在第三方广告SDK,若存在,则将所述目标应用程序添加至第三检测列表;根据所述第一检测列表、第二检测列表和第三检测列表确定所述目标应用程序的风险等级。本申请实施例还公开了一种应用程序的安全性检测装置。本申请解决了应用程序的安全性检测不全面的技术问题。
Description
技术领域
本申请各实施例涉及软件安全技术领域。更具体地说,本申请各实施例涉及一种应用程序的安全性检测方法和装置。
背景技术
现有技术中,主要是通过国家反诈中心APP(Application,应用程序)中“风险自查”选项组的“APP自检”功能,对移动终端中已安装的应用程序、以及存储的应用程序安装包进行自检,其检测应用程序的标准只局限于是否存在涉嫌诈骗行为和恶意程序这两个方面,由此,导致安全性检测不够全面的缺陷。
发明内容
本申请各实施例的一个目的是解决上述问题,并提供相应的有益效果。
本申请各实施例的另一个目的是,提供一种应用程序的安全性检测方法和装置,解决了应用程序的安全性检测不全面的技术问题。本申请主要通过以下诸方面中的技术方案实现:
<本申请的第一方面>
第一方面提供了一种应用程序的安全性检测方法,包括:
运行至少一个目标应用程序;
检测所述目标应用程序是否存在恶意行为发生,若所述目标应用程序运行时发生了恶意行为,则将所述目标应用程序添加至第一检测列表;
检测所述目标应用程序的权限信息,若存在越权行为,则将所述目标应用程序添加至第二检测列表;
检测所述目标应用程序的所有第三方SDK(Software Development Kit,软件开发工具包)是否存在第三方广告SDK,若存在,则将所述目标应用程序添加至第三检测列表;
根据所述第一检测列表、第二检测列表和第三检测列表确定所述目标应用程序的风险等级。
<本申请的第二方面>
第二方面提供了一种应用程序的安全性检测装置,包括:
运行模块,用于运行至少一个目标应用程序;
恶意行为检测模块,用于检测所述目标应用程序是否存在恶意行为发生,若所述目标应用程序运行时发生了恶意行为,则将所述目标应用程序添加至第一检测列表;
权限信息检测模块,用于检测所述目标应用程序的权限信息,若存在越权行为,则将所述目标应用程序添加至第二检测列表;
SDK检测模块,用于检测所述目标应用程序的所有第三方SDK是否存在第三方广告SDK,若存在,则将所述目标应用程序添加至第三检测列表;
风险等级确定模块,用于根据所述第一检测列表、第二检测列表和第三检测列表确定所述目标应用程序的风险等级。
本申请实施例具备以下技术效果:
应用程序的传统检测方法,只局限于涉嫌诈骗行为和恶意程序这两个方面,无法全面地对应用程序进行有效地检测。相对于现有技术,本申请提供的所述应用程序的安全性检测方法,对恶意行为、权限信息以及所有第三方SDK均进行相应地检测,能够更加全面地检测应用程序的安全性,解决现有的检测方法对应用程序的安全性检测不全面的问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的应用程序的安全性检测方法在一些实施例中的流程图;
图2为本申请的应用程序的安全性检测方法在另一些实施例中的流程图;
图3为本申请的应用程序的安全性检测方法在又一些实施例中的流程图;
图4为本申请的应用程序的安全性检测方法在又一些实施例中的流程图;
图5为本申请的应用程序的安全性检测方法在又一些实施例中的流程图;
图6为本申请的应用程序的安全性检测方法在又一些实施例中的流程图;
图7为本申请的应用程序的安全性检测装置在一些实施例中的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的说明书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一检测列表、第二检测列表和第三检测列表是用于区别不同的检测列表,而不是用于描述检测列表的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下结合附图对本申请的具体实施方式进行进一步的说明。
<应用程序的安全性检测方法>
如图1所示,为本申请提供的应用程序的安全性检测方法的流程图,在图1中,所述应用程序的安全性检测方法包括:
S101、运行至少一个目标应用程序。
S102、检测所述目标应用程序是否存在恶意行为发生,若所述目标应用程序运行时发生了恶意行为,则将所述目标应用程序添加至第一检测列表。
需要说明的是,行为指的是一系列事件(事件,指的是应用程序执行例如发短信、打电话等指令)的组合,即行为可以是由开始事件和结束事件所组成的一系列连续的事件。例如,用户在应用程序的操作界面下编辑短信并发送,这种发送短信的行为是正常行为;而应用程序在锁屏状态下执行发送短信的行为是不正常的,属于恶意行为。
于本实施例中,所述恶意行为包含隐蔽式执行订购业务或支付费用、欺骗点击订购业务或支付费用、以及在非授权情况下获取并存储用户信息。所述用户信息包括个人信息(即用户名、用户密码等信息)、银行账户信息、支付口令信息或其他非公开的信息。
所述第一检测列表用于记录高风险应用程序。
S103、检测所述目标应用程序的权限信息,若存在越权行为,则将所述目标应用程序添加至第二检测列表。
所述越权行为指的是不合理用户授权、非法授权访问或者权限限制绕过等行为。所述越权行为可以由本领域技术人员根据实际需求设置。
S104、检测所述目标应用程序的所有第三方SDK是否存在第三方广告SDK,若存在,则将所述目标应用程序添加至第三检测列表。
S105、根据所述第一检测列表、第二检测列表和第三检测列表确定所述目标应用程序的风险等级。
在上述实施方式中,本申请通过对恶意行为、权限信息以及所有第三方SDK均进行相应地检测,使得应用程序更加安全。与只检测涉嫌诈骗行为和恶意程序两个方面的现有技术相比,本申请可以更加全面地检测应用程序的安全性,解决现有的检测方法对应用程序的安全性检测不全面的问题。
在一些实施方式中,所述S102步骤包括:
检测所述目标应用程序是否有事件被触发;
若检测到事件被触发,将所述事件与预设事件库的各事件进行比对,若所述预设事件库存在与所述事件相同的事件,判定所述事件属于恶意行为;
将所述目标应用程序添加至所述第一检测列表。
在一些实施方式中,所述S103步骤包括:
获取所述目标应用程序的权限信息;
将所述权限信息与权限库的所有权限进行比对,若所述权限信息与所述权限库的所有权限不匹配,则判定存在越权行为;
将所述目标应用程序添加至第二检测列表;
在一些实施方式中,所述S104步骤包括:
获取所述目标应用程序的所有第三方SDK;
对每个所述第三方SDK进行反编译,获得对应的目标apk文件;
判断所述目标apk文件中是否包含恶意广告平台代码,若包含,则确定对应的SDK为第三方广告SDK;
将所述目标应用程序添加至第三检测列表。
在一些实施方式中,如图2所示,在所述S102的步骤之后,所述应用程序的安全性检测方法还包括:
S201、检测所述目标应用程序是否存在利用frida框架将运行时的内存进行另存为的操作,若存在,则将所述目标应用程序添加至第一检测列表。
所述frida框架是一款基于python和JavaScript的轻量级hook框架。
S202、获取用户登录所述目标应用程序的通信数据包,解析所述通信数据包,检测所述通信数据包中用户名和密码是否为明文,若是,则将所述目标应用程序添加至第一检测列表。
S203、检测所述通信数据包中MAC值的长度,若所述长度低于256bit,则将所述目标应用程序添加至第一检测列表。
在其他实施方式中,所述应用程序的安全性检测方法还检测所述通信数据包中encrypted字段内容。
S204、检测所述目标应用程序在数据录入、处理、存储和传输过程中是否被非法截留或窃取数据,若是,则将所述目标应用程序添加至第一检测列表。
S205、检测所述目标应用程序是否从终端的加密区域进行非授权解密,若是,则将所述目标应用程序添加至第一检测列表。
S206、检测所述目标应用程序是否携带病毒,若是,则将所述目标应用程序添加至第一检测列表。
所述S206步骤的实现,可以通过如下方法实现:
获取所述目标应用程序的证书签名;
将所述证书签名与签名库进行匹配;
根据匹配结果判断所述目标应用程序是否携带病毒;
将携带病毒的所述目标应用程序添加至所述第一检测列表。
示例性地,当所述签名库中没有与所述证书签名匹配,也即相同的签名时,判定所述目标应用程序携带病毒。
通过上述实施方式,更加全面地检测应用程序的安全性,进一步提高了应用程序的安全性。
在一些实施方式中,如图3所示,在所述S103的步骤之后,所述应用程序的安全性检测方法还包括:
S301、检测所述目标应用程序的口令强度和口令找回验证机制,若所述口令强度未达到预定设置或者所述口令找回验证机制不正确,则将所述目标应用程序添加至第二检测列表。
S302、检测所述目标应用程序的第一用户数据信息,若存在未经用户许可被执行删除或修改指令,则将所述目标应用程序添加至第二检测列表。
所述第一用户数据信息包括联系人信息、通话记录、定位数据和短信信息。
S303、检测所述通信数据包是否存在明文存储的第二用户数据信息,若存在,则将所述目标应用程序添加至第二检测列表。
所述第二用户数据信息包括账号信息、密码信息和手机号码信息。在其他实施方式中,所述第二用户数据信息还可以包括URL信息。
通过上述实施方式,更加全面地检测应用程序的安全性,更进一步提高了应用程序的安全性。
在一些实施方式中,如图4所示,在所述S104的步骤之后,所述应用程序的安全性检测方法还包括:
S401、检测是否可以反编译或者查看所述目标应用程序的源代码文件,若可以,则将所述目标应用程序添加至第一检测列表。
通过上述实施方式,更加全面地检测应用程序的安全性,更进一步提高了应用程序的安全性。
在一些实施方式中,如图5所示,在所述S104的步骤之后,所述应用程序的安全性检测方法还包括:
S501、将所述目标应用程序进行反编译,获得所述目标应用程序的程序源文件。
本实施例集成apktool和/或dex2jar工具对所述目标应用程序进行反编译。
S502、检测所述程序源文件中的dex文件和elf文件是否为受保护文件,若不是,则将所述目标应用程序添加至第一检测列表。
所述dex文件为java代码文件,所述elf文件为so文件。
所述S502步骤的实现,可以通过以下方法步骤实现:
检测所述dex文件和所述elf文件是否为加密文件,若不是,则判定所述dex文件和所述elf文件为未受保护文件;
将所述目标应用程序添加至所述第一检测列表。
S503、检测所述程序源文件中的xml配置文件是否开启调试开关,若开启,则将所述目标应用程序添加至第一检测列表。
所述xml配置文件可以是AndroidManifest.xml文件。
S504、检测所述程序源文件是否可使用函数ptrace开展进程注入,若可以,则将所述目标应用程序添加至第一检测列表。
S505、检测所述dex文件和所述elf文件是否存储着明文的数字证书,若是,则将所述目标应用程序添加至第一检测列表。
S506、修改所述程序源文件,执行打包指令,生成测试应用程序,运行所述测试应用程序,若能正常运行,则将所述目标应用程序添加至第一检测列表。
S507、检测所述dex文件是否有logcat函数存在,若存在,则将所述目标应用程序添加至第三检测列表。
S508、检测所述xml配置文件的至少一个组件的exported属性值,若所述exported属性值为导出,则将所述目标应用程序添加至第三检测列表。
所述exported属性值包括true和false两种,其中,当所述exported属性值为true时,则所述exported属性值为导出;当所述exported属性值为false时,则所述exported属性值为未导出。
通过上述实施方式,更加全面地检测应用程序的安全性,更进一步提高了应用程序的安全性。
在一些实施方式中,如图6所示,所述S105步骤包括:
S601、计算所述第一检测列表中所述目标应用程序的数量,生成第一风险值。
S602、计算所述第二检测列表中所述目标应用程序的数量,生成第二风险值。
S603、计算所述第三检测列表中所述目标应用程序的数量,生成第三风险值。
S604、根据所述第一风险值、所述第二风险值和所述第三风险值判定所述风险等级。
示例性地,所述风险等级包括高风险、中风险、低风险和安全四个等级,不为零的所述第一风险值对应高风险,不为零的所述第二风险值对应中风险,不为零的所述第三风险值对应低风险,当所述第一风险值、所述第二风险值和所述第三风险值均为0时,对应安全。在其他实施方式中,所述风险等级可以是其他形式的等级,不限制为前述的示例,由本领域技术人员根据实际需求设置。
S605、若所述第一风险值不为零,则确定所述目标应用程序为高风险应用程序。
需要说明的是,所述高风险应用程序的认定条件是所述第一风险值不为零,所述第二风险值和所述第三风险值的大小无限制。
S606、若所述第一风险值为零,所述第二风险值不为零,则确定所述目标应用程序为中风险应用程序。
需要说明的是,所述中风险应用程序的认定条件是所述第一风险值为零,所述第二风险值不为零,所述第三风险值的大小无限制。
S607、若所述第一风险值和所述第二风险值为零,所述第三风险值不为零,则确定所述目标应用程序为低风险应用程序。
S608、若所述第一风险值、所述第二风险值和所述第三风险值均为零,则确定所述目标应用程序为安全应用程序。
在一些实施方式中,在所述S101步骤之前,所述应用程序的安全性检测方法还包括:
启动所述目标应用程序,记录启动数据信息、权限获取信息和自动确认数据信息。
所述启动数据信息包括启动时间信息。
在一些实施方式中,在所述启动所述目标应用程序,记录启动数据信息、权限获取信息和自动确认数据信息的步骤之前,所述应用程序的安全性检测方法还包括:
检测所述目标应用程序的基本信息,若所述基本信息不完整,则将所述目标应用程序添加至所述第三检测列表。
所述基本信息包括APK文件名称信息、应用名称信息、所述目标应用程序的文件大小信息、版本信息、签名信息、sdk版本信息、APP摘要值(哈希值)和第三方sdk的数量。
在一些实施方式中,在所述检测所述目标应用程序的基本信息,若所述基本信息不完整,则将所述目标应用程序添加至所述第三检测列表的步骤之前,所述应用程序的安全性检测方法还包括:
获取至少一个待测应用程序的安装包;
安装所述安装包获得对应的所述目标应用程序。
本实施例通过Crawlzilla(开源软件)爬虫工具获取至少一个待测应用程序的安装包。
本申请所述的应用程序的安全性检测方法,符合以下标准:
1、GB/T 22239-2019信息安全技术网络安全等级保护基本要求;
2、GB/T 39786-2021信息安全技术信息系统密码应用基本要求;
3、GB/T 37729-2019信息技术智能移动终端应用软件(APP)技术要求;
4、T/TAF 081-2021移动智能终端应用软件调用行为记录能力要求;
5、T/TAF 108-2022移动终端应用软件列表权限实施指南;
6、T/TAF移动智能终端及应用软件用户个人信息保护实施指南;
7、YD/T 3039-2016移动智能终端应用软件安全技术要求。
<应用程序的安全性检测装置>
如图7所示,为本申请第二方面提供的一种应用程序的安全性检测装置,在图7中,所述应用程序的安全性检测装置700包括运行模块701、恶意行为检测模块702、权限信息检测模块703、SDK检测模块704和风险等级确定模块705。其中,所述运行模块701用于运行至少一个目标应用程序;所述恶意行为检测模块702用于检测所述目标应用程序是否存在恶意行为发生,若所述目标应用程序运行时发生了恶意行为,则将所述目标应用程序添加至第一检测列表;所述权限信息检测模块703用于检测所述目标应用程序的权限信息,若存在越权行为,则将所述目标应用程序添加至第二检测列表;所述SDK检测模块704用于检测所述目标应用程序的所有第三方SDK是否存在第三方广告SDK,若存在,则将所述目标应用程序添加至第三检测列表;所述风险等级确定模块705用于根据所述第一检测列表、第二检测列表和第三检测列表确定所述目标应用程序的风险等级。
在一些实施方式中,所述权限信息检测模块703还用于检测所述目标应用程序是否存在利用frida框架将运行时的内存进行另存为的操作,若存在,则将所述目标应用程序添加至第一检测列表;
所述应用程序的安全性检测装置还包括通信检测模块、分析模块和病毒检测模块,其中,
所述通信检测模块用于获取用户登录所述目标应用程序的通信数据包,解析所述通信数据包,检测所述通信数据包中用户名和密码是否为明文,若是,则将所述目标应用程序添加至第一检测列表;
所述通信检测模块还用于检测所述通信数据包中MAC值的长度,若所述长度低于256bit,则将所述目标应用程序添加至第一检测列表;
所述分析模块用于检测所述目标应用程序在数据录入、处理、存储和传输过程中是否被非法截留或窃取数据,若是,则将所述目标应用程序添加至第一检测列表;
所述分析模块还用于检测所述目标应用程序是否从终端的加密区域进行非授权解密,若是,则将所述目标应用程序添加至第一检测列表;
所述病毒检测模块检测所述目标应用程序是否携带病毒,若是,则将所述目标应用程序添加至第一检测列表。
在一些实施方式中,所述应用程序的安全性检测装置还包括口令检测模块、第一用户数据信息检测模块,
所述口令检测模块,用于检测所述目标应用程序的口令强度和口令找回验证机制,若所述口令强度未达到预定设置或者所述口令找回验证机制不正确,则将所述目标应用程序添加至第二检测列表;
所述第一用户数据信息检测模块,用于检测所述目标应用程序的第一用户数据信息,若存在未经用户许可被执行删除或修改指令,则将所述目标应用程序添加至第二检测列表;
所述分析模块,还用于检测所述通信数据包是否存在明文存储的第二用户数据信息,若存在,则将所述目标应用程序添加至第二检测列表。
在一些实施方式中,所述应用程序的安全性检测装置还包括第一反编译模块,用于检测是否可以反编译或者查看所述目标应用程序的源代码文件,若可以,则将所述目标应用程序添加至第一检测列表。
在一些实施方式中,所述应用程序的安全性检测装置还包括第二反编译模块,
所述第二反编译模块,用于将所述目标应用程序进行反编译,获得所述目标应用程序的程序源文件;
所述第二反编译模块,还用于检测所述程序源文件中的dex文件和elf文件是否为受保护文件,若不是,则将所述目标应用程序添加至第一检测列表;
所述第二反编译模块,还用于检测所述程序源文件中的xml配置文件是否开启调试开关,若开启,则将所述目标应用程序添加至第一检测列表;
所述第二反编译模块,还用于检测所述程序源文件是否可使用函数ptrace开展进程注入,若可以,则将所述目标应用程序添加至第一检测列表;
所述分析模块,还用于检测所述dex文件和所述elf文件是否存储着明文的数字证书,若是,则将所述目标应用程序添加至第一检测列表;
所述病毒分析模块,还用于检测所述dex文件和所述elf文件是否存储着明文的数字证书,若是,则将所述目标应用程序添加至第一检测列表;
所述分析模块,还用于检测所述dex文件是否有logcat函数存在,若存在,则将所述目标应用程序添加至第三检测列表;
所述第二反编译模块,还用于检测所述xml配置文件的至少一个组件的exported属性值,若所述exported属性值为导出,则将所述目标应用程序添加至第三检测列表。
在一些实施方式中,所述风险等级确定模块包括:
第一风险值生成单元,用于计算所述第一检测列表中所述目标应用程序的数量,生成第一风险值;
第二风险值生成单元,用于计算所述第二检测列表中所述目标应用程序的数量,生成第二风险值;
第三风险值生成单元,用于计算所述第三检测列表中所述目标应用程序的数量,生成第三风险值;
风险等级判定单元,用于根据所述第一风险值、所述第二风险值和所述第三风险值判定所述风险等级。判定的标准为若所述第一风险值不为零,则确定所述目标应用程序为高风险应用程序;若所述第一风险值为零,所述第二风险值不为零,则确定所述目标应用程序为中风险应用程序;若所述第一风险值和所述第二风险值为零,所述第三风险值不为零,则确定所述目标应用程序为低风险应用程序;若所述第一风险值、所述第二风险值和所述第三风险值均为零,则确定所述目标应用程序为安全应用程序。
在一些实施方式中,所述应用程序的安全性检测装置还包括启动模块,用于启动所述目标应用程序,记录启动数据信息、权限获取信息和自动确认数据信息。
在一些实施方式中,所述应用程序的安全性检测装置还包括基本信息检测模块,用于检测所述目标应用程序的基本信息,若所述基本信息不完整,则将所述目标应用程序添加至所述第三检测列表。
在一些实施方式中,所述应用程序的安全性检测装置还包括:
获取模块,用于获取至少一个待测应用程序的安装包;
安装模块,用于安装所述安装包获得对应的所述目标应用程序。
以上所述为本申请最佳实施方式的举例,其中未详细述及的部分均为本领域普通技术人员的公知常识。本申请的保护范围以权利要求的内容为准,任何基于本申请的技术启示而进行的等效变换,也在本申请的保护范围之内。
Claims (9)
1.应用程序的安全性检测方法,其特征在于,包括:
运行至少一个目标应用程序;
检测所述目标应用程序是否存在恶意行为发生,若所述目标应用程序运行时发生了恶意行为,则将所述目标应用程序添加至第一检测列表;
检测所述目标应用程序的权限信息,若存在越权行为,则将所述目标应用程序添加至第二检测列表;
检测所述目标应用程序的所有第三方SDK是否存在第三方广告SDK,若存在,则将所述目标应用程序添加至第三检测列表;
根据所述第一检测列表、第二检测列表和第三检测列表确定所述目标应用程序的风险等级;
所述根据所述第一检测列表、第二检测列表和第三检测列表确定所述目标应用程序的风险等级的步骤包括:计算所述第一检测列表中所述目标应用程序的数量,生成第一风险值;计算所述第二检测列表中所述目标应用程序的数量,生成第二风险值;计算所述第三检测列表中所述目标应用程序的数量,生成第三风险值;根据所述第一风险值、所述第二风险值和所述第三风险值判定所述风险等级;若所述第一风险值不为零,则确定所述目标应用程序为高风险应用程序;若所述第一风险值为零,所述第二风险值不为零,则确定所述目标应用程序为中风险应用程序;若所述第一风险值和所述第二风险值为零,所述第三风险值不为零,则确定所述目标应用程序为低风险应用程序;若所述第一风险值、所述第二风险值和所述第三风险值均为零,则确定所述目标应用程序为安全应用程序。
2.根据权利要求1所述的应用程序的安全性检测方法,其特征在于,在所述检测所述目标应用程序是否存在恶意行为发生,若所述目标应用程序运行时发生了恶意行为,则将所述目标应用程序添加至第一检测列表的步骤之后,所述应用程序的安全性检测方法还包括:
检测所述目标应用程序是否存在利用frida框架将运行时的内存进行另存为的操作,若存在,则将所述目标应用程序添加至第一检测列表;
获取用户登录所述目标应用程序的通信数据包,解析所述通信数据包,检测所述通信数据包中用户名和密码是否为明文,若是,则将所述目标应用程序添加至第一检测列表;
检测所述通信数据包中MAC值的长度,若所述长度低于256bit,则将所述目标应用程序添加至第一检测列表;
检测所述目标应用程序在数据录入、处理、存储和传输过程中是否被非法截留或窃取数据,若是,则将所述目标应用程序添加至第一检测列表;
检测所述目标应用程序是否从终端的加密区域进行非授权解密,若是,则将所述目标应用程序添加至第一检测列表;
检测所述目标应用程序是否携带病毒,若是,则将所述目标应用程序添加至第一检测列表。
3.根据权利要求2所述的应用程序的安全性检测方法,其特征在于,在所述检测所述目标应用程序的权限信息,若存在越权行为,则将所述目标应用程序添加至第二检测列表的步骤之后,所述应用程序的安全性检测方法还包括:
检测所述目标应用程序的口令强度和口令找回验证机制,若所述口令强度未达到预定设置或者所述口令找回验证机制不正确,则将所述目标应用程序添加至第二检测列表;
检测所述目标应用程序的第一用户数据信息,若存在未经用户许可被执行删除或修改指令,则将所述目标应用程序添加至第二检测列表;
检测所述通信数据包是否存在明文存储的第二用户数据信息,若存在,则将所述目标应用程序添加至第二检测列表。
4.根据权利要求3所述的应用程序的安全性检测方法,其特征在于,在所述检测所述目标应用程序的所有第三方SDK是否存在第三方广告SDK,若存在,则将所述目标应用程序添加至第三检测列表的步骤之后,所述应用程序的安全性检测方法还包括:
检测是否可以反编译或者查看所述目标应用程序的源代码文件,若可以,则将所述目标应用程序添加至第一检测列表。
5.根据权利要求3所述的应用程序的安全性检测方法,其特征在于,在所述检测所述目标应用程序的所有第三方SDK是否存在第三方广告SDK,若存在,则将所述目标应用程序添加至第三检测列表的步骤之后,所述应用程序的安全性检测方法还包括:
将所述目标应用程序进行反编译,获得所述目标应用程序的程序源文件;
检测所述程序源文件中的dex文件和elf文件是否为受保护文件,若不是,则将所述目标应用程序添加至第一检测列表;
检测所述程序源文件中的xml配置文件是否开启调试开关,若开启,则将所述目标应用程序添加至第一检测列表;
检测所述程序源文件是否可使用函数ptrace开展进程注入,若可以,则将所述目标应用程序添加至第一检测列表;
检测所述dex文件和所述elf文件是否存储着明文的数字证书,若是,则将所述目标应用程序添加至第一检测列表;
修改所述程序源文件,执行打包指令,生成测试应用程序,运行所述测试应用程序,若能正常运行,则将所述目标应用程序添加至第一检测列表;
检测所述dex文件是否有logcat函数存在,若存在,则将所述目标应用程序添加至第三检测列表;
检测所述xml配置文件的至少一个组件的exported属性值,若所述exported属性值为导出,则将所述目标应用程序添加至第三检测列表。
6.根据权利要求4或5任一所述的应用程序的安全性检测方法,其特征在于,在所述运行至少一个目标应用程序的步骤之前,所述应用程序的安全性检测方法还包括:
启动所述目标应用程序,记录启动数据信息、权限获取信息和自动确认数据信息。
7.根据权利要求6所述的应用程序的安全性检测方法,其特征在于,在所述启动所述目标应用程序,记录启动数据信息、权限获取信息和自动确认数据信息的步骤之前,所述应用程序的安全性检测方法还包括:
检测所述目标应用程序的基本信息,若所述基本信息不完整,则将所述目标应用程序添加至所述第三检测列表。
8.根据权利要求7所述的应用程序的安全性检测方法,其特征在于,在所述检测所述目标应用程序的基本信息,若所述基本信息不完整,则将所述目标应用程序添加至所述第三检测列表的步骤之前,所述应用程序的安全性检测方法还包括:
获取至少一个待测应用程序的安装包;
安装所述安装包获得对应的所述目标应用程序。
9.应用程序的安全性检测装置,其特征在于,包括:
运行模块,用于运行至少一个目标应用程序;
恶意行为检测模块,用于检测所述目标应用程序是否存在恶意行为发生,若所述目标应用程序运行时发生了恶意行为,则将所述目标应用程序添加至第一检测列表;
权限信息检测模块,用于检测所述目标应用程序的权限信息,若存在越权行为,则将所述目标应用程序添加至第二检测列表;
SDK检测模块,用于检测所述目标应用程序的所有第三方SDK是否存在第三方广告SDK,若存在,则将所述目标应用程序添加至第三检测列表;
风险等级确定模块,用于根据所述第一检测列表、第二检测列表和第三检测列表确定所述目标应用程序的风险等级;
所述风险等级确定模块包括第一风险值生成单元、第二风险值生成单元、第三风险值生成单元和风险等级判定单元,其中,
第一风险值生成单元,用于计算所述第一检测列表中所述目标应用程序的数量,生成第一风险值;
第二风险值生成单元,用于计算所述第二检测列表中所述目标应用程序的数量,生成第二风险值;
第三风险值生成单元,用于计算所述第三检测列表中所述目标应用程序的数量,生成第三风险值;
风险等级判定单元,用于根据所述第一风险值、所述第二风险值和所述第三风险值判定所述风险等级;判定的标准为若所述第一风险值不为零,则确定所述目标应用程序为高风险应用程序;若所述第一风险值为零,所述第二风险值不为零,则确定所述目标应用程序为中风险应用程序;若所述第一风险值和所述第二风险值为零,所述第三风险值不为零,则确定所述目标应用程序为低风险应用程序;若所述第一风险值、所述第二风险值和所述第三风险值均为零,则确定所述目标应用程序为安全应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210573954.6A CN114861180B (zh) | 2022-05-25 | 2022-05-25 | 应用程序的安全性检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210573954.6A CN114861180B (zh) | 2022-05-25 | 2022-05-25 | 应用程序的安全性检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114861180A CN114861180A (zh) | 2022-08-05 |
CN114861180B true CN114861180B (zh) | 2023-09-08 |
Family
ID=82639429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210573954.6A Active CN114861180B (zh) | 2022-05-25 | 2022-05-25 | 应用程序的安全性检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861180B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521087B (zh) * | 2024-01-04 | 2024-03-15 | 江苏通付盾科技有限公司 | 一种设备风险行为检测方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462970A (zh) * | 2014-12-17 | 2015-03-25 | 中国科学院软件研究所 | 一种基于进程通信的Android应用程序权限滥用检测方法 |
CN112231697A (zh) * | 2020-11-05 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 第三方sdk行为的检测方法、装置、介质及电子设备 |
CN113282906A (zh) * | 2020-02-20 | 2021-08-20 | Oppo广东移动通信有限公司 | 权限检测方法、装置、终端及存储介质 |
CN113343219A (zh) * | 2021-05-31 | 2021-09-03 | 烟台中科网络技术研究所 | 一种自动高效的高风险移动应用程序检测方法 |
-
2022
- 2022-05-25 CN CN202210573954.6A patent/CN114861180B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462970A (zh) * | 2014-12-17 | 2015-03-25 | 中国科学院软件研究所 | 一种基于进程通信的Android应用程序权限滥用检测方法 |
CN113282906A (zh) * | 2020-02-20 | 2021-08-20 | Oppo广东移动通信有限公司 | 权限检测方法、装置、终端及存储介质 |
CN112231697A (zh) * | 2020-11-05 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 第三方sdk行为的检测方法、装置、介质及电子设备 |
CN113343219A (zh) * | 2021-05-31 | 2021-09-03 | 烟台中科网络技术研究所 | 一种自动高效的高风险移动应用程序检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114861180A (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060174346A1 (en) | Instrumentation for alarming a software product | |
CN112217835B (zh) | 报文数据的处理方法、装置、服务器和终端设备 | |
US7613918B2 (en) | System and method for enforcing a security context on a downloadable | |
US8566949B2 (en) | Software component, software component management method, and software component management system | |
CN112149123B (zh) | 一种应用程序的安全检查系统及方法 | |
CN100452908C (zh) | 一种防止有通信条件/功能的软硬件被盗用的系统和方法 | |
CN113177205B (zh) | 一种恶意应用检测系统及方法 | |
KR20080010003A (ko) | 통합 인터넷 보안 시스템 및 방법 | |
CN112749088B (zh) | 应用程序检测方法、装置、电子设备和存储介质 | |
CN114861180B (zh) | 应用程序的安全性检测方法和装置 | |
CN115640572A (zh) | 一种iPhone端沙盒应用的安全检测与加固方法 | |
CN107122664B (zh) | 安全防护方法及装置 | |
CN108694329B (zh) | 一种基于软硬件结合的移动智能终端安全事件可信记录系统及方法 | |
CN111314370B (zh) | 一种业务漏洞攻击行为的检测方法及装置 | |
CN116993146A (zh) | 一种可快速识别电网敏感数据的系统 | |
CN116415300A (zh) | 基于eBPF的文件保护方法、装置、设备和介质 | |
CN102592101A (zh) | 一种led显示管理软件安全的方法与系统 | |
CN109981600B (zh) | 一种网站加固的安全性评估系统 | |
CN113268743A (zh) | 一种提高动环监控系统安全的方法 | |
Al-Wosabi et al. | Framework for software tampering detection in embedded systems | |
CN101778108B (zh) | 一种服务器主页防篡改的方法及装置 | |
CN104850785B (zh) | 一种android安全智能辅助系统 | |
CN104866761A (zh) | 一种高安全性安卓智能终端 | |
Lo et al. | A framework for third party android marketplaces to identify repackaged apps | |
CN117290823B (zh) | 一种app智能检测与安全防护方法、计算机设备及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |