CN114491553B - 基于多粒度匹配的Android第三方功能库检测方法 - Google Patents
基于多粒度匹配的Android第三方功能库检测方法 Download PDFInfo
- Publication number
- CN114491553B CN114491553B CN202210000155.XA CN202210000155A CN114491553B CN 114491553 B CN114491553 B CN 114491553B CN 202210000155 A CN202210000155 A CN 202210000155A CN 114491553 B CN114491553 B CN 114491553B
- Authority
- CN
- China
- Prior art keywords
- class
- library
- application program
- function
- matching
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 18
- 230000003068 static effect Effects 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 12
- 238000003780 insertion Methods 0.000 abstract description 4
- 230000037431 insertion Effects 0.000 abstract description 4
- 238000003491 array Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 108010091205 Libid Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种基于多粒度匹配的安卓应用程序第三方库检测方法,主要解决现有技术无法检测被无效代码插入与控制流随机化混淆的应用程序问题,其方案是:通过反编译提取安卓应用程序静态信息和库文件静态信息;根据静态信息设计应用程序类过滤器与库过滤器,并将每个应用程序类过滤器与库过滤器进行匹配,得到潜在匹配类集合;将应用程序中的类与其潜在匹配库类集合中的每个类进行粗粒度匹配,得到应用程序类与库类多对多匹配结果;将粗粒度匹配的应用程序类与库类进行细粒度匹配,得到应用程序类与库类的一对一匹配结果,依据该匹配结果确定出应用程序是否包含第三方库。本发明检测精确率、召回率、F1值高,可用于安卓应用程序的第三方库检测。
Description
技术领域
本发明属于软件工程技术领域,特别涉及一种Android应用程序的第三方功能库检测方法,可用于网络安全中的Android应用程序第三方漏洞功能库的存在性检测。
背景技术
在移动互联网领域,Android操作系统已然成为最流行的开源操作系统之一,其上应用程序更是数不甚数,但随之而来的用户隐私泄露、资金丢失等重大安全问题也愈发严重,而其中应用程序由于引用了存在安全威胁的第三方功能库所导致的安全问题更是不容忽视。第三方功能库的特性主要是多样化和不透明性。其中多样化特性体现在现如今Android应用程序通过不断的引入大量现成的第三方功能库或者SDK(SoftwareDevelopment Kit),例如广告服务,地图服务,网络传输服务,社交统计服务等等,甚至在一些比较大的应用程序中,会同时引入几十甚至上百个第三方功能库来丰富应用程序的功能。不透明特性主要体现在,涉及社交、金融等第三方功能库提供商为了应用程序开发人员能够使用它们的服务,可能会在第三方功能库中添加一些关于自身服务的代码,而这些未知的情况,都会最终导致开发出的应用程序出现不确定的安全隐患。Android应用程序开发人员通过maven等工具可以很方便的集成所需的第三方功能库。但引用不当也会带来一系列的安全问题,其主要包括:
(1)权限滥用:应用程序本身与引入的第三方功能库作为一个整体编译为应用程序文件供用户安装,程序运行时系统提示用户的应用申请权限信息中没有第三方代码权限的描述,导致第三方功能库中可能申请一些应用程序本身不需要的权限。
(2)如果一个流行的第三方功能库包含某个安全漏洞,该漏洞的威胁将会传播到所有引用该库的应用程序。
目前最新的关于Android应用程序第三方功能库检测主要是基于聚类与相似度比较两种方式。基于聚类的方式,是通过聚类大量应用程序中的公共代码特征来达到检测大量应用程序中公有第三方功能库的方式。基于相似度比较的方式,是分别提取应用程序与第三方功能库的中间代码特征,通过相似度比较的方式检测应用程序中是否引入某第三方功能库的方式。在2021年ICSE录用的论文“ATVHunter:Reliable Version Detection ofThird-Party Libraries for Vulnerability Identification in AndroidApplications”中也是采用相似度比较的方式来检测Android应用程序中的第三方功能库,首先通过解析应用程序中的AndroidManifest.xml文件来排除其中属于应用程序本身的代码,再采用类依赖图CDG来提取应用程序中所有候选的第三方功能库,然后采用了模糊hash的方式将应用程序中候选功能库中的类函数与待检测的库类函数进行相似度比较,即将函数操作码按基本块分隔为多个片段,每个片段分别用hash再组合来作为整个函数的指纹,以此来降低代码混淆中存在的函数内局部修改对函数整体相似度比较的影响,接着采用编辑距离来衡量两个函数模糊hash串的相似度,最后采用如下公式计算候选库与待检测库的相似度得分:
其中t1表示app中的候选库,t2表示待检测的第三方功能库,表示t1与t2中完成匹配的函数数量,/>表示t2中的函数数量,TSS(t1,t2)表示两者的相似度得分。当TSS(t1,t2)值大于设定的阈值ε时,则视为应用程序中包含待检测的第三方功能库。该方法由于无法有效的检测被无效代码插入、控制流随机化混淆的应用程序,因而最终在其构建的356个应用程序与189个不同类型库的数据集上对第三方功能库的检测只能达到90.55%的精确率,87.16%的召回率与88.82%的F1值,对于app中未检测出的存在漏洞的第三方功能库会造成用户使用的安全隐患。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种基于多粒度匹配的Android第三方功能库检测方法,提高检测的精确率、召回率和F1值,减小用户使用的安全隐患。
实现本发明目的技术思路是:通过研究Android平台流行的混淆工具如ProGuard摸清当下针对Android应用程序的主流混淆方式的特点;通过利用Android应用程序反编译得到的中间代码中不能被混淆的类级别描述信息来预先为每个应用程序类提取出库中的潜在匹配类集合,以加快后续核心的相似度比较过程,提高检测效率;通过设计一个新的函数相似度比较方法减小无效代码插入与控制流随机化混淆对库检测中函数相似度比较的影响,保证在各种混淆情况下依然能够实现应用程序类函数与库类函数的真实匹配,同时尽可能的减少误匹配。
根据上述思路,本发明的实现方案包括如下:
为实现上述目的,本发明的具体步骤如下:
1.一种基于多粒度匹配的Android第三方功能库检测方法,其特征在于,包括:
(1)分别输入待检测的Android应用程序文件和待检测的库文件,通过反编译分别提取Android应用程序静态信息α和库文件静态信息β;
(2)根据提取的两个静态信息α和β分别为应用程序中的每个类与整个库构造过滤器,并将应用程序类过滤器与库过滤器进行匹配,以预先为每个应用程序类提取出库中的潜在匹配类集合;
(3)将应用程序中的类与其潜在匹配库类集合中的每个类进行粗粒度匹配,得到应用程序类与库类多对多成功匹配结果;
(4)将粗粒度成功匹配的应用程序类与库类进行细粒度匹配,得到应用程序类与库类的一对一成功匹配结果;
(5)依据一对一成功匹配的库类信息确定应用程序中包含的第三方库信息:
(5a)定义阈值θ1,从库文件静态信息β中获取库中每个类的操作码数量与库的总操作码数量,计算所有一对一成功匹配的库类中的操作码数量之和与库的总操作码数量比值θ2;
(5b)将比值θ2与阈值θ1进行比较:
如果θ2≥θ1,则视为应用程序中包含第三方功能库,
如果θ2<θ1,则视为应用程序中不包含第三方功能库。
本发明与现有技术相比具有以下优点:
第一,本方法由于采用对应用程序类与库类先进行宽松的粗粒度匹配,再对粗粒度成功匹配结果进行了细粒度匹配,不仅降低粗粒度匹配可能造成的误匹配,而且能够抵抗应用程序中无效代码插入与控制流随机化的混淆,在检测第三方功能库上比现有技术具有更高的精确率、召回率和F1值。
第二,本方法由于引入了过滤器匹配,预先为每一个待匹配的应用程序类找出了库中所有的潜在匹配类集合,降低了后续应用程序类与库类成对比较的复杂性,比现有技术具有更高的检测效率。
附图说明
图1是本发明的实现流程图;
图2是本发明中的应用程序类过滤器结构图;
图3是本发明中的库过滤器的结构图;
图4是本发明中应用程序类与库类粗粒度匹配结果的示意图。
图5是本发明中应用程序类与库类细粒度匹配结果的示意图。
图6是用本发明与现有技术分别在ground truth数据集上对于第三方功能库检测的实验结果对比图。
具体实施方式
下面结合附图对本发明的实施例和效果作进一步详细描述。
参照图1,本实例的实现步骤如下:
步骤1,通过反编译分别提取Android应用程序静态信息α和库文件静态信息β。
1.1)对应用程序使用Android逆向工具进行反编译,从反编译得到的中间代码数据中,提取出类的描述信息、字段描述信息、函数描述信息、函数内的操作码信息和函数内的调用信息,作为该应用程序的静态信息α;
1.2)先将库jar文件使用Android逆向工具dex2jar转换为dex文件,再对dex文件使用Android逆向工具AndroGuard进行反编译,从反编译得到的中间代码数据中,提取出类的描述信息、字段描述信息、函数描述信息、函数内的操作码信息和函数内的调用信息,作为该库的静态信息β。
步骤2,根据提取的两个静态信息α和β分别构造应用程序中的每个类与整个库的过滤器,并对这两种过滤器进行匹配。
2.1)将应用程序静态信息α中记录的应用程序类中的各项特征分别用整数0或1表示,其中0表示类不具有该特征,1表示类具有该特征,针对应用程序中的每个类,按固定特征顺序组合其中的所有0和1作为该类的过滤器如图2所示。
2.2)将库静态信息β中记录的各个库类中具有相同特征的库类名称放入同一个集合中,按固定特征顺序组合所有的集合作为库的过滤器如图3所示。
上述两个过滤器中的第1到第6位设置为类级别描述特征,包括普通类、接口类、抽象类、枚举类、静态类和存在非Object父类六类信息;过滤器中的第7到第51位设置为字段描述特征,第7位表示无字段特征,其余字段特征位置下标计算公式如下:
f(a,b)=7+(a-1)×22+b
其中f(a,b)表示字段特征位置下标,变量a表示字段是否静态,a的取值为整数1或2,其中1表示静态,2表示非静态;变量b表示字段的类型,包括Object类型、String类型、8种Java基本类型、Java引用类型、其他引用类型、Java引用类型数组、8种Java基本类型数组和其他类型数组,共22种类型,b的取值范围为1到22,计算可得f(a,b)的取值范围为8到51;过滤器中的第52位到第787位设置为函数级描述特征,字段特征位置下标计算公式如下:
g(k,m,n)=51+(k-1)×368+(m-1)×16+n
其中g(k,m,n)表示函数级描述特征位置下标,变量k表示函数是否静态,k的取值为整数1或2,其中1表示静态,2表示非静态;变量m表示方法返回值类型,包括Object类型、String类型、8种Java基本类型、Java引用类型、其他引用类型、Java引用类型数组、8种Java基本类型数组、其他类型数组和无返回值,共23种类.型,m的取值范围为1到23;变量n表示函数参数信息,参数类型包括Java引用类型、Java基本类型、数组类型和其他引用类型四种,由数学排列组合知识可知,共有16种情况,n的取值范围为1到16;计算可得g(k,m,n)的取值范围为52到787;
2.3)针对应用程序中的每一个类,先获取其过滤器中所有数字为1的特征,再对库过滤器中这些特征位的集合求交集,将交集中的所有库类作为该应用程序类的潜在匹配库类集合。
步骤3,将应用程序中的类与其潜在匹配库类集合中的每个类进行粗粒度匹配,得到应用程序类与库类多对多成功匹配结果。
3.1)将应用程序类中的函数与其潜在匹配库类中的函数进行一对一匹配,将满足如下条件的应用程序类函数与库类函数视为粗粒度成功匹配:
其中,opi表示Google安卓开发者文档中描述的Dalvik操作码中的任意一种,lm表示库类函数中包含的操作码集合,am表示应用程序类函数包含的操作码集合;
3.2)从应用程序静态信息α与库静态信息β中分别获取应用程序类函数与库类函数中的操作码数量,结合粗粒度成功匹配结果,得到应用程序类函数与库类函数粗粒度成功匹配的操作码数量,再通过如下公式计算应用程序类与库类的相似度得分:
其中CSS(Ca,Cl)表示应用程序类ca与库类cl的相似度得分,表示应用程序类ca与库类cl中粗粒度成功匹配的操作码数量,/>表示应用程序类ca中的操作码数量;
3.3)定义阈值δ1:即从ATVHunter公开的ground truth数据集中随机取出100个应用程序和452个第三方库进行多次阈值δ测试实验,将F1值最大时对应的阈值δ值作为阈值δ1的值,本实例取但不限于δ1值取值为0.8;
3.4)比较CSS(Ca,Cl)与δ1:
如果CSS(Ca,Cl)≥δ1,则视为应用程序类ca与库类cl粗粒度成功匹配;
如果CSS(Ca,Cl)<δ2,则视为应用程序类ca与库类cl粗粒度匹配失败;
最终得到应用程序类与库类多对多成功粗粒度匹配结果,如图4所示。
步骤4,将粗粒度成功匹配的应用程序类与库类进行细粒度匹配,得到应用程序类与库类的一对一成功匹配结果。
4.1)根据步骤1中提取的应用程序类函数与库类函数中的操作码信息与调用信息,构建函数调用图,即将函数中的操作码顺序序列按操作码“invoke”分隔后的每一块视为一个节点,函数中的调用关系视为边,得到函数调用图;
4.2)在函数调用图上,为粗粒度匹配的应用程序类函数与库类函数分别生成从函数头沿着调用关系直到函数尾的完整操作码顺序序列;
4.3)将应用程序类中的函数与其粗粒度成功匹配库类中的函数使用其完整操作码顺序序列进行匹配,将满足如下条件的应用程序类函数与库类函数视为细粒度成功匹配:
其中,opi表示Google安卓开发者文档中描述的Dalvik操作码中的任意一种,lim表示库类函数的完整操作码集合,aim表示应用程序类函数的完整操作码集合;
4.4)从应用程序类函数与库类函数的完整操作码顺序序列中分别得到操作码数量,结合细粒度成功匹配结果,得到库类函数与应用程序类函数细粒度成功匹配的操作码数量;
4.5)针对一个应用程序类与其多个粗粒度匹配的库类,计算每个库类中所有细粒度成功匹配的函数操作码数量之和ω,将ω值最大的库类作为与该应用程序类一对一成功匹配的库类,如图5所示。
步骤5,依据一对一成功匹配的类信息确定应用程序中包含的第三方库信息。
5.1)定义阈值θ1:即从ATVHunter公开的ground truth数据集中随机取出100个应用程序和452个第三方库进行多次阈值θ测试实验,将F1值最大时对应的阈值θ值作为阈值θ1的值,本实例取但不限于θ1值取值为0.4;
5.2)从库文件静态信息β中获取库中每个类的操作码数量Oci与库的总操作码数量Sl,通过下式计算所有一对一成功匹配的库类中的操作码数量之和与库的总操作码数量比值θ2:
其中,n为库中一对一成功匹配的库类数量。
5.3)将比值θ2与阈值θ1进行比较:
如果θ2≥θ1,则视为应用程序中包含第三方功能库;
如果θ2<θ1,则视为应用程序中不包含第三方功能库。
本发明的效果可通过以下检测实验进一步说明:
一.实验数据:
采用ATVHunter公开的ground truth数据集,其包括648个Android应用程序和452个第三方功能库。
二.实验内容:
用本发明方法与ATVHunter、LibID、LibPecker、LibScout这四种现有方法分别在ATVHunter公开的ground truth数据集上对第三方功能库进行检测,结果如图6。
从图6可以看出,本发明在精确率、召回率和F1值上明显高于现有四种方法。
本发明未详细说明部分属于本领域技术人员公知常识。
以上所述仅为发明的较佳实施例而已,并不用以限制本发明,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
Claims (4)
1.一种基于多粒度匹配的Android第三方功能库检测方法,其特征在于,包括:
(1)分别输入待检测的Android应用程序文件和待检测的库文件,通过反编译分别提取Android应用程序静态信息α和库文件静态信息β;
(2)根据提取的两个静态信息α和β分别为应用程序中的每个类与整个库构造过滤器,并将应用程序类过滤器与库过滤器进行匹配,以预先为每个应用程序类提取出库中的潜在匹配类集合;
(3)将应用程序中的类与其潜在匹配库类集合中的每个类进行粗粒度匹配,得到应用程序类与库类多对多成功匹配结果;实现如下:
(3a)将应用程序类中的函数与其潜在匹配库类中的函数进行一对一匹配,将满足如下条件的应用程序类函数与库类函数视为粗粒度成功匹配:
其中,opi表示Google安卓开发者文档中描述的Dalvik操作码中的任意一种,lm表示库类函数中包含的操作码集合,am表示应用程序类函数包含的操作码集合;
(3b)从应用程序静态信息α与库静态信息β中分别获取应用程序类函数与库类函数中的操作码数量,结合(3a)中的粗粒度成功匹配结果,得到应用程序类函数与库类函数粗粒度成功匹配的操作码数量;
(3c)设定阈值δ1,计算应用程序类中所有粗粒度成功匹配的函数中操作码数量之和与应用程序类中所有函数中操作码数量之和的比值δ2,并将其与阈值进行比较:如果δ2≥δ1,则视为应用程序类与库类粗粒度成功匹配;如果δ2<δ1,则视为应用程序类与库类粗粒度匹配失败,最终得到应用程序类与库类多对多成功粗粒度匹配结果;
(4)将粗粒度成功匹配的应用程序类与库类进行细粒度匹配,得到应用程序类与库类的一对一成功匹配结果;实现如下:
(4a)根据步骤1中提取的应用程序类函数与库类函数中的操作码信息与调用信息,构建函数调用图,在函数调用图上生成应用程序类函数与库类函数完整的操作码顺序序列;
(4b)将应用程序类中的函数与其粗粒度成功匹配库类中的函数进行匹配,将满足如下条件的应用程序类函数与库类函数视为细粒度成功匹配:
其中,opi表示Google安卓开发者文档中描述的Dalvik操作码中的任意一种,lim表示库类函数的完整操作码集合,aim表示应用程序类函数的完整操作码集合;
(4c)从应用程序类函数与库类函数的完整操作码顺序序列中分别得到操作码数量,结合(4b)中的细粒度成功匹配结果,得到库类函数与应用程序类函数细粒度成功匹配的操作码数量;
(4d)计算每个库类中所有细粒度成功匹配的函数操作码数量之和ω,将ω值最大的库类作为与该应用程序类一对一成功匹配的库类;
(5)依据一对一成功匹配的库类信息确定应用程序中包含的第三方库信息:
(5a)定义阈值θ1,从库文件静态信息β中获取库中每个类的操作码数量与库的总操作码数量,计算所有一对一成功匹配的库类中的操作码数量之和与库的总操作码数量比值θ2;
(5b)将比值θ2与阈值θ1进行比较:
如果θ2≥θ1,则视为应用程序中包含第三方功能库,
如果θ2<θ1,则视为应用程序中不包含第三方功能库。
2.根据权利要求1所述的方法,其特征在于,(1)中通过反编译分别提取Android应用程序静态信息α和库文件静态信息β,实现如下:
(1a)使用Android逆向工具AndroGuard反编译输入的应用程序,从反编译得到的中间代码数据中,提取出类的描述信息、字段描述信息、函数描述信息、函数内的操作码信息和函数内的调用信息,作为Android应用程序静态信息α;
(1b)使用Android逆向工具dex2jar将输入的jar文件先转换为dex文件,再使用Android逆向工具AndroGuard反编译dex文件,从反编译得到的中间代码数据中,提取出类的描述信息、字段描述信息、函数描述信息、函数内的操作码信息和函数内的调用信息,作为库文件静态信息β。
3.根据权利要求1所述的方法,其特征在于,(2)中根据提取的两个静态信息α和β分别构造应用程序中的每个类与整个库的过滤器,并对这两种过滤器进行匹配,实现如下:
(2a)将静态信息α中记录的应用程序类中的各项特征分别用整数0或1表示,其中0表示类不具有该特征,1表示类具有该特征,针对应用程序中的每个类,按固定特征顺序组合其中的所有0和1作为该类的过滤器;
(2b)将静态信息β中记录的各个库类中具有相同特征的库类名称放入同一个集合中,按固定特征顺序组合所有的集合作为库的过滤器;
(2c)针对应用程序中的每一个类,先获取其过滤器中所有数字为1的特征,再对库过滤器中这些特征位的集合求交集,将交集中的所有库类作为该应用程序类的潜在匹配库类集合。
4.根据权利要求1所述的方法,其特征在于,(5a)中计算所有一对一成功匹配的库类中的操作码数量之和与库的总操作码数量比值θ2,是从库静态信息中β获取每一个库类的操作码数量Oci与库的总操作码数量信息Sl,通过下式计算:
其中,n为库中一对一成功匹配的库类数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210000155.XA CN114491553B (zh) | 2022-01-02 | 2022-01-02 | 基于多粒度匹配的Android第三方功能库检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210000155.XA CN114491553B (zh) | 2022-01-02 | 2022-01-02 | 基于多粒度匹配的Android第三方功能库检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114491553A CN114491553A (zh) | 2022-05-13 |
CN114491553B true CN114491553B (zh) | 2024-05-14 |
Family
ID=81510564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210000155.XA Active CN114491553B (zh) | 2022-01-02 | 2022-01-02 | 基于多粒度匹配的Android第三方功能库检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114491553B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108710798A (zh) * | 2018-05-18 | 2018-10-26 | 华中科技大学 | 一种Android第三方库间共谋行为检测方法 |
CN108763924A (zh) * | 2018-04-26 | 2018-11-06 | 南京大学 | 一种安卓应用程序中不可信第三方库访问权限控制方法 |
CN110378118A (zh) * | 2019-06-26 | 2019-10-25 | 南京理工大学 | 高效准确的安卓应用第三方库检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9245125B2 (en) * | 2014-02-27 | 2016-01-26 | Nec Laboratories America, Inc. | Duleak: a scalable app engine for high-impact privacy leaks |
-
2022
- 2022-01-02 CN CN202210000155.XA patent/CN114491553B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763924A (zh) * | 2018-04-26 | 2018-11-06 | 南京大学 | 一种安卓应用程序中不可信第三方库访问权限控制方法 |
CN108710798A (zh) * | 2018-05-18 | 2018-10-26 | 华中科技大学 | 一种Android第三方库间共谋行为检测方法 |
CN110378118A (zh) * | 2019-06-26 | 2019-10-25 | 南京理工大学 | 高效准确的安卓应用第三方库检测方法 |
Non-Patent Citations (7)
Title |
---|
CryptoEval: Evaluating the risk of cryptographic misuses in Android apps with data‐flow analysis;Cong Sun 等;IET Information Security;20230510;第582–597页 * |
Large-Scale Third-Party Library Detection in Android Markets;Menghao Li等;IEEE TRANSACTIONS ON SOFTWARE ENGINEERING;20200930;第46卷(第9期);第981-1003页 * |
LibScan: Towards More Precise Third-Party Library Identification for Android Applications;Yafei Wu等;the Proceedings of the 32nd USENIX Security Symposium;20230811;第3385-3402页 * |
μDep: Mutation-Based Dependency Generation for Precise Taint Analysis on Android Native Code;Cong Sun等;IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING;20230430;第20卷(第2期);第1461-1475页 * |
基于同源策略的移动应用细粒度隐私保护技术;卢文雄;王浩宇;;大数据;20200115(01);第26-37页 * |
基于多粒度匹配的 Android 应用程序第三方 库检测;伍亚飞;中国优秀硕士学位论文全文数据库 信息科技辑;20231015(第10期);I138-28 * |
大规模移动应用第三方库自动检测和分类方法;王浩宇;郭耀;马子昂;陈向群;;软件学报;20171231(06);第51-66页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114491553A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liao et al. | Soliaudit: Smart contract vulnerability assessment based on machine learning and fuzz testing | |
Pham et al. | Detection of recurring software vulnerabilities | |
Crussell et al. | Andarwin: Scalable detection of android application clones based on semantics | |
US8745760B2 (en) | Malware classification for unknown executable files | |
CN103761475B (zh) | 检测智能终端中恶意代码的方法及装置 | |
US6782478B1 (en) | Techniques for encoding information in computer code | |
CN111639337B (zh) | 一种面向海量Windows软件的未知恶意代码检测方法及系统 | |
CN104123493A (zh) | 应用程序的安全性检测方法和装置 | |
Li et al. | Effective and light-weight deobfuscation and semantic-aware attack detection for powershell scripts | |
CN108140091A (zh) | 漏洞发现装置、漏洞发现方法以及漏洞发现程序 | |
CN103761476A (zh) | 特征提取的方法及装置 | |
CN103902910A (zh) | 检测智能终端中恶意代码的方法及装置 | |
Chen | Finding ethereum smart contracts security issues by comparing history versions | |
US10296743B2 (en) | Method and device for constructing APK virus signature database and APK virus detection system | |
Ren et al. | Scstudio: a secure and efficient integrated development environment for smart contracts | |
Chen et al. | When chatgpt meets smart contract vulnerability detection: How far are we? | |
Jiang et al. | Function-level obfuscation detection method based on graph convolutional networks | |
Feichtner et al. | Obfuscation-resilient code recognition in Android apps | |
CN114491553B (zh) | 基于多粒度匹配的Android第三方功能库检测方法 | |
CN108171057B (zh) | 基于特征匹配的Android平台恶意软件检测方法 | |
Alam et al. | Droidclone: Attack of the android malware clones-a step towards stopping them | |
CN109241706B (zh) | 基于静态胎记的软件抄袭检测方法 | |
Vahedi et al. | Behavioral entropy towards detection of metamorphic malwares | |
Akram et al. | DroidSD: An Efficient Indexed Based Android Applications Similarity Detection Tool. | |
Ladisa et al. | On the Feasibility of Cross-Language Detection of Malicious Packages in npm and PyPI |
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 |