海云安开发者安全智能助手解决方案
所属单位:深圳海云安网络安全技术有限公司
参与奖项:技术创新成果奖
评委评分:
热度 (转发微信朋友圈或群可以帮助增加热度)
微信扫码分享此评选

近年来,伴随着DevOps敏捷开发框架的出现,软件开发和部署过程变得更快,迭代更加频繁。在这样的背景下,安全已不再是一个独立的检查项,而是要更深度地与开发工具、与流程进行深度的融合,让安全向开发侧“左移”,将安全性嵌入到整个软件开发生命周期中。

与此同时,随着全社会对数据安全、个人隐私保护重视程度的提升,国家也颁布了一系列政策法规来加强在数据安全和隐私合规领域的监管和执法力度。在这样强监管的大背景下,安全合规已成为开发人员必须面对的的“必修课”。如何解决开发人员的痛点和诉求,帮助开发人员在在开发过程中更好的解决合规问题也已经成为了安全厂商们探索的重要方向。

随着「安全左移」的理念在安全领域受重视程度不断提升,整个行业都在围绕安全左移来思考全新的安全模型。但事实上,大多数开发安全产品还是安全人员在用,真正做到将安全左移到开发者场景中的产品少之又少。安全并未能融合到开发流程中,而是在整个项目开发完成后,提交一个代码包来做整体的安全检测,或是在业务上线后,在运行的同时开展安全检测。显然,这样也造成了漏洞响应的滞后。

此外,传统的代码安全产品,普遍也都没有帮助开发者解决好“快速定位问题代码”的问题。也就是说,传统的开发安全检测产品将整个代码包作为检测对象的模式,不能将代码与开发者相对应起来,每个开发人员必须拿到整体代码包的安全检测报告,从大量的安全问题、合规问题中找到归属于自己的那一部分,再去进行修改和优化,极大的降低了安全响应的效率。

为了帮助开发者群体解决这些现实问题,海云安开展了「开发者安全智能助手」产品研制项目工作,面向软件开发人员、编程人员提供安全赋能,将白盒安全检测、开源组件检测、应用安全合规、安全大模型等多方面安全能力嵌入到开发环境中,实现安全左移。

方案背景

近年来,伴随着DevOps敏捷开发框架的出现,软件开发和部署过程变得更快,迭代更加频繁。在这样的背景下,安全已不再是一个独立的检查项,而是要更深度地与开发工具、与流程进行深度的融合,让安全向开发侧“左移”,将安全性嵌入到整个软件开发生命周期中。

与此同时,随着全社会对数据安全、个人隐私保护重视程度的提升,国家也颁布了一系列政策法规来加强在数据安全和隐私合规领域的监管和执法力度。在这样强监管的大背景下,安全合规已成为开发人员必须面对的的“必修课”。如何解决开发人员的痛点和诉求,帮助开发人员在在开发过程中更好的解决合规问题也已经成为了安全厂商们探索的重要方向。

随着「安全左移」的理念在安全领域受重视程度不断提升,整个行业都在围绕安全左移来思考全新的安全模型。但事实上,大多数开发安全产品还是安全人员在用,真正做到将安全左移到开发者场景中的产品少之又少。安全并未能融合到开发流程中,而是在整个项目开发完成后,提交一个代码包来做整体的安全检测,或是在业务上线后,在运行的同时开展安全检测。显然,这样也造成了漏洞响应的滞后。

此外,传统的代码安全产品,普遍也都没有帮助开发者解决好“快速定位问题代码”的问题。也就是说,传统的开发安全检测产品将整个代码包作为检测对象的模式,不能将代码与开发者相对应起来,每个开发人员必须拿到整体代码包的安全检测报告,从大量的安全问题、合规问题中找到归属于自己的那一部分,再去进行修改和优化,极大的降低了安全响应的效率。

为了帮助开发者群体解决这些现实问题,海云安开展了「开发者安全智能助手」产品研制项目工作,面向软件开发人员、编程人员提供安全赋能,将白盒安全检测、开源组件检测、应用安全合规、安全大模型等多方面安全能力嵌入到开发环境中,实现安全左移。

方案目标

开发者安全智能助手产品研制项目的主要目标是为开发者提供全面的安全支持,帮助开发者降低安全合规成本。以下是该项目的主要目标:

(一)AI学习自动化误报判断,有效降低误报

传统SAST工具难以避免的存在较高的误报率,开发者安全智能助手通过大语言模型对源代码检测平台的检测结果进行自动化的误报判断,有效降低误报率。

(二)自动生成缺陷成因解释,降低理解门槛

传统的SAST产品对同类缺陷统一使用通用的缺陷描述,没有切合缺陷实际情况进行分析解释,使缺陷理解存在一定门槛;开发者安全智能助手通过大语言模型结合用户实际业务代码,生成针对性的缺陷成因解释,使用户可以更加直观地理解缺陷产生的原因,帮助用户更好地理解和解决问题。

(三)自动生成缺陷修复代码,高效修复问题

传统的SAST产品提供通用性的缺陷修复方案和修复代码示例,在用户实际修复时往往遇到修复方法使用不规范、修复示例简单笼统,与复杂的实际情况不符等情况,导致用户并不确定缺陷是否被真实修复;开发者安全智能助手通过大语言模型结合缺陷的具体情况和上下文生成可直接应用于缺陷修复的代码修复方案,能够帮助用户更快速、高效地解决问题。

(四)即测即修即验证快速闭环,降低安全成本

 开发者安全智能助手融合的SAST和SCA工具采用海云安自主的检测引擎,基于自动选择污点追踪方向(正向/反向)、并行污点追踪算法优化和类似污染源/爆发点结果合并传递等优化算法,省去大量分析时间,充分利用有限计算资源,全面提升检测、修复、验证速度提升。

方案特点

本次开发者安全智能助手产品研制项目的主要特点是通过综合利用先进的AI大模型技术、全面的代码、组件及安全合规知识库,以及友好的用户体验设计,提供给开发者一个强大而实用的工具,以帮助他们在软件开发过程中更好地管理和提高应用程序代码和组件的安全性,提升开发安全效能。

一般来说,绝大多数企业和组织的开发人员的基数要远远大于安全人员,而「开发者安全智能助手」能更好地把安全能力嵌入到开发者所熟悉的开发环境中,在开发者编写代码的过程中实时推荐更安全的编码建议,让开发者享受到更直接的安全能力加持。如果开发人员在代码编写之初便能够直接代码安全性,那么整个企业IT团队的安全效能必将得到显著提升。

从漏洞修复的成本来看,当安全被左移到开发者一侧时,单个漏洞的修复效率和成本也会得到大幅的降低。根据IBM研究人员的数据统计,在产品发布后修复安全问题的成本是在设计阶段解决成本的4到5倍,而在运维阶段修复安全问题的成本则可能达到甚至超过100倍。软件工程学家卡珀斯·琼斯也指出,80%的软件缺陷发生在编码阶段,而在后端测试修复缺陷的成本是开发阶段的40倍。因此,从漏洞检测时效、修复效率和修复成本三个角度来看,「开发者安全智能助手」都将会带来一次全新的变革。

从代码来源来看,代码可以大致分为两类,其一是纯自研的原创代码,其二是引用开源或者商用的第三方组件。过去行业中将关注的重心主要放在软件供应链安全这一侧,在开发环境下对软件成分分析做出了比较多的探索。在海云安看来,做好软件成分分析固然重要,但也还远远不够。

一方面,开发人员自己编写的业务逻辑代码同样存在安全问题,需要更好地识别和消除;另一方面,即便是调用第三方组件,也需要开发者自己编写调用接口的代码,这部分由调用编码函数引发的安全问题同样需要予以关注。基于这一思考,海云安决定将SCA开源组件检测能力以及更高难度的SAST白盒检测能力内置到开发环境中,实现在开发者环境下对自研部分代码和第三方开源组件的深度检测。

众所周知,在安全左移概念践行以来,作为一个天生应用于开发生命周期“左侧”的安全检测类工具,SAST白盒检测产品得到了广泛的应用。但其居高不下的误报率,一直是白盒检测类产品的技术突破难点,也在一定程度上导致了“安全左移”进程的受阻。

海云安采用了自主的检测引擎,通过一系列的技术创新对其进行了大幅度的参数的训练和优化,使得白盒检测的误报率大幅下降。然而,业内传统白盒测试的误报率基本在30%—50%左右,海云安敏捷白盒已将误报率控制在10%以内,目前已在多家客户现场的大规模应用中得到了验证。这也正是海云安将白盒测试产品嵌入开发者环境中的底气所在。

除开源组件检测和白盒检测外,海云安「开发者安全智能助手」的另一大亮点在于,该平台创新地将安全合规检测能力内置到开发环境中,帮助开发者在代码层面进行安全合规的检测,这一针对开发者需求场景的创新举措,解决了长期困扰开发者群体的合规痛点,也填补了国内市场的空白。

基于海云安在应用安全合规方面长期的积累和能力,「开发者安全智能助手」已经开发了一些功能,包括数据安全问题、个人隐私问题。拿个人隐私问题来说,当前国家在APP隐私合规层面上也出台了一系列标准和要求,包括允许收集数据的范围、时间等。如果产品已经开发完成了,再想整改就会比较费时费力,注定会影响业务上线的时效,但不整改又会违反国家法律法规。所以说我们现在希望把安全合规也左移到开发环境中,帮助大家解决好合规的问题,这也是开发者当前面临的一个真实痛点。

从合规功能的角度,很多法律法规条文可能会有些不太容易理解,海云安会将这些法律法规先自我消化一遍,把书面语言转化为技术语言,转化成更直接的安全建议,对于开发者来说,这种场景化的提示,也能够提供很好的体验。

方案业务流程图

总体架构图

系统架构图

网络架构图

实现功能展示

代码安全检测结果

组件安全检测结果

AI自动判定误报

AI生成缺陷成因解释

开发者自行标记误报

智能交互对话

AI自动生成缺陷修复代码

AI自动补全代码

方案案例及效果

当前很多行业都在实践并落地安全左移,但由于大型的央国企单位和政府单位会更多地采用外包开发的模式,更多还是在采购环节进行把控。对于外包的开发工程师、供应商提出一些具体的要求,进而去符合包括法律法规上的和技术标准上、国标上的规范。

然而,往往写代码的时间和周期都是比较长的,到验收和上线的时候已经是一个完整的整体了,如果这个时候再发现安全问题,再去根据检测结果做整改的话,一方面是系统已经成型,第二个来说就是时间上对于整个系统的开发效率上和项目验收上都有很大的压力。

因此,海云安认为,如果能够真正将安全左移到开发,左移到需求和设计阶段编码阶段,那么对于整个IT团队来说都将带来一次跨越式的提升。当前,网络安全人才缺口大已经成为社会性话题,而提升开发人员个体的安全开发能力,是提升整个IT团队信息安全水平,乃至影响到整个国家信息安全水平的重要方式,而这也是海云安打造「开发者安全智能助手」的初衷。

综合来看,海云安开发者安全智能助手结合大语言模型主要解决了白盒实际应用中的三个难题:

1、传统白盒难以避免的存在较高的误报率,开发者安全智能助手通过大语言模型对源代码检测平台的检测结果进行自动化的误报判断,有效降低误报率。

2、传统的白盒扫描产品对同类缺陷统一使用通用的缺陷描述,没有切合缺陷实际情况进行分析解释,使缺陷理解存在一定门槛;开发者安全智能助手通过大语言模型结合用户实际业务代码,生成针对性的缺陷成因解释,使用户可以更加直观地理解缺陷产生的原因,帮助用户更好地理解和解决问题。

3、传统的白盒扫描产品提供通用性的缺陷修复方案和修复代码示例,在用户实际修复时往往遇到修复方法使用不规范、修复示例简单笼统,与复杂的实际情况不符等情况,导致用户并不确定缺陷是否被真实修复;开发者安全智能助手通过大语言模型结合缺陷的具体情况和上下文生成可直接应用于缺陷修复的代码修复方案,能够帮助用户更快速、高效地解决问题。

未来,随着AI技术的进一步发展,我们有理由相信源代码检测工具将更加智能、高效,而通过推广融合AI大语言模型能力的开发者安全智能助手,持续践行安全左移的理念,能够为软件产业的发展带来更大的价值。

(一)某大型互联网银行安全负责人徐老师的评价

海云安为我行开发安全工作的合作伙伴,我们联合创新打造了集自动化检测工具敏捷白盒、安全门禁及安全度量于一体的开发安全运营平台,有效保障研发项目100%经过白盒安全检测,并通过D10开发者安全智能助手强大的AI能力,极大的减少了开发人员和安全人员处理误报和修复代码的时间,大大提升了开发及安全效率,为我行的软件开发持续安全保障作出了优秀的贡献。

(二)某证券公司开发安全负责人覃老师的评价

我们开发团队和安全团队在海云安D10开发者安全智能助手的帮助下,使得我们不仅成功降低了项目的安全风险,还提高了开发效率。D10开发者安全智能助手的易用性极大的减轻了我们对于安全漏洞及许可证合规风险的排查难度,并通过其强大的AI功能辅助我们研发人员快速修复代码,它让我们可以更加专注于核心业务的开发,为用户提供更优质的服务。

方案未来展望

海云安开发者安全智能助手是一款非常高效的产品,主要从提高代码质量、提升开发效率、降低风险隐患、知识积累沉淀、提升团队协作、培养良好习惯六个方面帮助开发人员提升发现潜在的错误、缺陷和风险的的能力和安全防护水平,具备丰富的推广价值,具体内容如下:

1)提高代码质量:通过使用开发者安全智能助手,开发人员可以及时发现代码中的问题,从而减少 bug 和缺陷,提高软件的稳定性和可靠性。这对企业而言意味着降低维护成本,提高产品和服务的质量。

2)提升开发效率:开发者安全智能助手可以帮助开发人员在编写代码的过程中避免重复犯错,提高编程效率。通过工具提供的实时反馈和建议,开发人员可以迅速调整代码,减少代码审查和重构的时间。

3)降低风险:开发者安全智能助手能够发现潜在的安全隐患,帮助开发人员遵循最佳实践,降低软件安全风险。在金融、政府、央国企、大型企业集团等重要领域,这具有重要意义。

4)知识积累与传承:通过对开发者安全智能助手的推广,可以帮助开发团队积累丰富的代码审查经验,形成一套符合项目特点的编码规范。在新成员加入团队时,可以通过学习这些经验快速提升自己的技能水平,实现知识的传承。

5)提升团队协作:通过开发者安全智能助手后台沉淀的知识库可以作为团队内部交流和学习的素材,促进团队成员之间的沟通与合作。通过分享和实践案例,团队成员可以相互学习、共同进步,提高整体团队实力。

6)培养良好的安全编码习惯:开发者安全智能助手可以向开发人员展示安全编码规范的特点和优势,引导他们养成良好的编程习惯。这对于软件行业的可持续发展具有重要意义。

通过有序的组织和实施计划,项目团队成功地推动了开发者安全智能助手软件产品的研制。该产品在提供全面安全支持、AI降低误报、AI自动化生成缺陷成因解释、AI自动生成修复代码等方面取得了显著的进展。团队将继续关注用户反馈,不断改进产品,以满足开发者不断变化的安全需求。