基于云服务的恶意内容检测方法研究

2023-08-21 11:02魏先燕卢加奇冯燕茹吕广旭王小英
现代信息科技 2023年12期

魏先燕 卢加奇 冯燕茹 吕广旭 王小英

摘  要:云服务的文件存储存在“后门”攻击,以混淆用户视听,窃取用户隐私。现有的检测方法单一且需要更多的运行内存,因此文章提出通过使用AC自动机算法和朴素贝叶斯算法,快速精准地识别文本内容,利用scikit-learn机器学习库对图片内容进行甄别,且调用VirusTotal的API检测恶意文件,实验结果表明该检测方法在识别恶意内容的准确率上达到96.2%、可对海量数据进行实时检测,优于其他检测方法。

关键词:恶意文件;图片内容检测;AC自动机算法;朴素贝叶斯算法

中图分类号:TP309  文献标识码:A  文章编号:2096-4706(2023)12-0155-04

Research on Malicious Content Detection Methods Based on Cloud Services

WEI Xianyan, LU Jiaqi, FENG Yanru, LYU Guangxu, WANG Xiaoying

(Institute of Disaster Prevention, Langfang  065201, China)

Abstract: There are “backdoor” attacks on the file storage of cloud services to confuse visual and auditory sense of users and steal their privacy. The existing detection methods are single and require more running memory. Therefore, this paper proposes to use AC automaton algorithm and Naive Bayesian algorithm to identify text content quickly and accurately. It uses scikit-learn machine learning library to screen image content, and calls API of VirusTotal to detect malicious files. The experimental results show that the detection method achieves 96.2% accuracy in identifying malicious content and can detect massive data in real time, which is better than other detection methods.

Keywords: malicious file; image content detection; AC automaton algorithm; Naive Bayesian algorithm

0  引  言

云服務平台[1]是运营商为提升通信服务质量所搭建的系统平台,可以分配网络资源供用户使用。用户则根据自己的需求随时随地在云服务平台上进行数据存取。而云存储存在“后门”攻击[2],攻击的方式主要以“网络钓鱼”“网页挂马”、漏洞为主,主要通过发送用户感兴趣的文件,引导用户下载,当用户打开并运行包含攻击代码的文件后,黑客就可以在用户不知情的情况下将攻击程序安装到用户系统,然后攻击者可以进行查看用户文件,更改电脑权限等操作。

黑客们将攻击代码植入上传的文本文件、图片、程序等中,以此混淆用户的视听,造成的损失小到搜索注册表信息并更改,或使系统发生故障,大到窃取用户的隐私,给用户带来严重的经济损失。

1  研究概述

基于前者的研究经验,恶意软件检测技术[3]得到快速发展,检测的准确率越来越高效,但仍有提升空间,防御恶意攻击的能力仍有不足。文本内容良莠不齐、图片内容参差不齐、恶意文件复杂多变是网络安全不断研究的问题。

当前已经设计出一些针对恶意文本、图片和文件的检测与防御方法。针对文本的检测,Paik[3]基于文本分类提出词频-逆文档频率算法,TF-IDF(Term Frequency-Inverse Document Frequency),词频就是在一篇文本中某一个词的个数占该文本词总个数的比例,逆文档频率就是整个数据集中的文本总数与包含该词的文本数的比值的对数。根据某个词在某些文本中多次出现而在其他文本中几乎不出现的情况下利用这个信息区分文本类别,但向量维度随着词表的增加而扩大,造成向量高度稀疏,且无法处理一词多义和一义多词的问题。Brusselaers[4]为了减少分类的计算时间和复杂性,提出一种降维方法。即在第一阶段,文本中的每个术语根据它们对分类的重要性使用IG方法按降序排列。因此,重要度高的术语被分配到第一等级,重要性较低的术语被分配到以下等级。在第二阶段,将选择用于特征选择的PCA方法和选择用于特征提取的GA方法分别应用于最重要的术语,按照IG方法,进行降维。这样,在文本分类过程中,忽略重要性较低的术语,对重要性最高的术语应用特征选择和特征提取方法,这样可以降低类别的计算时间和复杂度。但需要消耗更多的运行内存。Brysbaert[5]等人通过对语料库的大小、语料库所基于的语言寄存器,以及频率度量的定义的研究,发现英语中引理频率并不优于词形频率,语境多样性的测量优于基于原始出现频率的测量。提出组合一个新的频率规范,可以更好地预测文字处理时间。但会影响文档表示的稀疏性。针对恶意软件检测,蒋晨[6]等人提出基于图像纹理和卷积神经网络的方法检测恶意文件,在Android平台检测的成功率为79.6%,在Windows平台下检测成功率为97.6%。但该方法所需要的内存开销大。赵敏[7]等人提出一种基于LSTM-SVM的Android恶意软件检测方法,检测准确率可达98%。但采用的数据集中恶意软件较少。

综上所述,现有的检测方法一方面要面临海量数据,内存消耗大、速度慢且成本高,另一方面是主要针对恶意软件攻击进行检测,对文本内容检测、图片内容检测相对较少,而且对三者进行综合性的检测也缺少研究。为了解决这些问题,提出一种检测方法实现对文本内容、图片内容和恶意文件的综合性检测,扩大检测范围,提高检测效率,给用户提供更安全便捷的服务。

2  检测方法

检测主要有三大部分,第一部分為文本内容检测;第二部分为图像内容检测;第三部分为恶意文件检测。通过朴素贝叶斯算法和AC(Aho-Corasick)自动机算法检测文本内容、利用scikit-learn机器学习库检测图像内容、通过调用VirusTotal的API检测恶意软件,采用多模块开发不仅可以对用户上传的文本、图片、压缩包等进行检查,而且可以对上亿的数据进行实时监听。图1为检测系统的功能流程图。

2.1  文本内容的检测方法

采用AC自动机[8]算法与朴素贝叶斯算法进行文本内容检测。

2.1.1  AC自动机算法原理

AC自动机算法是将多模式串构建成一个确定有穷自动机,当将文本输出有穷自动机时,状态机进行状态转换,当达到特定状态时,则认为完成检测。AC自动机创建包含三个步骤:创建Trie树、构造失配指针和模式匹配。

构建Trie树的过程为:初始状态默认为只有一个根节点,然后将文本内容转换为模式串插入到Trie树。如给定一个模式集合T = {she,said,he}对应的Trie树如图2所示,黑色圆圈表示某个字符串结束。

构造失配指针是避免出现匹配失败后状态机不能进行状态转换。如图3所示,当某一字符串查询失败时,若能找到一个与当前正在匹配的字符串具有最长公共前后缀的另一字符串,那么失配指针就指向这个公共前后缀的最后一字符所指向的节点,否则指向根节点。

模式匹配是指从根节点开始沿着树的一条路径开始匹配到结束。如果当前字符匹配,则继续向下一个节点进行匹配;如果不匹配,则回到失败节点转向其他分支继续匹配。如图4所示,匹配到的字符串为she。

2.1.2  朴素贝叶斯算法原理

将AC自动机算法匹配的关键词利用朴素贝叶斯算法进行二次查询并分类,判断是否为恶意文本。

设每个类别对应的特征集合A = {a1,a2,a3,…,an},类别集合B = {b1,b2,b3,…,bn},计算某个特征ai为文本类别bi的概率Q(bi | ai),贝叶斯公式为:

朴素贝叶斯通过假设各个特征之间是独立的,计算某个特征ai为文本类别bi的概率Q(bi | ai):

将得到的结果进行比较,取最大的概率值作为预测结果,得到文本ai所属类别bi。当数据不断增加,则可在现有估值的基础上,仅对新增样本的属性值所涉及的概率估值进行计数修正即可实现增量学习。

基于AC自动机和朴素贝叶斯的恶意内容识别方法流程图如图5所示。

2.1.3  检测内容及步骤

对文章内容进行多个维度的审核,对网站用户的评论信息进行检测,审核出涉及色情、暴恐、恶意推广等内容,保证良好的用户体验,对用户的注册信息进行筛查,避免黑色产业通过用户名实现违规信息的推广,提供对敏感事件、违规词语及监管要求封禁词语的识别审核能力。

基于此本文将AC自动机与朴素贝叶斯相结合,利用AC自动机算法匹配文本内容中的关键字,然后利用朴素贝叶斯对进行分类,得到关键词是否属于恶意文本类别。其检测效果有效地降低识别误报率。

2.2  图像内容检测

sklearn-learn机器学习库中的方法对数据预处理,在进行图片内容识别中,主要利用CNN的方法进行图像识别。图片内容检测主要检测图片中的文本内容、人物特征等。预处理过程首先要对每张图像大小进行统一的裁剪,通过对海量违规数据图像进行信息提取和标记,处理好的数据集输入到CNN中进行训练。即先把图片分成N×N的像素,对每个像素点提取特征,用于识别图像中的边或棱,当进入隐藏层后得到目标图像,最后根据分类结果判断图像是正常图像还是非法图像。

2.3  针对恶意文件检测

2.3.1  VirusTotal

恶意软件是指蓄意破坏系统或窃取数据的软件。网络犯罪分子通常使用邮件攻击、节点攻击等手段发送恶意软件。针对恶意文件的检测,通过调用VirusTotal的api进行文件检测。VirusTotal是一个可疑文件分析网站,通过使用多种反病毒引擎对用户所上传的文件进行检测、分析,判断是否被恶意感染。增强检测出病毒的概率同时减少正常文件被误杀的赶驴。当前使用的反病毒引擎多达80种,可以最大化地降低检测错误率。

2.3.2  检测的恶意文件类型

恶意软件的常见形式包括:病毒、特洛伊木马程序、勒索软件、僵尸网络等以及任何其他类型的潜在有害应用程序。软件能够检测文件类型有apk、exe、bat、js、elf、pdf、html等,压缩包(rar、zip、7z等),Office文档(doc、xls、ppt等),并会生成详细报告。

3  实验分析

3.1  实验数据

如表1所示,实验主要分文本内容、图片、文件三类进行检测,因此需要三种不同的数据进行模型训练。

3.1.1  文本内容检测的数据

通过提取网络上主流网站的一些内容,如知乎、微博等网站的评论与Drebin恶意文本数据集结合,构建文本内容数据集,将提取的文本内容分为两种类型。分别为正常和恶意内容,其中恶意内容包括文本色情、恶意推广、低俗辱骂、违禁违规语言等信息。

通过对文本的内容进行检测,当检测到恶意内容时,对所检测的文本内容按不同类型进行分类,形成日志并输出,以提示用户不可下载并运行,否则会带来各种损失;当为正常文本时,提示为正常文本。

3.1.2  图像内容检测的数据

通过提取网络上主流网站的一些图像内容结合copy-move数据集组成最终的数据集,將提取的图片内容分为两种类型。分别为正常和恶意图像内容,其中恶意图像包括色情图像、违规广告等信息。

通过对图片进行审核,判断图片中是否包含恶意内容,然后按照类型进行分类并输出提示用户谨慎下载。并将其标记为恶意图像。

3.1.3  恶意文件检测数据

直接使用EICAR标准的病毒测试文件作为数据集,如果为恶意文件则提示用户不可下载使用,如果为正常文件则可以使用。

3.2  实验结果分析

针对文本内容检测、图像内容检测与恶意文件检测,其中对文本内容进行检测。根据不同的检测方法,对检测的内容进行分类并输出,如表2所示。实验检测的结果表明AC-朴素贝叶斯优于逻辑回归算法的检测结果,检测的准确率提高了3.4%。利用scikit-learn学习库对恶意图片进行检测,检测结果优于传统检测方法,对恶意文件检测的结果优于主成分分析法。

4  结  论

实验通过对用户提交的文本、图像和文件内容进行自动化检测识别,并返回检测结果。提供便捷检测云服务API供用户使用。利用AC自动机算法和朴素贝叶斯算法,实现了对各式各样常见的恶意、色情文本内容的监控、利用scikit-learn机器学习库实现对图片内容检测、利用VirusTotal的API实现对文件内容的检测。从实验结果来看,采取的方法均获得较优的检测效果,优于其他对照实验。

参考文献:

[1] 张康宏,艾林,张芳涛,等.云服务平台的运维服务模式构建 [J].数字通信世界,2022(9):38-40.

[2] 孙淑华,马恒太,张楠,等.后门植入、隐藏与检测技术研究 [J].计算机应用研究,2004(7):78-81.

[3] PAIK J H. A novel TF-IDF weighting scheme for effective ranking [C]//SIGIR '13:Proceedings of the 36th international ACM SIGIR conference on Research and development in information retrieval.Dublin:Association for Computing Machinery,2013:343-352.

[4] BRUSSELAERS N,AGBENORKU P,HOYTE-WILLIAMS P E. Assessment of mortality prediction models in a Ghanaian burn population [J]Burns,2013,39(5):997-1003.

[5] BRYSBAERT M,WARRINER A B,KUPERMAN V. Concreteness ratings for 40 thousand generally known English word lemmas [J].Behavior Research Methods,2014,46:904-911.

[6] 蒋晨,胡玉鹏,司凯,等.基于图像纹理和卷积神经网络的恶意文件检测方法 [J].计算机应用,2018,38(10):2929-2933.

[7] 赵敏,张雪芹,朱唯一,等.基于LSTM-SVM模型的恶意软件检测方法 [J].华东理工大学学报:自然科学版,2022,48(5):677-684.

[8] 顾君忠.大数据与大数据分析 [J].软件产业与工程,2013(4):17-21+52.

作者简介:魏先燕(1996—),女,汉族,湖北襄阳人,硕士研究生在读,研究方向:语音安全、数据分析;卢加奇(1997—),

男,汉族,江苏徐州人,硕士研究生在读,研究方向:网络安全、APT攻击;冯燕茹(1985—),女,汉族,山西长治人,副教授,博士研究生,研究方向:语音安全、网络工程;吕广旭(1998—),男,汉族,山东德州人,硕士研究生在读,研究方向:网络安全、数据挖掘;通讯作者:王小英(1979—),女,汉族,陕西咸阳人,教授,硕士,研究方向:无线通信、WSN技术、网络安全。

收稿日期:2023-01-07

基金项目:防灾科技学院教育研究与教学改革项目(JY2022B31)