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

Programmierer erobern Sicherheitsinfrastruktur als Code-Serie: Deaktivierte Sicherheitsfunktionen

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

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

有一些方法可以缓解其中的一些症状,当精明的组织接受基础设施即代码(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游戏化安全挑战,以保持你所有的网络安全技能得到磨练和更新。

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

查看资源
查看资源

Angreifer versuchen immer zuerst, leicht ausnutzbare Sicherheitslücken zu finden, und können sogar ein Skript verwenden, um häufig auftretende Schwachstellen ausfindig zu machen. Es ist nicht unähnlich wie ein Dieb, der alle Autos auf einer Straße überprüft, um zu sehen, ob irgendwelche Türen unverschlossen sind, was viel einfacher ist, als ein Fenster einzuschlagen.

想了解更多吗?

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

了解更多

Secure Code Warrior 您的Secure Code Warrior 帮助您在整个软件开发周期中保障代码安全,并建立将网络安全置于首位的企业文化。无论您是应用安全经理、开发人员、首席信息安全官,还是其他从事安全工作的人员,我们都能协助您的企业降低不安全代码带来的风险。

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

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

马蒂亚斯是一名研究员和开发人员,拥有超过15年的软件安全实践经验。他曾为Fortify Software和他自己的公司Sensei Security等公司开发解决方案。在他的职业生涯中,马蒂亚斯领导了多个应用安全研究项目,并将其转化为商业产品,他拥有超过10项专利。当他离开办公桌时,Matias曾担任高级应用安全培训courses ,并定期在全球会议上发言,包括RSA会议、黑帽、DefCon、BSIMM、OWASP AppSec和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 您的Secure Code Warrior 帮助您在整个软件开发周期中保障代码安全,并建立将网络安全置于首位的企业文化。无论您是应用安全经理、开发人员、首席信息安全官,还是其他从事安全工作的人员,我们都能协助您的企业降低不安全代码带来的风险。

查看报告预约演示
下载PDF文件
查看资源
分享到:
领英品牌社交x 标志
想了解更多吗?

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

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

马蒂亚斯是一名研究员和开发人员,拥有超过15年的软件安全实践经验。他曾为Fortify Software和他自己的公司Sensei Security等公司开发解决方案。在他的职业生涯中,马蒂亚斯领导了多个应用安全研究项目,并将其转化为商业产品,他拥有超过10项专利。当他离开办公桌时,Matias曾担任高级应用安全培训courses ,并定期在全球会议上发言,包括RSA会议、黑帽、DefCon、BSIMM、OWASP AppSec和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文件
查看资源
想了解更多吗?

Matias Madou, Ph.D.是一位安全专家、研究员和CTO,也是Secure Code Warrior 的联合创始人。Matias在根特大学获得了应用安全的博士学位,主要研究静态分析解决方案。后来他加入了美国的Fortify公司,在那里他意识到,仅仅检测代码问题而不帮助开发人员编写安全代码是不够的。这激发了他开发产品的热情,帮助开发人员,减轻安全的负担,并超越客户的期望。当他不在办公桌前作为Awesome团队的一员时,他喜欢站在舞台上,在包括RSA会议、BlackHat和DefCon等会议上发表演讲。

了解更多

Secure Code Warrior 您的Secure Code Warrior 帮助您在整个软件开发周期中保障代码安全,并建立将网络安全置于首位的企业文化。无论您是应用安全经理、开发人员、首席信息安全官,还是其他从事安全工作的人员,我们都能协助您的企业降低不安全代码带来的风险。

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

入门资源

更多文章
资源中心

入门资源

更多文章