CN114510720A - 一种基于特征融合和NLP技术的Android恶意软件分类方法 - Google Patents

一种基于特征融合和NLP技术的Android恶意软件分类方法 Download PDF

Info

Publication number
CN114510720A
CN114510720A CN202210106022.0A CN202210106022A CN114510720A CN 114510720 A CN114510720 A CN 114510720A CN 202210106022 A CN202210106022 A CN 202210106022A CN 114510720 A CN114510720 A CN 114510720A
Authority
CN
China
Prior art keywords
feature
android
word
support vector
vector machine
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
Application number
CN202210106022.0A
Other languages
English (en)
Inventor
陈锦富
赵子安
蔡赛华
殷上
吕天翔
宋锣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu University
Original Assignee
Jiangsu University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu University filed Critical Jiangsu University
Priority to CN202210106022.0A priority Critical patent/CN114510720A/zh
Publication of CN114510720A publication Critical patent/CN114510720A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/561Virus type analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于特征融合和NLP技术的Android恶意软件分类方法。包括:步骤1,将特征集按照十折交叉验证的方法划分为训练集和测试集,使用卡方检验等过滤技术去除符号以及无意义和独立的词;步骤2,使用基于N‑gram技术的分词器Tokenizer对语料库进行分词处理,形成对应的特征词集;步骤3,使用特征哈希、序列填充、归一化技术对特征词集进行特征映射,形成特征向量;步骤4,使用特征融合算法Weighted‑Feature Fusion对特征向量按位加权后相加,得到最终的融合特征向量;步骤5,将融合特征的训练集输入优化的支持向量机(SVM)进行训练得到Android软件分类模型;步骤6,使用最终得到的分类模型对测试集中的数据进行Android软件类型预测。

Description

一种基于特征融合和NLP技术的Android恶意软件分类方法
技术领域
本发明属于Android恶意软件检测与分类领域,涉及一种基于特征融合和自然语言处理(NLP,Natural Language Processing)技术的Android恶意软件分类方法。
背景技术
随着Android市场的不断扩增和各类软件的迅速扩展,移动产品成为人们信息交流和资金交互的主要平台。各种平台与个人发布的软件层出不穷,而这些软件质量和真实行为也让测试工作受到了很大的挑战。据统计,移动恶意软件主要通过流氓行为、隐私窃取、恶意扣费等行为进行攻击,同时,一些新型的恶意软件能够很好地进行伪装并躲过测试人员的常规检测方法,呈现出多态性和混淆性的特点。由此,资金以及隐私的安全问题随着这类软件规模的增加而变得更加严重,新型伪装恶意软件无时无刻不在获取用户的隐私并威胁用户的资金安全。
Android恶意软件检测与分类技术是解决这一问题的有效方法,这类方法用有限的资源保证了软件的安全性。通过这类方法,超过90%以上的恶意软件能够被成功检测或分类。近二十年来,各类检测或分类方法被广泛应用于Android恶意软件分析与检测。这些方法分为:1)静态分析方法,2)动态分析方法,和3)网络流量分析方法。静态分析在软件不运行的情况下通过提取源代码的关键算法、权限等方式检测Android应用程序中的隐私泄露等恶意行为。动态分析在移动软件运行时对敏感信息或API调用信息进行跟踪,这些工作需要修改移动设备的操作***以及足够大的执行集和内存资源,以便获得相应的权限,覆盖并记录应用程序的各种行为。由于恶意软件逐渐呈现出伪装形态和混淆形态,传统的检测方法无法对其进行有效识别,基于网络流量的Android恶意软件检测方法被提出,我们将这类研究划分为基于特征提取的方法、基于签名认证的方法以及基于深度学习的方法。这类方法的优势是能够对伪装软件的恶意行为进行检测,在一定程度上能够实现对恶意伪装软件的分类任务。但是这类方法由于大多采取和PC设备同级的方式去处理,时间复杂度和资源开销过大,无法适应较轻量级的移动设备。
值得注意的是,这些分类方法通常采用单一特征识别的方式,单一特征能够做到一定比例的识别效率并且提升识别速度,但是单一特征识别方式无法很好应对种类繁多的Android软件类型和编码规则,新型恶意软件通过多态性和混淆性的技术能够在一定程度上规避这些检测方法并成功对Android移动设备进行攻击。由此,本发明提出一种基于拟合优度值的多层级特征融合算法,将Android软件的权限特征、API特征以及网络流量特征较好地结合为融合特征,这类融合特征具有更高的特征细粒度与特征广度,能够在多方面权衡各类Android软件的特征信息。大量的对比实验证明本发明提出的特征融合算法能够达到更好的Android恶意软件分类效果,能够使模型具有更强的泛化能力,达到更高的分类性能。
发明内容
对于现有的Android软件特征检测方法存在检测特征维度单一、识别精度低以及分类细粒度不够的问题,融合特征模型是一个较好的解决方案。基于此,本发明提出了一种基于特征融合和NLP技术的Android恶意软件分类方法用以解决上述存在的问题。
本发明提供了一种基于特征融合和NLP技术的Android恶意软件分类方法,包括:
步骤1,将数据集按照9:1的比例划分为训练集和测试集,并通过使用互信息法等过滤技术去除集合中的特殊符号、无意义以及具有独立性质的词,形成特征语料库;
步骤2,使用基于N-gram技术的特征分词器(Feature-Tokenizer)对特征语料库进行分词处理,形成对应的特征词集;
步骤3,使用特征哈希、序列填充、归一化技术对特征词集进行特征映射,形成符合支持向量机(SVM)输入要求且保留了足够多信息的密集特征向量;
步骤4,使用本发明提出的多层级特征融合算法(MFFA)从位级别对特征向量加权后求和,得到最终的融合特征向量;
步骤5,将融合特征向量的训练集输入优化的支持向量机分类器进行训练,得到Android恶意软件分类模型;
步骤6,使用最终得到的Android恶意软件分类模型对测试集中的特征向量进行Android软件的类型预测。
第一方面,上述步骤1中获取特征词集的具体步骤如下:
步骤1.1,使用replace()函数去除集合中的标点符号和对分词没有影响的特殊字符;
步骤1.2,结合互信息分类技术捕获特征与类别之间的相关性,使用mutual_info_classif和mutual_info_regression的类函数返回每个特征与类别之间的信息估计量;
步骤1.3,确定信息估计量的范围,接近0表示两个变量独立,接近1表示两个变量相关。从而进一步判断词语与该类型是否独立,去除具有独立性的词语,得到具有最佳词集的特征语料库。
第二方面,上述步骤2的具体步骤如下:
步骤2.1,基于N-gram技术构建一个特征分词器(Feature-Tokenizer),该分词器的构建过程包括对语料的切分、计算词频与索引、利用nltk的biggrams函数,建立gram矩阵并统计gram概率;
步骤2.2,将每个特征语料库用特征分词器进行分词处理,形成各自的单词或词组组合集,并放入对应的特征词集中。
第三方面,上述步骤3的具体步骤如下:
步骤3.1,将特征词集中的每一行作为整体,使用特征哈希进行特征映射,特征哈希的范围根据特征个数取均值;
步骤3.2,对于特征哈希映射后的特征集,计算每行的平均长度值,进行序列填充操作,对于长度大于均值的进行截取处理,对于长度小于均值的在其后补充0进行相应的填充;
步骤3.3,为了加快支持向量机的训练速度并增强分类效果,对序列填充后的特征进行归一化处理,取值范围在0-1之间。
第四方面,上述步骤4的具体步骤如下:
步骤4.1,计算输入的不同特征的平均维度,对于大于该维度的特征进行截取,对于不足该维度的特征进行序列填充操作;
步骤4.2,根据单特征对于支持向量机的拟合优度均值计算输入特征权重值,并进行对应特征的权重分配,其中输入特征权重值的计算过程是单特征拟合优度均值除以总拟合优度均值;
步骤4.3,每个特征向量按位与各自的特征权重值做乘积运算,并对乘积运算后的不同特征向量按位相加得到最终符合支持向量机输入要求的融合特征向量。
第五方面,上述步骤5的具体步骤如下:
步骤5.1,在任意两个Android软件类别之间设计一个支持向量机分类器,当对一个未知类别样本进行预测时,采取投票机制,得票最多的类别即为该未知样本的类别;
步骤5.2,对位于任意两个Android软件类别之间的支持向量机分类器进行训练,支持向量机采用径向基核函数(rbf),径向基核函数γ值为0.15,惩罚因子C为12,将融合特征向量训练集依次输入到优化的支持向量机分类器进行学习;
步骤5.3,输入融合特征向量测试集,通过支持向量机的分类投票判断Android良性软件与恶意软件并将Android恶意软件进行归类后输出。
在第五方面,所使用的SVM核函数选择为径向基核函数(rbf),这是因为由于rbf只需要确定一个参数,有利于参数优化,同时,实验表明,rbf在高维空间中的分类速度和分类效果都能取得不错的成绩。核函数参数γ和惩罚因子C经过嵌套循环测试并确定。实验表明,支持向量机在软件分类问题上具有分类速度快、分类精确度高的优点。
与现有技术相比,本发明有益的效果:
1、提出的一种基于特征融合和NLP技术的Android恶意软件分类方法,在静态特征、动态特征以及网络流量特征的基础上,提出基于拟合优度值的多层级特征融合算法,确保能够在多方面权衡各类软件的特征信息,从而形成更具代表性和广泛性的特征子集,进一步提高Android恶意软件分类模型的整体性能。
2、通过改进的自然语言处理(NLP)技术,将语义特征进行过滤,并通过编写的特征分词器进行分词,将每一行词语组成的流量等信息看作一个整体并转化成稠密向量形式,有效解决词袋模型的问题,并确保向量能够保留足够多的信息。
附图说明
图1是一种基于特征融合和NLP技术的Android恶意软件分类方法的总体流程图。
图2是一种基于特征融合和NLP技术的Android恶意软件分类方法的详细流程图。
图3是本发明的特征融合具体算法流程图。
图4是本发明实验环节所用数据集信息。
图5是单特征分类方法在Android软件公开数据集CIC-AndMal2017以及CCCS-CIC-AndMal2020上对Android恶意软件分类效果的精确度、召回率和F1值的统计图。
图6是二元特征融合方法在Android软件公开数据集CIC-AndMal2017以及CCCS-CIC-AndMal2020上对Android恶意软件分类效果的精确度、召回率和F1值的统计图。
图7是三元特征融合方法在Android软件公开数据集CIC-AndMal2017以及CCCS-CIC-AndMal2020上对Android恶意软件分类效果的精确度、召回率和F1值的统计图。
具体实施方式
下面结合附图和实施案例对本发明作进一步说明,应指出的是,所描述的实施案例仅旨在便于对本发明的理解,而对其不起任何限定作用。
本发明旨在针对Android恶意软件分类任务,提出一种基于特征融合和NLP技术的Android恶意软件分类方法,以有效识别恶意软件并进行相关分类,提供了完善的特征提取模型、特征融合模型和恶意软件分类框架,并且进行了充分的实验,证明了方法的可行性和有效性。
如图1所示,本发明的一种基于特征融合和NLP技术的Android恶意软件分类方法,包括:
步骤201将数据集按照9:1的比例划分为训练集和测试集,并通过使用互信息法等过滤技术去除集合中的特殊符号、无意义以及具有独立性质的词,形成特征语料库;
步骤2011使用replace()函数去除集合中的标点符号和对分词没有影响的特殊字符;
步骤2012结合互信息分类技术捕获特征与类别之间的相关性,使用mutual_info_classif和mutual_info_regression的类函数返回每个特征与类别之间的信息估计量;
步骤2013确定信息估计量的范围,接近0表示两个变量独立,接近1表示两个变量相关。从而进一步判断词语与该类型是否独立,去除具有独立性的词语,得到具有最佳词集的特征语料库。
本发明的过滤过程主要是将软件权限特征、API特征以及网络流量特征作为文本语义进行处理,在过滤过程中引入了互信息分类等技术,互信息法是用来捕捉每个特征与标签之间的任意关系(包括线性和非线性关系)的过滤方法,互信息法返回每个特征与类别之间的互信息估计量,该估计量在[0,1]之间取值,0表示两个变量独立,1表示两个变量完全相关。通过返回的估计量,我们能够进一步确定具有独立性的特征单词并将其去除,最终达到消除噪声干扰,提升分类速度和精度的效果。
步骤202使用基于N-gram技术的特征分词器(Feature-Tokenizer)对特征语料库进行分词处理,形成对应的特征词集;
步骤2021基于N-gram技术构建一个特征分词器(Feature-Tokenizer),该分词器的构建过程包括对语料的切分、计算词频与索引、利用nltk的biggrams函数,建立gram矩阵并统计gram概率;
步骤2022将每个特征语料库用特征分词器进行分词处理,形成各自的单词或词组组合集,并放入对应的特征词集中;
本发明改进了N-gram模型,利用N-gram技术构建了一个特征分词器,通过学习词与词之间的联系性,进一步判断是否采取分词行为,本发明的优势是能够较好地考虑词与词之间不同的关联性,解决了一致化分词未考虑到局部关联的问题。
步骤203使用特征哈希、序列填充、归一化技术对特征词集进行特征映射,形成符合支持向量机(SVM)输入要求且保留了足够多信息的密集特征向量;
步骤2031将特征词集中的每一行作为整体,使用特征哈希进行特征映射,特征哈希的范围根据特征个数取均值;
步骤2032对于特征哈希映射后的特征集,计算每行的平均长度值,进行序列填充操作,对于长度大于均值的进行截取处理,对于长度小于均值的在其后补充0进行相应的填充;
步骤2033为了加快支持向量机的训练速度并增强分类效果,对序列填充后的特征进行归一化处理,取值范围在0-1之间。
本发明提出的特征映射方式解决了传统词袋模型的大部分缺点,即基于独立单词、忽略词与词之间的顺序和联系以及过于稀疏的问题。本发明通过特征哈希、序列填充和归一化技术的组合,将每一条流量信息视为特征中的一个元素,在保留了足够多信息的同时映射为符合支持向量机输入要求的稠密向量形式。这种映射方式主要基于每一条网络流量进行,考虑到了词与词之间的顺序性和联系性,也有效解决了独热编码在数据集过大时过于稀疏的问题。
步骤204使用本发明提出的多层级特征融合算法(MFFA)从位级别对特征向量加权后求和,得到最终的融合特征向量;
步骤2041计算输入的不同特征的平均维度,对于大于该维度的特征进行截取,对于不足该维度的特征进行序列填充操作;
步骤2042根据单特征对于支持向量机的拟合优度均值计算输入特征权重值,并进行对应特征的权重分配,其中输入特征权重值的计算过程是单特征拟合优度均值除以总拟合优度均值;
图3的特征融合流程图能够看出,特征融合的关键过程是权值的分配。本发明提出的权值计算公式为:
Figure BDA0003493503740000071
该公式通过单特征在支持向量机下的平均拟合优度值计算得出,其中n代表融合特征的类型数,Ri 2为第i个特征在支持向量机模型中输出的拟合优度值,Rj 2为第j个特征在支持向量机模型中输出的拟合优度值,xi是我们得出的第i个特征的权重值,用于特征融合过程。实验表明,本公式能够有效反应出特征的重要属性关系,对于模型的分类性能有所提升。
步骤2043每个特征向量按位与各自的特征权重值做乘积运算,并对乘积运算后的不同特征向量按位相加得到最终符合支持向量机输入要求的融合特征向量。
本发明根据提出的权值公式计算出权重值并对特征进行融合,采取按位相乘并相加的方式进行,主要包括将特征对应的权重值分别与特征向量进行按位相乘,得到新的特征向量集,不同的特征向量集经过我们的处理后长度一致并且代表各自的相关权重,之后在不同的特征向量集之间采取加法运算,得到最终的融合特征向量集作为支持向量机分类器的输入进行训练。
本发明提出的特征融合算法如下:
Figure BDA0003493503740000072
Figure BDA0003493503740000081
计算Vector1的权重XVector1:
Figure BDA0003493503740000082
计算Vector2的权重XVector2:
Figure BDA0003493503740000083
Figure BDA0003493503740000084
输出融合特征向量
该算法具体说明了步骤204的实现过程,本发明将输出的融合特征向量作为多方面权衡各类软件的特征信息,从单元特征、二元特征和三元特征的分析对比试验能够得出,本发明提出的特征融合算法基于拟合优度值,在分类精确度、召回率以及F1值方面均有所提升。
步骤205将融合特征向量的训练集输入优化的支持向量机分类器进行训练,得到Android恶意软件分类模型;
步骤2051在任意两个Android软件类别之间设计一个支持向量机分类器,当对一个未知类别样本进行预测时,采取投票机制,得票最多的类别即为该未知样本的类别;
步骤2052对位于任意两个Android软件类别之间的支持向量机分类器进行训练,支持向量机采用径向基核函数(rbf),径向基核函数γ值为0.15,惩罚因子C为12,将融合特征向量训练集依次输入到优化的支持向量机分类器进行学习;
步骤2053输入融合特征向量测试集,通过支持向量机的分类投票判断Android良性软件与恶意软件并将Android恶意软件进行归类后输出。
Android恶意软件分类检测的研究多集中在二分类问题上,使用传统的二分类SVM进行,而本发明提出的方法需要实现Android恶意软件的多分类任务,因此,我们采用一对一法支持我们的***,其做法是在任意两类样本之间设计一个SVM,因此k个类别的样本就需要设计k(k-1)/2个SVM。当对一个未知样本进行分类时,最后得票最多的类别即为该未知样本的类别。实验表明,优化的支持向量机具有较好的分类性能和较快的分类速度。
图4是本发明所使用的Android软件数据集信息,本发明所使用的Android软件网络流量数据集是CIC-AndMal2017,此数据集在加拿大网络安全研究所网站公开,将恶意流量分为Adware、Ransomware、Scareware、SMS Malware四个类型,每一个类型捕获的软件流量信息主要如图4中的表格所示,我们对每一个捕获随机获取100个http流量作为我们的网络流量特征集,总共收集网络流量42800个,其中不包含我们所使用的良性集合,我们同样使用此数据集下的良性软件流量信息,选取2015、2016、2017的软件捕获pacp文件各150个,同样对其中的每个pacp随机选取100个http网络流量,共计45000个,作为良性软件的数据集,供分类时的数据预处理与对比使用。
图5到图7是本发明基于交叉验证的方法在优化的SVM分类器下进行的实验数据统计,数据集使用图4中介绍的数据格式和内容数量,每组实验进行十次,取指标平均值作为实验结果,并通过柱状图的形式进一步分析对比。
图5对输入的测试集的精确度、召回率以及F1值进行了分析与统计,从图中我们能够看出,在单元特征下,网络流量(http header)的总体指标均值优于权限和API特征。本发明的特征融合过程的权重公式基于单元特征的拟合优度均值提出,用于二元特征和三元特征的融合过程。
图6为二元特征融合后的精确度、召回率以及F1值的统计分析,由柱形图能够看出,本发明的二元特征融合模型的指标值在总体上优于单元静态特征和单元动态特征,但是总体与单元网络流量特征的预测指标相似。其中,API与网络流量(http header)融合模型表现较优。
图7是三元特征融合模型的各项指标均值,通过与图5与图6的对比,我们能够看出三元特征的融合模型在精确度、召回率以及F1值的平均水平达到了97%以上,优于前两个模型,这也说明了本发明提供的融合算法能够在一定程度上权衡各类软件的特征信息,具有更稳定和更优的分类效果。

Claims (6)

1.一种基于特征融合和NLP技术的Android恶意软件分类方法,其特征在于,包括如下步骤:
步骤1,将数据集按照一定比例划分为训练集和测试集,并通过使用互信息法等过滤技术去除集合中的特殊符号、无意义以及具有独立性质的词,形成特征语料库;
步骤2,使用基于N-gram技术的特征分词器Feature-Tokenizer对特征语料库进行分词处理,形成对应的特征词集;
步骤3,使用特征哈希、序列填充、归一化技术对特征词集进行特征映射,形成符合支持向量机SVM输入要求且保留了足够多信息的密集特征向量;
步骤4,使用本发明提出的多层级特征融合算法MFFA从位级别对特征向量加权后求和,得到最终的融合特征向量;
步骤5,将融合特征向量的训练集输入优化的支持向量机分类器进行训练,得到Android恶意软件分类模型;
步骤6,使用最终得到的Android恶意软件分类模型对测试集中的特征向量进行Android软件的类型预测。
2.如权利要求1所述的方法,其特征在于,所述步骤1具体实现包括如下步骤:
步骤1.1,使用replace()函数去除集合中的标点符号和对分词没有影响的特殊字符;
步骤1.2,结合互信息分类技术捕获特征与类别之间的相关性,使用mutual_info_classif和mutual_info_regression的类函数返回每个特征与类别之间的信息估计量;
步骤1.3,确定信息估计量的范围,接近0表示两个变量独立,接近1表示两个变量相关,从而进一步判断词语与该类型是否独立,去除具有独立性的词语,得到具有最佳词集的特征语料库。
3.如权利要求1所述的方法,其特征在于,所述步骤2的具体实现包括如下步骤:
步骤2.1,基于N-gram技术构建一个特征分词器Feature-Tokenizer,该分词器的构建过程包括对语料的切分、计算词频与索引、利用nltk的biggrams函数,建立gram矩阵并统计gram概率;
步骤2.2,将每个特征语料库用特征分词器进行分词处理,形成各自的单词或词组组合集,并放入对应的特征词集中。
4.如权利要求1所述方法,其特征在于,所述步骤3的具体实现包括如下步骤:
步骤3.1,将特征词集中的每一行作为整体,使用特征哈希进行特征映射,特征哈希的范围根据特征个数取均值;
步骤3.2,对于特征哈希映射后的特征集,计算每行的平均长度值,进行序列填充操作,对于长度大于均值的进行截取处理,对于长度小于均值的在其后补充0进行相应的填充;
步骤3.3,为了加快支持向量机的训练速度并增强分类效果,对序列填充后的特征进行归一化处理,取值范围在0-1之间。
5.如权利要求1所述方法,其特征在于,所述步骤4的具体实现包括如下步骤:
步骤4.1,计算输入的不同特征的平均维度,对于大于该维度的特征进行截取,对于不足该维度的特征进行序列填充操作;
步骤4.2,根据单特征对于支持向量机的拟合优度均值计算输入特征权重值,并进行对应特征的权重分配,其中输入特征权重值的计算过程是单特征拟合优度均值除以总拟合优度均值;
步骤4.3,每个特征向量按位与各自的特征权重值做乘积运算,并对乘积运算后的不同特征向量按位相加得到最终符合支持向量机输入要求的融合特征向量。
6.如权利要求1所述方法,其特征在于,所述步骤5的具体实现包括如下步骤:
步骤5.1,在任意两个Android软件类别之间设计一个支持向量机分类器,当对一个未知类别样本进行预测时,采取投票机制,得票最多的类别即为该未知样本的类别;
步骤5.2,对位于任意两个Android软件类别之间的支持向量机分类器进行训练,支持向量机采用径向基核函数rbf,径向基核函数γ值为0.15,惩罚因子C为12,将融合特征向量训练集依次输入到优化的支持向量机分类器进行学习;
步骤5.3,输入融合特征向量测试集,通过支持向量机的分类投票判断Android良性软件与恶意软件并将Android恶意软件进行归类后输出。
CN202210106022.0A 2022-01-28 2022-01-28 一种基于特征融合和NLP技术的Android恶意软件分类方法 Pending CN114510720A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210106022.0A CN114510720A (zh) 2022-01-28 2022-01-28 一种基于特征融合和NLP技术的Android恶意软件分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210106022.0A CN114510720A (zh) 2022-01-28 2022-01-28 一种基于特征融合和NLP技术的Android恶意软件分类方法

Publications (1)

Publication Number Publication Date
CN114510720A true CN114510720A (zh) 2022-05-17

Family

ID=81549576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210106022.0A Pending CN114510720A (zh) 2022-01-28 2022-01-28 一种基于特征融合和NLP技术的Android恶意软件分类方法

Country Status (1)

Country Link
CN (1) CN114510720A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2617136A (en) * 2022-03-30 2023-10-04 Egress Software Tech Ip Limited Method and system for processing data packages

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2617136A (en) * 2022-03-30 2023-10-04 Egress Software Tech Ip Limited Method and system for processing data packages

Similar Documents

Publication Publication Date Title
CN109544166B (zh) 一种风险识别方法和装置
CN111027069B (zh) 恶意软件家族检测方法、存储介质和计算设备
CN109271788B (zh) 一种基于深度学习的Android恶意软件检测方法
Li et al. Opcode sequence analysis of Android malware by a convolutional neural network
CN110069545B (zh) 一种行为数据评估方法及装置
CN111783126B (zh) 一种隐私数据识别方法、装置、设备和可读介质
CN111753290A (zh) 软件类型的检测方法及相关设备
CN111221960A (zh) 文本检测方法、相似度计算方法、模型训练方法及装置
CN111753299A (zh) 一种基于分组集成的不平衡恶意软件检测方法
CN116483733A (zh) 多维度人工智能产品评测方法及装置
Assefa et al. Intelligent phishing website detection using deep learning
CN114510720A (zh) 一种基于特征融合和NLP技术的Android恶意软件分类方法
CN105808602B (zh) 一种垃圾信息的检测方法及装置
KR102437278B1 (ko) 머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법
CN113378167A (zh) 一种基于改进朴素贝叶斯算法和门控循环单元混合的恶意软件检测方法
CN112464297A (zh) 硬件木马检测方法、装置及存储介质
CN115688107B (zh) 一种涉诈app检测***和方法
Shi et al. SFCGDroid: android malware detection based on sensitive function call graph
Wang et al. Malware detection using cnn via word embedding in cloud computing infrastructure
KR102409019B1 (ko) 금융 거래 위험 평가 시스템과 방법 및 이를 위한 컴퓨터 프로그램
Xiao et al. A new Android malicious application detection method using feature importance score
CN112559679B (zh) 政法新媒体传播力的检测方法、装置、设备及存储介质
CN109784047B (zh) 基于多特征的程序检测方法
Shravasti et al. Smishing detection: Using artificial intelligence
Leghari et al. Online signature verification using deep learning based aggregated convolutional feature representation

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