同程旅行是最先部署洞态 IAST 的企业之一。在未部署 IAST 前,同程旅行的漏洞检测修复速度一定程度上拖慢了应用更新迭代的进度,急需一款高效的自动化漏洞检测工具来提升安全能力。经过一系列的调研与考察,我们感叹于洞态 IAST 强大的检测能力和优越的兼容性,最终选定洞态 IAST 作为自动化漏洞检测的主力工具,整个部署调优的过程也得到了洞态团队的全力支持。以下为同程旅行的 IAST 落地实践:
随着敏捷开发和 DevOps 在同程软件开发上的应用,软件开发明显提效增速,但也给安全部门带来了较大压力。在这一背景下,同程面临着以下问题:
• SAST、DAST、人工渗透测试、人工代码审计无法跟上软件开发的速度与规模
• 针对框架结构复杂的接口,一般测试无法完全复现过程中的交互流量
在这一困境下,安全如何更好地嵌入应用开发流程?
同程给出的答案是:安全需要具备 “简单、快捷、持续” 的特性,主动去适应敏捷开发和 DevOps。
在自动化漏洞检测工具调研过程中,我们首先对 SAST、DAST 和 IAST 进行了对比。综合比较来看,IAST 明显优于 SAST 和 DAST。
针对 IAST 的专项调研,其实我们率先考虑的是采用商用型还是开源型。促使我们选择开源型 IAST 的主要原因在于开源型工具可针对自身业务场景进行二次开发,此时,洞态 IAST 已进入我们的考察视野中,并最终决定采用。
洞态 IAST 调研结果:
1.领先的技术架构
2.强大的检测能力
• API 检测全面覆盖
• 自动化漏洞验证
3.开源项目
• 活跃的开源社区,可持续贡献安全策略
• 企业可进行二次开发,效率更高,且更贴合自身业务场景
• 部署使用成本低
1.部署架构
IAST 是基于同程内部的自动化构建平台进行的部署,这种部署不同于 K8s、CI/CD 集成部署。在容器平台上,对 Web、WebAPI、Engine、OpenAPI 四部分进行分开部署。而 OpenAPI 作为 Agent 的 Server,可在流量较大时,启动自适应功能,从而使容器自动扩容。
2.Agent 安装
• 自动化部署平台:构建 dockerfile 中添加 Agent 部署的逻辑
• 非自动化部署平台:用户(测试人员)下载 Agent,根据 pid 主动安装
3.IAST 测试
• 调研公司内部环境兼容性
4.IAST 推广
当 IAST 的部署和测试的流程完毕后,安全部门的动作应是让业务接受并乐于使用 IAST,让 IAST 真正运行起来。
Ⅰ. 发挥安全的主动性,主动贴合业务流程
• 培训和文章推广:在公司内部开展周期性的安全培训和安全发文,介绍 IAST
• 根据发现的安全事件,主动推动和提供给业务线安全能力
• 与测试团队合作,推动 SDL 安全能力融入测试流程
Ⅱ. IAST 场景应用探索——产品上线前的测试流程
• 测试接入 IAST,测试结果反馈安全对接人
• 安全部门复测检出漏洞,报告反馈测试对接人
• 测试提交漏洞至 bug 平台
• bug 修复后,测试反馈安全复测,复测通过,IAST 平台漏洞闭环
测试 bug 的闭环流程,将安全加入测试中,在测试和安全部门之间建立沟通,既利于解决传统测试过程中缺失安全报告的问题,也利于使安全更合理地融入开发流程,减少安全风险。
实际使用感受:
1. 部署洞态 IAST 产生的价值:
• 检测漏洞更高效,覆盖的漏洞更全面
• 洞态 IAST 的漏洞详情十分详细,漏洞直接定位到代码行数,并可完整的还原漏洞触发流程,利于开发部门修复
• 误报率相比白盒低很多,复测漏洞所消耗的人力更少
• 高效、误报低的特点提高了安全部门的价值,其他部门对安全的认可度更高,也间接推动了安全部门与其他部门的沟通合作
2. 对原本服务的影响:在大规模推广 IAST,安装 Agent 后,对接口反应时长会有一定影响,但影响不大。(性能测试 ▏DongTai IAST Java Agent)
3. 缺点:部分中低危漏洞存在误报现象(洞态解释说明:因为同程目前部署的是 v1.0.3 版本,新版本对误报现象已有很大改善了哦)
洞态:同程旅行的 IAST 实践突出亮点在于其安全理念。同程安全部门强调发挥安全的主动性,主动去适应业务的变化,主动培养同事的安全意识,让整个企业内部达成 “安全不是流程的关卡而是齿轮,串联起应用整个生命周期” 的安全共识,这对于 IAST 的推广使用能达到事半功倍的效果。此外,同程安全部门还能贴合使用场景,挖掘 IAST 的潜力,对 IAST 进行自动化部署、自动化复测、结果产出更贴合业务的改造,相信洞态 IAST 在同程旅行内能发挥其最大的价值。
领取专属 10元无门槛券
私享最新 技术干货