超越漏洞修复的安全观

admin 2025年5月7日22:42:54评论0 views字数 2113阅读7分2秒阅读模式

前言

前两天休假看到了spaceraccoon的一篇关于网络安全反模式的文章,讲的是无效忙碌陷阱这个概念,说实话挺有意思的。作为一个经常和漏洞打交道的安全工程师,很多内容说到了我的心坎里,花点时间整理一下笔记。

那些年,把我们淹没的告警海洋

老实说,这篇文章里描述的John Doe的故事在我见过的企业里还是挺常见的。一开始都是好心办坏事:某次安全事件后,安全团队立马提议买个安全设备(通常价格不菲),然后像打了鸡血一样推广。

几个月后呢?大家都收到一堆邮件通知,Jira tickets堆成小山,开发团队天天被追着修复各种高危漏洞,而这些漏洞有多少是真正可利用的?可能连10%都不到。

你们公司是不是也有类似情况?某个安全工具动辄扫出上千个问题,然而:

  • 开发团队:「这根本没法全修!」
  • 安全团队:「合规要求必须修!」
  • 管理层:「为什么我们的安全指标这么差?」

就这样,大家开始了无休止的会议、邮件和文档循环,陷入了文章所说的无效忙碌陷阱。

从解决现有问题到预防新问题的转变

文章中有个观点特别戳中我:解决现有问题和预防新问题完全是两回事

想想看,这就像打扫房间和保持房间整洁的区别。你可以花一整天大扫除(解决现有问题),但如果没有建立保持整洁的习惯和系统,一周后房间又会乱七八糟。

我见过太多团队投入大量资源修复扫描出的安全漏洞,却没有同步建立机制防止新问题产生。结果?下一轮扫描又是一堆新问题。

记得有个朋友的团队经历过一次依赖库漏洞紧急修复,熬了三个通宵把所有问题都解决了。结果三个月后,同样的问题再次出现,因为他们没有建立自动化检查机制和标准开发流程。这不就是在一遍遍地舀水,而没有堵住漏洞吗?

安全冰淇淋锥:解决方案也有高下之分

文章中提到的Shortridge的安全解决方案冰淇淋锥太有道理了。想想看,我们平时接触的安全解决方案有多少是在锥底部?

超越漏洞修复的安全观
安全解决方案冰淇淋锥

说实话,很多企业的安全措施都集中在告警和人工干预层面。每当发生问题,第一反应不是如何从设计上避免这类问题,而是如何更好地发现并提醒修复这类问题。

这让我想起一个朋友分享的案例。他们团队发现了大量SQL注入漏洞,解决方案居然是增加Code Review,要求开发人员写SQL前必须通过安全审批。结果可想而知,流程变慢了,开发体验变差了,而且漏洞依然时有发生。

后来,他们转向了冰淇淋顶部的思路,推广使用一个带安全特性的ORM框架,默认参数化所有查询。不仅减少了安全风险,还提高了开发效率。一举两得!

tj-actions事件:供应链攻击的现实案例

文章中提到的tj-actions供应链攻击案例特别有意思。这起事件让我想起了前段时间闹得沸沸扬扬的GitHub社区供应链攻击,那事儿直接吓得不少团队彻查了一遍所有的GitHub Actions依赖。

说真的,谁能想到通过一系列精心设计的fork、commit和标签操作,攻击者能实现如此隐蔽的攻击?这简直就是一个完美犯罪!

回头看许多开源项目,还有不少GitHub Action在用@v1、@v35这种标签引用,没有固定到具体commit hash。这种松散引用简直就是在等着被攻击啊!

最讽刺的是,很多安全团队看到这个问题时的第一反应是:"那我们再加个检测工具,专门扫描这类问题如何?",瞧,又一个无效忙碌制造机诞生了!

实践经验的启发

这篇文章引发了我对安全实践的思考,以下是一些值得推广的做法:

  1. 设立"够用就好"的标准:不再追求修复100%的问题,而是基于可利用性和业务风险设立优先级。高风险、可直接利用的问题必修,其他的按需处理。

  2. 构建安全组件库:与其检查开发人员是否遵循安全规范,不如直接提供内置安全特性的组件库。开发人员只要用这些组件,就自动获得安全保障。

  3. 跨团队协作:安全团队和平台工程团队应该深度协作。比如在CI/CD流程中加入自动检查,确保所有GitHub Actions依赖都使用固定的commit hash。

  4. 培养安全设计思维:把安全考量融入设计评审,而不是等代码写完再去检查问题。这种安全左移机制大大减少了后期修复成本。

说实话,这些改变不容易实施。最大的障碍不是技术,而是思维定式。很多安全团队习惯了"发现问题—>提出告警—>追踪修复"的工作模式,要他们转向"预防设计—>内生安全—>自动化检查"需要相当大的心态转变。

结语

读完这篇文章,让我想到:我们是否太关注做事很忙而非做得有效?安全团队的考核指标是否合理?如果团队整天忙于追踪各种扫描结果和合规指标,那还有谁能思考那些真正提升安全的方案呢?

在这个攻击手法日益复杂的时代,与其不断地舀水,不如花点心思修好船。与其追求表面上的"零事故",不如建立能持续预防问题的机制。

说到底,安全不是为了安全而存在的,而是为了支持业务的安全发展。当安全成为无形的基础设施,默默保护而不需要开发者时刻关注,那才是真正成功的安全解决方案。(润物细无声)

正如文章所言:培养良好品味很重要,即使一开始我们做不到最好。随着经验积累,我们会逐渐缩小理想与现实的差距。安全建设是场马拉松,不是短跑。

你们遇到过哪些徒增工作量却不太有效的安全实践?欢迎在评论区分享你的经历!

原文始发于微信公众号(RedTeam):超越漏洞修复的安全观

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月7日22:42:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   超越漏洞修复的安全观https://cn-sec.com/archives/4038942.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息