洞见RSA 2023:开发者应该知道的5个开源安全工具

admin 2023年5月15日11:30:31评论40 views字数 2256阅读7分31秒阅读模式
洞见RSA 2023:开发者应该知道的5个开源安全工具

全文共1775字,阅读大约需3分钟。

开发者在开发代码的过程中,都会担心代码、依赖、项目打包成的镜像是否存在安全问题。而RSAC 2023议题《5 Open Source Security Tools All Developers Should Know About》,则推荐了5个开源的安全工具,覆盖代码扫描、依赖检查、基础设施扫描、容器扫描、运行时扫描5个方面。


在评估每种类别的安全工具时,列出了该类别下安全工具的候选集合,并综合多方面因素,最终评定出该类别下最优的安全工具。


在评估安全工具时,主要是从以下几方面进行综合裁决:

  • 结果质量:开发视角下的结果准确度

  • 易用性:可以命令行使用也可以与各类IDE整合,速度快,结果易理解

  • 成熟度:社区支持情况、bug修复情况、证书情况

  • 可扩展:工具容易被扩展,以适用于开发者

每个类别推荐的工具如下:

洞见RSA 2023:开发者应该知道的5个开源安全工具

表1 每种类别推荐的开源工具

代码扫描

代码扫描,主要就是用于发现代码中存在的脆弱性问题。通常包括:

  • OWASP十大安全风险 

  • CWE 25个最常见漏洞

  • 机密信息

  • 自定义规则(例如身份认证/授权信息等)

最终从如下候选工具集中,选出了Semgrep。

洞见RSA 2023:开发者应该知道的5个开源安全工具

图1 代码扫描工具候选集

Semgrep的规则整合了很多的安全工具(如Gitleaks,Findsecbugs, Gosec等),而且还支持超过30种语言。从易用性方面看,它是无需编译的,而且可以运行在任何环境上(命令行、Docker、IDE)。也是很容易扩展的,只需要编写规则就可以。Semgrep 有一个比较大的社区,贡献者也比较活跃。

洞见RSA 2023:开发者应该知道的5个开源安全工具

图2  Semgrep 支持的语言列表

如下图所示,便是用Semgrep来扫描代码,可以看到它的结果里显示src/test.php存在eval($arg)这行代码,而这行代码存在命令注入漏洞:

洞见RSA 2023:开发者应该知道的5个开源安全工具

图3 Semgrep扫描结果

依赖检查

依赖检查主要就是用于发现项目代码所依赖的具有漏洞的组件。主要步骤是,首先识别软件所使用的开源组件,然后与已知漏洞的数据库进行比较,从而检查出这些依赖是否存在任何公开披露的漏洞。这被称为SCA,即软件组合分析(Software Composition Analysis)。


最终从如下工具集中,选出了OSV-Scanner。

洞见RSA 2023:开发者应该知道的5个开源安全工具

图4 依赖检查工具候选集

OSV-Scanner使用的是Google维护的OSV数据库(开源漏洞库),支持13种语言,可以扫描指定的SBOM和lockfile文件。OSV-Scanner的受欢迎程度和社区支持度处于增长阶段:

洞见RSA 2023:开发者应该知道的5个开源安全工具

图5 OSV-Scanner随时间变化打星的趋势图

如下图所示,即为使用osv-scanner扫描npm lockfile。它扫描了1531个软件包,并发现了一些安全问题。每个问题都有一个 OSV URL(安全漏洞的 ID)来提供有关漏洞的更多信息,同时还列出了与每个漏洞相关的软件包名称、版本号。

洞见RSA 2023:开发者应该知道的5个开源安全工具

图6 使用osv-scanner扫描npm lockfile的输出

基础设施扫描

基础设施扫描,即将基础设施的配置和管理作为代码来处理,主要任务是在代码提交到云端之前检测出安全配置错误。这些错误可能包括:

  • 缺少加密

  • 宽泛的权限设置

  • 缺少日志记录

  • 默认设置

最终从如下工具集中,选出了KICS。

洞见RSA 2023:开发者应该知道的5个开源安全工具

图7 基础设施扫描工具候选集

KICS支持18种框架,并提供了200多种内置的修复方案,可以在任何地方运行(IDE插件、本地)。


如下图所示,是用Terraform创建了一个EBS卷:

洞见RSA 2023:开发者应该知道的5个开源安全工具

图8 使用Terraform创建EBS卷

而KICS则可以扫描出其中存在的2个中危漏洞,一个是IAM Access Analyzer 未定义,而另一个是EBS卷未启用加密。

洞见RSA 2023:开发者应该知道的5个开源安全工具

图9  KICS扫描结果

容器扫描

容器扫描的主要就是检测容器镜像中的漏洞和配置问题。最终从如下工具集中,选出了Trivy。

洞见RSA 2023:开发者应该知道的5个开源安全工具

图10 容器扫描工具候选集

Trivy支持扫描容器镜像、文件系统、git存储库、虚拟机等,还可以生成SBOM。如下图,展示了利用Trivy扫描wordpress镜像发现的漏洞情况,总共发现了3个漏洞,分别为CVE-2021-33574、CVE-2022-23218、CVE-2022-23219。

洞见RSA 2023:开发者应该知道的5个开源安全工具

图11 Trivy扫描wordpress镜像结果

运行时扫描

运行时扫描,即在Web应用或者API运行时发现脆弱性问题。运行时扫描通常使用动态应用程序安全性测试(DAST)技术,模拟攻击并检测应用程序或API的漏洞。最终从如下工具集中,选出了ZAP。

洞见RSA 2023:开发者应该知道的5个开源安全工具

图12 运行时扫描工具候选集

ZAP可以检测OWASP Top 10风险,同时还包括250多个精选规则。同时ZAP也是Github排名前1000的项目之一,非常受欢迎,并拥有庞大的社区。如下图所示,即ZAP检测到了一个XSS漏洞,并给出了漏洞的描述、风险等级和可能的解决方案。此外,输出还包括有关漏洞的详细信息,例如漏洞发现的位置、参数、以及可以触发漏洞参数值。这些信息可以帮助开发人员更好地理解和修复漏洞。最后,输出中还包括了参考链接,这些链接提供了有关漏洞的更多信息。

洞见RSA 2023:开发者应该知道的5个开源安全工具

图13 ZAP扫描输出结果

公司通常都有相关工具和流程制度来进行代码审计、渗透测试,但是在开发的过程中也可以使用这些开源的安全工具进行自检,发现代码、依赖、配置、镜像里的各类安全问题,并及时进行修复。避免安全问题累积到较后阶段才暴露,提高项目的效率和整体安全性。

参考文献

[1] 5 Open Source Security Tools All Developers Should Know About


洞见RSA 2023:开发者应该知道的5个开源安全工具

洞见RSA 2023:开发者应该知道的5个开源安全工具

洞见RSA 2023:开发者应该知道的5个开源安全工具

洞见RSA 2023:开发者应该知道的5个开源安全工具

洞见RSA 2023:开发者应该知道的5个开源安全工具

原文始发于微信公众号(绿盟科技):洞见RSA 2023:开发者应该知道的5个开源安全工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月15日11:30:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   洞见RSA 2023:开发者应该知道的5个开源安全工具http://cn-sec.com/archives/1712223.html

发表评论

匿名网友 填写信息