CN114792006A - 基于lstm的安卓跨应用程序共谋安全分析方法及系统 - Google Patents
基于lstm的安卓跨应用程序共谋安全分析方法及系统 Download PDFInfo
- Publication number
- CN114792006A CN114792006A CN202210321128.2A CN202210321128A CN114792006A CN 114792006 A CN114792006 A CN 114792006A CN 202210321128 A CN202210321128 A CN 202210321128A CN 114792006 A CN114792006 A CN 114792006A
- Authority
- CN
- China
- Prior art keywords
- cross
- application program
- application
- file
- collusion
- 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.)
- Granted
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 79
- 238000012549 training Methods 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 7
- 230000009471 action Effects 0.000 claims description 6
- 238000005206 flow analysis Methods 0.000 claims description 2
- 238000003672 processing method Methods 0.000 claims description 2
- 238000011160 research Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/74—Reverse engineering; Extracting design information from source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Virology (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种面向Android的跨应用程序安全分析方法及系统,首先获取应用程序的清单文件和Java字节码文件;根据权限列表获取跨应用程序样本组中两个应用程序不重复的危险权限组并组合,将得到的危险权限组组合作为特征写入特征文件;将跨应用程序样本组中两个应用程序的暴露组件和Java字节码文件进行交叉意图匹配,匹配成功得到意图信息并写入特征文件;将特征文件作为训练数据集,对LSTM跨应用程序共谋分析分类器模型进行训练,使用训练后的LSTM跨应用程序共谋分类器模型检测跨应用程序是否存在共谋风险。
Description
技术领域
本发明涉及Android安全领域,具体为一种基于LSTM的安卓跨应用程序共谋安全分析及系统。
背景技术
随着移动设备普及带来的Android用户数扩大,Android应用程序的数量也在不断增加。在Android系统中,由于攻击手段在不断升级的情况下,单个应用程序安全分析已经不足以保证Android系统的移动设备安全。通常在用户知道或未知的情况下应用程序不但在进行着内部组件通信,还同时进行着跨应用程序间的通信。虽然Android有很多自己的保护机制,但目前应用程序仍可以通过跨应用程序通信,逃避现有的保护机制从而实现其恶意攻击行为。
需要重点注意的一类跨应用程序威胁被称为共谋(collusion),其实现依赖于多个应用程序的协同工作。应用程序间可以直接或间接的相互通信,从而来组合它们的特权来执行威胁数据隐私或系统完整性的恶意攻击任务。这种攻击手段不但能造成用户隐私数据泄露,还能实现应用程序权限升级影响系统正常使用。此外,这种攻击手段还能躲避市面普遍存在的单个应用程序安全分析工具的检测,隐蔽性和危害性都极强。
在共谋攻击情景下,恶意功能被划分为多个应用程序执行。每个参与的应用程序都只会负责部分功能的实现,这也使得对于单个应用程序分析技术来说他们往往会呈现出良性的特征,然后联合起来共谋实现其恶意功能。每个参与应用程序完成其中的一部分,并通过组件间通信(ICC)将信息传递给其他应用程序。组件间通信(ICC)支持跨应用程序和应用程序组件的模块化设计和功能重用。需要注意的是应用程序进行组件间通信不需要任何授权,也不用通知用户这些所进行的通信。在Android中,组件间通信模型被实现为消息传递系统,其中消息被封装为意图对象。意图又分为两类:其中显式意图使用一个包含目标组件名称的参数显式地指定通信的下一个组件,而隐式意图只是指明动作等参数隐式地让Android系统通过意图过滤器进行匹配然后选择一个符合的组件调用。
现在阶段对于Android的研究多侧重于单个应用程序的安全性,但跨应用程序的共谋也应当是不能被忽视的。同时在研究过程中发现,仅仅依靠人工进行操作分类相对效率不理想。所以进一步引入深度学习的方式来代替人工分类,提高处理大量数据的效率。
发明内容
针对现有技术中存在的问题,本发明提供一种基于LSTM的安卓跨应用程序共谋安全分析方法,解决不同应用程序跨应用程序共谋攻击的安全分析问题。
本发明是通过以下技术方案来实现:
一种基于LSTM的安卓跨应用程序共谋安全分析方法,包括以下步骤:
步骤1、将应用程序数据集中的应用程序两两匹配为一组,形成跨应用程序样本组;
步骤2、获取应用程序的清单文件和Java字节码文件;
步骤3、根据应用程序的清单文件获取应用程序的权限列表,根据权限列表获取跨应用程序样本组中两个应用程序不重复的危险权限组并组合,将得到的危险权限组组合作为特征写入特征文件;
步骤4、将跨应用程序样本组中两个应用程序的暴露组件和Java字节码文件进行交叉意图匹配,匹配成功得到意图信息并写入特征文件;
步骤5、将步骤4得到的特征文件作为训练数据集,对LSTM跨应用程序共谋分析分类器模型进行训练,使用训练后的LSTM跨应用程序共谋分类器模型检测跨应用程序是否存在共谋风险。
优选的,步骤2中采用逆向工具获取清单文件和Dalvik字节码文件,再将Dalvik字节码文件反编译为java字节码文件。
优选的,步骤3中所述危险权限组并组合的方法如下:
对每个应用程序的请求权限根据Android的危险权限组进行分组,然后筛选出两个应用程序不重复的危险权限组,然后将不重复的危险权限组进行组合。
优选的,步骤4的交叉意图匹配的方法如下:
获取跨应用程序样本组中一个应用程序的暴露组件,根据Java字节码文件获取另一应用程序与暴露组件对应的组件并进行意图匹配,匹配成功得到意图信息并写入特征文件。
优选的,根据意图信息中的发送方组件和接收方组件,确定跨应用程序中应用程序的调用关系,然后根据调用关系进行数据流分析,获取意图跨应用程序通信传递的信息,从而构成跨应用程序通信图,通过跨应用程序通信图输出为以应用程序为通信双方的文本特征,并将通信的信息的样式写入特征文件。
优选的,所述意图信息包括信息的发送方组件,信息的接收方组件,意图类型以及意图动作。
优选的,步骤5中得到的特征文件进行标注、特征处理和特征向量化处理后作为训练数据。
优选的,所述特征文件的处理方法具体如下:
将获得的特征文件分类,构成带标注的训练样本;
对特征文件中无用的字段和特征进行删除;
采用词袋方法对特征文件进行向量化处理。
一种基于LSTM的安卓跨应用程序共谋安全分析方法的系统,包括
样本模块,用于将应用程序数据集中的应用程序两两匹配为一组,形成跨应用程序样本组;
逆向分析模块,用于获取应用程序的清单文件和Java字节码文件;
第一特征模块、根据应用程序的清单文件获取应用程序的权限列表,根据权限列表获取跨应用程序样本组中两个应用程序不重复的危险权限组并组合,将得到的危险权限组组合作为特征写入特征文件;
第二特征模块、将跨应用程序样本组中两个应用程序的暴露组件和Java字节码文件进行交叉意图匹配,匹配成功得到意图信息并写入特征文件;
检测模块,用于将特征文件作为训练数据集,对LSTM跨应用程序共谋分析分类器模型进行训练,使用训练后的LSTM跨应用程序共谋分类器模型检测跨应用程序是否存在共谋风险。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提供的一种基于LSTM的安卓跨应用程序共谋安全分析方法,在现有的单个应用安全检查多样的情况下提出了针对跨应用的安全解决方案全面保障Android安全。目前关于跨应用程序的安全研究往往忽略了对基于访问控制的技术应用,忽略了在共谋攻击中对应用权限分析的重要性。本发明将单个应用程序所涉及的危险权限纳入研究范围,并进行跨应用程序的危险权限组组合,解决了访问控制只能对主客体间的直接访问行为进行控制,对于间接访问所带来的泄露及篡改问题无法解决的问题。使安卓跨应用程序共谋安全分析更加精细,同时丰富了跨应用程序研究的特征,并将LSTM分类模型适应性应用到跨应用安全分类上来,不但有利于快速处理更大量的数据,而且实现了跨应用程序共谋安全分析方法的智能化检测。
附图说明
图1本发明提出的基于LSTM的安卓跨应用程序共谋安全分析工具的总方案模型;
图2本发明中对应用程序对进行逆向分析的子流程图;
图3本发明中静态分析跨应用程序样本组的流程图;
图4本发明中跨应用程序危险权限组组合的子流程图;
图5本发明中进行跨应用程序通信分析部分的流程图;
图6本发明中训练基于LSTM的跨应用程序共谋分类器的流程图;
具体实施方式
下面结合附图对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
参阅图1-6,一种基于LSTM的安卓跨应用程序共谋安全分析方法,包括以下几个步骤:
步骤1、构建应用程序数据集,将程序数据集中的应用程序两两匹配为一组,形成跨应用程序样本组。
从国内外主流应用市场或相关研究数据库下载安卓应用程序构建数据包,数据集包含超过十五种类别的应用程序,总数据大小超过1万个应用程序。为进行跨应用程序分析,将数据集中的应用程序两两匹配为一组作为后续跨应用程序分析的一组样本。
步骤2、对各个应用程序进行逆向分析,得到应用程序的清单文件和字节码文件。
跨应用程序分析样本组中的每一个应用程序都要进行逆向分析,然后再进行后续工作。逆向工程的流程是如图2所示,首先需要使用逆向工具从Android程序包中提取出清单文件和Dalvik字节码文件,再进行反编译。现有的Android逆向工具多种多样,包括但不限于APKTOOL,ANDROGUARD,DARE,ENJARIFY,DEDEXER。在本实施例中解压使用APKTOOL,使用DARE工具将DEX文件反编译为java字节码文件。
首先,使用逆向工具APKTOOL对单个应用程序进行解压,将生成两个文件:第一个文件是清单文件(Manifest.xml),第二个文件是应用程序的Java源代码编译后产生的运行在Dalvik虚拟机上的字节码文件(DEX文件),字节码文件是无法直接阅读,因此还需要反编译处理,后续再使用DARE工具将DEX文件反编译成可阅读的java字节码文件,至此单个应用程序逆向分析部分完成。
步骤3、获取跨应用程序样本组中每个应用程序的权限列表,根据权限列表获取跨应用程序样本组中两个应用程序不重复的危险权限组并组合,将得到的危险权限组组合作为特征写入特征文件。
具体的,如图4所示,根据步骤2得到的各个应用程序的清单文件获得跨应用程序样本组中每一个应用程序的权限列表,然后每个应用程序的请求权限根据Android的危险权限组来进行分组,然后筛选出两个应用程序不重复的危险权限组,并将筛选出的不重复的危险权限组进行组合,最后,将危险权限组组合结果作为特征来体现跨应用程序通信时特权协同的相关性质,并写入到对应的样本组的特征文件之中。
步骤4、将跨应用程序样本组中两个应用程序的暴露组件和Java字节码文件进行交叉意图匹配,匹配成功得到意图信息并写入特征文件。
具体的,获取跨应用程序样本组中一个应用程序的暴露组件,根据Java字节码文件获取另一应用程序与暴露组件对应的组件并进行意图匹配,匹配成功得到意图信息并写入特征文件。
结合图3静态分析的流程图,根据步骤2得到的应用程序的清单文件获取应用程序的暴露组件,并记录下单个应用程序对应的Intent Filter(意图过滤器)相应信息,以便后续隐式意图的识别。暴露组件为进行跨应用程序通信的组件,组件的类型包括:活动,服务,内容提供以及广播。
暴露组件和Java字节码文件进行交叉意图匹配的方法如下:
首先,获得其中一个应用程序的包括Intent Filter在内的暴露组件信息,然后遍历另一个应用程序的Java字节码文件,从中查找类型和名称相匹配的组件,如找打则意图匹配成功,并记录下相应的意图信息。
意图信息包括信息的发送方组件,信息的接收方组件,意图类型以及意图动作,意图动作为显示意图时没有动作的相应特定组件名。
如图5所示,得到跨应用程序分析样本组的应用程序的意图信息后,根据意图信息中的发送方组件和接收方组件,确定跨应用程序中应用程序的调用关系,然后根据调用关系进行数据流分析,分析java字节码文件来获取意图跨应用程序通信传递的信息,从而构成跨应用程序通信图。
上述的跨应用程序通信图已近不同于之前的意图,跨应用程序通信图的顶点是两个应用程序,边是多条忽略组件的意图,最后通过跨应用程序通信图输出为以应用程序为通信双方的文本特征,并将通信的信息的样式写入到特征文件中。
步骤5、将得到特征文件作为训练数据集,对LSTM跨应用程序共谋分析模型进行训练。
LSTM跨应用程序共谋分析模型的训练方法如下:
S5.1、对特征文件进行预处理,根据预处理后的特征文件构建数据集,并将数据集按预定比例分为训练数据集和测试数据集。
对步骤1收集的所有Android跨应用程序分析样本组,执行步骤2到步骤4得到整个样本数据集的特征文件集。此时的特征文件是不能够直接作为深度学习模型的输入的,所以还需要进一步预处理。
按照图6的流程图,特征文本的预处理方法如下:
首先,将获得的特征文件集中的样本进行分类,构成带标注的训练样本。使用NLP的方式处理这些特征文本,所以需要对原始特征进行处理,具体包括清理一些无用的字段和特征等。再根据词袋的相关方法,将处理好的特征文件进行向量化处理。经过以上3步:标注,特征处理,特征向量化之后形成数据集作为输入,用于LSTM跨应用程序共谋分析模型的训练。需要注意的是在训练之前,将带标注样本分为了训练数据集以及测试数据集,其中用来训练LSTM跨应用程序共谋分析模型的是训练集。
使用LSTM跨应用程序共谋分析模型对跨应用程序分析样本组的预测结果进行分类标记:
若LSTM跨应用程序共谋分析模型把原本的共谋的跨应用程序预测为恶意的样本记为真正例TP;
若LSTM跨应用程序共谋分析模型把原本的安全的跨应用程序预测为恶意的则记为假正例FP;
将LSTM跨应用程序共谋分析模型把安全的跨应用程序预测为安全的跨应用程序记为真负例TN;
若LSTM跨应用程序共谋分析模型把原本共谋的跨应用程序预测为安全的跨应用程序记为假负例FN。
LSTM跨应用程序共谋分析模型评估主要考虑的是准确率,精确率,召回率以及精确率和召回率的调和平均数。通过训练集对LSTM跨应用程序共谋分析模型进行训练,采用测试集对LSTM跨应用程序共谋分析模型进行验证,计算LSTM模型的准确率,精确率,召回率以及调和平均数,不断调节LSTM算法参数如隐层层数、训练轮次等,记录LSTM算法在测试集上的评价指标。最后选出所有评价指标最优的一组参数,这些参数下得到的就是最优的LSTM跨应用程序共谋分析模型,本发明最终选择的训练好的LSTM跨应用程序共谋分析模型,在测试集上的准确率达到99.96%。
再有新的应用程序对作为输入时,将重复执行步骤2到4之后输入到最优的LSTM跨应用程序共谋分析模型中,使用深度学习算法来快速分类出这组未知安全性的应用程序对是否存在共谋风险。
步骤6,利用LSTM跨应用程序共谋分析模型检测跨应用程序是否存在共谋风险;
对未知安全性的跨应用程序对经过步骤2处理,得到组合中单个清单文件和Java字节码文件。将清单文件和字节码文件经过步骤3和步骤4处理,生成该未知安全性的跨应用程序对特征文件。再将特征文件进行特征处理以及向量化,进一步输入到步骤5最终训练好的LSTM跨应用程序共谋分析模型中。最终便可以检测出该未知安全性的跨应用程序对是否存在跨应用程序共谋风险。
本发明还提供了一种基于LSTM的安卓跨应用程序共谋安全分析方法的系统,包括样本模块、逆向分析模块、第一特征模块、第二特征模块和检测模块。
样本模块,用于将应用程序数据集中的应用程序两两匹配为一组,形成跨应用程序样本组;
逆向分析模块,用于获取应用程序的清单文件和Java字节码文件;
第一特征模块、根据应用程序的清单文件获取应用程序的权限列表,根据权限列表获取跨应用程序样本组中两个应用程序不重复的危险权限组并组合,将得到的危险权限组组合作为特征写入特征文件;
第二特征模块、用于将跨应用程序样本组中两个应用程序的暴露组件和Java字节码文件进行交叉意图匹配,匹配成功得到意图信息并写入特征文件;
检测模块,用于将特征文件作为训练数据集,对LSTM跨应用程序共谋分析分类器模型进行训练,使用训练后的LSTM跨应用程序共谋分类器模型检测跨应用程序是否存在共谋风险。
本发明针对Android应用程序,解决不同应用程序跨应用程序共谋攻击的安全分析问题。在应用程序之间通信时传递的不安全信息流,使得不同应用程序之间出现敏感信息非法授权、未授权获取和权限提升等问题。防止这种多个应用程序通过跨应用程序通信而实现的恶意攻击行为,因此需要进行跨应用程序分析。同时为了更好地进行安全分析分类,还使用了基于深度学习算法LSTM的分类器。本发明提出了基于深度学习LSTM的跨应用程序共谋安全分析方法。
本发明基于深度学习LSTM的跨应用程序共谋安全分析方法,主要分为跨应用程序安全分析和LSTM跨应用程序共谋分类器模型两部分。跨应用程序安全分析采用静态分析的方式,是指在不运行应用程序的情况下分析应用程序的代码来进行安全分析。跨应用程序是指不是单个应用程序的安全性,而是分析多个应用程序之间通信的安全性分析,其安全性的核心设计思想要求将多个应用程序之间的通信信息提取出来。将提取的信息处理为深度学习的特征,再有深度学习LSTM算法训练模型进行跨应用程序共谋安全性分类。
相较主流的Android研究集中于单一的应用程序分析,本发明研究重点是跨应用程序的通信安全性分析。在单一应用程序分析技术的技术上进行扩展,是更加全面的Android安全研究。现有分析方法忽略了在共谋攻击中应用权限的分析,本发明将单个应用程序所涉及的危险权限纳入研究范围,并进行跨应用程序的危险权限组组合,将权限组合的研究纳入跨应用程序安全研究中来,使分析更加精细也丰富了跨应用程序研究的特征,同时结合深度学习算法,通过训练LSTM分类模型不但有利于快速处理更大量的数据,而且提高了我们跨应用程序共谋安全分析工具的智能化检测性。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (9)
1.一种基于LSTM的安卓跨应用程序共谋安全分析方法,其特征在于,包括以下步骤:
步骤1、将应用程序数据集中的应用程序两两匹配为一组,形成跨应用程序样本组;
步骤2、获取应用程序的清单文件和Java字节码文件;
步骤3、根据应用程序的清单文件获取应用程序的权限列表,根据权限列表获取跨应用程序样本组中两个应用程序不重复的危险权限组并组合,将得到的危险权限组组合作为特征写入特征文件;
步骤4、将跨应用程序样本组中两个应用程序的暴露组件和Java字节码文件进行交叉意图匹配,匹配成功得到意图信息并写入特征文件;
步骤5、将步骤4得到的特征文件作为训练数据集,对LSTM跨应用程序共谋分析分类器模型进行训练,使用训练后的LSTM跨应用程序共谋分类器模型检测跨应用程序是否存在共谋风险。
2.根据权利要求1所述的一种基于LSTM的安卓跨应用程序共谋安全分析方法,其特征在于,步骤2中采用逆向工具获取清单文件和Dalvik字节码文件,再将Dalvik字节码文件反编译为java字节码文件。
3.根据权利要求1所述的一种基于LSTM的安卓跨应用程序共谋安全分析方法,其特征在于,步骤3中所述危险权限组并组合的方法如下:
对每个应用程序的请求权限根据Android的危险权限组进行分组,然后筛选出两个应用程序不重复的危险权限组,然后将不重复的危险权限组进行组合。
4.根据权利要求1所述的一种基于LSTM的安卓跨应用程序共谋安全分析方法,其特征在于,步骤4的交叉意图匹配的方法如下:
获取跨应用程序样本组中一个应用程序的暴露组件,根据Java字节码文件获取另一应用程序与暴露组件对应的组件并进行意图匹配,匹配成功得到意图信息并写入特征文件。
5.根据权利要求4所述的一种基于LSTM的安卓跨应用程序共谋安全分析方法,其特征在于,根据意图信息中的发送方组件和接收方组件,确定跨应用程序中应用程序的调用关系,然后根据调用关系进行数据流分析,获取意图跨应用程序通信传递的信息,从而构成跨应用程序通信图,通过跨应用程序通信图输出为以应用程序为通信双方的文本特征,并将通信的信息的样式写入特征文件。
6.根据权利要求4所述的一种基于LSTM的安卓跨应用程序共谋安全分析方法,其特征在于,所述意图信息包括信息的发送方组件,信息的接收方组件,意图类型以及意图动作。
7.根据权利要求1所述的一种基于LSTM的安卓跨应用程序共谋安全分析方法,其特征在于,步骤5中得到的特征文件进行标注、特征处理和特征向量化处理后作为训练数据。
8.根据权利要求7所述的一种基于LSTM的安卓跨应用程序共谋安全分析方法,其特征在于,所述特征文件的处理方法具体如下:
将获得的特征文件分类,构成带标注的训练样本;
对特征文件中无用的字段和特征进行删除;
采用词袋方法对特征文件进行向量化处理。
9.一种权利要求1-8任一项所述的一种基于LSTM的安卓跨应用程序共谋安全分析方法的系统,其特征在于,包括
样本模块,用于将应用程序数据集中的应用程序两两匹配为一组,形成跨应用程序样本组;
逆向分析模块,用于获取应用程序的清单文件和Java字节码文件;
第一特征模块、根据应用程序的清单文件获取应用程序的权限列表,根据权限列表获取跨应用程序样本组中两个应用程序不重复的危险权限组并组合,将得到的危险权限组组合作为特征写入特征文件;
第二特征模块、将跨应用程序样本组中两个应用程序的暴露组件和Java字节码文件进行交叉意图匹配,匹配成功得到意图信息并写入特征文件;
检测模块,用于将特征文件作为训练数据集,对LSTM跨应用程序共谋分析分类器模型进行训练,使用训练后的LSTM跨应用程序共谋分类器模型检测跨应用程序是否存在共谋风险。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210321128.2A CN114792006B (zh) | 2022-03-29 | 2022-03-29 | 基于lstm的安卓跨应用程序共谋安全分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210321128.2A CN114792006B (zh) | 2022-03-29 | 2022-03-29 | 基于lstm的安卓跨应用程序共谋安全分析方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114792006A true CN114792006A (zh) | 2022-07-26 |
CN114792006B CN114792006B (zh) | 2024-06-14 |
Family
ID=82461112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210321128.2A Active CN114792006B (zh) | 2022-03-29 | 2022-03-29 | 基于lstm的安卓跨应用程序共谋安全分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114792006B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116561808A (zh) * | 2023-07-05 | 2023-08-08 | 北京瑞莱智慧科技有限公司 | 安全多方计算的安全性确定方法、装置、设备和介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294149A (zh) * | 2016-08-09 | 2017-01-04 | 北京邮电大学 | 一种检测Android应用程序组件通信漏洞的方法 |
CN106874761A (zh) * | 2016-12-30 | 2017-06-20 | 北京邮电大学 | 一种安卓系统恶意应用检测方法及系统 |
CN106997434A (zh) * | 2017-03-28 | 2017-08-01 | 西安电子科技大学 | 基于Android系统的隐私保护模块及保护方法 |
CN107180192A (zh) * | 2017-05-09 | 2017-09-19 | 北京理工大学 | 基于多特征融合的安卓恶意应用程序检测方法和系统 |
CN107463847A (zh) * | 2017-09-18 | 2017-12-12 | 中国民航大学 | 一种Android系统下的权限共谋攻击检测方法 |
CN108710798A (zh) * | 2018-05-18 | 2018-10-26 | 华中科技大学 | 一种Android第三方库间共谋行为检测方法 |
US20190114415A1 (en) * | 2016-11-15 | 2019-04-18 | International Business Machines Corporation | Malware collusion detection |
CN111523117A (zh) * | 2020-04-10 | 2020-08-11 | 西安电子科技大学 | 一种安卓恶意软件检测和恶意代码定位系统及方法 |
CN111783092A (zh) * | 2020-06-22 | 2020-10-16 | 湖南大学 | 面向安卓应用程序间通信机制的恶意攻击检测方法及系统 |
CN113672931A (zh) * | 2021-07-13 | 2021-11-19 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于预训练的软件漏洞自动检测方法及装置 |
CN113779579A (zh) * | 2021-09-14 | 2021-12-10 | 西安电子科技大学 | 面向安卓应用的多模型联合检测系统和方法 |
-
2022
- 2022-03-29 CN CN202210321128.2A patent/CN114792006B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294149A (zh) * | 2016-08-09 | 2017-01-04 | 北京邮电大学 | 一种检测Android应用程序组件通信漏洞的方法 |
US20190114415A1 (en) * | 2016-11-15 | 2019-04-18 | International Business Machines Corporation | Malware collusion detection |
CN106874761A (zh) * | 2016-12-30 | 2017-06-20 | 北京邮电大学 | 一种安卓系统恶意应用检测方法及系统 |
CN106997434A (zh) * | 2017-03-28 | 2017-08-01 | 西安电子科技大学 | 基于Android系统的隐私保护模块及保护方法 |
CN107180192A (zh) * | 2017-05-09 | 2017-09-19 | 北京理工大学 | 基于多特征融合的安卓恶意应用程序检测方法和系统 |
CN107463847A (zh) * | 2017-09-18 | 2017-12-12 | 中国民航大学 | 一种Android系统下的权限共谋攻击检测方法 |
CN108710798A (zh) * | 2018-05-18 | 2018-10-26 | 华中科技大学 | 一种Android第三方库间共谋行为检测方法 |
CN111523117A (zh) * | 2020-04-10 | 2020-08-11 | 西安电子科技大学 | 一种安卓恶意软件检测和恶意代码定位系统及方法 |
CN111783092A (zh) * | 2020-06-22 | 2020-10-16 | 湖南大学 | 面向安卓应用程序间通信机制的恶意攻击检测方法及系统 |
CN113672931A (zh) * | 2021-07-13 | 2021-11-19 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于预训练的软件漏洞自动检测方法及装置 |
CN113779579A (zh) * | 2021-09-14 | 2021-12-10 | 西安电子科技大学 | 面向安卓应用的多模型联合检测系统和方法 |
Non-Patent Citations (3)
Title |
---|
SHWETA BHANDARI 等: "Intersection Automata Based Model for Android Application Collusion", 《2016 IEEE 30TH INTERNATIONAL CONFERENCE ON ADVANCED INFORMATION NETWORKING AND APPLICATIONS (AINA)》, 23 May 2016 (2016-05-23), pages 901 - 908 * |
习宁 等: "抗属性篡改的去中心化密文数据安全共享", 《西安电子科技大学学报》, vol. 49, no. 02, 10 March 2022 (2022-03-10), pages 135 - 145 * |
安博辉: "基于应用行为监控的Android隐私保护模型研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 04, 15 April 2018 (2018-04-15), pages 138 - 193 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116561808A (zh) * | 2023-07-05 | 2023-08-08 | 北京瑞莱智慧科技有限公司 | 安全多方计算的安全性确定方法、装置、设备和介质 |
CN116561808B (zh) * | 2023-07-05 | 2023-09-15 | 北京瑞莱智慧科技有限公司 | 安全多方计算的安全性确定方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114792006B (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hasan et al. | Detection of SQL injection attacks: a machine learning approach | |
CN106572117B (zh) | 一种WebShell文件的检测方法和装置 | |
Wang et al. | Detecting software theft via system call based birthmarks | |
US20160012225A1 (en) | System and method for the detection of malware | |
CN111639337B (zh) | 一种面向海量Windows软件的未知恶意代码检测方法及系统 | |
CN109753800A (zh) | 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统 | |
CN110298171B (zh) | 移动互联网大数据应用的智能检测与安全防护方法 | |
CN115314268B (zh) | 基于流量指纹和行为的恶意加密流量检测方法和系统 | |
Lubuva et al. | A review of static malware detection for Android apps permission based on deep learning | |
CN114792006A (zh) | 基于lstm的安卓跨应用程序共谋安全分析方法及系统 | |
Rodrigues et al. | Using graph embeddings and machine learning to detect cryptography misuse in source code | |
Malandrone et al. | Powerdecode: a powershell script decoder dedicated to malware analysis | |
Bernardi et al. | Data-aware process discovery for malware detection: an empirical study | |
Feichtner et al. | Obfuscation-resilient code recognition in Android apps | |
Ladisa et al. | On the feasibility of cross-language detection of malicious packages in npm and pypi | |
CN113971283A (zh) | 一种基于特征的恶意应用程序检测方法及设备 | |
CN110647747B (zh) | 一种基于多维相似度的虚假移动应用检测方法 | |
Nazir et al. | Estimation of software features based birthmark | |
KR102518394B1 (ko) | 설명 가능한 딥러닝 분석을 활용한 멀웨어 패밀리 분류 네트워크 시스템 | |
JP2023097361A (ja) | サイバー攻撃を予測するための潜在的マルウェアを合成するシステムおよび方法 | |
CN111552970B (zh) | 基于三位一体综合画像的恶意代码检测及恶意性定位方法 | |
Crincoli et al. | Code reordering obfuscation technique detection by means of weak bisimulation | |
Chen et al. | Tackling android stego apps in the wild | |
CN112380530B (zh) | 一种同源apk检测方法、终端设备及存储介质 | |
Thakur et al. | Android malware classification using feature fusion and AdaBoost learning |
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 |