恶意命令检测方法_第1页
恶意命令检测方法_第2页
恶意命令检测方法_第3页
恶意命令检测方法_第4页
恶意命令检测方法_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0引言互联网+时代,网络空间安全保障已然成为影响国家安全、社会稳定、经济发展和文化传播的基础性问题。入侵检测作为一种主动防御方法,能够对外部入侵、内部攻击和误操作的行为提供防护,并根据威胁采取措施。从发起攻击的来源出发,可以将攻击分为外部攻击和内部伪装攻击,其中内部伪装攻击是指未经授权的用户将自己伪装成合法用户进入组织内部访问、修改、删除关键数据或执行其他非法操作的行为

。1基于频率的检测方法1.1

相关研究简述

目前,针对用户输入命令进行的检测方法可以大致分为两类:一类侧重于用户输入频率信息,另一类侧重于对用户行为进行建模。前者具有简单高效的特点,但是在传统检测手段下检测效果往往欠佳。近年来,基于机器学习的检测方法在多方面表现出优于传统分类方法的特点。因此,可以使用机器学习方法进行改进以提高检测能力。AT&TShanon实验室提供的SEA数据集是恶意命令检测领域使用最为广泛的数据集。最先将朴素贝叶斯方法引入恶意命令序列检测过程中,根据某条命令在数据集中出现的概率对用户输入命令的概率进行预测,但最终准确率仅为69.3%。基于N-gram分别使用SVM和AdaBoost方法进行检测,分别取得了80.1%和89.2%的准确率。提出了一种既考虑频率信息又考虑用户行为转换特征的方法,最终取得了95.2%的准确率。Subrat等人基于适应性朴素贝叶斯(AdaptiveNaiveBayes)提出了在频率信息之外考虑用户行为偏差的方法,但是没有能够进一步提高准确率。1.2实验方案设计SEA数据集记录了50名用户操作数据,每名用户采集15000条命令输入信息,其中前5000条命令是正常用户行为,而后10000条命令则添加了恶意命令行为,每100条命令划分为一个组块。文本向量化方法是一种将文本信息转换为向量的方法,虽然该方法能够表达的特征较为简单,但是有着受数据脱敏处理影响小的优点,因而在恶意命令检测目标上具有一定优势。使用文本向量化方法将命令序列转换为向量的过程如下:(1)定义一个集合,该集合应当包含全部或有意义的用户命令输入;(2)逐行遍历用户的全部记录信息,除非该命令已经包含在集合中,否则向集合中添加这一命令;(3)按照数据集的原始划分遍历50150个组块,对于每一个组块,记录集合中元素出现的次数,将遍历结果记录为向量,其长度等同集合元素的个数。通过对SEA数据集进行清洗、提取、计数、筛选等操作,共获得有意义的命令857种,出现频率排在前十位的有sh、cat、netscape、generic、ls、popper、sendmail、date、rm、sed。表1展示了该方法示例。表1

文本向量化示例1.3

实验结果验证实验选用四项指标以衡量检测效果,依次为准确率、漏检率、误报率和F1-score。将实际为正样本且检测结果也为正样本的样本数量记录为,实际样本为负样本且检测也为负样本的数量记录为,实际为正样本却检测为负样本的数量记录为,实际为负样本却检测为正样本的数量记录为。四项指标计算公式如下:

为对比不同机器学习算法和测试集大小对实验结果的影响,选用NaiveBayes(朴素贝叶斯)、LinearSVM(LinearSupportVectorMachine,线性支持向量机)、BPNN(BackPropagationNeuralNetwork,后向传播神经网络)、DecisionTree(决策树)和RandomForest(随机森林)算法分别以70%、50%、20%的训练集大小进行实验,结果如表2所示。从表中可以看出,训练集大小对检测结果影响并不明显。随机森林在全部实验中都表现出了最好的性能,线性支持向量机和决策树算法也表现出了优于朴素贝叶斯的性能,后向传播神经网络方法表现最为糟糕。多个模型表现都优于早先研究提出的检测方法。表2

基于频率的检测结果深度学习方法在恶意命令检测领域的研究成果相对较少,王毅等人将深度学习方法用于SEA数据集检测,但是准确率并没有表现出相较传统机器学习方法的优势(表3);使用BiLSTM进行恶意命令序列检测,但其使用的是经过编辑的SEA数据集,因此将实验结果进行直接对比并不妥当。由此得出,本文提出的方法能够显著提高基于用户输入频率的检测能力,且其表现甚至可能好于深度学习方法。表3文献8对比的深度学习方法1.4

存在的不足

尽管实验表现出了很好的结果,但是依然存在下列不足:(1)考虑到50名用户数量较少的问题,随着用户数量增加和提供命令行方法的软件或工具增多,有可能面临维数过多的问题。(2)虽然该方法表现出了很好的检测能力,但是如果样本出现了训练集中不具有的命令内容,该检测方法对其检测能力仍需检验。(3)当组块中只包含某种恶意行为的一部分信息时,是否能表现出良好检测能力仍未知。2基于频率和知识的改进检测方法2.1

数据集编辑

为了模拟真实环境下组块划分不够精确造成的干扰,首先确定一批用于向数据集中插入的恶意命令序列,这些命令序列包含了大量遍历文件目录、大量删除文件、恶意webshell、反弹shell生成、创建加密文件等恶意行为。表4

修改后的组块示例在对组块执行插入时,将一种恶意行为包含的命令信息分散插入多个组块中,将有数据插入的组块标识为负样本,而没有被插入的组块则维持原有标识。表4给出了一些修改后的组块示例。经过修改的数据集更加贴近当今网络安全形势。2.2

输入频率特征选取根据先前实验的结果,随机森林分类方法在恶意命令检测上表现出了最佳的性能,因此可以参照随机森林的特征重要性进行特征选取。该方法的中心思想是以决策树中单个特征的相对秩为依据,评估该特征对结果预测的相对重要性。例如,在树顶部使用的特征有助于对更大比例的输入样本进行预测,因此它们贡献的样本的期望分数可以用于估计特征的相对重要性。为了避免出现频率过低的特征重要性被夸大,在选定特征前进行信息量计算,设定信息量阈值为0.3%,只有提供的信息量占比高于阈值的特征才会被选用。将满足信息量要求的前100项命令选出,并在出现频率之外统计其连续出现频率、出现频率间隔等统计特征,作为最终的频率特征。2.3

基于知识的特征抽取为应对未知输入,需要发掘相应异常检测方法。在如今威胁情报数量和获取方式都得到了不同程度发展的背景下,基于知识的方法可以发挥更大的作用。通过查阅资料,使用TerranLane提供的UNIX用户数据集作为知识库正样本,删去数据集中命令参数数量等信息以同SEA保持一致。对于负样本,从经过编辑后的SEA数据集的负样本中预先抽取10%的负样本作为知识库中的负样本。表5和图2展示了特征获取过程。表5

基于知识的特征图2

特征选取过程2.4

实验结果与分析实验采用同1.3节相同的算法和参数,将70%的数据用作训练集,剩下30%作为测试集。最终结果如表6所示。实验结果表明,基于频率和知识的方法具有良好的检测能力。表6

实验结果3结语针对传统基于用户输入频率的恶意命令检测效果不佳的问题,本文提出了一种借助机器学习方法的频率检测方法,在SEA数据集上的实验表明:该方法能够显著提高检测能力。为了研究在更贴近真实环境下的表现,对原始数据集进行了修改使其更符合真实环境,面对新实验环境提出了基于用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论