一种线性可分的安全脆弱点检测方法技术

技术编号:36813580 阅读:11 留言:0更新日期:2023-03-09 00:59
本发明专利技术涉及一种线性可分的安全脆弱点检测方法。在分析系统对象的数据流依赖关系的基础上,提出了一种将程序配置的异常度与相似性结合的恶意代码检测方法。该方法通过针对性的特征提取,可以保证在少量已知样本下得到较理想的准确率,并通过对系统对象间访问行为的数据流依赖关系进行归一化,再通过N类分类的匹配方法将恶意代码和程序配置按线性可分性重构,从而得到移动应用程序脆弱点。从而得到移动应用程序脆弱点。

【技术实现步骤摘要】
一种线性可分的安全脆弱点检测方法


[0001]本专利技术涉及信息安全测试
,尤其涉及一种线性可分的安全脆弱点检测方法。

技术介绍

[0002]随着数字化的快速发展,移动应用大幅度非法黑客组织也试图通过攻击移动应用程序,控制业务系统服务器达到不可告人的目的。黑客攻击行为会在不知不觉的情况下窃取私密信息或者造成服务器宕机、网络瘫痪、信息丢失等损失。
[0003]移动应用的配置安全,包括配置文件的安全、应用程序的权限配置安全、程序敏感词、程序代码配置安全、程序发布配置安全等。
[0004]移动应用程序配置文件是标准的XML文件,XML标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。
[0005]配置文件的按需更改即为开发人员提供了便利,同时也产生了安全隐患,由于配置问题而导致的安全漏洞层出不穷。
[0006]程序代码的配置安全多种多样,最常见的是组件安全问题。安卓有四大原生的组建,第一个是Activity,首先是访问权限控制,组建处理不好会导致你的应用被恶意程序进行恶意的页面调用。私有的Activity不应该被其他应用启动,且应该确保相对是安全的,Intent携带的信息尽量不发送敏感信息,并进行数据校验。
[0007]程序发布时,还可能出现敏感词和敏感信息未删除、二次打包、测试信息残留、数据任意备份、APK资源可下载任意、明文证书等安全配置问题。
[0008]目前国内外的移动应用程序安全检测,主要技术手段是建立在充分的已知样本基础上,通过分析新型样本的行为、指令序列,创建用于标识新型恶意代码的行为规则、特征码。这类方法往往依赖于充分的已知样本集合,即已经确定正常或恶意的程序样本。对于新型恶意代码样本标签的确定,往往首先需要人工手动分析以保证准确性。人工分析耗时长,很难保证短时间内得到所需的充分已知样本集合。面对多种多样的恶意代码和层出不穷的安全漏洞,如何应对当前新型恶意代码快速增长形势是安全检测关键问题。

技术实现思路

[0009]本专利技术的目的在于提供一种线性可分的安全脆弱点检测方法,在分析系统对象的数据流依赖关系的基础上,提出了一种将程序配置的异常度与相似性结合的恶意代码检测方法。该方法通过针对性的特征提取,可以保证在少量已知样本下得到较理想的准确率,并通过对系统对象间访问行为的数据流依赖关系进行归一化,再通过N类分类的匹配方法将恶意代码和程序配置按线性可分性重构,从而得到移动应用程序脆弱点。
[0010]为实现上述目的,本专利技术的技术方案是:一种线性可分的安全脆弱点检测方法,包括如下步骤:
[0011]S1、收集线性可分性安全特征;
[0012]S2、基于步骤S1收集的特征进行归一化,采用N类分类的匹配方法进行分类;
[0013]S3、基于步骤S2的分类结果,得到移动应用程序安全脆弱点。
[0014]在本专利技术一实施例中,所述线性可分,即:对给定的训练集D,集合中为原始样本的特征向量,为相关联的类标号;在二分类中,每个取二值之一即{+c,—c},表示是否属于这个类。
[0015]在本专利技术一实施例中,所述线性可分性安全特征包括病毒特征、黑白名单、恶意网址库。
[0016]在本专利技术一实施例中,所述步骤S2具体实现如下:
[0017]假设线性可分型安全特征集合N(N1,N2,
……
N
n
)有n类,采用N类分类过程,将n类特征分解重构为多个二类特征,然后重构分类器实现多个类别分类;
[0018]在训练阶段,从n种类别中任意取出两个构造成二类分类器,共有n(n—1)/2个分类器;
[0019]在分类阶段,将数据样本通过这n(n—1)/2个分类器进行分类,定义:
[0020]F1:表示精确率和召回率的调和平均,即:n/F1=n(n—1)/2P+n(n—1)/2T;其中,P为精确率,T为召回率;
[0021]将样本总体设为N,当前训练集设为T,预测集设为P,预测结果集为P

,则
[0022]P

={(a1′
,b1′
),(a2′
,b2′
),...,(a
N

,b
N

)}∈(A
×
B)
N
,b
i
∈B

={+l,

l},i=1,2,...,N
[0023]其中,(A
×
B)是指笛卡尔积运算:设A,B为一个集合,将A中的元素作为第一个元素,B中的元素作为第二个元素,形成有序对;所有这些有序对都由一个称为A和B的笛卡尔积的集合组成,并被记录为A
×
B;笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积,又称直积,表示为X
×
Y;
[0024]假设集合A={a1,a2,...a
n
},集合B={b1,b2,...b
n
},则两个集合的笛卡尔积为{(a1,b1),(a2,b2),...,(a
n
,b
n
)};
[0025]定义预测错误的样本集合
[0026]T

={(a1,b1),(a2,b2),...,(a
m
,b
m
)},b
i
≠b
i

[0027]m表示的是预测错误的样本,即在样本总体N里面定义预测错误的样本集合;
[0028]每次将样本按线性可分性分析判断为某一类,最终得到的判决次数最多的那一类为样本数据的最终分类结果。
[0029]在本专利技术一实施例中,步骤S2中,特征的归一化方式为:
[0030]特征数据分为两类:第一类表示某种特征是否出现,第二类的特征值属于连续变量;
[0031]对于第一类特征,此类特征特征值为{0,1},其0表示该特征在应用中没有出现,1则表示在应用文件中出现;
[0032]对于第二类特征,此类特征值采取的方法是将它们统一缩放变换到区间[0,1]上。
[0033]在本专利技术一实施例中,步骤S3中,移动应用程序指的是Android应用程序,该方法将Android应用程序中AndroidManifest.xml文件和Classes.dex文件作为特征分析对象,基于包括基于MD5校验的检测技术、基于Android数字签名的检测技术、基于正则表达式匹配的检测技术、基于权限分析的检测技术来得到移动应用程序脆弱点。
[0034]相较于现有技术,本专利技术具有以下有益效果:本专利技术基于线性可分的安全脆弱点检测技术,在分析系统对象的数据流依赖关系的基础上,提出了一种将程序配置的异常度与相似性结合的恶意代码检测方法。该方法通过针对性的特征提取,可以保证在少量已知样本下得到较理想的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种线性可分的安全脆弱点检测方法,其特征在于,包括如下步骤:S1、收集线性可分性安全特征;S2、基于步骤S1收集的特征进行归一化,采用N类分类的匹配方法进行分类;S3、基于步骤S2的分类结果,得到移动应用程序安全脆弱点。2.根据权利要求1所述的一种线性可分的安全脆弱点检测方法,其特征在于,所述线性可分,即:对给定的训练集D,集合中为原始样本的特征向量,为相关联的类标号;在二分类中,每个取二值之一即{+c,—c},表示是否属于这个类。3.根据权利要求1所述的一种线性可分的安全脆弱点检测方法,其特征在于,所述线性可分性安全特征包括病毒特征、黑白名单、恶意网址库。4.根据权利要求1所述的一种线性可分的安全脆弱点检测方法,其特征在于,所述步骤S2具体实现如下:假设线性可分型安全特征集合N(N1,N2,.......N
n
)有n类,采用N类分类过程,将n类特征分解重构为多个二类特征,然后重构分类器实现多个类别分类;在训练阶段,从n种类别中任意取出两个构造成二类分类器,共有n(n—1)/2个分类器;在分类阶段,将数据样本通过这n(n—1)/2个分类器进行分类,定义:F1:表示精确率和召回率的调和平均,即:n/F1=n(n—1)/2P+n(n—1)/2T;其中,P为精确率,T为召回率;将样本总体设为N,当前训练集设为T,预测集设为P,预测结果集为P

,则P

={(a1′
,b1′
),(a2′
,b2′
),...,(a
N

,b
N

)}∈(A
×
B)
N
,b
i
∈B

={+l,

l},i=1,2,...,N其中,(A
×
B)是指笛卡尔积运算:设A,B为一...

【专利技术属性】
技术研发人员:张坤三郭敬东罗富财吴丽进刘俊陈辰郭蔡伟纪文廖声扬谢静怡
申请(专利权)人:国网福建省电力有限公司漳州供电公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1