所谓“左移开发安全”就是在开发流程中的所有阶段都考虑到安全性问题,研发人员承担更多的软件安全责任 。
【八款白嫖的开发安全测试工具】很多研发会认为考虑软件的安全性会给他们徒增更多工作量,但实际上安全能力是研发工作中锦上添花的东西,比如可以帮他们节约大量修复bug的时间 。
靠单个产品修复所有的应用安全漏洞几乎不可能 。
开发安全需要在开发各个阶段实施不同的防御措施,层层递进地去实现 。
文章插图
开发安全类工具一般包括:
SAST - 静态应用安全测试尽早修复漏洞确实更加容易,成本也更低,但在开发早期阶段发现所有漏洞也不太可能 。
DAST - 动态应用安全测试
IAST - 交互式应用安全测试
RASP - 运行时应用自我保护
依赖项安全扫描
Secrets Detection(机密信息检测)
安全应贯穿软件开发生命周期的整个过程 。
文章插图
纵轴:修复成本;横轴:软件开发生命周期
一.SAST静态应用安全测试,也称为“白盒测试”,通过扫描源代码发现代码中的已知漏洞,是最常见也是最早出现的自动化应用安全测试 。
市场上的SAST工具非常多 。确定使用某个工具前,需要评估工具的支持和维护情况以及是否适配自身的技术栈 。
这里推荐一些免费的SAST工具 。
NodeJsScan
文章插图
NodeJs Scan有一个命令行接口,可轻松与DevSecOps CI/CD管道集成,并以JSON格式生成扫描结果 。
每种语言都有一个配置文件,可以根据自定义检索进行修改 。文件总览和整个代码库都可以通过统计数据和饼图做到可视化 。
它还可以检测缓冲区溢出漏洞和针对JAVA的十大OWASP漏洞 。
SonarQube
文章插图
SonarQube被誉为是“最好用的免费自动化代码审计工具之一”,具备上千种自动化静态代码分析规则,且支持27种开发语言,能够很好地覆盖整个开发项目的发展 。
二.DASTDAST,动态应用安全测试,也被称为“黑盒测试”,不像SAST那样从源代码中发现漏洞,而是在应用运行时,通过注入故障的方式进行安全测试 。
DAST可以发现SQL注入、跨站脚本等常见的安全漏洞,识别应用程序运行时的安全风险,如身份验证和服务器配置问题,以及只有在已知用户登录时才有可能发现的安全问题 。
OWASP ZAP
文章插图
OWASP ZAP是一个功能非常全面的开源DAST工具,不但能够自动进行漏扫,还能协助测试人员完成web应用的渗透测试 。ZAP的漏洞库也非常丰富 。
三.IASTIAST,交互式应用安全测试,有时也称为“灰盒测试”,是一种综合了SAST和DAST的检测技术,一般会在测试环境中以agent的形式(例如针对Java虚拟机或.NET CLR的插桩技术)监测运营与攻击情况,从而发现风险点 。
Contrast Security - Community
文章插图
Contrast也是一个声称“开发者至上”的产品,能更深入地发现漏洞 。应用程序运行时的上下文信息对于其它的SAST和DAST工具完全是盲区,如控制器、业务逻辑、数据层、视图,用户库,开源组件和应用程序服务器 。
四.RASPRASP,运行时应用程序自我保护,一般部署在某个服务器上,当应用运行时即开始工作,能够实时发现目标应用中的攻击活动 。应用程序一旦开始运行,RASP就会分析应用的行为和上下文信息,防止恶意输入或恶意行为的发生 。通过对应用行为的持续监控,不用人为干预就可以发现攻击活动并且做到及时修复 。
Sqreen
文章插图
Sqreen的RASP可通过请求的完整执行上下文信息来发现应用上线后的漏洞利用和攻击活动,覆盖OWASP十大安全漏洞,如SQL注入、XSS和SSRF等 。
它的强大之处在于能够根据请求的执行逻辑进行攻击拦截,比其它解决方案的误报率低得多 。
Sqreen还能自动适配不同的应用程序技术栈,无需重新部署或配置 。
推荐阅读
- 伏姜茶的功效与作用,炒米姜茶的功效
- 黑客界决战紫禁之巅 你盗我8225份数据库 我公布你的真实身份
- 关于mysql外部访问报错的问题
- 这一次,彻底解决Java的值传递和引用传递
- 蜂蜜泡茶的功效有哪些,乌梅胖大海的副作用有哪些
- 软件系统稳定性设计的秘密
- 淘宝客推广最有效的方法 淘宝客推广效果明显吗
- 防止茶树冻害的措施,山东建立茶树冻害预测预警体系
- 山姑娘的药用价值有哪些
- 山萸肉的食用方法有哪些