Page 310 - 《软件学报》2021年第5期
P. 310

1534                                     Journal of Software  软件学报 Vol.32, No.5,  May 2021

                    为了通过 API 调用序列预测恶意软件,同时解决为其建立攻击图的工程量和计算复杂度过高的问题,Amer
                 等人 [44] 研究了如何生成表征恶意软件的简单行为图.他们首先使用词嵌入来识别恶意软件调用序列中 API 函
                 数之间存在的上下文关系,然后基于恶意软件和良性软件调用序列之间存在的显著区别,对两种 API 调用序列
                 的行为进行马尔可夫链建模,并生成一个描述了 API 函数之间实际关系的语义转换矩阵,实现了从初始 API 调
                 用功能对 API 调用序列是否为恶意代码的预测.
                 2.4   基于数据挖掘的行为预测
                    与前面 3 种预测方法相比,数据挖掘对数据深层的隐藏特征和内部模式具有更强的表征能力,但通常作为
                 其过程中一种技术手段.具体来说,基于数据挖掘的预测方法通过对海量攻击警报、检测结果等先验知识进行
                 统计分析、规则关联及分类归纳等,挖掘出攻击信息之间的规律,对未来攻击进行分类和预测,或结合攻击图、
                 博弈论等算法建模预测        [64] .
                    数据挖掘在智能攻击的行为预测,特别是对钓鱼网站的预测有较好的表现.网络钓鱼通过模仿合法网站来
                 欺骗在线用户,以窃取其敏感信息.由于反网络钓鱼解决方案旨在准确地预测网站类别,与数据挖掘分类技术的
                 目标完全匹配,因此,网络钓鱼可以看作是数据挖掘中的典型分类问题,分类器由大量网站的特征构成.
                 Mohammad 等人  [65] 在 2014 年评估了基于规则的数据挖掘分类技术在预测网络钓鱼网站方面的良好表现,并通
                 过实验证明了不同分类技术的可靠性.Al-diabat 等人             [66] 研究了根据分类性能确定有效特征集的特征选择方法,
                 他们比较了两种已知的特征选择方法,以便确定数据挖掘进行网络钓鱼预测的最少特征集.
                    智能钓鱼攻击大部分集中于社交网络,攻击者利用机器学习分析电子邮件和媒体资料,向特定用户发布网
                 络钓鱼帖,或者模仿用户编写电子邮件窃取信息等.Hernández 等人                 [45] 提出了一种对 Twitter 内容的情感分析方
                 法,以预测未来对 Web 的攻击.该方法基于每天收集的两组用户的推文,通过数据挖掘进行关联规则和统计分
                 析,然后构建 SVM 模型以预测是否可能发生攻击.Banerjee 等人              [46] 基于从蜜网和社交网络获取的网络流量数据
                 部署本地蜜网,对于给定的持续时间和位置,探索社交网络并提取事件、活动和新闻等详细信息;从蜜网获得的
                 数据集通过相关性和相似性用于僵尸网络的检测,而关联规则挖掘技术实现对僵尸网络攻击的预测.
                    相似性度量是基于数据挖掘的预测方法中常用的技术,一般应用于恶意代码比对、系统调用序列比对
                 等 [67] .针对恶意代码趋于智能化,逃避当前大部分基于签名的检测系统的问题,Lim 等人                      [47] 提出了一种应用相似
                 序列比对算法对恶意代码进行分类的技术.他们通过提取恶意代码的网络行为模式并比较 DNA 序列的相似性,
                 排除了代码的其他特性,从而只对恶意代码的网络行为进行分类,同时还能够预测攻击行为序列.Vaishnavi 等
                 人 [48] 基于从日志文件包含的信息中提取的属性,针对恶意可执行文件的代码伪装逃逸检测,提出了随机森林、
                 随机树和 Rep 树等 3 种基于数据挖掘的算法,并比较了这些算法的预测准确率、计算复杂度等特性.
                    推荐系统一般用于预测用户的行为习惯和偏好,通过系统响应用户浏览行为,部署机器学习算法进行个性
                 化计算,发现用户的兴趣点,实现针对性推荐              [68] .受推荐系统的启发,Zamani 等人    [69] 构建了类似的推荐系统来预
                 测僵尸网络攻击.他们基于遥测僵尸网络流量收集的数据,定期对推荐系统进行来自网络恶意威胁消除和补救
                 平台系统的威胁数据的训练,特别是攻击的地理位置和时间戳;同时,结合基于 K-Means 和 DBSCAN 集群的机器
                 学习算法,根据来自给定地理位置坐标的等级,和针对某些僵尸网络类型的高密度位置的警报,推荐最有可能发
                 生的攻击.

                 2.5   其他预测方法
                    除了上述 4 种主流分类的预测方法之外,研究人员也使用其他的方法进行了尝试,例如支持向量机(support
                 vector machine,简称 SVM)、推荐系统、相似性度量等实现智能攻击行为的预测,并取得了一定的成果,本节挑
                 选部分列举如下.
                    僵尸网络的智能化,使得超过 70%的恶意软件使用多种逃避技术来避免检测,其中,基于静态阈值的僵尸网
                 络检测模型面临着概念漂移的挑战.Zhi 等人             [49] 引入 Venn-Abers 算法,通过构建 Venn-Abers 预测器,缓解由恶意
                 软件逃逸产生的概念漂移问题.他们认为:即使预测结果正确,预测质量的下降也是概念漂移的标志.因此选择
   305   306   307   308   309   310   311   312   313   314   315