Connect with us

网络安全

提升代码安全性:使用大型语言模型进行主动漏洞检测的利弊

mm

在网络安全的动态环境中,威胁不断演变,预防代码中的潜在漏洞至关重要。一个有前途的方法是将人工智能和大型语言模型(LLMs)集成在一起。利用这些技术可以帮助早期发现和缓解以前未发现的库中的漏洞,从而加强软件应用程序的整体安全性。或者说,找到“未知的未知”。

对于开发人员来说,使用人工智能来检测和修复软件漏洞有可能通过减少查找和修复编码错误的时间来提高生产力,帮助他们实现所期望的“流畅状态”。然而,在组织将LLMs添加到其流程之前,有一些事情需要考虑。

解锁流畅状态

将LLMs添加的一个好处是可扩展性。人工智能可以自动为多个漏洞生成修复,减少漏洞的积压,并实现更流畅和加速的流程。这对于处理多个安全问题的组织尤其有帮助。漏洞的数量可能会让传统的扫描方法不堪重负,从而导致解决关键问题的延迟。LLMs使组织能够在不受资源限制的情况下全面解决漏洞。LLMs可以提供一种更系统化和自动化的方法来减少缺陷和加强软件安全性。

这导致了人工智能的第二个优势:效率。当谈到发现和修复漏洞时,时间至关重要。自动化修复软件漏洞的流程有助于最小化漏洞被利用的窗口,这种效率也为节省时间和资源做出了贡献。对于拥有大量代码库的组织来说,这尤其重要,使他们能够优化资源并更战略性地分配努力。

LLMs能够在大量安全代码数据集上进行训练,创造了第三个好处:生成修复的准确性。合适的模型利用其知识提供符合既定安全标准的解决方案,从而增强软件的整体韧性。这最小化了在修复过程中引入新漏洞的风险。但是,这些数据集也可能引入风险。

导航信任和挑战

将人工智能用于修复软件漏洞的一个最大缺点是可信度。模型可以在恶意代码上进行训练,并学习与安全威胁相关的模式和行为。当用于生成修复时,模型可能会根据其学习经验提议可能引入安全漏洞而不是解决它们的解决方案。这意味着训练数据的质量必须代表要修复的代码并且不包含恶意代码。

LLMs也可能在生成的修复中引入偏见,导致可能不涵盖所有可能性的解决方案。如果用于训练的数据集不多样化,模型可能会发展出狭隘的视角和偏好。当任务是生成软件漏洞的修复时,它可能会根据训练期间设置的模式偏爱某些解决方案而不是其他解决方案。这种偏见可能会导致一种以修复为中心的方法,这种方法可能会忽略非传统但有效的软件漏洞解决方案。

虽然LLMs在模式识别和基于学习模式生成解决方案方面表现出色,但当面临与其训练数据明显不同的独特或新颖挑战时,它们可能会失败。有时这些模型甚至可能“产生幻觉”,生成虚假信息或错误代码。生成式人工智能和LLMs也可能对提示很挑剔,这意味着输入的微小变化可能会导致代码输出的显著差异。恶意行为者也可能利用这些模型,使用提示注入或训练数据污染来创建额外的漏洞或访问敏感信息。这些问题通常需要深入的上下文理解、错综复杂的批判性思维技能和对更广泛的系统架构的认识。这凸显了人类专业知识在指导和验证输出方面的重要性,以及为什么组织应该将LLMs视为增强人类能力的工具,而不是完全取代它们。

人类元素仍然至关重要

在整个软件开发生命周期中,特别是在利用高级人工智能模型时,人类的监督至关重要。虽然生成式人工智能和LLMs可以处理繁琐的任务,但开发人员必须保持对其最终目标的清晰理解。开发人员需要能够分析复杂漏洞的细微差别,考虑更广泛的系统影响,并应用特定领域的知识来制定有效且适应性强的解决方案。这种专业的专业知识使开发人员能够根据行业标准、合规性要求和特定用户需求量身定制解决方案,这些因素可能无法被人工智能模型单独捕捉到。开发人员还需要对人工智能生成的代码进行严格的验证和验证,以确保生成的代码符合最高的安全性和可靠性标准。

将LLMs技术与安全测试相结合,为增强代码安全性提供了一个有前途的途径。然而,需要采取平衡和谨慎的方法,既要承认潜在的好处,也要承认潜在的风险。通过结合该技术的优势和人类的专业知识,开发人员可以主动识别和缓解漏洞,增强软件安全性,并最大限度地提高工程团队的生产力,使他们能够更好地找到自己的“流畅状态”。

Bruce Snell,网络安全策略师,Qwiet AI,拥有超过25年的信息安全行业经验。他的背景包括传统IT安全的管理、部署和咨询等各个方面。过去10年,Bruce转向OT/IoT网络安全(具有GICSP认证),参与的项目包括汽车渗透测试、石油和天然气管道、自动驾驶车辆数据、医疗IoT、智能城市等。Bruce还曾是网络安全和IoT会议的常客演讲者,以及宾夕法尼亚大学沃顿商学院和哈佛商学院的客座讲师,并且是获奖播客“Hackable?”的联合主持人。