随着研发模式的不断发展,基于DevSecOps理念的开发安全体系建设变得越来越重要,层出不穷的软件供应链安全事件也在不断的提醒我们开发安全的重要性。同时,随着人工智能大模型技术的快速发展,开发安全技术也面临着全新的机会和挑战。
近日,腾讯安全组织的“DevSecOps行业实践经验分享会”在上海举办。
安全领域资深专家新加坡南洋理工大学刘杨教授、vivo应用安全负责人袁俊虎、腾讯开发安全产品规划负责人刘天勇,与来自长三角地区的30多位企业应用安全负责人齐聚一堂,共同探讨了企业践行“安全左移”理念,落地DevSecOps过程中的困难、挑战和应对经验。同时,嘉宾们也围绕人工智能大模型技术崛起给企业从事应用开发安全建设带来的机遇和挑战。
AI大模型已经运用在了漏洞检测和修复中
长期深入研究AI和安全融合的刘杨博士,是新加坡南洋理工大学(NTU)计算机科学与工程学院教授,同时也是NTU网络安全实验室主任、HP-NTU实验室主任以及新加坡国家卓越卫星中心的副主任、Scantist联合创始人。
他专攻软件工程、网络安全和人工智能领域,其研究填补了软件分析中多项理论和实际应用之间的空白,研发了多款高效的软件质量和安全检测平台并成功商业化。
刘杨博士的分享主题,涉及了人工智能技术如何与 DevSecOps 流程和工具进行合作和集成,以提高安全开发和运维的效率。
早在2019年,人工智能领域就提出了一种创新的安全思路——将机器学习引入到漏洞检测领域,以期提高效率和准确性,在此阶段,相关研究实际上是把代码的当成文本来去处理。
刘杨博士及其研究团队认为,将代码视为纯文本可能会导致与其本来的语义产生差异。他们的基本思路是将代码中的结构化信息,如抽象语法树(AST)和其他复杂数据结构,转化成,然后利用这些信息来学习代码的语义。实验结果表明,在使用代码的结构化信息进行训练时,漏洞检测的效果更好。
但在实际应用过程中,由于可用于训练机器学习模型的漏洞数据量有限,刘杨博士带领科研团队不断探索更加具有可落地的解决方案,在大量的实践及创新之后,AI 赋能安全建设的落地场景逐渐显现。刘杨博士强调,Secure Dev(安全开发)、Security Analysis(安全分析)以及Secure Ops(安全运维)等场景都可以受益于使用 AI 大模型来提升安全性。未来,或许 AI 将在更多的场景中助力安全体系的建设,通过对话和交互的方式来获取代码的安全建议,从而减少对专业安全人员的依赖。
腾讯把自身DevSecOps实践深深融入产品中
“腾讯是开发安全产品的提供商,同时我们也是国内首批DevSecOps的实践者。这让我们同时具备甲乙方双重视角,更容易站在客户立场来做产品。”
简单的开场白后,腾讯开发安全产品规划负责人刘天勇跟在场嘉宾介绍起了腾讯作为一家非常重视应用开发安全的大公司,是如何向DevSecOps一步一步的演进的。
腾讯的应用开发安全建设历程,可以追溯到2006年,最初的工作是围绕漏洞响应、漏洞检测和漏洞修复展开。到了2012年,随着公司业务的不断发展,腾讯开发安全团队结合微软SDL和SAMM优点,提出了自己的企业级软件安全开发生命周期模型——TSDL。这一阶段腾讯采用了自研黑盒+外购商业化白盒的工具组合来构建检测流程,同时建立了腾讯应急响应中心(TSRC)补全了外部漏洞防御短板,相关的流程规范也在逐渐的落地。
2017年到2019年,公司的开发模式开始向DevOps转型,腾讯开始以DevSecOps理念建设开发安全。这一阶段,原有商业化采购的白盒产品由于速度慢、误报高、资源占有高,无法很好适应流水线场景。为DevSecOps场景而生的新一代开发安全产品Xcheck应运而生,Xcheck采用独家自研的技术路线,有效的解决了传统白盒在流水线场景的使用问题,在腾讯内部实现了对原有商业化产品的替换,并在 2021 年开始面向市场商业化。
21年底,log4j事件的爆发,让软件供应链安全的重要性深入人心,腾讯Xcheck也将内部强大的源码+二进制SCA能力集成到产品中,形成了集SAST+SCA+制品扫描一体化的开发安全检测平台。
如今,腾讯已完成了DevOps研发模式的转型,以Xcheck为代表的开发安全工具和内部研效平台深度集成,经受住了海量检测任务的考验。DevSecOps理念已在腾讯落地实践并形成了公司文化。
vivo 的 DevSecOps 建设关键步骤和工具
最后,腾讯Xcheck的代表客户vivo也进行了专题分享。vivo互联网应用安全负责人袁俊虎分享了 vivo 在互联网 DevSecOps 建设过程中的关键步骤和工具。
在流水线(代码)安全扫描流程中,提供源代码层面的安全风险发现与排查能力,以确保在开发阶段及时发现存在安全隐患的安全漏洞与不规范编码问题。同时,将SAST、SCA等DevSecOps安全工具链默认集成于CICD流水线,持续提供扫描和反馈项目代码增量风险的能力。
在安全测试流程方面,主要依赖 IAST 工具来覆盖常规版本的安全测试,通过将 IAST 与 CICD 流水线集成,在部署测试环境时默认开启 IAST Agent,于功能测试环节完成安全风险检测,之后形成漏洞工单完成处置闭环。
在袁俊虎看来,安全工具链是DevSecOps建设的基础,将这些工具嵌入研发体系,确保它们与平台集成,渐进的融合和持续的改进,从而实现安全流程的融合。最后安全文化是DevSecOps建设的核心,只有安全工具和安全流程具备一定的成熟度,才能更好的推动安全文化的落地,实现“人人为安全负责“,从而实现理想状态的 DevSecOps。
了解更多,欢迎浏览:https://xcheck.tencent.com/index