依赖项安全扫描
依赖项安全扫描(Dependency Scanning)能够在应用程序开发和测试时检测依赖项的安全漏洞,例如正在使用的外部(开源)依赖库是否存在风险 。
Snyk
文章插图
据说Snyk也是一个开发者之上的企业,为开发人员提供一些开源的解决方案 。
Snyk自带很多比较好的功能,比如能在IDE中检测漏洞,扫描本地git测试存储库中的项目等等 。
Snyk有一个能够防止新漏洞通过构建过程进入开发环境的安全网关,还有一个用于测试运行环境中是否存在暴露风险点的生产环境 。
WhiteSource Bolt for GitHub
文章插图
Whitesource和Snyk一样有一些面向开发人员的免费工具 。
WhiteSource Bolt for GitHub是一款免费的应用,能够持续扫描自有和公开的存储库,检测开源组件中的漏洞并提供修复建议,支持200多种编程语言,能够像美国国家安全漏洞库NVD一样持续跟踪多个开源漏洞库 。
Secrets Detection(机密信息检测)API密钥、数据库凭证和安全证书等是一个组织的机密信息(secrets),拿到这些东西就能访问很多敏感系统 。因此需要secrets detection这样的技术加以保护 。
secrets detection可扫描源代码、日志等文件,发现其中隐藏的机密 。
这是一项技术要求较高的专业服务,因为大多数机密都是以随机字符串的形式存储,而且很多随机字符串都不是机密信息,因此需要通过分类算法,才能以较高的准确度检测到机密信息 。
很多人可能会把secrets detection和SAST搞混,因为两者都是扫描源码的技术 。
但SAST只扫描目标应用的当前版本,而secrets detection检测的是该项目的所有开发版本 。
像git这样的版本控制系统会对项目的所有变更信息进行跟踪和存储 。
如果源码的上一个版本含有硬编码的机密信息,却在后面的阶段被删除了,代码审计和SAST工具就无法发现这个问题,遗留在git存储库中容易遭到恶意利用 。
所以secrets detection成为了一个独立的分类
GitGuardian
文章插图
GitGuardian可通过扫描开发人员存储库,持续发现机密信息,涵盖300多种不同类型的机密类型,从密钥到数据库连接字符串、SSL证书、用户名和密码,通过复杂的模型匹配等多种算法技术进行检测 。
GitGuardian可以与GitHub帐户实现集成,几分钟即可完成配置 。
开发人员可以通过GitGuardian API检测目录、邮件客户端或Slack channel等服务中的机密信息 。
五.总结眼花缭乱的解决方案容易让人选择困难,一个重要标准就是思考这个工具是否能够适配当前的工作流程 。
上述的开源工具都只能提供最基本的保护,实际运营过程中还是需要更多功能更加丰富的商业软件和方案 。
确保应用的安全是开发人员中最有价值的技能之一,
虽然将安全性“左移”看起来是一项艰巨的任务,但在整个开发生命周期中融合安全测试系统肯定是一项非常值得的投资 。
推荐阅读
- 伏姜茶的功效与作用,炒米姜茶的功效
- 黑客界决战紫禁之巅 你盗我8225份数据库 我公布你的真实身份
- 关于mysql外部访问报错的问题
- 这一次,彻底解决Java的值传递和引用传递
- 蜂蜜泡茶的功效有哪些,乌梅胖大海的副作用有哪些
- 软件系统稳定性设计的秘密
- 淘宝客推广最有效的方法 淘宝客推广效果明显吗
- 防止茶树冻害的措施,山东建立茶树冻害预测预警体系
- 山姑娘的药用价值有哪些
- 山萸肉的食用方法有哪些