1.一种android应用程序恶意性的静态检测方法,其特征在于:在该方法中,对选定的样本程序进行反编译得到AndroidManifest.xml文件,提取该文件的权限特征,并对其进行降维预处理,然后对降维后的权限特征集用互信息和笛卡尔积方法进行权限聚类去冗余,最后在此基础上构建朴素贝叶斯分类模型,以及对所检测到的恶意性应用程序进行恶意性等级的划分。
2.根据权利要求1所述的一种android应用程序恶意性的静态检测方法,其特征在于:该方法具体包括以下步骤:
步骤一:收取并创建恶意性应用程序和非恶意性应用程序的样本库,分别对其APK样本进行反编译处理得到AndroidManifest.xml文件,然后提取该文件的权限特征,获得权限特征集;
步骤二:利用Android权限特征属性变量之间的相关性关系,其中任意两个变量之间的相关性可能是由于第三个变量的存在所表现出来的,对此采用基于偏相关系数对权限特征属性进行相关性分析的方法,对权限特征集进行降维预处理;
步骤三:利用基于互信息理论和笛卡尔积方法,采用基于互信息和笛卡尔积的改进的朴素贝叶斯分类模型方法,对权限特征集降维预处理后获取的权限特征集进行聚类去冗余;
步骤四:基于分类属性集的集合Xnew构建朴素贝叶斯分类器,通过样本训练获得先验概率,然后用测试集样本通过计算后验概率判断所检测的Android应用程序是否具有恶意性,对具有恶意性的Android应用程序按概率方法进行等级划分。
3.根据权利要求2所述的一种android应用程序恶意性的静态检测方法,其特征在于:在步骤二中,所述基于偏相关系数对权限特征属性进行相关性分析的方法具体包括:
该方法首先通过计算两个权限特征属性变量之间的简单相关系数
其中Cov(xi,xj)是xi与xj之间的协方差, 是xi与xj之间的标准差,将计算所得的简单相关系数做成相关系数矩阵R,计算|R|行列式中rii,rij,rjj的数余子式Aii,Aij,Ajj然后带入特征权限属性变量之间的偏相关系数公式进行计算,根据得到的偏相关系数|ρ|的值判断权限特征属性之间的相关性大小,去除相关性低的权限特征属性,得到降维预处理后的权限特征集。
4.根据权利要求2所述的一种android应用程序恶意性的静态检测方法,其特征在于:在步骤三中,利用基于互信息理论和笛卡尔积方法,采用基于互信息和笛卡尔积的改进的朴素贝叶斯分类模型方法,对权限特征集降维预处理后获取的权限特征集进行聚类去冗余,聚类去冗余模型如下:其中Cor(Xi,C)表示权限特征属性变量Xi和类别属性变量c之间的相关度,Cor(Xi,Xj)表示权限特征属性变量Xi和Xj之间的相关度,计算方式如下:
1)计算预处理后权限特征属性变量Xi与类别变量C的相关度Cor(Xi,C),按从大到小的顺序排列构成原始属性集X-ori;
2)计算X-ori中的第一个属性变量X-ori(1)与其它属性变量的相关度Cor(X-ori(1),Xj);
3)对X-ori中除X-ori(1)之外的其它变量Xj,若Cor(X-ori(1),Xj)>Cor(Xj,C),则认为该变量与X-ori(1)高度相关,将其加入X-ori(1)的相关集中;
4)X-ori(1)及其相关集中的前m个变量的笛卡尔积Xnew作为新属性集加入Xnew,同时从X-ori中删除X-ori(1)及其相关集中的所有变量;
5)重复2)至4),直到 为止。
5.根据权利要求2所述的一种android应用程序恶意性的静态检测方法,其特征在于:在步骤四中,基于分类属性集的集合Xnew构建朴素贝叶斯分类器,通过样本训练获得先验概率,然后用测试集样本通过计算后验概率判断所检测的Android应用程序是否具有恶意性,基于权限分类属性集的集合Xnew和类别C构建朴素贝叶斯的模型如下:其中, count(Xk|Ci)表示在类别Ci样本中权限特征属性Xk出现的
次数,count(Xk)表示样本中权限特征属性Xk出现的次数,count(X)表示分类权限集集合Xnew中权限特征集的个数,α表示不同权限特征属性对分类的影响程度,且量化了权限特征属性与其类别属性之间的关系,Xnew为Android应用程序的权限特征属性集的集合,Ci是Android应用程序的类别,即非恶意性应用程序和恶意性应用程序两类,P(Xnew)对于所有类为常数,α因此比较后验概率是只需要P(Xnew|Ci)P(Ci)最大即可判断应用程序是否具有恶意性;
对所得的具有恶意性的Android应用程序的权限特征集,对恶意性Android应用程序进行恶意性等级划分,计算恶意性等级如下:其中,Pv表示该待测试样本应用程序在恶意性程序中出现的概率;Pm表示该待测试样本应用程序在非恶意性程序中出现的概率;Pv(Xi)代表第i个权限特征集在恶意性程序中出现的概率;Pn(Xi)代表第i个权限特征集在非恶意性程序中出现的概率。