神经网络在计算机视觉任务中的成熟能力引发了过去十年对深度学习日益增长的兴趣。如果你用足够多的猫狗标记照片训练神经网络,它将能够在每个类别中找到重复出现的模式,并以相当的准确度对看不见的图像进行分类。
你还能用图像分类器做什么?
2019年,一群网络安全研究人员想知道是否可以将安全威胁检测视为图像分类问题。事实证明,他们的直觉是正确的,他们能够创建一个机器学习模型,该模型可以根据从应用程序文件的内容创建的图像来检测恶意软件。一年后,同样的技术被用于开发检测网络钓鱼网站的机器学习系统。
二元可视化和机器学习的结合是一种强大的技术,可以为旧问题提供新的解决方案。它在网络安全方面显示出前景,但它也可以应用于其他领域。
用深度学习检测恶意软件
检测恶意软件的传统方法是在文件中搜索恶意负载的已知签名。恶意软件检测器维护一个包含操作码序列或代码片段的病毒定义数据库,并搜索新文件中是否存在这些签名。不幸的是,恶意软件开发人员可以使用不同的技术轻松规避此类检测方法,例如混淆他们的代码或使用多态技术在运行时改变他们的代码。
动态分析工具尝试在运行时检测恶意行为,但速度较慢,并且需要设置沙箱环境来测试可疑程序。
近年来,研究人员还尝试了一系列机器学习技术来检测恶意软件。这些 ML 模型在恶意软件检测的一些挑战上取得了进展,包括代码混淆。但它们带来了新的挑战,包括需要学习太多的特征和分析目标样本的虚拟环境。
二进制可视化可以通过将恶意软件检测转化为计算机视觉问题来重新定义恶意软件检测。在这种方法中,文件通过将二进制和 ASCII 值转换为颜色代码的算法运行。
在2019 年发表的一篇论文中,普利茅斯大学和伯罗奔尼撒大学的研究人员表明,当使用这种方法可视化良性和恶意文件时,会出现将恶意文件和安全文件分开的新模式。使用经典的恶意软件检测方法不会注意到这些差异。
当二进制文件的内容可视化时,就会出现将恶意软件与安全文件分开的模式。
根据该论文,“恶意文件往往包含各种类别的 ASCII 字符,呈现出丰富多彩的图像,而良性文件则具有更清晰的图片和值分布。”
当您拥有此类可检测模式时,您可以训练人工神经网络来区分恶意文件和安全文件。研究人员创建了一个包含良性和恶意文件的可视化二进制文件数据集。该数据集包含各种恶意负载(病毒、蠕虫、木马、rootkit
等)和文件类型(.exe、.doc、.pdf、.txt 等)。
然后研究人员使用这些图像来训练分类器神经网络。他们使用的架构是自组织增量神经网络(SOINN),速度快,尤其擅长处理噪声数据。他们还使用图像预处理技术将二值图像缩小为 1,024 维特征向量,这使得在输入数据中学习模式变得更加容易且计算效率更高。
从二进制可视化中检测恶意软件的深度学习系统架构。
由此产生的神经网络足够高效,可以在配备英特尔酷睿 i5 处理器的个人工作站上在 15 秒内计算一个包含 4,000 个样本的训练数据集。
研究人员的实验表明,深度学习模型特别擅长检测 .doc 和 .pdf 文件中的恶意软件,这些文件是勒索软件攻击的首选媒介。研究人员建议,如果调整模型以将文件类型作为其学习维度之一,则可以提高模型的性能。总体而言,该算法实现了约 74% 的平均检测率。
用深度学习检测钓鱼网站
网络钓鱼攻击正成为组织和个人面临的日益严重的问题。许多网络钓鱼攻击诱使受害者点击指向恶意网站的链接,该网站伪装成合法服务,最终他们会在其中输入敏感信息,例如凭据或财务信息。
检测网络钓鱼网站的传统方法围绕将恶意域列入黑名单或将安全域列入白名单。前一种方法会错过新的网络钓鱼网站,直到有人成为受害者,而后一种方法限制性太强,需要付出大量努力才能提供对所有安全域的访问。
其他检测方法依赖于启发式。这些方法比黑名单更准确,但仍不能提供最佳检测。
2020 年,普利茅斯大学和朴茨茅斯大学的一组研究人员使用二进制可视化和深度学习开发了一种检测网络钓鱼网站的新方法。
该技术使用二进制可视化库将网站标记和源代码转换为颜色值。
与良性和恶意应用程序文件的情况一样,在可视化网站时,会出现区分安全网站和恶意网站的独特模式。研究人员写道:“合法站点具有更详细的 RGB
值,因为它将由来自许可证、超链接和详细数据输入表单的附加字符构成。而网络钓鱼对应物通常包含单个或不包含 CSS
引用、多个图像而不是表单和一个没有安全脚本的登录表单。这将在抓取时创建一个较小的数据输入字符串。”
下面的示例显示了合法 PayPal 登录代码与虚假网络钓鱼 PayPal 网站相比的可视化表示。
研究人员创建了一个代表合法和恶意网站代码的图像数据集,并用它来训练分类机器学习模型。
他们使用的架构是 MobileNet,这是一种轻量级卷积神经网络(CNN),经过优化可在用户设备上运行,而不是在大容量云服务器上运行。CNN 特别适用于计算机视觉任务,包括图像分类和对象检测。
一旦模型经过训练,它就会被插入到网络钓鱼检测工具中。当用户偶然发现一个新网站时,它首先检查该 URL
是否包含在其恶意域数据库中。如果是新域,则通过可视化算法进行变换,并通过神经网络运行,检查是否有恶意网站的模式。这种两步架构确保系统使用黑名单数据库的速度和基于神经网络的网络钓鱼检测技术的智能检测。
研究人员的实验表明,该技术可以以 94%
的准确率检测网络钓鱼网站。“使用视觉表示技术可以深入了解合法网页和网络钓鱼网页之间的结构差异。从最初的实验结果来看,该方法似乎很有前途,并且能够以高精度快速检测网络钓鱼攻击者。此外,该方法从错误分类中学习并提高了效率,”研究人员写道。
通过二进制可视化检测钓鱼网站的深度学习系统架构
Shiaeles 还在探索使用二进制可视化和机器学习来检测物联网网络中的恶意软件流量。
随着机器学习不断取得进展,它将为科学家提供应对网络安全挑战的新工具。二元可视化表明,只要有足够的创造力和严谨性,就可以为旧问题找到新的解决方案。