不仅仅是一份DevSecOps工具清单,会有惊喜

Test Ninja 软件质量报道 2019-02-17

“软件安全”水太深,几乎不敢谈,只好谈谈安全性测试工具,用今天流行的词,就是一张DevSecOps工具清单。

如果仅仅给一个工具清单,也没必要写这篇文章;

本文会为你打开新的视野,了解最新动向 ......

给出几种新类型的安全性测试工具 ......

让你的眼睛不再只盯着“代码静态分析工具”和系统“渗透测试工具”;

还会给出安全性保障的全生命周期研发12大优秀实践;

最后送福利。


1. 先学几个术语

  • 静态应用程序安全测试,Static Application Security Testing (SAST),仅通过分析或者检查应用软件源代码或字节码以发现应用程序的安全性漏洞,侧重检查代码安全,如C/C++缓冲区溢出、身份认证与授权等。

  • 动态应用程序安全测试,Dynamic Application Security Testing (DAST),通过运行程序来检查应用软件的安全性问题,侧重从系统外部接口来进行针对性的测试,暴露应用程序接口的安全性漏洞。

  • 交互式应用程序安全性测试,Interactive Application Security Testing (IAST),整合了SAST和DAST这两种方法,可以发挥各自的优势、降低误报率,发现更多安全漏洞,从而提高安全性测试效率。

  • 软件构成分析,Software Composition Analysis (SCA),专门用于分析开发人员使用的各种源码、模块、框架和库,以识别和清点应用系统(OSS)的组件及其构成和依赖关系,并识别已知的安全漏洞或者潜在的许可证授权问题,把这些风险排查在应用系统投产之前,SCA适用于应用系统运行中的诊断分析。

  • 应用程序安全测试编排,Application Security Testing Orchestration (ASTO),随着数据中心规模的不断增大,网络以及安全服务数量也随之不断的增长,安全运维更是难上加难。面对越来越复杂的网络和安全场景,安全编排(Orchestration)工具应运而生,能够安全自动化和服务编排,如可以连接诸如Splunk、QRadar等安全数据分析工具,利用其提供的大量安全事件数据,通过自动化的脚本,采取一系列的方法进行安全事件的响应。

给大家出一个题目,《全程软件测试(第3版)》除了详细介绍SAST、DAST、IAST之外,还介绍了哪种安全性测试技术?


2. 安全性测试工具新类型

在介绍安全性测试工具新类型之前,让我们先了解一下安全性测试技术发展趋势,Gartner在2017年《面向威胁的技术成熟曲线》报告(文末会告诉您如何下载全文)中给出了未来安全技术的发展趋势。

并给出了Top 11 安全性技术:

  1. 云工作负载保护平台(CWPP)

  2. 远程浏览器

  3. 欺骗技术

  4. 端点检测与相应(EDR)

  5. 网络流量分析(NTA)

  6. 可管理检测与响应(MDR)

  7. 微隔离

  8. 软件定义边界(SDP)

  9. 云访问安全代理(CASB)

  10. 面向DevSecOps的运营支撑系统(OSS)安全扫描与软件成分分析

  11. 容器安全

Gartner在2018年“Magic Quadrant for Application Security Testing”报告(文末会告诉您如何下载全文)中给出当今主要安全性测试工具厂商所处的位置,这对大家选择合适的安全性测试工具,会有很大的参考价值

基于这些分析,这里给出十大类测试工具,而且体现了它们的层次,其中:

  • SCA工具

  • ASTaaS工具

  • ASTO工具

  • AVC工具(Application Vulnerability Correlation,应用安全缺陷关联)


属于新类型工具。ASTO 将软件开发生命周期内的安全工具进行整合,尤其在 DevSecOps中发挥举足轻重的作用,而AVC工具是指工作流与流程管理工具,让软件开发应用漏洞测试和修复实现流线化。这些工具将各种安全测试数据源(SAST、DAST、IAST、SCA 、渗透测试与代码审核)融入到一个中央化的工具中,AVC 工具能够将安全缺陷形成中心化数据,进行分析,对补救方案进行优先级排序,实现应用安全活动的协作。


3. 安全性保障12大优秀实践

在《全程软件测试(第3版)》详细介绍微软“安全的”开发生命周期(SDL),SDL能够在每一个开发阶段上尽可能地避免和消除漏洞,定义了七个接触点:滥用案例、安全需求、体系结构风险分析、基于风险的安全测试、代码审核、渗透测试和安全运维等。现在,在此基础上,扩展为12大优秀实践:

  • 实践1 - 提供培训

  • 实践2 - 定义安全要求

  • 实践3 - 定义指标和法规符合性报告

  • 实践4 - 执行威胁建模

  • 实践5  - 建立设计要求

  • 实践6 - 定义和使用加密标准

  • 实践7 - 管理使用第三方组件的安全风险

  • 实践8 - 使用批准的工具

  • 实践9 - 执行静态分析安全测试(SAST

  • 实践10 - 执行动态分析安全测试(DAST

  • 实践11 - 执行渗透测试

  • 实践12 - 建立标准事件响应流程

详细参见:

https://www.microsoft.com/en-us/securityengineering/sdl/practices


4. DevSecOps工具清单

  • BDD Security

  • Brakeman

  • Chef     Inspec

  • Contrast     Security

  • Cohesion

  • David

  • Gauntlt

  • Hakiri

  • HusckyCI

  • Infer

  • IronWASP

  • kube-bench

  • Lynis

  • microscanner

  • Node Security Platform

  • npm-check

  • npm-outdated

  • OSS Fuzz

  • OWASP  OWTF

  • OWASP ZAP

  • OWASP     ZAP Node API

  • Progpilot

  • PureSec (Serverless Security)

  • RetireJS

  • RIPS

  • Snyk

  • SourceClear


5. 福利

关注本公众号,输入“DevSecOps” (可以全小写),获得上面提到了两份完整的Gartner报告。


参考:


  • https://sdtimes.com/security/a-guide-to-devsecops-tools/

  • https://github.com/devsecops/awesome-devsecops

  • https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis

  • https://samate.nist.gov/index.php/Source_Code_Security_Analyzers.html

  • https://www.microsoft.com/en-us/securityengineering/sdl/practices

  • https://secdevtools.azurewebsites.net/


文章已于修改

    发送中

    本站仅按申请收录文章,版权归原作者所有
    如若侵权,请联系本站删除
    觉得不错,分享给更多人看到