DevSecOps:旧的安全漏洞仍在施展新伎俩

最初发布于 DevOps.com。
在网络安全领域,我们常常像猎人一样,目光紧盯着地平线,搜寻着下一个突发漏洞(以及用于阻止它的正确设计工具、技术和策略)。然而,这种前瞻性的关注可能会产生意想不到的副作用,即削弱我们整体的安全意识,使我们对周围潜伏的深层危险视而不见,而攻击者却乐于利用这些危险。
我常把现代网络安全比作凯夫拉防弹衣。凯夫拉看似轻盈,却能阻挡高速子弹和各种现代强力武器,甚至会让穿戴者产生一种无敌的错觉。然而,一种早在公元前1000年左右就已出现的古老弓箭武器系统,往往能穿透这种防护。一把锋利的刀——这可能是继石头之后世界上第二古老的武器——能像切开棉质运动衫一样轻易地割开凯夫拉。此外,凯夫拉无法覆盖人体的每一毫米,如果攻击者能找到任何缝隙进行致命一击,他们就会得手——这就像软件中那些容易被利用的小漏洞一样。
在网络安全方面,许多组织同样容易受到八到十年老旧系统的漏洞影响,按现代计算标准,这些系统几乎都该“退休”了。但如果你认为这些老旧系统的漏洞无害,那么你未来很可能会遭遇蓝屏死机。
老兵的漏洞
jQuery 是最古老且使用最广泛的 JavaScript 库之一,作为一个开源资源,它在事件处理、DOM 树遍历与操作以及生成动画等方面发挥着重要作用。它是一个久经考验的“工作马”,已被使用了多年。人们认为,既然该库已经如此成熟,必然经过了彻底审查,所有漏洞都已被清除。
遗憾的是,事实并非如此。默认情况下,大多数依赖 jQuery 的应用程序使用该内部库的指令进行身份验证。例如,对于 Apache 服务器,这意味着检查 .htaccess 文件。很少有开发人员在设计使用 Apache 的程序时会想到去确认 Apache 服务器更新是否包含了 .htaccess。毕竟,Apache 为什么要移除这个多年来作为安全基石的关键组件呢?
尽管听起来很奇怪,但 Apache 在 2.3.9 版本中确实这样做了。显然,程序每次运行都要检查 .htaccess 配置文件会严重拖慢速度。移除它虽然提升了 Apache 的整体性能,但也制造了一个大多数人并不知情的漏洞。如果开发人员没有去检查他们的应用是否还能访问 .htaccess 文件,大多数请求就会在未经审查的情况下被直接接受。
最近,专家发现了这一缺陷,并指出利用它允许未经授权的用户在所谓的安全系统上上传并运行 Shell 或几乎任何类型的代码。这导致了 10 月份发布的漏洞警报 CVE-2018-9206。然而,安全研究人员发现该漏洞的轻松程度暗示,那些以搜寻此类漏洞为唯一目标的专业黑客可能早已发现它。毕竟,尽管事后进行了宣传、修补和修复,但几周后还是发生了类似的高影响攻击,导致 窃取比特币的恶意软件 在一个每周被数百万人下载的热门 NPM 库中被释放。
管家干的
与 jQuery 一样,Jenkins 也是一种开源产品,且是同类中最受欢迎的产品之一。凭借其类似“管家”的贴心名称,Jenkins 被许多行业的开发团队用作自动化服务器也就不足为奇了。当 Jenkins 运行正常时,它是一个非常有用的工具。然而,新发现的缺陷以及最近曝光的一起 规模极其庞大 的加密货币挖矿行动表明,Jenkins 也一直在为坏人效力。
最危险的 Jenkins 漏洞之一是 Java 反序列化漏洞,被指定为 CVE-2017-1000353。这是一个复杂的攻击,但已经存在一段时间了。攻击者必须提交两个请求。第一个请求启动一个最初会被服务器拒绝的下载双向通道。然而,第二个请求添加了一个上传通道,其中包含攻击者想要的任何命令的有效载荷,并利用 payload.jar 脚本。一旦发送第二个请求,通信就会在未打补丁的 Jenkins 服务器上被允许。
即使在已打补丁的服务器上,漏洞依然存在。例如,在 Windows 环境下运行 Jenkins 时,默认使用 NT AUTHORITY\SYSTEM 账户来授权用户。这很危险,因为 SYSTEM 在 Windows 服务器上拥有完全权限。开发人员可以更改授权账户,但往往不会这样做。他们不更改的逻辑在于,Jenkins 已经存在很久了,所以人们认为任何漏洞早已被修复。
最近,一名黑客利用这些老旧的 Jenkins 漏洞入侵了多台服务器。其目标是在每一个能找到的易受攻击的 Jenkins 实例上添加加密货币挖矿程序。这些矿工在不断搜寻加密货币的过程中占用了宝贵的计算资源。到目前为止,他们 已经获得了 约 10,800 枚门罗币,价值近 350 万美元。
旧瓶装新酒
在这两个例子中,投机取巧的攻击者都在许多人认为安全的平台上利用漏洞。在防御方面,缺乏安全意识的开发让这些黑客得以让旧伎俩重获新生。尽管利用老旧漏洞屡屡得手,但许多组织仍未制定任何计划来阻止这种恶性循环。
东西旧并不代表它无害。常用的库和资源存在多年并不意味着它们绝对安全(例如,当前 OWASP 前 10 名中的第 9 项专门针对 使用已知漏洞的组件)。只有通过勤勉和 持续的安全培训,我们才能保护自己,不仅免受地平线上潜伏的危险威胁,还能防范那些已经悄然潜入我们后院的隐患。
在 AI 驱动的开发成果发布前实现有效治理
评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。
探索更多博客
获取有关安全编码、人工智能治理和软件风险管理的专家内容。
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
在产品发布前确保 AI 驱动的开发安全
洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。



.avif)