SCW图标
英雄背景无分隔线
博客

程序员征服安全:分享与学习系列——使用存在已知漏洞的组件

Jaap Karan Singh
发布于 2019 年 4 月 25 日
最后更新于 2026年3月10日

所有应用程序都有一件事是什么?组件,也称为依赖项或库。世界上很少有在某个时间点不依赖于其他代码的代码。从创建应用程序之时起,你甚至会从大量依赖关系开始!

由于所有应用程序都使用组件,其中大部分是您尚未编写的,因此您使用的组件中的漏洞可能会成为负担。让我们讨论使用具有已知漏洞的组件意味着什么,它有多危险,以及如何解决这个问题。

了解使用存在已知漏洞的组件

所有复杂的软件都有漏洞。这就是野兽的本质。因此,您的组件永远不会 100% 安全。但是,当在组件中发现漏洞时,你知道吗?你准备好了吗?

当组件的使用寿命超过其使用寿命或发现漏洞之后,问题最常出现。大多数组件和库会在漏洞发布的同时或之前发布针对安全漏洞的补丁。因此,当发现并公布组件中的漏洞时,尽快更新组件至关重要。不要将易受攻击的软件留在生产环境中。

组件可以来自多个来源。有时,您会购买直接与您的自定义代码集成的第三方供应商产品。这些组件成为您的代码的一部分,并以相同的权限级别运行。另一个来源是托管在 GitHub 等网站上的开源项目。开源可能很危险,因为并非所有的开源库都经过仔细的审查或漏洞审计。

攻击者利用组件漏洞信息来发挥自己的优势。由于漏洞是公开宣布的,因此攻击者知道漏洞的时间与您相同。攻击者还可以使用技巧来找出你正在使用哪些组件。一旦他们知道了这些信息,他们就会知道如果没有修补你的应用程序,如何攻击它。

知道为什么易受攻击的组件很危险

如果你正在寻找证据,证明使用具有已知漏洞的组件有多危险,那么 2017 年的 Equifax 漏洞就是你的最佳选择。

2017 年 7 月, Equifax美国信贷机构发现了一起大规模的数据泄露事件,泄露了超过1.47亿人的个人身份信息。这次数据泄露的范围和影响是前所未有的。最近,有消息传出 Equifax 松懈的安全措施

这些松懈的做法之一是补丁管理。Equifax 没有良好的补丁管理规范,这意味着他们的组件在很长一段时间内不会被修补。 这是违规行为的直接原因

Equifax 的网站使用了 Apache Struts 网络框架。在攻击者入侵网络前几个月,在 Struts 框架 Apache Struts CVE-2017-5638 中发现了一个漏洞。但是,Equifax没有修补该漏洞。攻击者利用此漏洞获得了对Equifax网络的访问权限。从那里,他们获得了个人信息的宝库。

许多网站都基于非公司编写的网络框架。这是标准做法,因为从头开始构建所有必要的功能将是一项艰巨的任务。但是,高度依赖框架可能会使您面临漏洞。不要成为下一个Equifax。

如何防范易受攻击的组件

没有防止使用易受攻击的组件的灵丹妙药。但是,您可以使用一些策略和控制措施来降低使用漏洞组件危害系统的风险。

你需要知道你使用哪些组件以及每个组件的哪个版本来构建应用程序。依赖关系管理工具,例如 OWASP 的依赖关系检查 帮助你了解你正在使用哪些依赖关系。依赖关系检查还会告诉你这些组件中是否有任何一个公开披露的漏洞。

补丁管理方法也至关重要。发现漏洞后,应建立一个系统,以便补丁可以顺利下载、测试和发布到生产环境中。对软件进行补丁可防止攻击者利用数月之久的漏洞。

最后,制定管理开源和第三方组件使用的政策。开发人员不喜欢繁文寡断,这是可以理解的。但是,对于不是由您的组织编写的代码,必须有一个审查流程。它不一定是重量级的,但必须防止使用未知组件。至少,所用组件的清单必须保持最新状态。

不要被第三方错误咬伤

组件将存在漏洞。您的业务应用程序将使用来自供应商或开源库的组件。这并不意味着您的组织需要容易受到攻击。

尽管攻击者知道你同时存在哪些漏洞,但补丁通常与公开公告同时发布。因此,请务必对您的应用程序正在使用什么进行自我教育。知道什么是脆弱的。为您的组件打补丁!

准备好发现(并击败)一些易受攻击的组件了吗?前往竞技场参与战斗: [从这里开始]

查看资源
查看资源

由于所有应用程序都使用组件,其中大部分是您尚未编写的,因此您使用的组件中的漏洞可能会成为负担。让我们讨论使用具有已知漏洞的组件意味着什么,它有多危险,以及如何解决这个问题。

对更多感兴趣?

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

了解更多

Secure Code Warrior可帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全置于首位的文化。无论您是应用安全经理、开发人员、首席信息安全官还是任何与安全相关的人员,我们都能帮助您的组织降低与不安全代码相关的风险。

预约演示
分享到:
领英品牌社交x 标志
作者
Jaap Karan Singh
2019年4月25日发布

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

分享到:
领英品牌社交x 标志

所有应用程序都有一件事是什么?组件,也称为依赖项或库。世界上很少有在某个时间点不依赖于其他代码的代码。从创建应用程序之时起,你甚至会从大量依赖关系开始!

由于所有应用程序都使用组件,其中大部分是您尚未编写的,因此您使用的组件中的漏洞可能会成为负担。让我们讨论使用具有已知漏洞的组件意味着什么,它有多危险,以及如何解决这个问题。

了解使用存在已知漏洞的组件

所有复杂的软件都有漏洞。这就是野兽的本质。因此,您的组件永远不会 100% 安全。但是,当在组件中发现漏洞时,你知道吗?你准备好了吗?

当组件的使用寿命超过其使用寿命或发现漏洞之后,问题最常出现。大多数组件和库会在漏洞发布的同时或之前发布针对安全漏洞的补丁。因此,当发现并公布组件中的漏洞时,尽快更新组件至关重要。不要将易受攻击的软件留在生产环境中。

组件可以来自多个来源。有时,您会购买直接与您的自定义代码集成的第三方供应商产品。这些组件成为您的代码的一部分,并以相同的权限级别运行。另一个来源是托管在 GitHub 等网站上的开源项目。开源可能很危险,因为并非所有的开源库都经过仔细的审查或漏洞审计。

攻击者利用组件漏洞信息来发挥自己的优势。由于漏洞是公开宣布的,因此攻击者知道漏洞的时间与您相同。攻击者还可以使用技巧来找出你正在使用哪些组件。一旦他们知道了这些信息,他们就会知道如果没有修补你的应用程序,如何攻击它。

知道为什么易受攻击的组件很危险

如果你正在寻找证据,证明使用具有已知漏洞的组件有多危险,那么 2017 年的 Equifax 漏洞就是你的最佳选择。

2017 年 7 月, Equifax美国信贷机构发现了一起大规模的数据泄露事件,泄露了超过1.47亿人的个人身份信息。这次数据泄露的范围和影响是前所未有的。最近,有消息传出 Equifax 松懈的安全措施

这些松懈的做法之一是补丁管理。Equifax 没有良好的补丁管理规范,这意味着他们的组件在很长一段时间内不会被修补。 这是违规行为的直接原因

Equifax 的网站使用了 Apache Struts 网络框架。在攻击者入侵网络前几个月,在 Struts 框架 Apache Struts CVE-2017-5638 中发现了一个漏洞。但是,Equifax没有修补该漏洞。攻击者利用此漏洞获得了对Equifax网络的访问权限。从那里,他们获得了个人信息的宝库。

许多网站都基于非公司编写的网络框架。这是标准做法,因为从头开始构建所有必要的功能将是一项艰巨的任务。但是,高度依赖框架可能会使您面临漏洞。不要成为下一个Equifax。

如何防范易受攻击的组件

没有防止使用易受攻击的组件的灵丹妙药。但是,您可以使用一些策略和控制措施来降低使用漏洞组件危害系统的风险。

你需要知道你使用哪些组件以及每个组件的哪个版本来构建应用程序。依赖关系管理工具,例如 OWASP 的依赖关系检查 帮助你了解你正在使用哪些依赖关系。依赖关系检查还会告诉你这些组件中是否有任何一个公开披露的漏洞。

补丁管理方法也至关重要。发现漏洞后,应建立一个系统,以便补丁可以顺利下载、测试和发布到生产环境中。对软件进行补丁可防止攻击者利用数月之久的漏洞。

最后,制定管理开源和第三方组件使用的政策。开发人员不喜欢繁文寡断,这是可以理解的。但是,对于不是由您的组织编写的代码,必须有一个审查流程。它不一定是重量级的,但必须防止使用未知组件。至少,所用组件的清单必须保持最新状态。

不要被第三方错误咬伤

组件将存在漏洞。您的业务应用程序将使用来自供应商或开源库的组件。这并不意味着您的组织需要容易受到攻击。

尽管攻击者知道你同时存在哪些漏洞,但补丁通常与公开公告同时发布。因此,请务必对您的应用程序正在使用什么进行自我教育。知道什么是脆弱的。为您的组件打补丁!

准备好发现(并击败)一些易受攻击的组件了吗?前往竞技场参与战斗: [从这里开始]

查看资源
查看资源

填写下面的表格下载报告

我们希望获得您的许可,以便向您发送有关我们的产品和/或相关安全编码主题的信息。我们将始终非常谨慎地对待您的个人信息,绝不会出于营销目的将其出售给其他公司。

提交
scw 成功图标
SCW 错误图标
要提交表单,请启用“分析”Cookie。完成后,可以随意再次禁用它们。

所有应用程序都有一件事是什么?组件,也称为依赖项或库。世界上很少有在某个时间点不依赖于其他代码的代码。从创建应用程序之时起,你甚至会从大量依赖关系开始!

由于所有应用程序都使用组件,其中大部分是您尚未编写的,因此您使用的组件中的漏洞可能会成为负担。让我们讨论使用具有已知漏洞的组件意味着什么,它有多危险,以及如何解决这个问题。

了解使用存在已知漏洞的组件

所有复杂的软件都有漏洞。这就是野兽的本质。因此,您的组件永远不会 100% 安全。但是,当在组件中发现漏洞时,你知道吗?你准备好了吗?

当组件的使用寿命超过其使用寿命或发现漏洞之后,问题最常出现。大多数组件和库会在漏洞发布的同时或之前发布针对安全漏洞的补丁。因此,当发现并公布组件中的漏洞时,尽快更新组件至关重要。不要将易受攻击的软件留在生产环境中。

组件可以来自多个来源。有时,您会购买直接与您的自定义代码集成的第三方供应商产品。这些组件成为您的代码的一部分,并以相同的权限级别运行。另一个来源是托管在 GitHub 等网站上的开源项目。开源可能很危险,因为并非所有的开源库都经过仔细的审查或漏洞审计。

攻击者利用组件漏洞信息来发挥自己的优势。由于漏洞是公开宣布的,因此攻击者知道漏洞的时间与您相同。攻击者还可以使用技巧来找出你正在使用哪些组件。一旦他们知道了这些信息,他们就会知道如果没有修补你的应用程序,如何攻击它。

知道为什么易受攻击的组件很危险

如果你正在寻找证据,证明使用具有已知漏洞的组件有多危险,那么 2017 年的 Equifax 漏洞就是你的最佳选择。

2017 年 7 月, Equifax美国信贷机构发现了一起大规模的数据泄露事件,泄露了超过1.47亿人的个人身份信息。这次数据泄露的范围和影响是前所未有的。最近,有消息传出 Equifax 松懈的安全措施

这些松懈的做法之一是补丁管理。Equifax 没有良好的补丁管理规范,这意味着他们的组件在很长一段时间内不会被修补。 这是违规行为的直接原因

Equifax 的网站使用了 Apache Struts 网络框架。在攻击者入侵网络前几个月,在 Struts 框架 Apache Struts CVE-2017-5638 中发现了一个漏洞。但是,Equifax没有修补该漏洞。攻击者利用此漏洞获得了对Equifax网络的访问权限。从那里,他们获得了个人信息的宝库。

许多网站都基于非公司编写的网络框架。这是标准做法,因为从头开始构建所有必要的功能将是一项艰巨的任务。但是,高度依赖框架可能会使您面临漏洞。不要成为下一个Equifax。

如何防范易受攻击的组件

没有防止使用易受攻击的组件的灵丹妙药。但是,您可以使用一些策略和控制措施来降低使用漏洞组件危害系统的风险。

你需要知道你使用哪些组件以及每个组件的哪个版本来构建应用程序。依赖关系管理工具,例如 OWASP 的依赖关系检查 帮助你了解你正在使用哪些依赖关系。依赖关系检查还会告诉你这些组件中是否有任何一个公开披露的漏洞。

补丁管理方法也至关重要。发现漏洞后,应建立一个系统,以便补丁可以顺利下载、测试和发布到生产环境中。对软件进行补丁可防止攻击者利用数月之久的漏洞。

最后,制定管理开源和第三方组件使用的政策。开发人员不喜欢繁文寡断,这是可以理解的。但是,对于不是由您的组织编写的代码,必须有一个审查流程。它不一定是重量级的,但必须防止使用未知组件。至少,所用组件的清单必须保持最新状态。

不要被第三方错误咬伤

组件将存在漏洞。您的业务应用程序将使用来自供应商或开源库的组件。这并不意味着您的组织需要容易受到攻击。

尽管攻击者知道你同时存在哪些漏洞,但补丁通常与公开公告同时发布。因此,请务必对您的应用程序正在使用什么进行自我教育。知道什么是脆弱的。为您的组件打补丁!

准备好发现(并击败)一些易受攻击的组件了吗?前往竞技场参与战斗: [从这里开始]

观看网络研讨会
开始吧
了解更多

点击下面的链接并下载此资源的PDF。

Secure Code Warrior可帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全置于首位的文化。无论您是应用安全经理、开发人员、首席信息安全官还是任何与安全相关的人员,我们都能帮助您的组织降低与不安全代码相关的风险。

查看报告预约演示
查看资源
分享到:
领英品牌社交x 标志
对更多感兴趣?

分享到:
领英品牌社交x 标志
作者
Jaap Karan Singh
2019年4月25日发布

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

分享到:
领英品牌社交x 标志

所有应用程序都有一件事是什么?组件,也称为依赖项或库。世界上很少有在某个时间点不依赖于其他代码的代码。从创建应用程序之时起,你甚至会从大量依赖关系开始!

由于所有应用程序都使用组件,其中大部分是您尚未编写的,因此您使用的组件中的漏洞可能会成为负担。让我们讨论使用具有已知漏洞的组件意味着什么,它有多危险,以及如何解决这个问题。

了解使用存在已知漏洞的组件

所有复杂的软件都有漏洞。这就是野兽的本质。因此,您的组件永远不会 100% 安全。但是,当在组件中发现漏洞时,你知道吗?你准备好了吗?

当组件的使用寿命超过其使用寿命或发现漏洞之后,问题最常出现。大多数组件和库会在漏洞发布的同时或之前发布针对安全漏洞的补丁。因此,当发现并公布组件中的漏洞时,尽快更新组件至关重要。不要将易受攻击的软件留在生产环境中。

组件可以来自多个来源。有时,您会购买直接与您的自定义代码集成的第三方供应商产品。这些组件成为您的代码的一部分,并以相同的权限级别运行。另一个来源是托管在 GitHub 等网站上的开源项目。开源可能很危险,因为并非所有的开源库都经过仔细的审查或漏洞审计。

攻击者利用组件漏洞信息来发挥自己的优势。由于漏洞是公开宣布的,因此攻击者知道漏洞的时间与您相同。攻击者还可以使用技巧来找出你正在使用哪些组件。一旦他们知道了这些信息,他们就会知道如果没有修补你的应用程序,如何攻击它。

知道为什么易受攻击的组件很危险

如果你正在寻找证据,证明使用具有已知漏洞的组件有多危险,那么 2017 年的 Equifax 漏洞就是你的最佳选择。

2017 年 7 月, Equifax美国信贷机构发现了一起大规模的数据泄露事件,泄露了超过1.47亿人的个人身份信息。这次数据泄露的范围和影响是前所未有的。最近,有消息传出 Equifax 松懈的安全措施

这些松懈的做法之一是补丁管理。Equifax 没有良好的补丁管理规范,这意味着他们的组件在很长一段时间内不会被修补。 这是违规行为的直接原因

Equifax 的网站使用了 Apache Struts 网络框架。在攻击者入侵网络前几个月,在 Struts 框架 Apache Struts CVE-2017-5638 中发现了一个漏洞。但是,Equifax没有修补该漏洞。攻击者利用此漏洞获得了对Equifax网络的访问权限。从那里,他们获得了个人信息的宝库。

许多网站都基于非公司编写的网络框架。这是标准做法,因为从头开始构建所有必要的功能将是一项艰巨的任务。但是,高度依赖框架可能会使您面临漏洞。不要成为下一个Equifax。

如何防范易受攻击的组件

没有防止使用易受攻击的组件的灵丹妙药。但是,您可以使用一些策略和控制措施来降低使用漏洞组件危害系统的风险。

你需要知道你使用哪些组件以及每个组件的哪个版本来构建应用程序。依赖关系管理工具,例如 OWASP 的依赖关系检查 帮助你了解你正在使用哪些依赖关系。依赖关系检查还会告诉你这些组件中是否有任何一个公开披露的漏洞。

补丁管理方法也至关重要。发现漏洞后,应建立一个系统,以便补丁可以顺利下载、测试和发布到生产环境中。对软件进行补丁可防止攻击者利用数月之久的漏洞。

最后,制定管理开源和第三方组件使用的政策。开发人员不喜欢繁文寡断,这是可以理解的。但是,对于不是由您的组织编写的代码,必须有一个审查流程。它不一定是重量级的,但必须防止使用未知组件。至少,所用组件的清单必须保持最新状态。

不要被第三方错误咬伤

组件将存在漏洞。您的业务应用程序将使用来自供应商或开源库的组件。这并不意味着您的组织需要容易受到攻击。

尽管攻击者知道你同时存在哪些漏洞,但补丁通常与公开公告同时发布。因此,请务必对您的应用程序正在使用什么进行自我教育。知道什么是脆弱的。为您的组件打补丁!

准备好发现(并击败)一些易受攻击的组件了吗?前往竞技场参与战斗: [从这里开始]

目录

下载PDF
查看资源
对更多感兴趣?

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

了解更多

Secure Code Warrior可帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全置于首位的文化。无论您是应用安全经理、开发人员、首席信息安全官还是任何与安全相关的人员,我们都能帮助您的组织降低与不安全代码相关的风险。

预约演示下载
分享到:
领英品牌社交x 标志
资源中心

帮助您入门的资源

更多帖子
资源中心

帮助您入门的资源

更多帖子