一种基于CFSFDP聚类的Android平台入侵检测方法转让专利

申请号 : CN201810303607.5

文献号 : CN108520178B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 任维武底晓强郑方林张剑飞毕琳

申请人 : 长春理工大学

摘要 :

一种基于CFSFDP聚类的Android平台入侵检测方法,涉及网络信息安全领域,解决现有静态特征检测方法存在占用大量系统资源,动态特征检测方法存在数据来源和模型构建方法不统一,不同方法的检测性能差异较大等问题,收集和抓取Android平台的静态特征和动态特征;对静态数据和动态特征数据进行归一化和离散化,获取正常行为特征数据,对正常行为特征数据进行标定;采用CFSFDP算法对特征数据进行聚类,生成轮廓;生成的行为轮廓,进行异常检测,判断当前点是否在轮廓中某点的截断距离内,如果在轮廓中,则认为是正常行为,否则为异常行为,异常行为实时推送报警,并将其当前特征状态信息反馈给用户。本发明在不降低轮廓精度的基础上,能够减少轮廓的存储量。

权利要求 :

1.基于CFSFDP聚类的Android平台入侵检测方法,其特征是,该方法由以下步骤实现:步骤一、收集和抓取Android平台的静态特征和动态特征;

步骤二、对静态数据和动态特征数据进行归一化和离散化,获取正常行为特征数据,并且对正常行为特征数据进行标定;

步骤三、采用CFSFDP算法对特征数据进行聚类,生成轮廓;

生成轮廓的具体步骤为:

步骤三一、计算轮廓中心点选择因子γi,γi的定义如下:式中,ρi是第i个点局部密度,表示i点截断距离内的点的个数,δi为距离,若i是最大局部密度点,则δi是i点到最远点的距离,若i不是最大密度聚类点,则δi是i点最近点的距离,θ是轮廓中心点选择系数,默认值为1;

步骤三二、生成轮廓中心点序列CPList: 选择跳跃前的中心点作为轮廓中心点;设跳跃度JD,当跳跃度为1时,则当前中心点作为轮廓中心点,跳跃度JD的计算方式为:JD=Sgn(γi-γi-1-κ)

其中Sgn为单位阶跃函数,κ为阶跃因子;

步骤三三、选择轮廓中心点序列CPList中最大中心点CPmax,计算最大中心点CPmax类内所有点的密度,生成类内密度序列ICList;

设定ICList: 表示某个类中一个密度降序排列下标序,即它满足步骤三四、选择类内密度序列ICList中的最小密度特征点ICmin,并存到轮廓中,生成特征点邻域距离序列FDList,设定特征点邻域距离序列FDList: 表示特征点间距离一个降序排列下标序,即它满足

步骤三五、标注特征点邻域距离序列FDlist中小于截断距离的所有点,并在轮廓中心点序列CPList中删除;

步骤三六、标注特征点邻域距离序列FDlist中大于截断距离的所有点,并在轮廓中心点序列CPList中保留;

步骤三七、从类内密度序列IClist中删除最小密度特征点ICmin,若类内密度序列IClist为空,则执行步骤三八,否则执行步骤三四;

步骤三八、从轮廓中心点序列CPlist中删除最大中心点CPmax,若轮廓中心点序列CPlist为空,则生成行为轮廓,否则执行步骤三三;

步骤四、对步骤三生成的行为轮廓,进行异常检测,判断当前点是否在轮廓中某点的截断距离内,如果在轮廓中,则认为是正常行为,否则为异常行为,异常行为实时推送报警,并将其当前特征状态信息反馈给用户。

2.根据权利要求1所述的基于CFSFDP聚类的Android平台入侵检测方法,其特征在于,步骤三一中,ρi的计算公式为:式中, 为待聚类数据集,IS={1,2,...,N}为相应的指标集,dc>0为截断距离,若dij≤dc,则在截断邻域内,若dij>dc,则在截断邻域外;dij为任意两个点之间的距离,计算公式为:式中,n表示点的维数或者属性数,Xin表示第i个点的第n维值;

设 表示 的一个降序排列下标序,即它满足

ρq1≥ρq2≥...≥ρqN

δi计算的公式采用 的表述形式为:

说明书 :

一种基于CFSFDP聚类的Android平台入侵检测方法

技术领域

[0001] 本发明涉及网络信息安全领域,一种基于快速寻找密度最高点的聚类方法(CFSFDP Clustering by Fast Search and Find of Density Peaks)聚类的Android平台入侵检测方法。

背景技术

[0002] 入侵检测方法使保护信息安全,确保全球信息基础设施正常运行的一种常用手段,是信息安全领域的重要研究方向。近年来,随着Android平台及其服务广泛应用,其安全问题也受到了广泛地关注。现有Andriod平台的安全机制具有局限性,Android平台入侵检测是一种很好的补充和拓展。根据数据来源的不同,Android平台的入侵检测方法可以分为两类:静态特征和动态特征。
[0003] 目前常见的主流杀毒软件都采用的静态特征,这种方法检测性能依赖病毒库质量,检测前需要连接网络,需要上传下载数据,检测时占用大量系统资源,缺乏对未知攻击的检测能力。这类方法比较成熟,改进的空间很小。采用动态特征的入侵检测方法检测性能依赖特征模型的精度,系统资源消耗取决于模型的复杂度,不消耗网络资源,能够发现未知攻击。这类方法的数据来源和模型构建方法不统一,不同方法的检测性能差异较大,消耗资源也有不同。因此,亟需一种检测性能高、实时性好、消耗资源少的动态特征入侵检测方法。

发明内容

[0004] 本发明为解决现有静态特征检测方法存在占用大量系统资源,缺乏对未知攻击的检测能力,动态特征检测方法存在数据来源和模型构建方法不统一,不同方法的检测性能差异较大等问题,提供一种基于CFSFDP聚类的Android平台入侵检测方法,具体包括以下步骤:
[0005] 步骤一、收集和抓取Android平台的静态特征和动态特征;
[0006] 步骤二、对静态数据和动态特征数据进行归一化和离散化,获取正常行为特征数据,并且对正常行为特征数据进行标定;
[0007] 步骤三、采用CFSFDP算法对特征数据进行聚类,生成轮廓;
[0008] 生成轮廓的具体步骤为:
[0009] 步骤三一、计算轮廓中心点选择因子γi,γi的定义如下:
[0010]
[0011] 式中,ρi是第i个点局部密度,表示i点截断距离内的点的个数,δi为距离,若i是最大局部密度点,则δi是i点到最远点的距离,若i不是最大密度聚类点,则δi是i点最近点的距离,θ是轮廓中心点选择系数,默认值为1;
[0012] 步骤三二、生成轮廓中心点序列CPList: 选择跳跃前的中心点作为轮廓中心点;设跳跃度JD,当跳跃度为1时,则当前中心点作为轮廓中心点,跳跃度JD的计算方式为:
[0013] JD=Sgn(γi-γi-1-κ)
[0014] 其中Sgn为单位阶跃函数,κ为阶跃因子;
[0015] 步骤三三、选择轮廓中心点序列CPList中最大中心点CPmax,计算最大中心点CPmax类内所有点的密度,生成类内密度序列ICList;
[0016] 设 表示某个类中一个密度降序排列下标序,即它满足
[0017] 步骤三四、选择类内密度序列ICList中的最小密度特征点ICmin,并存到轮廓中,生成特征点邻域距离序列FDList,
[0018] 设定特征点邻域距离序列 表示特征点间距离一个降序排列下标序,即它满足
[0019] 步骤三五、删除轮廓中心点序列FDlist中小于截断距离的所有点;
[0020] 步骤三六、保留轮廓中心点序列FDlist中大于截断距离的所有点;
[0021] 步骤三七、从类内密度序列IClist中删除最小密度特征点ICmin,若类内密度序列IClist为空,则执行步骤三八,否则执行步骤三四;
[0022] 步骤三八、从轮廓中心点序列CPlist中删除最大中心点CPmax,若轮廓中心点序列CPlist为空,则生成行为轮廓,否则执行步骤三三;
[0023] 步骤四、对步骤三生成的行为轮廓,进行异常检测,
[0024] 判断当前点是否在轮廓中某点的截断距离内,如果在轮廓中,则认为是正常行为,否则为异常行为,异常行为实时推送报警,并将其当前特征状态信息反馈给用户。
[0025] 本发明的有益效果:本发明的目的在于提供一种轻量级、高精度的Android平台入侵检测方法。其主要思想是在原有密度聚类生成的形状作为轮廓的基础,选择聚类中有代表性点作为聚类轮廓的支撑,只用少数点和截断距离表示行为轮廓,将一个任意形状的轮廓转化为一定数量关键点构成的截断区域组合,这样能尽可能地保留原有聚类轮廓,还能降低聚类存储空间需求和检测计算资源需求。
[0026] 1.将CFSFDP算法应用到入侵检测领域,填补了该算法在入侵检测领域中应用的空白。
[0027] 2.创新设计了轮廓生成方法和异常检测方法,其中轮廓生成方法能够在保证已有轮廓精度不变的基础上,大幅度减少轮廓的存储空间,而且还降低了检测的计算复杂度。
[0028] 3.将Android平台的两类特征静态特征和动态特征数据统一采集混合,能够更全面地表现Android平台当前状态信息,以便更精确地建立特征模型。

附图说明

[0029] 图1为本发明所述的一种基于CFSFDP聚类的Android平台入侵检测方法的流程图;
[0030] 图2为本发明所述的一种基于CFSFDP聚类的Android平台入侵检测方法中轮廓生成的流程图。

具体实施方式

[0031] 下面结合附图及实施对本发明做进一步说明。
[0032] 如图1所示,本实施例提供了一种基于CFSFDP聚类的Android平台入侵检测方法,具体包括以下步骤:
[0033] 步骤1:收集和抓取Android平台的静态特征和动态特征。静态特征包括权限、Intent-filter、Java Code等,动态特征包括System Call、Network Traffic、System Component和用户行为等。静态特征数据在较长的一个时间跨度内收集,动态特征数据在较短的一个时间跨度内进行分时抓取;
[0034] 步骤2:对特征数据进行归一化和离散化,获取正常行为特征数据,并且对正常特征数据进行标定。我们使用机器人monkey程序点击原生Android系统,并记录其行为,这部分行为是在无病毒,无倾向性引导的环境下采集的,可以标定为正常行为特征数据;
[0035] 步骤3:利用CFSFDP算法对特征数据进行聚类,由于一般正常行为是有规律的、重复的,所以在聚类上的表现为区域内的密度很高,CFSFDP算法能够生成任意形状的密度聚类,生成的轮廓具有很好的精度;
[0036] 步骤4:轮廓生成部分是本发明的主要创新点,使用原算法聚类生成轮廓,存在很多冗余数据,这样导致轮廓存储过程中耗费大量的存储资源,而且检测过程中也会耗费大量计算资源。因此,我们使用少数点和它们的截断范围作为轮廓的支撑,不仅能够保留原有轮廓,还删除了冗余的特征点。轮廓生成主要包含三个子过程:轮廓中心点选择,密度特征点选择和邻域特征点选择。首先根据特征数据的特点,选择最优的轮廓中心点群,然后从中心点的密度边缘开始,依次进行邻域特征点选择,邻域特征点内的重复特征点将会被删除,最后只剩下支撑点及其截断范围作为行为轮廓;
[0037] 步骤5:依据建立起来的轮廓,进行异常检测,由于轮廓模型简化,因此检测算法的计算也随之简化。只需要判断当前点是否在轮廓中某点的截断距离内,如果在轮廓中,则认为是正常行为,否则为异常行为。异常行为实时推送报警,并将其当前特征状态信息反馈给用户;
[0038] 进一步地,如图2所示,所述步骤4具体可以包括以下步骤:
[0039] 步骤41:计算轮廓中心点选择因子γi,γi的定义如下:
[0040]
[0041] 其中,ρi是第i个点局部密度,表示i点截断距离内的点的个数,δi是距离,若i是最大局部密度点,则δi是i点到最远点的距离,若i不是最大密度聚类点,则δi是i点最近点的距离。具体的ρi计算方法可以参照步骤411,δi计算方法可以参照步骤412,θ是轮廓中心点选择系数,默认值为1。
[0042] 步骤42:生成轮廓中心点序列CPList: 我们可以分析得出,Android平台正常特征行为数据的中心点选择因子满足幂次规律,平滑的中心点不适合作为轮廓中心,而在非平滑中心点过渡到平滑中心点之前,中心点选择因子γi存在一个明显跳跃,因此我们选择跳跃前的中心点作为轮廓中心点。设跳跃度JD,当跳跃度为1时,则当前中心点可以作为轮廓中心点,否则不可作为。
[0043] 跳跃度的计算方式为:
[0044] JD=Sgn(γi-γi-1-κ)
[0045] 其中Sgn为单位阶跃函数,κ为阶跃因子;
[0046] 步骤43:选择CPList中最大值CPmax,计算CPmax中心点类内所有点的密度,生成类内密度序列ICList。设 表示某个类中一个密度降序排列下标序,即它满足类内密度和点距离的计算方法与步骤411、412相同;
[0047] 步骤44:选择ICList中的最小值ICmin,将它保存到轮廓中,生成特征点邻域距离序列FDList,设FDList: 表示特征点间距离一个降序排列下标序,即它满足
[0048] 步骤45、删除FDlist中小于截断距离的所有点;
[0049] 步骤46、保留FDlist中大于截断距离的所有点;
[0050] 步骤47、从IClist中删除ICmin,若IClist为空,则执行步骤48,否则执行步骤44;
[0051] 步骤48、从CPlist中删除CPmax,若CPlist为空,则生成行为轮廓,否则执行步骤43。
[0052] 进一步地,所述步骤41具体可以包括以下两个步骤:
[0053] 步骤411:计算ρi,ρi表示第i个点的局部密度,其具体计算方式为:
[0054]
[0055] 其中, 为待聚类数据集,IS={1,2,...,N}为相应的指标集,dc>0为截断距离,若d≤dc,则在截断邻域内,若d>dc,则在截断邻域外。dij为任意两个点之间的距离,其计算方式为:
[0056]
[0057] 其中,n表示点的维数或者属性数,Xin表示第i个点的第n维值。
[0058] 步骤412:计算δi,δi是距离,若i是最大局部密度点,则δi是i点到最远点的距离,若i不是最大密度聚类点,则δi是i点最近点的距离。设 表示 的一个降序排列下标序,即它满足
[0059]
[0060] 则δi具体计算方式为:
[0061]
[0062] 综上所述,本发明改进CFSFDP算法,设计了轮廓生成算法和异常检测算法,使其能够应用到入侵检测领域。通过将少数点及其截断距离作为轮廓,取代了原有聚类中所有点作为轮廓,在不降低轮廓精度的基础上,能够减少轮廓的存储量,降低检测时的计算开销。
[0063] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。