有研究对商业杀毒软件进行了调查。大约17%的反病毒软件不能识别出恶意样本的存在。为了克服商业杀毒软件的局限性,这个项目创建了一种能够在恶意软件应用程序被用户执行之前就识别其作案方式的反病毒软件。在提出的方法中,从可执行文件中提取的特征是人工神经网络的输入属性。神经网络分类的意思是将32位架构的可执行文件分为两类:良性软件和恶意软件。为了验证所提出的方法,共使用了6272个可执行文件。所提出的杀毒软件在区分良性和恶意软件方面达到了98.32%的平均性能,而且平均响应时间只有0.07秒。商用杀毒软件的局限性可以配合机器学习的人工智能技术。代替经验和启发式模型,所提出的工作以统计学的方式呈现。该研究以“Artificial intelligence-based antivirus in order to detect malware preventively”为题于2020年10月30日发布于《Progress in Artificial Intelligence》杂志上。
研究背景与实验开展
“Malware”是“恶意”和“软件”两个词的组合。恶意软件的主要目的是未经外部设备所有者的明确许可而访问外部设备。每年都有数以百万计的恶意软件按产量增长的顺序被制造出来。仅在2016年,就创造了7,100,000(710万)多个恶意软件,比前一年增加了47.3%。随着互联网的传播,这些数字在几年内继续快速增长,因为互联网是传播恶意应用的一个大中心。
由于受到恶意软件的感染,个人或机构可能遭受无法弥补的损失。当涉及到一个人时,他的银行密码、社交网络、照片或亲密视频可以在整个互联网上共享,这将影响到他的财务、尊严和心理健康。反过来,一家机构的重要数据可能无法获取甚至其各自客户和雇员的信息被盗。
防病毒是目前流行的信息安全机制。它们主要存在于计算机上,并与打击恶意应用程序有关。从技术上讲,病毒只是蠕虫、特洛伊木马、间谍软件、Rootkit和Ransomware等其他恶意软件中的一种。反病毒一词通常用于定义旨在预防、检测和消除恶意软件及其故障的计算工具。然而,通过反病毒所承诺的保护并不总是能够实现的。造成这一失败的原因之一是反病毒制造商对新的虚拟瘟疫目录的延迟。然后,如果恶意软件是快速获得的,可能是从已经感染的用户的谴责中获得的,那么就有可能保护尚未被感染的其他客户端。
这一策略的主要问题是,商业杀毒软件所采用的策略是,要检测到一种新的虚拟瘟疫,就需要一些机器已经被感染了。值得一提的是,仅仅检测和消除恶意可执行文件并不足以使受害者免于其行为。除了消除恶意软件之外,还必须撤销其所有故障,例如禁用受害者的防御机制,包括防火墙、安全插件和反病毒本身。然后,等待受害者被感染的策略,并在顺序中报告他的设备的异常行为,以便可以采取措施来检测新的恶意软件是不合适的。
从技术上讲,商业反病毒的操作方式主要是识别其数据集中的可执行恶意代码,并被指定为黑名单。换句话说,可执行的嫌疑犯与以前的告发黑名单相比较。此外,一些商业杀毒软件在小块中共享这个可疑的可执行文件。因此,如果反病毒数据库中存在一个或多个可疑可执行文件块,则将其归类为恶意软件。应该指出的是,可疑应用程序块与反病毒数据库之间的比较可能变得不切实际,因为每年会产生数百万次恶意软件。然后,在所有数百万恶意示例中调查可疑可执行文件的部分可能是一个不可行的计算问题,因为此任务可能会持续数月或数年。
考虑到商业杀毒软件的局限性,在普通用户和业务范围内,反复出现的疑问是,确定哪一种防病毒提供了更大的防范网络入侵的保护。然后,检查某一反病毒质量的指标之一是发现在其各自的黑名单上检测到的恶意软件的数量。因此,确定虚拟瘟疫目录在打击恶意应用程序时起着重要作用。黑名单越大,反病毒防御就越好。
恶意软件的检测范围从0到99.11%不等,取决于杀毒软件。平均检出虚拟瘟疫54.84%。从不利的方面看,抗病毒的平均假阴性率为14.34%,漏报率为30.82%。此外,大约17%的反病毒软件无法诊断任何恶意样本。
为了克服商业杀毒的局限性,最先进的技术建议在执行之前,以预防性的方式从文件中提取特征。可执行文件被提交到反汇编过程中。然后,可以研究可执行文件,因此有可能调查文件的恶意意图。
在提取了可疑的可执行文件的特征后,除了静态学习机器之外,最先进的技术通常采用启发式和概率模型,将可执行程序分为两类:良性的和恶意的。基于机器学习的人工智能技术可以提供商业杀毒技术的局限性。人工智能可以实现许多任务的自动化:分析数千个文件,从它们中提取特征并对其进行分类。
为了克服商业杀毒技术的局限性和不精确性,本课题将神经网络作为一种基于统计学习机器的人工智能技术。然后,在对普通用户的可行响应时间内,将先前分类的行为识别为可疑行为。因此,没有必要像商业杀毒一样,等待数月或数年才将可疑的可执行文件与整个数据库进行比较。
对于建议的实验,可执行程序分为两类:良性软件和恶意软件。神经网络为多层多层感知器(MLP)。探讨了基于反向传播的神经网络学习函数的不同结构和不同参数。从可执行文件中提取的特征是人工神经网络的输入属性,以使所提出的防毒软件能够在用户执行之前识别恶意活动。在区分良性和恶意软件可执行文件时,平均性能达到98.32%,平均响应时间仅为0.07秒。与最先进的杀毒软件相比,研究者的杀毒软件在统计上更优越,更有效。
应该指出的是,良性文件也使用混淆,目的是保护它们的算法不受第三方的影响,因为计算算法是开发公司的主要智力资本。PE文件可能需要他们的生产者的技术知识和创造力,以及长期成熟的模拟、实验、技术科学研究。在综合上,混淆也是一种战略,对严肃的公司,以保护他们的智力工作。因此,混淆的文件不一定是恶意软件,不应立即受到强大的网络安全机制的谴责,而不应证明其恶意意图。
只通知可执行文件的获取源,但没有说明在实验中使用了哪些可执行文件。该拟议文件建立了REWEMA数据库,其目的是使拟议的方法完全有可能由第三方在今后的工作中复制。因此,拟议的条款通过免费提供其数据库,使研究工作具有透明度和公正性,并证明所取得成果的准确性。
此外,没有平衡数据库的方法问题。然后,不平衡的数据库可以提供多数类取得更大成功的趋势,而在少数类中则提供了较高的错误率。通过使用不平衡的数据库,只要分类器相对于大多数类具有倾向性,分类器的成功率就会受到青睐。在建立REWEMA数据库的过程中,该研究提出了一个包含3136个样本的良性和恶性类数量平衡的数据库。其目的是,有倾向性的分类者,就某一阶层而言,他们的成功税不受优惠。
请不要报告是否已采取方法上的注意,将相关数量的良性和恶意软件样本分别保存在单独的样本中进行培训和测试。然后,假设保留了一个用于测试的样本很少或没有恶意软件类的实例,那么对良性类有倾向性的分类就会得到成功税的青睐。然而,在数字法医学实践中,恶意软件的错误宣告无罪可能导致不可逆转的损害。因此,该研究提出了在训练和测试样本中随机选择良性和恶意软件样本的方法。
最先进的工具是IDA Pro,Ollydbg和WinDbg。从汇编代码中提取指令库及其应用程序接口(API),用于可执行程序。然后,将可执行文件的特征作为人工神经网络的输入属性,将文件分成两类:良性类和恶意类。WEKA是按技术水平在分类阶段使用的工具。
VirusTotalAPI图
人工神经网络的良好泛化能力可能取决于配置参数的选择。没有满足所有类型应用程序的参数集。此外,在选择神经网络的结构参数方面也没有通用的方法。最佳组合取决于所使用的数据集。识别良好参数的一种方法是训练不同的神经网络配置组合。因此,该研究探讨了基于反向传播的神经网络学习函数的不同结构和不同的参数。目标是获得比默认设置更高的命中率。不要研究神经网络的不同参数,作者只使用分类阶段使用的Weka工具提供的标准配置。研究结果表明,现有的分类器不能保证所使用的分类器的精度是最高的。
针对32位良性和恶意软件可执行文件的分类问题,提出了一个数据库.该数据库称为REWEMA(用于恶意软件分析的32位Windows体系结构可执行文件检索)。有3136个恶意可执行文件和3136个其他良性可执行文件。因此,REWEMA库适用于人工智能学习,因为这两类可执行文件的数量是相同的。
对于恶意可执行文件,REWEMA是几个恶意软件数据库的连接点。虚拟瘟疫是从热情的研究小组提供的数据库中提取出来的,包含在REWEMA中的恶意软件广泛应用于各种恶意活动中。在REWEMA中,有木马、蠕虫、构造器、漏洞、HackTool、恶作剧、rootkit、病毒和间谍软件。此外,REWEMA还包括网络瞄准Flooder、CC(命令和控制服务器)、DoS(拒绝服务)、IRC(Internet Relay Chat)、CF(Click Fraud)和垃圾邮件。
至于良性的可执行文件,收购来自良性的应用程序存储库,如SourceForge, GitHub还有Sysinals。应该指出的是,所有良性的可执行文件都提交给VirusTotal所有这些都是良性的,得到了世界上主要的商业杀毒剂的证实。VirusTotal提供的与良性和恶意软件可执行文件相对应的诊断信息可在REWEMA数据库的虚拟地址中获得。建立REWEMA数据库的目的是使第三方完全有可能在今后的工作中复制拟议的方法。因此,REWEMA免费提供其所有良性和恶意软件示例
给出了方框图中提出的方法图。最初,它们是可执行文件集的提取特性。然后,分类器使用从可执行文件中提取的特征作为输入属性,这些特征被分为良性和恶意两类。使用的分类器是基于反向传播的神经网络。
图为拟议方法图表
通过对研究者的防病毒功能的描述,可以确定恶意软件在大多数情况下使用操作系统的本地合法服务,但是,以一种扭曲的方式。例如,未经受害者同意,恶意软件使用受害者的网络摄像头。研究者的结论是,谴责一个应用程序是错误的,因为它使用了某个进程(例如,网络摄像头)。在综合中,因为一个单一的特性而谴责一个应用程序是不正确的,因为这样的特性也可以被良性的应用程序使用。然后,恶意软件识别应该通过信息的交叉进行,从而对所有被审计的行为进行加权。研究者提出的防毒措施,在统计上衡量了通过使用数据科学、人工神经网络和人工智能进行审计的特征。
该研究采用人工神经网络作为分类器。采用基于反向传播的网络。为了选择神经网络结构的最佳配置,使用了不同的学习函数和需要较大计算量的初始配置,例如将隐藏层中的神经元数量增加一倍。该神经网络体系结构具有一个输入层,该输入层包含相对于可执行文件的特征提取向量的多个神经元。然后,所使用的分类器必须有一个包含630个神经元的输入层。它们与来自可执行文件的特性有关。输出层有两个神经元,对应于良性和恶意软件类。下一小节将讨论基于反向传播的网络的隐藏层。
对于数据库,使用REWEMA数据库作为基准,对神经网络进行评估。REWEMA显示了3136个恶意可执行文件,大约32位Windows体系结构。REWEMA还提供了另外3136个良性可执行文件,与恶意软件样本一起用于人工神经网络的学习。然后,利用基于反向传播的神经网络作为分类器,将可执行文件分为良性和恶意两类。
图为a为训练精度的示意图、b为测试精度的示意图
研究者的防毒效果是扩展的。在网络结构方面,增加隐层数或增加神经元数目并不意味着系统性能更好。在一些情况下,隐藏层中神经元数量的增加会导致测试性能下降,同时由于计算量增加,训练时间也会延长。然后,探索不同类型的神经网络结构是一个有益的决定,因为没有一个独立于学习函数变化的最优结构。
基于反向传播的神经网络一般具有较高的标准差。这表明反向传播网络随学习时间的变化而急剧变化,这取决于初始权值的集合。可以观察到,随着隐层神经元数目的增加,训练时间也随着神经网络计算量的增加而增加。
研究结束语
每年都有数以百万计的恶意软件被制造出来。因此,反病毒必须提供强健、大规模、实时的服务,目的是收集恶意样本,以保护客户。如果恶意软件目录中有任何延迟,则可能存在与机密客户数据的机密性有关的漏洞。 结果表明,选择合适的杀毒剂对防范网络入侵起着重要的作用,因为恶意软件的检测范围为0~99.11%,这取决于所调查的商业杀毒软件。该研究对商用抗病毒技术进行了研究。平均而言,他们能够检测到54.82%的被评估的恶意软件。从不利的方面看,抗病毒的平均假阴性率为14.34%,漏报率为30.82%。 建议的文件使用VirusTotal作为一个平台,自动将恶意软件提交给商业杀毒软件。在VirusTotal中,不可能选择免费版本的防病毒。然后,作为拟议研究的一个限制,无法确定同一防病毒软件的付费版本和免费版本所提供的服务之间的差异。人们认为免费版本提供的服务明显低于付费版本。
大约17%的抗病毒评估无法诊断任何恶意样本。请注意商业杀毒软件对大规模服务的健壮性的限制。应当指出,属于REWEMA数据库的恶意软件属于公共领域,广泛用于恶意活动,其行为在论坛、博客和其他在线内容中广泛传播。即便如此,17%的商业杀毒软件并不承认它们的存在。 然后,人工智能成为商业杀毒厂商的一种很好的选择。人工智能在其学习阶段能够分析数千个文件并从中提取特征。然后,在学习之后,如果对一个尚未编目的新文件进行调查,则可以通过将其特性与在学习过程中捕获的特征进行比较,将其正确归类为恶意软件。 利用人工智能, 反病毒 可以自动分析数以千计的可疑文件特征,大规模和实时。然后,就不再需要等待某个客户端被感染,然后报告其设备的异常行为,然后采取普罗维登斯来检测新的恶意软件。人工智能可以在客户执行之前对恶意软件进行预防性检测。
在此基础上,该研究提出了一种针对32位体系结构可执行文件在恶意和良性之间进行分类的防病毒方法。为了从二进制文件中提取特征,特征的提取要经过分解的过程。在分类方面,研究者探讨了基于反向传播的神经网络学习函数的不同参数。因此,精度会因所使用的参数而发生突然变化。值得强调的是,所有被调查的学习功能都能够在不同的领域获得很好的精度。在综合中,学习函数可以在给定的应用中获得满意的结果。这并不意味着同样的学习功能在应用到另一个应用程序时是成功的。因此,研究学习函数的不同参数是一个重要的决策,因为对于任何问题都没有普遍的最优配置。 对于所使用的神经网络,Fletcher-Reeves学习函数的共轭梯度精度最高,平均准确率为98.32%,平均响应时间仅为0.07s,该方法具有两个隐层结构,每个隐层有100个神经元。平均精度最低的分类器为49.89%,参考学习函数Rport(弹性反向传播)。这种最坏的情况发生在rport由两个层组成的体系结构中,其中隐藏着100个神经元。研究者的结论是,最好的方法几乎比最坏的情况高出100%.然后,选择适当的学习功能,由调整后的体系结构组成,这对于最大限度地提高恶意软件识别的准确性至关重要。此外,与最先进的杀毒软件相比,研究者的杀毒软件在统计上更优越、更有效。 经PRAI认证后,有望获得全球反病毒厂商监管机构AMTSO(反恶意软件测试标准组织)的认证。此证书对于在VirusTotal平台中包含反病毒是强制性的。人工神经网络在信息安全中的应用可以扩展到Windows以外的其他操作系统的可执行文件中。其目的是将该方法扩展到Android系统的可执行文件,因为智能手机和移动平板电脑正逐渐成为日常生活中不可或缺的部分。Android作为一种相对较新的操作系统,允许无数的恶意软件隐藏在大量的合法应用中,严重威胁着系统的安全,直接影响到用户。
参考文献:Sidney M. L. de Lima, Heverton K. de L. Silva, João H. da S. Luz, Hercília J. do N. Lima, Samuel L. de P. Silva, Anna B. A. de Andrade & Alisson M. da Silva Artificial intelligence-based antivirus in order to detect malware preventively Progress in Artificial Intelligence (2020)