A survey on machine learning-based malware detection in executable files
参考文献
Jagsir Singh, Jaswinder Singh, Journal of Systems Architecture, https://doi.org/10.1016/j.sysarc.2020.101861
基于机器学习的可执行文件恶意软件检测研究综述
恶意软件检测技术
(2019年)[73]解释了各种不同的功能,各种研究人员已使用这些功能来开发恶意软件检测系统,例如字节序列,操作码,字符串,API调用,PE标头信息,Windows注册表,文件系统访问,AV/沙箱提交,CPU寄存器,功能长度,网络活动和生成的异常。
基于签名的恶意软件检测技术
(2007)[78]操作码
(2007)[79]控制流图
(2007)[80]n-gram字节 概率神经网络技术
从在线VX Heavens数据库中提取了三类恶意软件
https://vx-underground.org/archive/VxHeaven/vl.php.html
(2008)[81]操作码 机器学习 DT NB ANN Adaboost
(2009)[82]字符串
(2009)[83]API调用 机器学习
(2010)[84]控制流图
(2010)[85]基于文本的模式匹配方法
(2011)[86]便携式可执行文件(PE)标头 支持向量机SVM
(2012)[87]N-gram操作码序列
(2012)[31]API调用
使用IDApro反汇编程序提取恶意软件的API调用
(2012)[87]扩展了(2009)[81] 操作码n-gram序列
训练了八种类型的分类器:逻辑回归、人工神经网络、朴素贝叶斯、决策树、随机森林、支持向量机、Boosted决策树和Boosted朴素贝叶斯。
(2013)[88]数据相关的API图 最长公共子序列(LCS)算法
(2014)[74]PE标头信息 DT NB LR
(2014)[89]n-gram 机器学习
(2016)[90]API调用 PDF和SWF 机器学习
(2016)[91]PE标头信息 SGD SVM CART
(2016)[92]操作码序列 使用隐马尔可夫模型实现了聚类算法
(2016)[33]n-gram字节
(2016)[21]N-gram操作码 图像表示
(2017)[93]控制流图
(2017)[34]DLL导入 十六进制转储和汇编代码
(2017)[2]检测APT(高级持久威胁)恶意软件
(2017)[34]段落向量 SVM KNN
(2017)[94]控制流图 系统调用依赖性图
(2018)[95]将整个二进制文件转换为灰度图像 CNN
(2020)[96]窗口可执行文件PE标头信息 SVM
(2016)[97]操作码序列
(2017)[2]和(2016)[98]使用API调用,但应用了不同的机器学习和表示方法,并产生了更好的检测率。
基于行为的恶意软件检测技术
(2014)[105]数据相关API图
(2015)[76] API调用和网络活动
(2015)[106]注册内容 API调用
(2015)[64] Window API调用
(2015)[107] API调用顺序
(2016)[108] API调用
(2016)[109]以图像形式表示恶意软件
(2016)[110] API调用顺序
(2016)[77] API调用顺序
(2017)[113]系统对象
(2017)[56] API调用
(2017)[111]依赖图
(2017)[112] API调用顺序
(2017)[114]注册表 网络 文件系统 API调用顺序
(2017)[66]运行时功能
(2018)[115]行为伪像
(2019)[117]使用Parsa沙箱的行为特征
(2019)[118] API调用序列
(2019)[119]网络伪像
(2020)[122]网络功能
(2020)[120]行为特征
(2020)[121]内存图片