对抗威胁最好的办法就是在其出现之前,提前感知并做好充足防御甚至主动出击,然而要做到这点并非易事,尤其是在这个攻击方式多样、量级庞大的当下。为此,IBM近期展示了一项新技术成果,能在发现安全漏洞弄之前,就将其虚拟修补。
据负责该项目的首席研究员非迪·考普提介绍,工程师们为了寻找流行软件中的安全漏洞而不断研究解决方案,并清楚的知道不可能找到应用程序中的所有漏洞。因此这也意味着,安全人员需要不断的向系统部署安全补丁。
我们说,在这些应用程序上部署安全修补程序,是一件繁琐且耗费工时的事,需要执行识别应用程序的易受攻击版本、管理该漏洞、部署修补程序、重新启动应用程序在内的一系列步骤。
一般情况下,由于部署补丁需要花费很长的时间,因此在发现漏洞后的一段时间里,都是应用程序易被攻击的风险期,为了加速这一进程,IBM的研究员们推出了虚拟补丁这一技术。那么,什么叫做虚拟补丁?它又是如何实现的呢?
答案就是,机器学习。简单来说,就是研究员在指定的应用程序上运行各种测试工具并生成相关数据,之后再利用这些数据来训练模型。即在为这些应用程序创建数百万个样本后,确定输入的分类标签:良性、错误或恶意,最终他们训练模型来预测一个新样本究竟是良性的还是恶意的。
据了解,该模型结合了卷积神经网络(CNN)与递归神经网络(RNN),并在预测因漏洞产生的安全威胁方面,成果显著。测试评估中,研究员的模型成功的在威胁之前检测到LibXML2(用于解析XML文档的软件库)和LibTIFF(用于读写标记图像文件格式(缩写为TIFF)文件的库)漏洞,准确率分别达到了91.3%和93.7%。
如今,将机器学习技术用于安全领域只是一个开端,相信未来,这一技术能够帮助更多的开发人员,在实际暴露之前可以更高效地修补软件中的潜在漏洞。不仅如此,IBM的研究员们还将继续探索,从而发掘其修补更广泛漏洞的有效性。