基于机器学习和API调用序列的恶意软件检测方法

本文介绍了基于机器学习的恶意软件检测系统,通过特征提取(如API调用序列的4-gram模型)和分类算法(如朴素贝叶斯、支持向量机等)来识别恶意软件。特征提取中,使用API监听工具获取调用序列,并通过支持度和置信度或发生比率来量化特征。该方法提高了恶意软件检测的准确性。
摘要由CSDN通过智能技术生成

恶意软件定义

恶意软件通常指未经用户授权进入系统,通过扫描系统漏洞并执行破坏性活动,从而使当前系统功能受到一定影响、安全性受到威胁的恶意性软件或程序。恶意软件既可以单独存在,又可以与其它软件整合并存,具有很强的隐蔽性;同时在网络环境中大量存在,容易被攻击者利用。

检测系统架构

基于恶意软件发起的定向网络攻击日益增长,构建起有效的恶意软件监测系统势在必行。一个恶意软件检测系统的核心功能模块包括样本特征提取和分类标记两个部分。

特征提取

对恶意软件样本的特征提取,首先要获取样本程序中实时的API调用序列,这一步可以通过借助所在系统的API监听工具实现。其次,针对API调用序列的处理,目前通常采用n元语法模型(n-gram)。n-gram 模型的思想是,首先确定特征序列的长度为n,在假定第n个出现的词只与在它之前出现的n−1个词相关,那么在一个长度远大于n的词组序列中,就通过滑动窗口的形式来将整体序列划分为多个特征序列。经过已有实验验证,4-gram在实际应用中的效果相对较好。
最后,对于每个单独的特征序列的处理,不同的文章采用特征度量方式也有所不同。Ravi等人[1]首先针对已有的样本数据,通过上述的序列处理之后,计算其支持度和置信度,然后根据初始类别标签形成一条关联规则。支持度S与置信度C的计算方式如下:
S = I A N × 100 % S=\frac{I_A}{N}\times100\% S=NIA×100%

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值