现代软件开发流程采用CI/CD和devops方法已成为主流。

“旧石器时代”那种先花大量时间安全测试,再等待修复好漏洞,不再适应快速高效开发的节奏。

现代应用程序趋向庞大和复杂,安全工具也越来越复杂和细分。

为了方便管理,安全领域的开发工具可以帮助开发人员在编写代码时自行安全检查,只需要对工具授权即可。

目前,开发人员和安全专家主要依靠两类关键的工具来保护应用程序和数据安全。

A 、静态应用程序安全测试(SAST), B、软件成分分析(SCA),SAST主要用于测试内部开发的代码,SCA主要用于管理导入的开源组件

同时使用这两种方法,可以同时覆盖这两个领域可能存在的安全漏洞。

关于SAST

SAST扫描应用程序源代码或字节码查找已知的软件漏洞 —— 通过这些漏洞,攻击者有可能获得访问权限。

SAST工具能自动覆盖应用程序可能存在的所有可能路径和事件,并能发现开发人员甚至没有意识到的漏洞。

目前,国际市场上比较主流的SAST工具有:

CyberRes Fortify

CheckMarx SAST

Perforce Klocwork SAST

Spectral SpectralOps Platform

Veracode Static Analysis SAST

目前,国内使用SAST静态应用安全检测系统的厂商,有开源网安、酷德啄木鸟、泛联新安、绿盟科技等,其中有些甚至拥有完全自主知识产权,通过CWE等权威认证。

关于SCA ,不可忽视的依赖关系

SCA的作用主要是帮助降低源代码之外的风险,如今大量第三方和开源软件包被用作自主开发应用程序的底层构建模块。

现代软件可能依赖于上百个开源包,即依赖项。目前,这些依赖项亦有可能依赖于开发人员甚至都不知道的其他开源包,即传递依赖项。

使用开源包可以帮助开发人员省去编写“基本”代码的麻烦,将时间实践于创造更有价值的软件开发工作,目前,95%的应用程序包含开源软件,应用程序中超过70%的代码都是开源代码

开源包的安全性十分难以预测,安全漏洞测试的严格程度也个有区别。

SCA测试工具主要针对开源包进行研究,扫描应用程序的依赖项和传递依赖项,通过其结果与漏洞数据库比对,可以了解从组织外部获取的代码中继承了哪些风险和安全漏洞;正常情况下,SCA工具可以识别出已知漏洞的类型,并就修复和变通方法提供建议。

除此之外,SCA因为可以识别软件包中包含的许可证及其相关规定,所以也能帮助企业规避法律风险。

现  状

在软件开发生命周期中,将:用于测试源代码以发现安全漏洞的SAST工具和作为管理开源组件的应用程序安全方法的SCA工具结合起来使用,几乎可以解决软件开发前期的大部分安全问题。

目前,针对早期两种工具难以集成和可能产生大量误报的问题,现代开发安全技术的新工具专门针对这些问题加以研究,兼顾安全性和性能的测试方式目前也逐渐成熟,帮助开发人员成为安全领域的领导者。

SAST和SCA的关键评估指标,提供给大家参考。

1、SAST关键评估指标,主要包括:覆盖率、自动化程度、准确性和吞吐量。

2、 SCA关键评估指标,主要包括:

1) 是否具备漏洞和配置扫描功能

2) 能否将开源组件指纹与CVE漏洞信息库关联

3) 能否与SAST/DAST/IAST扫描集成

参考资料: 如何正确地选择SAST和SCA ?

为什么SAST和SCA在SDLC中很重要?相关推荐

  1. 在SDLC中使用静态代码分析的最佳实践

    http://vultrace.cn更多精彩,尽在个人博客. 文章翻译自ncc group的论文,论文超长预警,请耐心观看. Best Practices for the use of Static ...

  2. R语言ggplot2可视化:ggplot2可视化密度图(显示数据密集区域)、ggplot2可视化密度图(对数坐标):log10比例的收入密度图突出了在常规密度图中很难看到的收入分布细节

    R语言ggplot2可视化:ggplot2可视化密度图(显示数据密集区域).ggplot2可视化密度图(对数坐标):log10比例的收入密度图突出了在常规密度图中很难看到的收入分布细节 目录

  3. JTable是Swing编程中很常用的控件

    JTable是Swing编程中很常用的控件,这里总结了一些常用方法以备查阅. 一.创建表格控件的各种方式: 1) 调用无参构造函数. JTable table = new JTable(); 2) 以 ...

  4. Web 开发中很实用的10个效果【附源码下载】

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

  5. 输入列画表格 在图形环境中很容易做出漂亮的表格。但在控制台环境中就比较困难了。 有的时候可以用一些符号大略地模拟:(word文档中可能不整齐,拷贝到记事本中看)...

    最近研究输入列,稍微总结一下,以后继续补充: /** 画表格 在形图环境中很易容做出亮漂的表格.但在控制台环境中就比拟困难了. 有的时候可以用一些符号大略地拟模:(word文档中可能不整齐,拷贝到记事 ...

  6. 文本分类有哪些论文中很少提及却对性能有重要影响的tricks?

    前言 一年前小夕在知乎上提问过这么一个问题 文本分类有哪些论文中很少提及却对性能有重要影响的tricks? 链接:https://www.zhihu.com/question/265357659/an ...

  7. Emacs-24.2 中很重要的几个函数--实现自定义语法高亮的关键

    2019独角兽企业重金招聘Python工程师标准>>> Emacs-24.2 中很重要的几个函数--实现自定义语法高亮的关键 通过这几个函数就可以清楚地看到 lisp 有哪些关键字, ...

  8. Web 开发中很实用的10个效果

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

  9. 开发中很实用的10个效果

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

最新文章

  1. cryptogen (1)generate 生成证书举例
  2. [LCT动态树] [NOI2014]魔法森林,[ZJOI2018]历史
  3. Spring Boot&JPA&Hibernate&Oracle
  4. 向DataGridView中添加新的一行数据,可以添加到最后一行或作为第一行
  5. vue 父链和子组件索引_vuejs填坑-父子组件之间的访问
  6. android studio 预览问题 :java.lang.NoClassDefFoundError: com/android/util/PropertiesMap
  7. 2.在窗口中添加按钮
  8. 安装labelImg
  9. 森林病虫防治系统 (七)
  10. 功放前级的左右_TDG Audio达芬奇:什么是前级,后极?
  11. 牛客练习赛43F Tachibana Kanade Loves Game
  12. radio默认选中第一个_Mybatis学习之路【1】-- 第一个程序
  13. 使用变量替换批量部署GoldenGate
  14. wifi6无线网卡驱动linux,ROG R6E Omega换wifi 6无线网卡教程
  15. catia三维轴承_基于CATIA的轴承三维参数化标准件库的开发
  16. 卡内基梅隆大学计算机研究生水平,卡内基梅隆大学计算机研究生
  17. 十进制转换为其他进制(c语言)
  18. vue $confirm 自定义图标及修改图标颜色
  19. 《Python数据分析与挖掘实战》示例源码免费下载
  20. 情有独钟,迷情电子三五年(转贴)想学好电子必看 后悔的找我

热门文章

  1. 美女主管送我这个撸码神器!爽翻了......
  2. 【爬虫】9行python下载王者荣耀所有英雄的高清壁纸(附代码和图片下载)
  3. 基于Azure Kinect SDK获取物体rgb图、深度图、红外IR图和点云数据并保存到本地
  4. SNP位点上下游序列查找1.0 2020-9-27
  5. ubuntu 安装microsoft office
  6. 通过ip地址查询远程服务器系统,通过ip地址查询远程服务器系统
  7. 在html中什么是锚点
  8. 周边pd是什么意思_韩国综艺里经常说的VJ、PD是什么意思
  9. Ubuntu IDEA返回上一次位置快捷键失效问题解决
  10. 数据挖掘综合应用:贷款产品预测案例