CN108846282A - 基于静态污点分析的安卓应用程序权限泄露漏洞检测方法 - Google Patents
基于静态污点分析的安卓应用程序权限泄露漏洞检测方法 Download PDFInfo
- Publication number
- CN108846282A CN108846282A CN201810562762.9A CN201810562762A CN108846282A CN 108846282 A CN108846282 A CN 108846282A CN 201810562762 A CN201810562762 A CN 201810562762A CN 108846282 A CN108846282 A CN 108846282A
- Authority
- CN
- China
- Prior art keywords
- application program
- function
- analysis
- permission
- android
- 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
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/562—Static 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/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
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)
- Debugging And Monitoring (AREA)
Abstract
本发明提出一种安卓应用程序权限泄露漏洞检测方法,用于解决现有技术中存在的应用程序权限泄露漏洞检测的效率低和检测结果不全面的技术问题。从安卓***源代码中提取安卓敏感权限对应的每个应用程序编程接口,配置污染源函数和陷入函数;然后对待检测应用程序进行逆向工程,解析得到的资源文件,获取存在权限泄露风险的应用程序组件;接着构建存在权限泄露风险的应用程序组件的静态污点分析的检测流程方法;基于该方法执行静态污点分析,获取待检测应用程序的权限泄露路径列表;最后输出被测应用程序的权限泄露漏洞的检测结果。本发明能够实现全面高效地检测安卓应用程序权限泄露漏洞,可用于安卓应用程序权限泄露漏洞的分析与研究。
Description
技术领域
本发明属于网络与***安全技术领域,涉及一种安卓应用程序权限泄露漏洞检测方法,具体涉及一种基于静态污点分析的安卓应用程序权限泄露漏洞检测方法,可用于安卓应用程序权限泄露漏洞的分析与研究。
背景技术
移动互联网时代,基于安卓操作***的应用程序在用户与社会的连接中起着重要的媒介作用。然而由于安卓***安全机制不够完善,漏洞在安卓应用程序中普遍存在。安卓应用程序权限泄露漏洞是安卓漏洞中的一种,该漏洞导致恶意程序可以在不申请权限的情况下执行数据销毁、音频录制、信息发送等操作,给用户的隐私和财产造成安全威胁。因此,检测安卓应用程序权限泄露漏洞具有重要的意义。
现有的安卓应用程序权限泄露漏洞检测方法,根据检测过程中是否执行了被测应用程序,分为动态测试方法和静态分析方法。其中:
动态测试方法在真实的或者模拟的环境中运行被测应用程序,监控程序运行时的行为,根据给定的安全规则考察程序的安全属性。动态测试方法能够准确地检测出程序漏洞,但是存在检测检测覆盖面不足的问题。
静态分析方法不运行被测应用程序,而是扫描应用程序代码分析程序语义,验证代码是否满足安全规范。静态分析方法能够覆盖所有的被测应用程序代码路径,但是要加载整个应用程序到内存中分析,存在内存开销大和检测效率低的问题。
污点分析方法是一种广泛采用的漏洞分析方法,它的核心思想是追踪污染数据在程序中的流动。污点分析的起点称为污染源函数,终点称为陷入函数。污点分析方法检测污染源函数与陷入函数之间的程序路径。根据检测过程中是否执行了被测应用程序,污点分析方法分为静态污点分析和动态污点分析两种,动态污点分析是动态测试与污点分析相结合的方法,由于其存在检测覆盖面不足的问题,在进行安卓应用程序权限泄露漏洞检测时,主要采用的是静态污点分析。
静态污点分析是静态分析与污点分析相结合的方法,申请公布号为CN106709356A,名称为“基于静态污点分析和符号执行的安卓应用漏洞挖掘方法”的发明专利申请,公布了一种基于静态污点分析和符号执行的安卓应用程序漏洞挖掘方法,该发明将用户指定的污染源函数和陷入函数配置到文件中,构建整个被测应用程序的过程间控制流图,在过程间控制流图上搜索用户配置的污染源函数,然后由用户手动筛选污染源函数,执行污点分析,最后使用符号执行方法对污点分析的结果进行验证。该发明由用户筛选污染源函数,提升了分析效率,同时采用符号执行对污点分析结果进行验证,减少了假阳性错误。但是存在的缺陷是由于构建整个程序的过程间控制流图进行检测,检测的程序规模过于庞大,检测过程还需要中断程序运行让用户选择污染源函数,其效率提升是很有限的,并且由于陷入函数是由用户指定,只能检测出部分权限泄露漏洞,其检测结果不全面。
发明内容
本发明的目的在于针对上述技术存在的不足,提出一种安卓应用程序权限泄露漏洞检测方法,用于解决现有技术中存在的应用程序权限泄露漏洞检测的效率低和检测结果不全面的技术问题。
本发明的技术思路是:将从安卓***源代码中提取的安卓敏感权限对应的每个应用程序编程接口作为陷入函数,并进一步配置污染源函数和陷入函数的配置文件;然后对待检测应用程序进行逆向工程,得到待检测应用程序的资源文件,解析资源文件获取存在权限泄露风险的应用程序组件;接着构建存在权限泄露风险的应用程序组件的静态污点分析的检测流程方法;对检测流程方法执行静态污点分析,获取待检测应用程序的权限泄露路径列表;最后输出被测应用程序的权限泄露漏洞的检测结果。
根据上述思路,实现本发明目的采取的技术方案包括如下步骤:
(1)获取污染源函数和陷入函数的配置文件SourceSink_File:
(1a)将用户配置的能够接收外界数据的每个安卓应用程序编程接口作为污染源函数,得到由多个污染源函数组成的污染源函数集合S0,同时将从安卓***源代码中提取的安卓敏感权限对应的每个应用程序编程接口作为陷入函数,得到由多个陷入函数组成的陷入函数集合S1;
(1b)将污染源函数集合S0中的多个污染源函数和陷入函数集合S1中的多个陷入函数存储到SourceSink_File中,得到污染源函数和陷入函数的配置文件SourceSink_File;
(2)建立待检测安卓应用程序A的权限泄露路径列表TP_List;
(3)获取待检测安卓应用程序A中存在权限泄露风险的应用程序组件集合DC_Set:
(3a)对待检测安卓应用程序A进行逆向工程,得到A的程序源代码和AndroidManifest.xml文件;
(3b)对AndroidManifest.xml文件进行xml文件解析,并将解析得到的A中注册的所有安卓应用程序组件加入到集合C_Set中;
(3c)将C_Set中的公开组件加入到集合DC_Set中,得到待检测安卓应用程序A中存在权限泄露风险的应用程序组件集合DC_Set;
(4)构建静态污点分析的检测流程方法AndroidMain:
采用污点分析工具Fowdroid的虚拟主方法构建模块,构建从DC_Set中随机选取的一个应用程序组件的虚拟主方法,并将其作为该应用程序组件的静态污点分析的检测流程方法AndroidMain;
(5)给列表TP_List添加待检测安卓应用程序A的权限泄露路径:
(5a)采用java程序分析工具soot的控制流图构建功能,构建AndroidMain的控制流图,调用图构建功能,构建AndroidMain的调用图,并将构建的控制流图和调用图存储到运行java程序分析工具soot的设备的内存中;
(5b)采用java程序分析工具soot的过程间控制流图构建功能,通过控制流图和调用图构建静态污点分析的检测流程方法AndroidMain的过程间控制流图,并将过程间控制流图存储到运行java程序分析工具soot的设备的内存中;
(5c)在静态污点分析的检测流程方法AndroidMain的过程间控制流图中搜索配置文件SourceSink_File中存储的污染源函数,并将搜索到的污染源函数加入到污染源函数集合Source_Set中;
(5d)将污染源函数集合Source_Set中的污染源函数作为起始点,调用污点分析工具Fowdroid对AndroidMain的过程间控制流图进行污点分析,并将分析得到的存在污染的陷入函数加入到陷入函数集合Sink_Set中;
(5e)采用程序路径求解工具heros的路径求解功能,求解陷入函数集合Sink_Set中存在污染的陷入函数的路径,并将该路径添加到待检测安卓应用程序A的权限泄露路径列表TP_List中;
(6)判断步骤(3c)得到的DC_Set是否为空,若是,把步骤(5e)中的TP_List作为最终的待检测安卓应用程序A的权限泄露路径列表TP_List,并执行步骤(7),否则执行步骤(4);
(7)获取安卓应用程序A的权限泄露漏洞的检测结果:
判断最终的待检测安卓应用程序A的权限泄露路径列表TP_List是否为空,若是,则安卓应用程序A不存在权限泄露漏洞,否则,安卓应用程序A存在权限泄露漏洞,并输出TP_List中的安卓应用程序A的权限泄露路径。
本发明与现有技术相比,具有如下优点:
(1)本发明在构建静态污点分析的检测流程方法时将存在权限泄露风险的应用程序组件作为输入,并基于应用程序组件的静态污点分析的检测流程方法执行污点分析,而现有的方法将整个应用程序作为输入,基于整个应用程序的静态污点分析的检测流程方法执行污点分析,与现有技术相比,大幅削减了污点分析的规模,漏洞检测的效率更高。
(2)本发明在配置陷入函数时将从安卓***源代码中提取的所有安卓敏感权限对应的每个应用程序编程接口作为陷入函数,而现有的技术由用户手动配置陷入函数,与现有的技术相比,配置的陷入函数更完整,漏洞检测的结果更全面。
附图说明
图1为本发明的实现流程图;
图2为本发明获取存在权限泄露风险的应用程序组件集合的实现流程图;
图3为本发明获取待检测安卓应用程序A的权限泄露路径的实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和具体实施例,对本发明进行进一步的详细说明。
参照图1.本发明包括如下步骤:
步骤1)获取污染源函数和陷入函数的配置文件SourceSink_File:
1a)将用户指定的能够接收外界数据的每个安卓应用程序编程接口作为污染源函数,并将这些污染源函数写入到建立的文件source.txt中,本实例写入的污染源函数如下:<android.app.Activity:Intent getIntent()>、<android.content.Intent:android.os.Bundle getExtras()>、<android.content.Intent:String getStringExtra(String)>;
1b)从网络上的安卓开放源代码项目中获取安卓***源代码,本实例采用安卓5.0***的源代码,将***源代码作为输入,运行安卓权限分析工具Pscout获取安卓***所有权限对应的应用程序编程接口,并从获取的应用程序编程接口中过滤出安卓敏感权限对应的每个的应用程序编程接口作为陷入函数,将这些陷入函数写入到建立的文件sink.txt中;
所述的安卓敏感权限,是指安卓***中级别为Dangerous、Signature或者SignatureOrSystem的权限。
所述的能够接收外界数据的安卓应用程序编程接口和安卓敏感权限对应的所有的应用程序编程接口,均采用函数签名表示,函数签名的形式为:包名+类名+返回值+函数+参数。
1c)将source.txt中的每个污染源函数都加上尾缀“->_SOURCE_”,将sink.txt中的每个陷入函数都加上尾缀“->_SINK_”,然后将source.txt中的污染源函数和sink.txt中的陷入函数都写入到建立的文件SourceSink_File中,得到污染源函数和陷入函数的配置文件SourceSink_File;
步骤2)建立待检测安卓应用程序A的权限泄露路径列表TP_List;
步骤3)获取待检测安卓应用程序A中存在权限泄露风险的应用程序组件集合DC_Set:
参照图2,本步骤的具体实现如下:
3a)采用安卓应用程序资源文件逆向工具ApkParser对待检测安卓应用程序A执行资源文件反编译,得到AndroidManifest.xml文件,解压缩待检测安卓应用程序A,得到classes.dex文件,采用安卓应用程序源代码逆向工具dex2jar对classes.dex文件执行源代码反编译,得到待检测安卓应用程序A的程序源代码;
3b)采用xml文件解析工具dom4j搜索AndroidManifest.xml中注册安卓应用程序组件的元素,并从搜索到的元素中提取出注册的安卓应用程序组件加入到建立的集合C_Set中;
3c)将C_Set中的公开组件加入到建立的组件集合DC_Set中,具体步骤为:
3c1)建立组件集合DC_Set;
3c2)从集合C_Set中选取安卓应用程序组件Cp,采用xml文件解析工具dom4j从AndroidManifest.xml中获取安卓应用程序组件Cp的属性,并依次进行如下判断:
若Cp设置了intent-filter属性,将Cp添加到集合DC_Set中,
若Cp设置了exported属性,且exported属性的值为true,将Cp添加到集合DC_Set中,
若Cp没有设置exported属性且待检测应用程序A的软件开发工具包版本小于17,将Cp添加到集合DC_Set中;
3c3)重复步骤3c2)直到C_Set中没有安卓应用程序组件,得到存在权限泄露风险的安卓应用程序组件集合DC_Set;
所述的C_Set中的公开组件,是指C_Set中暴露给外界的安卓应用程序组件,该组件满足的条件为:设置了intent-filter属性,当设置了exported属性,exported属性的值为true,当没有设置exported属性,该组件所在安卓应用程序的软件开发工具包的版本小于17。
步骤4)构建静态污点分析的检测流程方法AndroidMain:
从存在权限泄露风险的安卓应用程序组件集合DC_Set中随机选取一个应用程序组件,采用污点分析工具Flowdroid的虚拟主方法构建功能构建该应用程序组件的虚拟主方法,并将其作为静态污点分析的检测流程方法AndroidMain;
步骤5)给列表TP_List添加待检测安卓应用程序A的权限泄露路径:
参照图3,本步骤的具体实现如下:
5a)将静态污点分析的检测流程方法AndroidMain作为输入,运行java程序分析工具soot的中间表达形式生成功能,得到AndroidMain的中间表达形式,将中间表达形式作为输入,分别运行java程序分析工具soot的控制流图构建功能和调用图构建功能,依次得到AndroidMain的控制流图和AndroidMain的调用图,将控制流图和调用图都存储到运行java程序分析工具soot的设备的内存中;
所述的AndroidMain的控制流图,是指记录静态污点分析的检测流程方法AndroidMain中的语句执行关系的双向链表,双向链表由多个节点组成,每个节点由静态污点分析的检测流程方法AndroidMain中的语句、指向该语句前驱节点的指针和指向该语句后驱节点的指针组成。
所述AndroidMain的调用图,是指记录静态污点分析的检测流程方法AndroidMain中的方法调用关系的单向链表,该链表中的每个节点由静态污点分析的检测流程方法AndroidMain中的方法和指向该方法调用的方法的指针组成。
5b)将AndroidMain的控制流图和AndroidMain的调用图作为输入,运行java程序分析工具soot的过程间控制流图构建功能,得到AndroidMain的过程间控制流图,将过程间控制流图存储到运行java程序分析工具soot的设备的内存中;
所述AndroidMain的过程间控制流图,是指记录静态污点分析的检测流程方法AndroidMain执行顺序的数据结构,该数据结构既包含静态污点分析的检测流程方法AndroidMain中的方法之间的调用关系,又包含静态污点分析的检测流程方法AndroidMain中方法内的语句的执行顺序。
5c)遍历静态污点分析的检测流程方法AndroidMain的过程间控制流图中的节点,将节点中定义的与配置文件SourceSink_File中存储的污染源函数相同的函数加入到污染源函数集合Source_Set中;
5d)将污染源函数集合Source_Set中的污染源函数作为起始点,运行污点分析工具Fowdroid对AndroidMain的过程间控制流图进行污点分析,并将分析得到的存在污染的陷入函数加入到陷入函数集合Sink_Set中;
5e)采用程序路径求解工具heros的路径求解功能,求解陷入函数集合Sink_Set中存在污染的陷入函数的路径,并将该路径添加到待检测安卓应用程序A的权限泄露路径列表TP_List中;
步骤6)判断步骤(3c)得到的DC_Set是否为空,若是,把步骤(5e)中的TP_List作为最终的待检测安卓应用程序A的权限泄露路径列表TP_List,并执行步骤(7),否则执行步骤(4);
步骤7)获取安卓应用程序A的权限泄露漏洞的检测结果:
判断最终得到的列表TP_List是否为空,若是,则安卓应用程序A不存在权限泄露漏洞,否则,安卓应用程序A存在权限泄露漏洞,并输出TP_List中的安卓应用程序A的权限泄露路径。
本发明的效果可以通过以下实验进一步说明:
1、实验开发环境与工具
本发明所有实验在内存为32G,cpu核心数为12个的Redhat Linux***上完成,整个方案原型***的实现采用java语言,开发工具为Eclipse。
2、实验内容与结果
本实验采用从小米应用商场爬取的225个实际安卓应用程序测试本发明方案的安卓应用程序权限泄露漏洞检测效率,并与申请公布号为CN 106709356A的发明方案进行对比,表1展示了上述两种方案对部分测试样本的检测时间的对比信息,表2展示了两种测试方案对全部测试样本的平均检测时间的对比信息。
表1
表2
Claims (7)
1.一种基于静态污点分析的安卓应用程序权限泄露漏洞检测方法,其特征在于包括如下步骤:
(1)获取污染源函数和陷入函数的配置文件SourceSink_File:
(1a)将用户配置的能够接收外界数据的每个安卓应用程序编程接口作为污染源函数,得到由多个污染源函数组成的污染源函数集合S0,同时将从安卓***源代码中提取的安卓敏感权限对应的每个应用程序编程接口作为陷入函数,得到由多个陷入函数组成的陷入函数集合S1;
(1b)将污染源函数集合S0中的多个污染源函数和陷入函数集合S1中的多个陷入函数存储到SourceSink_File中,得到污染源函数和陷入函数的配置文件SourceSink_File;
(2)建立待检测安卓应用程序A的权限泄露路径列表TP_List;
(3)获取待检测安卓应用程序A中存在权限泄露风险的应用程序组件集合DC_Set:
(3a)对待检测安卓应用程序A进行逆向工程,得到A的程序源代码和AndroidManifest.xml文件;
(3b)对AndroidManifest.xml文件进行xml文件解析,并将解析得到的A中注册的所有安卓应用程序组件加入到集合C_Set中;
(3c)将C_Set中的公开组件加入到集合DC_Set中,得到待检测安卓应用程序A中存在权限泄露风险的应用程序组件集合DC_Set;
(4)构建静态污点分析的检测流程方法AndroidMain:
采用污点分析工具Fowdroid的虚拟主方法构建模块,构建从DC_Set中随机选取的一个应用程序组件的虚拟主方法,并将其作为该应用程序组件的静态污点分析的检测流程方法AndroidMain;
(5)给列表TP_List添加待检测安卓应用程序A的权限泄露路径:
(5a)采用java程序分析工具soot的控制流图构建功能,构建AndroidMain的控制流图,调用图构建功能,构建AndroidMain的调用图,并将构建的控制流图和调用图存储到运行java程序分析工具soot的设备的内存中;
(5b)采用java程序分析工具soot的过程间控制流图构建功能,通过控制流图和调用图构建静态污点分析的检测流程方法AndroidMain的过程间控制流图,并将过程间控制流图存储到运行java程序分析工具soot的设备的内存中;
(5c)在静态污点分析的检测流程方法AndroidMain的过程间控制流图中搜索配置文件SourceSink_File中存储的污染源函数,并将搜索到的污染源函数加入到污染源函数集合Source_Set中;
(5d)将污染源函数集合Source_Set中的污染源函数作为起始点,调用污点分析工具Fowdroid对AndroidMain的过程间控制流图进行污点分析,并将分析得到的存在污染的陷入函数加入到陷入函数集合Sink_Set中;
(5e)采用程序路径求解工具heros的路径求解功能,求解陷入函数集合Sink_Set中存在污染的陷入函数的路径,并将该路径添加到待检测安卓应用程序A的权限泄露路径列表TP_List中;
(6)判断步骤(3c)得到的DC_Set是否为空,若是,把步骤(5e)中的TP_List作为最终的待检测安卓应用程序A的权限泄露路径列表TP_List,并执行步骤(7),否则执行步骤(4);
(7)获取安卓应用程序A的权限泄露漏洞的检测结果:
判断最终的待检测安卓应用程序A的权限泄露路径列表TP_List是否为空,若是,则安卓应用程序A不存在权限泄露漏洞,否则,安卓应用程序A存在权限泄露漏洞,并输出TP_List中的安卓应用程序A的权限泄露路径。
2.根据权利要求1所述的基于静态污点分析的安卓应用程序权限泄露漏洞检测方法,其特征在于,步骤(1a)中所述的安卓敏感权限,是指安卓***中级别为Dangerous、Signature或者SignatureOrSystem的权限。
3.根据权利要求1所述的基于静态污点分析的安卓应用程序权限泄露漏洞检测方法,其特征在于,步骤(1a)中所述的能够接收外界数据的每个安卓应用程序编程接口和安卓敏感权限对应的每个应用程序编程接口,均采用函数签名表示,函数签名的形式为:包名+类名+返回值+函数+参数。
4.根据权利要求1所述的基于静态污点分析的安卓应用程序权限泄露漏洞检测方法,其特征在于,步骤(3c)中所述的C_Set中的公开组件,是指C_Set中暴露给外界的安卓应用程序组件,该组件满足的条件为:设置了intent-filter属性,当设置了exported属性,exported属性的值为true,当没有设置exported属性,该组件所在安卓应用程序的软件开发工具包的版本小于17。
5.根据权利要求1所述的基于静态污点分析的安卓应用程序权限泄露漏洞检测方法,其特征在于,步骤(5a)中所述的AndroidMain的控制流图,是指记录静态污点分析的检测流程方法AndroidMain中的语句执行关系的双向链表,双向链表由多个节点组成,每个节点由静态污点分析的检测流程方法AndroidMain中的语句、指向该语句前驱节点的指针和指向该语句后驱节点的指针组成。
6.根据权利要求1所述的基于静态污点分析的安卓应用程序权限泄露漏洞检测方法,其特征在于,步骤(5a)中所述AndroidMain的调用图,是指记录静态污点分析的检测流程方法AndroidMain中的方法调用关系的单向链表,该链表中的每个节点由静态污点分析的检测流程方法AndroidMain中的方法和指向该方法调用的方法的指针组成。
7.根据权利要求1所述的基于静态污点分析的安卓应用程序权限泄露漏洞检测方法,其特征在于,步骤(5b)中所述AndroidMain的过程间控制流图,是指记录静态污点分析的检测流程方法AndroidMain执行顺序的数据结构,该数据结构既包含静态污点分析的检测流程方法AndroidMain中的方法之间的调用关系,又包含静态污点分析的检测流程方法AndroidMain中方法内的语句的执行顺序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810562762.9A CN108846282A (zh) | 2018-06-04 | 2018-06-04 | 基于静态污点分析的安卓应用程序权限泄露漏洞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810562762.9A CN108846282A (zh) | 2018-06-04 | 2018-06-04 | 基于静态污点分析的安卓应用程序权限泄露漏洞检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108846282A true CN108846282A (zh) | 2018-11-20 |
Family
ID=64210714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810562762.9A Pending CN108846282A (zh) | 2018-06-04 | 2018-06-04 | 基于静态污点分析的安卓应用程序权限泄露漏洞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108846282A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522235A (zh) * | 2018-11-29 | 2019-03-26 | 南京大学 | 一种针对安卓动态加载的隐私泄露检测的方法 |
CN110188033A (zh) * | 2019-05-09 | 2019-08-30 | 中国工商银行股份有限公司 | 数据检测装置、方法、计算机设备及计算机可读存储介质 |
CN110309661A (zh) * | 2019-04-19 | 2019-10-08 | 中国科学院信息工程研究所 | 一种基于控制流的敏感数据使用权限管理方法及装置 |
CN110334537A (zh) * | 2019-05-31 | 2019-10-15 | 华为技术有限公司 | 一种信息处理方法、装置以及服务器 |
CN110348206A (zh) * | 2019-07-11 | 2019-10-18 | 网易(杭州)网络有限公司 | 应用于安卓安装包apk的保护方法、介质、装置和计算设备 |
CN110727598A (zh) * | 2019-10-16 | 2020-01-24 | 西安电子科技大学 | 基于动态污点跟踪的二进制软件脆弱性检测***及方法 |
CN111460450A (zh) * | 2020-03-11 | 2020-07-28 | 西北大学 | 一种基于图卷积网络的源代码漏洞检测方法 |
CN111695119A (zh) * | 2020-05-13 | 2020-09-22 | 国家电网有限公司 | 一种基于细粒度静态污点分析与符号执行的web漏洞检测方法 |
CN111966718A (zh) * | 2020-09-09 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 用于应用***的数据传播追踪的***及方法 |
CN112257054A (zh) * | 2020-10-22 | 2021-01-22 | 北京邮电大学 | 一种软件应用越权风险检测方法、电子设备及存储介质 |
CN113158251A (zh) * | 2021-04-30 | 2021-07-23 | 上海交通大学 | 应用程序隐私泄露检测方法、***、终端及介质 |
CN114637664A (zh) * | 2020-12-16 | 2022-06-17 | 中国科学院软件研究所 | 一种针对安卓应用程序性质的检测方法及装置 |
CN114880673A (zh) * | 2022-04-28 | 2022-08-09 | 上海交通大学 | 针对小程序源代码进行隐私数据泄露检测的方法及*** |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765687A (zh) * | 2015-04-10 | 2015-07-08 | 江西师范大学 | 基于对象跟踪和污点分析的j2ee程序漏洞检测方法 |
CN104834862A (zh) * | 2015-03-25 | 2015-08-12 | 南京大学 | 一种安卓权限提升攻击的全面静态分析*** |
US20150227746A1 (en) * | 2014-02-07 | 2015-08-13 | Northwestern University | System and Method for Privacy Leakage Detection and Prevention System without Operating System Modification |
CN105550594A (zh) * | 2015-12-17 | 2016-05-04 | 西安电子科技大学 | 安卓应用文件的安全性检测方法 |
CN105608003A (zh) * | 2015-12-17 | 2016-05-25 | 西安电子科技大学 | 基于控制流分析和数据流分析的Java程序静态分析方法 |
CN105787366A (zh) * | 2016-02-16 | 2016-07-20 | 上海交通大学 | 基于组件关系的安卓软件可视化安全分析方法 |
CN106570399A (zh) * | 2016-09-30 | 2017-04-19 | 西北大学 | 一种跨App组件间隐私泄露的检测方法 |
CN106709356A (zh) * | 2016-12-07 | 2017-05-24 | 西安电子科技大学 | 基于静态污点分析和符号执行的安卓应用漏洞挖掘方法 |
CN106940773A (zh) * | 2017-01-10 | 2017-07-11 | 西安电子科技大学 | 基于静态污点数据分析的隐私泄漏漏洞检测确认方法 |
CN107133519A (zh) * | 2017-05-15 | 2017-09-05 | 华中科技大学 | 一种安卓应用网络通信中隐私泄漏检测方法及*** |
-
2018
- 2018-06-04 CN CN201810562762.9A patent/CN108846282A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150227746A1 (en) * | 2014-02-07 | 2015-08-13 | Northwestern University | System and Method for Privacy Leakage Detection and Prevention System without Operating System Modification |
CN104834862A (zh) * | 2015-03-25 | 2015-08-12 | 南京大学 | 一种安卓权限提升攻击的全面静态分析*** |
CN104765687A (zh) * | 2015-04-10 | 2015-07-08 | 江西师范大学 | 基于对象跟踪和污点分析的j2ee程序漏洞检测方法 |
CN105550594A (zh) * | 2015-12-17 | 2016-05-04 | 西安电子科技大学 | 安卓应用文件的安全性检测方法 |
CN105608003A (zh) * | 2015-12-17 | 2016-05-25 | 西安电子科技大学 | 基于控制流分析和数据流分析的Java程序静态分析方法 |
CN105787366A (zh) * | 2016-02-16 | 2016-07-20 | 上海交通大学 | 基于组件关系的安卓软件可视化安全分析方法 |
CN106570399A (zh) * | 2016-09-30 | 2017-04-19 | 西北大学 | 一种跨App组件间隐私泄露的检测方法 |
CN106709356A (zh) * | 2016-12-07 | 2017-05-24 | 西安电子科技大学 | 基于静态污点分析和符号执行的安卓应用漏洞挖掘方法 |
CN106940773A (zh) * | 2017-01-10 | 2017-07-11 | 西安电子科技大学 | 基于静态污点数据分析的隐私泄漏漏洞检测确认方法 |
CN107133519A (zh) * | 2017-05-15 | 2017-09-05 | 华中科技大学 | 一种安卓应用网络通信中隐私泄漏检测方法及*** |
Non-Patent Citations (1)
Title |
---|
卢璐: ""Android应用权限泄露漏洞检测技术研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522235B (zh) * | 2018-11-29 | 2021-04-27 | 南京大学 | 一种针对安卓动态加载的隐私泄露检测的方法 |
CN109522235A (zh) * | 2018-11-29 | 2019-03-26 | 南京大学 | 一种针对安卓动态加载的隐私泄露检测的方法 |
CN110309661A (zh) * | 2019-04-19 | 2019-10-08 | 中国科学院信息工程研究所 | 一种基于控制流的敏感数据使用权限管理方法及装置 |
CN110309661B (zh) * | 2019-04-19 | 2021-07-16 | 中国科学院信息工程研究所 | 一种基于控制流的敏感数据使用权限管理方法及装置 |
CN110188033A (zh) * | 2019-05-09 | 2019-08-30 | 中国工商银行股份有限公司 | 数据检测装置、方法、计算机设备及计算机可读存储介质 |
CN110188033B (zh) * | 2019-05-09 | 2023-04-25 | 中国工商银行股份有限公司 | 数据检测装置、方法、计算机设备及计算机可读存储介质 |
CN110334537B (zh) * | 2019-05-31 | 2023-01-13 | 华为技术有限公司 | 一种信息处理方法、装置以及服务器 |
CN110334537A (zh) * | 2019-05-31 | 2019-10-15 | 华为技术有限公司 | 一种信息处理方法、装置以及服务器 |
CN110348206A (zh) * | 2019-07-11 | 2019-10-18 | 网易(杭州)网络有限公司 | 应用于安卓安装包apk的保护方法、介质、装置和计算设备 |
CN110727598A (zh) * | 2019-10-16 | 2020-01-24 | 西安电子科技大学 | 基于动态污点跟踪的二进制软件脆弱性检测***及方法 |
CN111460450B (zh) * | 2020-03-11 | 2023-02-10 | 西北大学 | 一种基于图卷积网络的源代码漏洞检测方法 |
CN111460450A (zh) * | 2020-03-11 | 2020-07-28 | 西北大学 | 一种基于图卷积网络的源代码漏洞检测方法 |
CN111695119A (zh) * | 2020-05-13 | 2020-09-22 | 国家电网有限公司 | 一种基于细粒度静态污点分析与符号执行的web漏洞检测方法 |
CN111695119B (zh) * | 2020-05-13 | 2023-08-01 | 国家电网有限公司 | 一种基于细粒度静态污点分析与符号执行的web漏洞检测方法 |
CN111966718A (zh) * | 2020-09-09 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 用于应用***的数据传播追踪的***及方法 |
CN111966718B (zh) * | 2020-09-09 | 2024-03-15 | 支付宝(杭州)信息技术有限公司 | 用于应用***的数据传播追踪的***及方法 |
CN112257054A (zh) * | 2020-10-22 | 2021-01-22 | 北京邮电大学 | 一种软件应用越权风险检测方法、电子设备及存储介质 |
CN114637664A (zh) * | 2020-12-16 | 2022-06-17 | 中国科学院软件研究所 | 一种针对安卓应用程序性质的检测方法及装置 |
CN113158251A (zh) * | 2021-04-30 | 2021-07-23 | 上海交通大学 | 应用程序隐私泄露检测方法、***、终端及介质 |
CN114880673A (zh) * | 2022-04-28 | 2022-08-09 | 上海交通大学 | 针对小程序源代码进行隐私数据泄露检测的方法及*** |
CN114880673B (zh) * | 2022-04-28 | 2024-06-07 | 上海交通大学 | 针对小程序源代码进行隐私数据泄露检测的方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108846282A (zh) | 基于静态污点分析的安卓应用程序权限泄露漏洞检测方法 | |
Walden et al. | Predicting vulnerable components: Software metrics vs text mining | |
Abal et al. | 42 variability bugs in the linux kernel: a qualitative analysis | |
CN103577324B (zh) | 移动应用中隐私信息泄露的静态检测方法 | |
US9720798B2 (en) | Simulating black box test results using information from white box testing | |
Liu et al. | Software vulnerability discovery techniques: A survey | |
CN105678169B (zh) | 一种二进制程序漏洞挖掘方法和*** | |
Mumtaz et al. | An empirical study to improve software security through the application of code refactoring | |
US20130117855A1 (en) | Apparatus for automatically inspecting security of applications and method thereof | |
US20240121261A1 (en) | Automated Security Analysis of Software Libraries | |
CN106055479A (zh) | 一种基于强制执行的Android应用软件测试方法 | |
Tyagi et al. | Evaluation of static web vulnerability analysis tools | |
CN107741907A (zh) | 结合底层指令和***信息的模拟器检测方法及装置 | |
Vanciu et al. | Hidden dependencies in software systems | |
Person et al. | Test analysis: Searching for faults in tests (n) | |
Mahmud et al. | Analyzing the impact of API changes on Android apps | |
CN109948338A (zh) | 基于静态分析的安卓应用敏感路径触发方法 | |
Zhao et al. | Suzzer: A vulnerability-guided fuzzer based on deep learning | |
Liang et al. | Understanding and detecting performance and security bugs in IoT oses | |
EP2972880A1 (en) | Kernel functionality checker | |
Zoubi et al. | Study the impact of improving source code on software metrics | |
CN109002723A (zh) | 一种分段式符号执行方法 | |
CN114077737A (zh) | 基于污点分析的Android组件间通信数据流检测方法 | |
Hao et al. | Test-data generation guided by static defect detection | |
Feng et al. | Bintaint: a static taint analysis method for binary vulnerability mining |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181120 |