近日,Google LLC 发布消息指出,公司通过人工智能技术发现了一个此前未知的安全漏洞,这一成果可能标志着AI开始在安全漏洞检测领域发挥重要作用。该漏洞存在于SQLite数据库软件中,是一个可能导致内存越界的缓冲区溢出问题。
此次发现得益于名为“Big Sleep”的大型语言模型,这是Google Project Zero与DeepMind合作的成果。“Big Sleep”运用了高级变种分析技术,即利用已知漏洞的信息来识别相似的潜在可利用缺陷。这种方法比传统的模糊测试更为高效,后者是通过自动生成并测试大量随机或半随机输入来查找程序中的错误或漏洞。
具体而言,“Big Sleep”首先检查代码库中的特定变更,如提交信息和差异,以确定可能存在问题的区域。然后,模型利用其预训练的代码模式和历史漏洞知识对这些部分进行分析,从而能够发现传统测试工具可能遗漏的细微缺陷。
在分析过程中,“Big Sleep”找到了SQLite中“seriesBestIndex”函数的一个问题,该函数未能正确处理涉及负索引的边界情况,这可能导致写操作超出预定的内存范围,形成潜在的攻击点。“Big Sleep”通过模拟实际使用场景,并仔细观察不同输入如何与易受攻击的代码交互,从而识别出了这个漏洞。
除了识别漏洞外,“Big Sleep”还进行了根本原因分析,不仅揭示了漏洞所在,还深入理解了导致这些问题的根本原因。据称,这种能力有助于开发人员解决核心问题,减少未来出现类似漏洞的可能性。
值得注意的是,在官方版本发布前,该漏洞已被发现,这证明了AI在预防性防御方面的潜力。“Big Sleep”团队在一个博客文章中提到,希望未来这项工作能够为防御方带来显著的优势,不仅能够找到导致崩溃的测试案例,还能提供高质量的根本原因分析,使得问题的分类和修复变得更加经济有效。