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

程序员征服安全基础设施的代码系列:被禁用的安全功能

马蒂亚斯·马杜博士
出版日期: 2020 年 5 月 04 日
最后更新于 2026年3月10日

如今,对网络安全的威胁是无处不在和无情的。随着我们生活的更多方面被数字化,网络犯罪分子的赌注就越大--有太多的代码需要保持安全,而私人数据又太宝贵。而且,在程序部署后,试图跟上并防御攻击面的每一个方面,已经变得几乎不可能。

有一些方法可以缓解其中的一些症状,当精明的组织接受基础设施即代码(IaC)的概念时,其中一种方法就很明显了。当然,与任何开发一样,也有一些安全隐患需要克服。而且,由于开发人员正在开发产生重要基础设施的代码,以托管应用程序,因此安全意识在这个过程的每个阶段都是至关重要的。

那么,一个刚进入云服务器环境的开发者究竟该如何提高技能,学习绳索,并以更高的安全意识接近构建?我们创建了下一个Coders Conquer Security系列,以解决常见的IaC漏洞,接下来的几篇博客将重点介绍你--开发者--可以采取的步骤,开始在你自己的组织中部署安全的基础设施即代码。

让我们开始吧。

美国旧西部有一则寓言,说的是一个人偏执地认为土匪会袭击和抢劫他的家园。为了补偿,他投资了各种安全设施,如安装一个特别坚固的前门,用木板封住所有的窗户,并在方便的地方放了很多枪。有一天晚上,他在睡觉时还是被抢劫了,因为他忘了锁侧门。匪徒们只是发现了残缺的安全设施,并迅速利用了这一情况。

在你的基础设施中禁用安全功能就很像这样。即使你的网络有一个强大的安全基础设施,如果元素被禁用,它也没有什么好处。

在我们深入讨论之前,让我提出一个挑战。

访问上面的链接,你会被带到我们的游戏化培训平台,在那里你可以尝试打败一个被禁用的安全功能漏洞。(注意。它将在Kubernetes中打开,但使用下拉菜单,你可以从Docker、CloudFormation、Terraform和Ansible中选择)。)

你做得怎么样?如果你仍有一些工作要做,请继续阅读。

安全功能可以由于各种原因被禁用。对于一些应用程序和框架,它们可能被默认禁用,必须首先打开才能开始运行。也有可能是管理员禁用了特定的安全功能,以便更容易地执行某些任务而不被不断挑战或阻止,(例如,使AWS S3桶公开)。在他们的工作完成后,他们可能会忘记重新激活这些禁用的功能。他们也可能倾向于让它们处于关闭状态,以使他们将来的工作更容易。

为什么禁用的安全功能如此危险

有一个或多个禁用的安全功能是不好的,原因有几个。其一,安全功能被投入到基础设施资源中,以保护其免受已知的攻击、威胁或漏洞。如果它被禁用,那么它将无法保护你的资源。

攻击者总是试图首先找到容易利用的漏洞,甚至可能使用脚本来运行常见的弱点。这与小偷检查一条街上的所有汽车,看是否有车门没有上锁并不一样,这比砸窗容易得多。黑客可能会惊讶地发现,一个常见的安全防御是不活跃的。但当这种情况发生时,他们不会花很长时间来利用它。

其次,拥有良好的安全设施,然后禁用,会产生一种虚假的安全感。如果管理员不知道有人禁用了这些防御措施,他们可能会认为自己受到了保护,免受普通威胁。

作为一个攻击者如何利用被禁用的安全功能的例子,请考虑AWS S3的阻止公共访问的安全功能。通过Amazon S3阻止公共访问,账户管理员和桶主可以很容易地设置集中控制,以限制公众对其Amazon S3资源的访问。然而,一些管理员在访问S3桶时遇到问题,为了尽快完成任务,决定将其公开。如果他们忘记启用该安全功能,攻击者就可以完全访问存储在该S3桶中的信息,不仅造成信息泄露,而且由于数据传输费用而产生额外费用。

让我们比较一些真实世界的代码;看看这些CloudFormation的片段。

脆弱的。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: false
BlockPublicPolicy: false
IgnorePublicAcls: false
RestrictPublicBuckets: false
VersioningConfiguration:
Status:已启用
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

安全。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

防止禁用安全功能

阻止被禁用的安全功能对你的组织造成负面影响,既是一个政策问题,也是一个实践问题。应该有一个坚定的政策,规定只有在非常特殊的情况下才可以禁用安全功能。应该记录那些必须暂时禁用功能以解决问题或更新应用程序的事件。在所需的工作完成后,应检查这些功能,以确保它们已被完全重新激活。

如果为了简化操作而必须永久禁用某项安全功能,就应该为受影响的数据提供其他保护措施,以确保黑客在没有默认保护的情况下无法访问这些数据。如果一个需要的保护功能被禁用,那么攻击者找到那扇未锁的门并利用这种情况只是时间问题。

了解更多,挑战自己。

请查看 Secure Code Warrior博客页面,了解有关这一漏洞的更多见解,以及如何保护你的组织和你的客户免受其他安全缺陷和漏洞的蹂躏。

准备好找到并修复这个漏洞了吗?是时候在Secure Code Warrior 平台上尝试IaC游戏化安全挑战,以保持你所有的网络安全技能得到磨练和更新。

这是一个每周一次的系列报道,涵盖了我们最重要的八个基础设施即代码的漏洞;请在下周查看更多内容。

显示资源
显示资源

攻击者总是试图首先发现容易被利用的漏洞,但有时也会使用脚本来突破常见的弱点。这与小偷检查路上所有车辆是否车门未锁毫无二致——比起砸碎车窗,这种方式要简单得多。

您还有兴趣吗?

马蒂亚斯·马杜博士是安全专家、研究员、首席技术官,以及安全代码战士的联合创始人。马蒂亚斯在根特大学以静态分析解决方案为核心,获得了应用安全领域的博士学位。此后他加入美国Fortify公司,并意识到仅检测代码问题而未协助开发者编写安全代码是远远不够的。这一认知促使他致力于开发能帮助开发者减轻安全负担、超越客户期望的产品。作为Team Awesome成员,当他不在办公桌前时,最享受在RSA大会、BlackHat、DefCon等技术会议上登台演讲的时刻。

了解更多

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

预约演示
分享:
领英品牌社交x 标志
著者
马蒂亚斯·马杜博士
2020年5月4日发布

马蒂亚斯·马杜博士是安全专家、研究员、首席技术官,以及安全代码战士的联合创始人。马蒂亚斯在根特大学以静态分析解决方案为核心,获得了应用安全领域的博士学位。此后他加入美国Fortify公司,并意识到仅检测代码问题而未协助开发者编写安全代码是远远不够的。这一认知促使他致力于开发能帮助开发者减轻安全负担、超越客户期望的产品。作为Team Awesome成员,当他不在办公桌前时,最享受在RSA大会、BlackHat、DefCon等技术会议上登台演讲的时刻。

马蒂亚斯是一位拥有15年以上软件安全实践经验的研究员兼开发者。他曾为Fortify Software、其创立的Sensei Security等企业开发解决方案。在职业生涯中,马蒂亚斯主导了多个应用安全研究项目,这些项目最终转化为商用产品,并获得了10余项专利。在离开办公桌时,马蒂亚斯担任高级应用安全培训课程讲师,并定期在RSA大会、黑帽大会、DefCon、BSIMM、OWASP应用安全大会、BruCon等全球性会议上发表演讲。

马蒂亚斯在根特大学获得计算机工程博士学位,期间学习了通过程序混淆技术隐藏应用程序内部运作机制的应用程序安全技术。

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

如今,对网络安全的威胁是无处不在和无情的。随着我们生活的更多方面被数字化,网络犯罪分子的赌注就越大--有太多的代码需要保持安全,而私人数据又太宝贵。而且,在程序部署后,试图跟上并防御攻击面的每一个方面,已经变得几乎不可能。

有一些方法可以缓解其中的一些症状,当精明的组织接受基础设施即代码(IaC)的概念时,其中一种方法就很明显了。当然,与任何开发一样,也有一些安全隐患需要克服。而且,由于开发人员正在开发产生重要基础设施的代码,以托管应用程序,因此安全意识在这个过程的每个阶段都是至关重要的。

那么,一个刚进入云服务器环境的开发者究竟该如何提高技能,学习绳索,并以更高的安全意识接近构建?我们创建了下一个Coders Conquer Security系列,以解决常见的IaC漏洞,接下来的几篇博客将重点介绍你--开发者--可以采取的步骤,开始在你自己的组织中部署安全的基础设施即代码。

让我们开始吧。

美国旧西部有一则寓言,说的是一个人偏执地认为土匪会袭击和抢劫他的家园。为了补偿,他投资了各种安全设施,如安装一个特别坚固的前门,用木板封住所有的窗户,并在方便的地方放了很多枪。有一天晚上,他在睡觉时还是被抢劫了,因为他忘了锁侧门。匪徒们只是发现了残缺的安全设施,并迅速利用了这一情况。

在你的基础设施中禁用安全功能就很像这样。即使你的网络有一个强大的安全基础设施,如果元素被禁用,它也没有什么好处。

在我们深入讨论之前,让我提出一个挑战。

访问上面的链接,你会被带到我们的游戏化培训平台,在那里你可以尝试打败一个被禁用的安全功能漏洞。(注意。它将在Kubernetes中打开,但使用下拉菜单,你可以从Docker、CloudFormation、Terraform和Ansible中选择)。)

你做得怎么样?如果你仍有一些工作要做,请继续阅读。

安全功能可以由于各种原因被禁用。对于一些应用程序和框架,它们可能被默认禁用,必须首先打开才能开始运行。也有可能是管理员禁用了特定的安全功能,以便更容易地执行某些任务而不被不断挑战或阻止,(例如,使AWS S3桶公开)。在他们的工作完成后,他们可能会忘记重新激活这些禁用的功能。他们也可能倾向于让它们处于关闭状态,以使他们将来的工作更容易。

为什么禁用的安全功能如此危险

有一个或多个禁用的安全功能是不好的,原因有几个。其一,安全功能被投入到基础设施资源中,以保护其免受已知的攻击、威胁或漏洞。如果它被禁用,那么它将无法保护你的资源。

攻击者总是试图首先找到容易利用的漏洞,甚至可能使用脚本来运行常见的弱点。这与小偷检查一条街上的所有汽车,看是否有车门没有上锁并不一样,这比砸窗容易得多。黑客可能会惊讶地发现,一个常见的安全防御是不活跃的。但当这种情况发生时,他们不会花很长时间来利用它。

其次,拥有良好的安全设施,然后禁用,会产生一种虚假的安全感。如果管理员不知道有人禁用了这些防御措施,他们可能会认为自己受到了保护,免受普通威胁。

作为一个攻击者如何利用被禁用的安全功能的例子,请考虑AWS S3的阻止公共访问的安全功能。通过Amazon S3阻止公共访问,账户管理员和桶主可以很容易地设置集中控制,以限制公众对其Amazon S3资源的访问。然而,一些管理员在访问S3桶时遇到问题,为了尽快完成任务,决定将其公开。如果他们忘记启用该安全功能,攻击者就可以完全访问存储在该S3桶中的信息,不仅造成信息泄露,而且由于数据传输费用而产生额外费用。

让我们比较一些真实世界的代码;看看这些CloudFormation的片段。

脆弱的。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: false
BlockPublicPolicy: false
IgnorePublicAcls: false
RestrictPublicBuckets: false
VersioningConfiguration:
Status:已启用
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

安全。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

防止禁用安全功能

阻止被禁用的安全功能对你的组织造成负面影响,既是一个政策问题,也是一个实践问题。应该有一个坚定的政策,规定只有在非常特殊的情况下才可以禁用安全功能。应该记录那些必须暂时禁用功能以解决问题或更新应用程序的事件。在所需的工作完成后,应检查这些功能,以确保它们已被完全重新激活。

如果为了简化操作而必须永久禁用某项安全功能,就应该为受影响的数据提供其他保护措施,以确保黑客在没有默认保护的情况下无法访问这些数据。如果一个需要的保护功能被禁用,那么攻击者找到那扇未锁的门并利用这种情况只是时间问题。

了解更多,挑战自己。

请查看 Secure Code Warrior博客页面,了解有关这一漏洞的更多见解,以及如何保护你的组织和你的客户免受其他安全缺陷和漏洞的蹂躏。

准备好找到并修复这个漏洞了吗?是时候在Secure Code Warrior 平台上尝试IaC游戏化安全挑战,以保持你所有的网络安全技能得到磨练和更新。

这是一个每周一次的系列报道,涵盖了我们最重要的八个基础设施即代码的漏洞;请在下周查看更多内容。

显示资源
显示资源

要下载报告,请填写以下表格。

恳请允许我们向您发送有关本公司产品及/或相关安全编码主题的信息。我们始终以高度谨慎的态度处理您的个人信息,绝不会出于营销目的将其出售给其他公司。

送信
scw 成功图标
SCW 错误图标
要提交表单,请启用“Analytics”Cookie。设置完成后,您可以再次将其禁用。

如今,对网络安全的威胁是无处不在和无情的。随着我们生活的更多方面被数字化,网络犯罪分子的赌注就越大--有太多的代码需要保持安全,而私人数据又太宝贵。而且,在程序部署后,试图跟上并防御攻击面的每一个方面,已经变得几乎不可能。

有一些方法可以缓解其中的一些症状,当精明的组织接受基础设施即代码(IaC)的概念时,其中一种方法就很明显了。当然,与任何开发一样,也有一些安全隐患需要克服。而且,由于开发人员正在开发产生重要基础设施的代码,以托管应用程序,因此安全意识在这个过程的每个阶段都是至关重要的。

那么,一个刚进入云服务器环境的开发者究竟该如何提高技能,学习绳索,并以更高的安全意识接近构建?我们创建了下一个Coders Conquer Security系列,以解决常见的IaC漏洞,接下来的几篇博客将重点介绍你--开发者--可以采取的步骤,开始在你自己的组织中部署安全的基础设施即代码。

让我们开始吧。

美国旧西部有一则寓言,说的是一个人偏执地认为土匪会袭击和抢劫他的家园。为了补偿,他投资了各种安全设施,如安装一个特别坚固的前门,用木板封住所有的窗户,并在方便的地方放了很多枪。有一天晚上,他在睡觉时还是被抢劫了,因为他忘了锁侧门。匪徒们只是发现了残缺的安全设施,并迅速利用了这一情况。

在你的基础设施中禁用安全功能就很像这样。即使你的网络有一个强大的安全基础设施,如果元素被禁用,它也没有什么好处。

在我们深入讨论之前,让我提出一个挑战。

访问上面的链接,你会被带到我们的游戏化培训平台,在那里你可以尝试打败一个被禁用的安全功能漏洞。(注意。它将在Kubernetes中打开,但使用下拉菜单,你可以从Docker、CloudFormation、Terraform和Ansible中选择)。)

你做得怎么样?如果你仍有一些工作要做,请继续阅读。

安全功能可以由于各种原因被禁用。对于一些应用程序和框架,它们可能被默认禁用,必须首先打开才能开始运行。也有可能是管理员禁用了特定的安全功能,以便更容易地执行某些任务而不被不断挑战或阻止,(例如,使AWS S3桶公开)。在他们的工作完成后,他们可能会忘记重新激活这些禁用的功能。他们也可能倾向于让它们处于关闭状态,以使他们将来的工作更容易。

为什么禁用的安全功能如此危险

有一个或多个禁用的安全功能是不好的,原因有几个。其一,安全功能被投入到基础设施资源中,以保护其免受已知的攻击、威胁或漏洞。如果它被禁用,那么它将无法保护你的资源。

攻击者总是试图首先找到容易利用的漏洞,甚至可能使用脚本来运行常见的弱点。这与小偷检查一条街上的所有汽车,看是否有车门没有上锁并不一样,这比砸窗容易得多。黑客可能会惊讶地发现,一个常见的安全防御是不活跃的。但当这种情况发生时,他们不会花很长时间来利用它。

其次,拥有良好的安全设施,然后禁用,会产生一种虚假的安全感。如果管理员不知道有人禁用了这些防御措施,他们可能会认为自己受到了保护,免受普通威胁。

作为一个攻击者如何利用被禁用的安全功能的例子,请考虑AWS S3的阻止公共访问的安全功能。通过Amazon S3阻止公共访问,账户管理员和桶主可以很容易地设置集中控制,以限制公众对其Amazon S3资源的访问。然而,一些管理员在访问S3桶时遇到问题,为了尽快完成任务,决定将其公开。如果他们忘记启用该安全功能,攻击者就可以完全访问存储在该S3桶中的信息,不仅造成信息泄露,而且由于数据传输费用而产生额外费用。

让我们比较一些真实世界的代码;看看这些CloudFormation的片段。

脆弱的。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: false
BlockPublicPolicy: false
IgnorePublicAcls: false
RestrictPublicBuckets: false
VersioningConfiguration:
Status:已启用
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

安全。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

防止禁用安全功能

阻止被禁用的安全功能对你的组织造成负面影响,既是一个政策问题,也是一个实践问题。应该有一个坚定的政策,规定只有在非常特殊的情况下才可以禁用安全功能。应该记录那些必须暂时禁用功能以解决问题或更新应用程序的事件。在所需的工作完成后,应检查这些功能,以确保它们已被完全重新激活。

如果为了简化操作而必须永久禁用某项安全功能,就应该为受影响的数据提供其他保护措施,以确保黑客在没有默认保护的情况下无法访问这些数据。如果一个需要的保护功能被禁用,那么攻击者找到那扇未锁的门并利用这种情况只是时间问题。

了解更多,挑战自己。

请查看 Secure Code Warrior博客页面,了解有关这一漏洞的更多见解,以及如何保护你的组织和你的客户免受其他安全缺陷和漏洞的蹂躏。

准备好找到并修复这个漏洞了吗?是时候在Secure Code Warrior 平台上尝试IaC游戏化安全挑战,以保持你所有的网络安全技能得到磨练和更新。

这是一个每周一次的系列报道,涵盖了我们最重要的八个基础设施即代码的漏洞;请在下周查看更多内容。

观看在线研讨会
开始吧
了解更多

请点击以下链接下载此资源的PDF文件。

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

显示报告预约演示
下载PDF文件
显示资源
分享:
领英品牌社交x 标志
您还有兴趣吗?

分享:
领英品牌社交x 标志
著者
马蒂亚斯·马杜博士
2020年5月4日发布

马蒂亚斯·马杜博士是安全专家、研究员、首席技术官,以及安全代码战士的联合创始人。马蒂亚斯在根特大学以静态分析解决方案为核心,获得了应用安全领域的博士学位。此后他加入美国Fortify公司,并意识到仅检测代码问题而未协助开发者编写安全代码是远远不够的。这一认知促使他致力于开发能帮助开发者减轻安全负担、超越客户期望的产品。作为Team Awesome成员,当他不在办公桌前时,最享受在RSA大会、BlackHat、DefCon等技术会议上登台演讲的时刻。

马蒂亚斯是一位拥有15年以上软件安全实践经验的研究员兼开发者。他曾为Fortify Software、其创立的Sensei Security等企业开发解决方案。在职业生涯中,马蒂亚斯主导了多个应用安全研究项目,这些项目最终转化为商用产品,并获得了10余项专利。在离开办公桌时,马蒂亚斯担任高级应用安全培训课程讲师,并定期在RSA大会、黑帽大会、DefCon、BSIMM、OWASP应用安全大会、BruCon等全球性会议上发表演讲。

马蒂亚斯在根特大学获得计算机工程博士学位,期间学习了通过程序混淆技术隐藏应用程序内部运作机制的应用程序安全技术。

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

如今,对网络安全的威胁是无处不在和无情的。随着我们生活的更多方面被数字化,网络犯罪分子的赌注就越大--有太多的代码需要保持安全,而私人数据又太宝贵。而且,在程序部署后,试图跟上并防御攻击面的每一个方面,已经变得几乎不可能。

有一些方法可以缓解其中的一些症状,当精明的组织接受基础设施即代码(IaC)的概念时,其中一种方法就很明显了。当然,与任何开发一样,也有一些安全隐患需要克服。而且,由于开发人员正在开发产生重要基础设施的代码,以托管应用程序,因此安全意识在这个过程的每个阶段都是至关重要的。

那么,一个刚进入云服务器环境的开发者究竟该如何提高技能,学习绳索,并以更高的安全意识接近构建?我们创建了下一个Coders Conquer Security系列,以解决常见的IaC漏洞,接下来的几篇博客将重点介绍你--开发者--可以采取的步骤,开始在你自己的组织中部署安全的基础设施即代码。

让我们开始吧。

美国旧西部有一则寓言,说的是一个人偏执地认为土匪会袭击和抢劫他的家园。为了补偿,他投资了各种安全设施,如安装一个特别坚固的前门,用木板封住所有的窗户,并在方便的地方放了很多枪。有一天晚上,他在睡觉时还是被抢劫了,因为他忘了锁侧门。匪徒们只是发现了残缺的安全设施,并迅速利用了这一情况。

在你的基础设施中禁用安全功能就很像这样。即使你的网络有一个强大的安全基础设施,如果元素被禁用,它也没有什么好处。

在我们深入讨论之前,让我提出一个挑战。

访问上面的链接,你会被带到我们的游戏化培训平台,在那里你可以尝试打败一个被禁用的安全功能漏洞。(注意。它将在Kubernetes中打开,但使用下拉菜单,你可以从Docker、CloudFormation、Terraform和Ansible中选择)。)

你做得怎么样?如果你仍有一些工作要做,请继续阅读。

安全功能可以由于各种原因被禁用。对于一些应用程序和框架,它们可能被默认禁用,必须首先打开才能开始运行。也有可能是管理员禁用了特定的安全功能,以便更容易地执行某些任务而不被不断挑战或阻止,(例如,使AWS S3桶公开)。在他们的工作完成后,他们可能会忘记重新激活这些禁用的功能。他们也可能倾向于让它们处于关闭状态,以使他们将来的工作更容易。

为什么禁用的安全功能如此危险

有一个或多个禁用的安全功能是不好的,原因有几个。其一,安全功能被投入到基础设施资源中,以保护其免受已知的攻击、威胁或漏洞。如果它被禁用,那么它将无法保护你的资源。

攻击者总是试图首先找到容易利用的漏洞,甚至可能使用脚本来运行常见的弱点。这与小偷检查一条街上的所有汽车,看是否有车门没有上锁并不一样,这比砸窗容易得多。黑客可能会惊讶地发现,一个常见的安全防御是不活跃的。但当这种情况发生时,他们不会花很长时间来利用它。

其次,拥有良好的安全设施,然后禁用,会产生一种虚假的安全感。如果管理员不知道有人禁用了这些防御措施,他们可能会认为自己受到了保护,免受普通威胁。

作为一个攻击者如何利用被禁用的安全功能的例子,请考虑AWS S3的阻止公共访问的安全功能。通过Amazon S3阻止公共访问,账户管理员和桶主可以很容易地设置集中控制,以限制公众对其Amazon S3资源的访问。然而,一些管理员在访问S3桶时遇到问题,为了尽快完成任务,决定将其公开。如果他们忘记启用该安全功能,攻击者就可以完全访问存储在该S3桶中的信息,不仅造成信息泄露,而且由于数据传输费用而产生额外费用。

让我们比较一些真实世界的代码;看看这些CloudFormation的片段。

脆弱的。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: false
BlockPublicPolicy: false
IgnorePublicAcls: false
RestrictPublicBuckets: false
VersioningConfiguration:
Status:已启用
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

安全。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

防止禁用安全功能

阻止被禁用的安全功能对你的组织造成负面影响,既是一个政策问题,也是一个实践问题。应该有一个坚定的政策,规定只有在非常特殊的情况下才可以禁用安全功能。应该记录那些必须暂时禁用功能以解决问题或更新应用程序的事件。在所需的工作完成后,应检查这些功能,以确保它们已被完全重新激活。

如果为了简化操作而必须永久禁用某项安全功能,就应该为受影响的数据提供其他保护措施,以确保黑客在没有默认保护的情况下无法访问这些数据。如果一个需要的保护功能被禁用,那么攻击者找到那扇未锁的门并利用这种情况只是时间问题。

了解更多,挑战自己。

请查看 Secure Code Warrior博客页面,了解有关这一漏洞的更多见解,以及如何保护你的组织和你的客户免受其他安全缺陷和漏洞的蹂躏。

准备好找到并修复这个漏洞了吗?是时候在Secure Code Warrior 平台上尝试IaC游戏化安全挑战,以保持你所有的网络安全技能得到磨练和更新。

这是一个每周一次的系列报道,涵盖了我们最重要的八个基础设施即代码的漏洞;请在下周查看更多内容。

目录

下载PDF文件
显示资源
您还有兴趣吗?

马蒂亚斯·马杜博士是安全专家、研究员、首席技术官,以及安全代码战士的联合创始人。马蒂亚斯在根特大学以静态分析解决方案为核心,获得了应用安全领域的博士学位。此后他加入美国Fortify公司,并意识到仅检测代码问题而未协助开发者编写安全代码是远远不够的。这一认知促使他致力于开发能帮助开发者减轻安全负担、超越客户期望的产品。作为Team Awesome成员,当他不在办公桌前时,最享受在RSA大会、BlackHat、DefCon等技术会议上登台演讲的时刻。

了解更多

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

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

开始所需的资源

其他投稿
资源中心

开始所需的资源

其他投稿