发明名称 用于检测恶意程序的判定模型及恶意程序的检测方法
摘要 本发明涉及用于检测恶意程序的判定模型及恶意程序的检测方法。所涉及的用于检测恶意程序的判定模型的建立方法包括规则生成和机器学算法训练,其中规则生成是将由“恶意程序”样本集和“非恶意程序”样本集组成的训练样本集在API调用层、基本抽象行为层和业务抽象行为层生成判定规则集合,所述判定规则集合包括API调用层判定规则、基本抽象行为层判定规则和业务抽象行为层判定规则;机器学算法训练是使用OCSVM算法训练模型,得到OCSVM算法模型。所涉及的恶意程序的检测方法是利用所涉及的判定模型对待检测程序进行判定。本发明的技术方案具有多层次和系统化的特点,在各步骤有效控制误检,提高了恶意程序行为检测在实际计算机安全问题中应用的可行性。
申请公布号 CN103927483A 申请公布日期 2014.07.16
申请号 CN201410137169.1 申请日期 2014.04.04
申请人 西安电子科技大学 发明人 宋建锋;苗启广;刘家辰;曹莹;王维炜;张浩;杨晔;汪梁
分类号 G06F21/56(2013.01)I 主分类号 G06F21/56(2013.01)I
代理机构 西安恒泰知识产权代理事务所 61216 代理人 史玫
主权项 一种用于监测恶意程序的判定模型,其特征在于,该判定模型包括判定规则集合和训练模型,该判定模型建立方法包括: 步骤一,判定规则生成: 将由“恶意程序”样本集和“非恶意程序”样本集组成的训练样本集在API调用层、基本抽象行为层和业务抽象行为层生成判定规则集合,所述判定规则集合包括API调用层判定规则、基本抽象行为层判定规则和业务抽象行为层判定规则: (1.1)将训练样本集在API调用层生成API调用层判定规则,该API调用层判定规则包括API调用层独立规则、API调用层敏感规则和API调用层可疑规则: ①统计训练样本集中出现的API调用,得到所有出现过的API调用; ②针对每一个出现过的API调用,分别进行如下处理: 分别计算当前API调用在“恶意程序”样本集中出现的概率和“非恶意程序”样本集中出现的概率,并计算该API调用的误检风险比率: 当前API调用在“恶意程序”样本集中出现的概率=当前API调用在“恶意程序”样本集中出现的次数÷“恶意程序”样本集中的总样本数, 当前API调用在“非恶意程序”样本集中出现的概率=当前API调用在“非恶意程序”样本集中出现的次数÷“非恶意程序”样本集中的总样本数, 当前API调用的误检风险比率=当前API调用在“非恶意程序”样本集中出现的次数÷当前API调用在“恶意程序”样本集中出现的次数, 如当前API调用的误检风险比率为r<sub>1</sub>,且当前API调用在“恶意程序”样本集中出现的概率大于d<sub>1</sub>,则该当前API调用定义为API调用层独立规则,其中:0≤r<sub>1</sub>≤0.05,0.2≤d<sub>1</sub>≤0.4; 如当前API调用的误检风险比率为r<sub>2</sub>,且当前API调用在“恶意程序”样本集中出现的概率大于d<sub>2</sub>,则该当前API调用定义为API调用层敏感规则,其中:0≤r<sub>2</sub>≤0.05,0.15≤d<sub>2</sub>≤0.35; 如当前API调用的误检风险比率为r<sub>3</sub>,且当前API调用在“恶意程序”样本集中出现的概率大于d<sub>3</sub>,则该当前API调用定义为API调用层可疑规则,其中:0≤r<sub>3</sub>≤0.05,0.1≤d<sub>3</sub>≤0.3; (1.2)将训练样本集在基本抽象行为层生成基本抽象行为层判定规则,该基本抽象行为层判定规则包括独立基本抽象行为判定规则、敏感基本抽象行为判定规则和可疑基本抽象行为判定规则: ①统计训练样本集中出现的基本抽象行为,得到所有出现过的基本抽象行为; ②针对每一个出现过的基本抽象行为分别进行如下处理: 分别计算当前基本抽象行为在“恶意程序”样本集中出现的概率和“非恶意程序”样本集中出现的概率,并计算该基本抽象行为的误检风险比率: 当前基本抽象行为在“恶意程序”样本集中出现的概率=当前基本抽象行为在“恶意程序”样本集中出现的次数÷“恶意程序”样本集中的总样本数, 当前基本抽象行为在“非恶意程序”样本集中出现的概率=当前基本抽象行为在“非恶意程序”样本集中出现的次数÷“非恶意程序”样本集中的总样本数, 当前基本抽象行为的误检风险比率=当前基本抽象行为在“非恶意程序”样本集中出现的次数÷当前基本抽象行为在“恶意程序”样本集中出现的次数, 如当前基本抽象行为的误检风险比率为r<sub>4</sub>,且当前基本抽象行为在“恶意程序”样本集中出现的概率大于d<sub>4</sub>,则该当前基本抽象行为定义为独立基本抽象行为判定规则,其中:0≤r<sub>4</sub>≤0.05,0.2≤d<sub>4</sub>≤0.4; 如当前基本抽象行为的误检风险比率为r<sub>5</sub>,且当前基本抽象行为在“恶意程序” 样本集中出现的概率大于d<sub>5</sub>,则该当前基本抽象行为定义为敏感基本抽象行为判定规则,其中:0≤r<sub>5</sub>≤0.05,0.15≤d<sub>5</sub>≤0.35; 如当前基本抽象行为的误检风险比率为r<sub>6</sub>,且当前基本抽象行为在“恶意程序”样本集中出现的概率大于d<sub>6</sub>,则该当前基本抽象行为定义为可疑基本抽象行为判定规则,其中:0≤r<sub>6</sub>≤0.05,0.1≤d<sub>6</sub>≤0.3; (1.3)将训练样本集在基本抽象行为层生成业务抽象行为层判定规则,该业务抽象行为层判定规则包括独立业务抽象行为判定规则、敏感业务抽象行为判定规则和可疑业务抽象行为判定规则: ①统计训练样本集中出现的业务抽象行为,得到所有出现过的业务抽象行为; ②针对每一个出现过的业务抽象行为分别进行如下处理: 分别计算当前业务抽象行为在“恶意程序”样本集和“非恶意程序”样本集中出现的概率,并计算该业务抽象行为的误检风险比率: 当前业务抽象行为在“恶意程序”样本集中出现的概率=当前业务抽象行为在“恶意程序”样本集中出现的次数÷“恶意程序”样本集中的总样本数, 当前业务抽象行为在“非恶意程序”样本集中出现的概率=当前业务抽象行为在“非恶意程序”样本集中出现的次数÷“非恶意程序”样本集中的总样本数, 当前业务抽象行为的误检风险比率=当前业务抽象行为在“非恶意程序”样本集中出现的次数÷当前业务抽象行为在“恶意程序”样本集中出现的次数, 如当前业务抽象行为的误检风险比率为r<sub>7</sub>,且当前业务抽象行为在“恶意程序”样本集中出现的概率大于d<sub>7</sub>,则该当前业务抽象行为定义为独立业务抽象行为判定规则,其中:0≤r<sub>7</sub>≤0.05,0.2≤d<sub>7</sub>≤0.4; 如当前业务抽象行为的误检风险比率为r<sub>8</sub>,且当前业务抽象行为在“恶意程序”样本集中出现的概率大于d<sub>8</sub>,则该当前业务抽象行为定义为敏感业务抽象行为判定 规则,其中:0≤r<sub>8</sub>≤0.05,0.15≤d<sub>8</sub>≤0.35; 如当前业务抽象行为的误检风险比率为r<sub>9</sub>,且当前业务抽象行为在“恶意程序”样本集中出现的概率大于d<sub>9</sub>,则该当前业务抽象行为定义为可疑业务抽象行为判定规则,其中:0≤r<sub>9</sub>≤0.05,0.1≤d<sub>9</sub>≤0.3。 步骤二,机器学习算法训练 (2.1)样本整理:将训练样本集中的样本数据整理为OCSVM算法能够处理的特征串格式; (2.2)参数选择:对OCSVM模型中RBF核函数的核带宽进行参数选择,RBF核函数的核带宽选择范围是{2<sup>k</sup>},其中k的取值范围是[‑m,m]内的整数,5≤m≤30; (2.3)模型训练:基于步骤(2.2)选出的RBF核参数,将样本特征从原空间映射到特征空间,并使用超平面模型区分特征空间点与特征空间原点,通过解优化得到超平面与原点距离最大的位置,得到函数(Ⅰ): f(x)=sgn((ω·Φ(x))‑ρ)  (Ⅰ) 其中: x是样本对应的特征向量, Φ(x)是RBF核函数对应的映射函数,用于将原空间的特征点映射至高维的RKHS中, ω是OCSVM核心优化问题求解得到的参数, ρ为RKHS中原点到决策平面的距离,用于确定正类与负类间决策边界的位置,其中正类指的是恶意程序类,负类指的是非恶意程序类。 
地址 710071 陕西省西安市太白南路2号