所谓“左移开发安全”就是在开发流程中的所有阶段都考虑到安全性问题,研发人员承担更多的软件安全责任。很多研发会认为考虑软件的安全性会给他们徒增更多工作量,但实际上安全能力是研发工作中锦上添花的东西,比如可以帮他们节约大量修复bug的时间。
靠单个产品修复所有的应用安全漏洞几乎不可能。开发安全需要在开发各个阶段实施不同的防御措施,层层递进地去实现。
开发安全类工具一般包括:
SAST - 静态应用安全测试
DAST - 动态应用安全测试
IAST - 交互式应用安全测试
RASP - 运行时应用自我保护
依赖项安全扫描
Secrets Detection(机密信息检测)
尽早修复漏洞确实更加容易,成本也更低,但在开发早期阶段发现所有漏洞也不太可能。安全应贯穿软件开发生命周期的整个过程。
纵轴:修复成本;横轴:软件开发生命周期
SAST
静态应用安全测试,也称为“白盒测试”,通过扫描源代码发现代码中的已知漏洞,是最常见也是最早出现的自动化应用安全测试。市场上的SAST工具非常多。确定使用某个工具前,需要评估工具的支持和维护情况以及是否适配自身的技术栈。这里推荐一些免费的SAST工具。
NodeJsScan
NodeJs Scan有一个命令行接口,可轻松与DevSecOps CI/CD管道集成,并以JSON格式生成扫描结果。每种语言都有一个配置文件,可以根据自定义检索进行修改。文件总览和整个代码库都可以通过统计数据和饼图做到可视化。它还可以检测缓冲区溢出漏洞和针对Java的十大OWASP漏洞。
SonarQube
SonarQube被誉为是“最好用的免费自动化代码审计工具之一”,具备上千种自动化静态代码分析规则,且支持27种开发语言,能够很好地覆盖整个开发项目的发展。
DAST
DAST,动态应用安全测试,也被称为“黑盒测试”,不像SAST那样从源代码中发现漏洞,而是在应用运行时,通过注入故障的方式进行安全测试。DAST可以发现SQL注入、跨站脚本等常见的安全漏洞,识别应用程序运行时的安全风险,如身份验证和服务器配置问题,以及只有在已知用户登录时才有可能发现的安全问题。
OWASP ZAP
OWASP ZAP是一个功能非常全面的开源DAST工具,不但能够自动进行漏扫,还能协助测试人员完成web应用的渗透测试。ZAP的漏洞库也非常丰富。
IAST
IAST,交互式应用安全测试,有时也称为“灰盒测试”,是一种综合了SAST和DAST的检测技术,一般会在测试环境中以agent的形式(例如针对Java虚拟机或.NET CLR的插桩技术)监测运营与攻击情况,从而发现风险点。
Contrast Security - Community
Contrast也是一个声称“开发者至上”的产品,能更深入地发现漏洞。应用程序运行时的上下文信息对于其它的SAST和DAST工具完全是盲区,如控制器、业务逻辑、数据层、视图,用户库,开源组件和应用程序服务器。
RASP
RASP,运行时应用程序自我保护,一般部署在某个服务器上,当应用运行时即开始工作,能够实时发现目标应用中的攻击活动。应用程序一旦开始运行,RASP就会分析应用的行为和上下文信息,防止恶意输入或恶意行为的发生。通过对应用行为的持续监控,不用人为干预就可以发现攻击活动并且做到及时修复。
Sqreen
Sqreen的RASP可通过请求的完整执行上下文信息来发现应用上线后的漏洞利用和攻击活动,覆盖OWASP十大安全漏洞,如SQL注入、XSS和SSRF等。它的强大之处在于能够根据请求的执行逻辑进行攻击拦截,比其它解决方案的误报率低得多。Sqreen还能自动适配不同的应用程序技术栈,无需重新部署或配置。
依赖项安全扫描
依赖项安全扫描(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等服务中的机密信息。
总结
眼花缭乱的解决方案容易让人选择困难,一个重要标准就是思考这个工具是否能够适配当前的工作流程。
上述的开源工具都只能提供最基本的保护,实际运营过程中还是需要更多功能更加丰富的商业软件和方案。确保应用的安全是开发人员中最有价值的技能之一,虽然将安全性“左移”看起来是一项艰巨的任务,但在整个开发生命周期中融合安全测试系统肯定是一项非常值得的投资。
参考来源
- 上一篇:一次稍显曲折的爆破经历
- 下一篇:基于ThinkPHP的CMS审计思路
猜你还喜欢
- 12-09Kali Linux字典生成工具Cewl使用全指南
- 01-12开源安全情报引擎Critical Stack使用入门
- 05-02分享一款基于Pocsuite的漏洞扫描系统
- 01-04经验分享 | Burpsuite抓取非HTTP流量
- 11-05工具分享 | Maltego4.0.11中文汉化版
- 05-02Burpsuit结合SQLMapAPI产生的批量注入插件
- 11-25工具 | 手把手教你信息收集之子域名收集器
- 05-30最新BurpSuite 1.7.32 破解版[注册机]下载【无后门版】
- 12-08burpsuite_pro_v1.7.11破解版(含下载地址)
- 03-28X Brute Forcer:一款小巧易用的CMS密码爆破工具
- 最新文章
- 随机文章
-
- Amass:一款深度子域名枚举工具
- 微信支付SDK 0元购Hack思路分享
- 某些圈内的“黑客”是真无聊
- 使用scapy进行ARP攻击
- 利用Github对安全人员进行钓鱼
- 探索基于.NET下实现一句话木马之ashx篇
- 移动端跨越攻击预警:新型APT攻击方式解析
- 对暗网黑市廉价RDP销售商店的调查
- 超级详细的一次提权流程
- 白帽子的指南
- 当Strust2遇到防火墙,你的思路够骚吗?
- 在Web服务器防止Host头攻击
- Ph0neutria:一款从野外采集恶意软件样本的工具
- 对自助提卡系统的一次代码审计
- 超过1万个基于WordPress的网站被黑客攻击
- “退改签”诈骗背后,到底谁为黑产大开方便之门?
- 经验分享|谈谈渗透测试中的信息搜集
- 技术讨论 | 记一次Node.Js反序列化攻击测试
- 99%的人都不知道的秘密:世上竟有如此酷炫的钓鱼系统!
- 文件上传限制绕过技巧
- 热门文章
-
- 九年专业安全团队承接渗透入侵维护服务
- Stuxnet纪录片-零日 Zero.Days (2016)【中文字幕】
- Emlog黑客站模板“Milw0rm”发布
- SQLMAP的注入命令以及使用方法
- 白帽故事汇:网络安全战士从来不是「男生」的专利
- 编辑器漏洞手册
- web安全之如何全面发现系统后台
- 常见Web源码泄露总结
- 深入理解JAVA反序列化漏洞
- cmseasy前台无需登录直接获取敏感数据的SQL注入(有POC证明)
- 网站后台登陆万能密码
- 黑客怎样简单入侵别人手机,黑客是如何入侵手机的?
- 黑麒麟2016渗透培训系列教程
- 破解emlog收费模板“Begin”
- 那些强悍的PHP一句话后门
- Android平台渗透测试套件zANTI v2.5发布(含详细说明)
- 渗透工具BackTrack与KaliLinux全套视频教程
- Python列为黑客应该学的四种编程语言之一 初学者该怎么学
- CVE-2017-11882漏洞复现和利用
- 恶意程序报告在线查询工具
- 文章标签
-