为什么IAST更适应DevOps?

2021-08-13

“唯快不破”的DevOps


“天下武功,唯快不破。”在软件开发领域也同样如此。近年来的DevOps模式因注重高效交付、高效运营,在需求变化快、迭代周期短的互联网业务中备受欢迎。DevOps是Development和Operations的组合词,重点突出研发、测试和运营之间的高效协作整合,即通过自动化流程执行软件构建、测试和发布,从而应对不断变化的业务需求,提升应用软件的发布频率和可靠性。



如果说DevOps是一种理念,那么CI/CD就是理念落地的基础——没有基于CI/CD工具构建起来的自动化流程,DevOps没有任何意义。CI/CD,即持续集成和持续交付,二者最大的区别在于是否将流水线编排至预发布或者生产环境,在不包含持续交付的流水线中,往往将交付流水线单独设计或者手动执行。

 

     CI/CD中各个不同阶段常见的工具集如下:

1. 源代码管理,如GitHub、Gitlab等;

2. Artifact存储库(存储组件和构建产物),如Nexus、Artifactory等;

3. 部署主机(部署应用的测试环境),如AWS、GCP、阿里云ECS等,或本地环境;

4. 流水线平台(根据代码变更执行相应管道,完成自动构建、测试和部署),如Jenkins、GitLab-CI、云效等。


IAST:DevSecOps的中流砥柱


数字化转型发展和云原生环境中,企业安全威胁更加复杂,应用安全和应用系统漏洞问题在真实的网络攻击活动中暴露无遗,同时安全监管力度的加大也推动了应用安全行业的快速发展。DevSecOps的落地离不开自动化工具。


在各类安全开发检测技术中,IAST交互式应用安全测试是近年来最火热的技术之一。相对于SAST源码分析和DAST黑盒扫描检测两种技术而言,IAST更像是融合SAST和DAST后的一种折中检测方法,使其不仅具备数据流跟踪能力,还具有更广的检测覆盖面。

 

IAST通过在应用服务端部署相应的Agent,通过动态污点跟踪技术监控应用执行正常业务处理时发生的参数处理过程和函数调用行为,来确定请求中的参数是否存在漏洞。除了执行漏洞检测,IAST技术还可获取到发现漏洞的代码文件、行数、函数和参数。

 

IAST有哪些优势


  • 高精度

OWASP Benchmark数据显示,IAST误报率远低于SAST与DAST。


  • 统一的安全意识文化

开发人员、QA人员、运营团队都可以使用IAST工具,无形中产生共享的安全意识文化。


  • 漏洞实时检测

IAST与功能测试等常规开发任务并发自动执行,开发团队无需等待扫描完成,更适用于追求高效的DevOps开发理念。


  • 检测结果可操作性强

IAST 可提供详细的漏洞信息,包括漏洞严重性和受影响的源码文件和函数等,并提供即时可操作的反馈,帮助开发人员快速修复问题。而DAST等工具则需要开发人员耗费时间完成漏洞的验证与具体代码的筛查。


  • 支持第三方组件的漏洞检测

即使在无法获取源码的情况下,IAST也能筛查第三方代码的安全问题。


SAST、DAST、IAST技术能力横向对比

 

为什么IAST更适应DevOps


正是因为IAST具有上述的技术原理优势,使得它在DevOps流程中担当自动化安全测试的中流砥柱成为可能,具体表现在以下几个方面:



  • 安全工具链自动化:DevOps的核心需求就是高效与自动化,IAST能够与DevOps工具链集成,将安全融入现代开发流程,避免应用带病上线。


  • 各团队整体安全意识的提升:IAST可在软件开发生命周期(SDLC)的多个阶段发挥作用,包括研发、QA和生产环境,有利于从统一工具的角度形成一致的跨部门安全文化。


  • 漏洞闭环:IAST能够与开发团队常用的流程管理工具作集成,如Jira,保证安全工作在开发人员原本熟悉的工作环境中执行,提高安全漏洞的处置效率。


  • IAST极低的误报率以及能够和功能测试并行的特点契合DevOps快速交付的诉求。

 

IAST如何融入CI/CD


IAST在集成至CI/CD pipeline后,Agent的安装可通过构建镜像或者部署测试环境时自动化加载,在研发、测试人员无感的情况下完成Agent的安装;然后配合人工或接口测试平台完成自动化安全测试。如果根据需求设置了安全卡点,流水线还可根据本次测试结果自动干预流程,直到通过安全测试。

 

IAST在CI/CD中作为安全测试卡点


默安科技雳鉴IAST


默安科技自主研发的雳鉴IAST基于请求和代码数据流两种技术的融合架构,汲取SAST与DAST优点,在测试阶段无缝集成,高效、准确地检测应用自身安全风险。除具备IAST技术本身优势,雳鉴IAST还结合客户场景实现了独特的技术创新,例如支持发现隐私数据泄露风险、对DevOps友好度高、支持检测三方组件安全风险、自动发现全量API接口、自动识别用户自定义过滤函数等。

 

默安科技已帮助政府、央企、银行、保险、证券、制造、房产、互联网等多个行业客户构建安全开发生命周期(SDL)和DevSecOps体系。同时,2021年默安科技也被全球著名IT咨询公司Gartner评为IAST领域的代表厂商


参考来源:

①DevOps知识框架体系和最佳实践案例整理

②DevOps如何向DevSecOps切换

③DevSecOPs在金融机构的落地实践

④ Jenkins Pipeline实践分享

⑤Modern DevSecOps Toolchain: Role of an IAST