
程序员以代码的形式征服安全基础架构系列:缺少功能级别访问控制
现在是我们的 “基础设施即代码” 系列的下一期的时候了,这些博客将带领像您这样的开发人员在自己的组织中部署安全基础架构时提高到一个全新的安全意识水平。
哦,顺便说一句... 你对前一篇博客中的安全配置错误挑战的表现如何?如果你想立即解决缺失的功能级别访问控制漏洞,请前往该平台:
(上面的链接将带你进入Kubernetes挑战赛,但进入平台后,也可以使用下拉菜单从Ansible、CloudFormation、Terraform或Docker中进行选择。你的选择。)
当今部署的几乎每个应用程序都有某种访问控制机制,该机制可以检查用户是否有权执行所请求的功能。在创建应用程序时,它几乎是良好安全性和功能性的基石。实际上,所有 Web 应用程序都需要访问控制才能允许具有不同权限的用户使用该程序。
但是,当没有在基础架构级别执行相同的访问控制验证功能或配置错误时,可能会出现问题。如果基础设施级别的访问控制不完善,整个企业就会向黑客敞开大门,黑客可以利用该漏洞作为进行未经授权的窥探或全面攻击的门户。
实际上,利用缺失或配置错误的功能访问控制漏洞非常容易。攻击者甚至不需要过于熟练。他们只需要知道哪些命令在支持应用程序的框架内执行功能。如果他们这样做了,那只是反复试验的问题。他们可以持续提交不应允许的请求,一旦成功,目标网站、应用程序、服务器甚至整个网络都可能被暴露。
缺失的功能级别访问控制漏洞如何运作?
职能级别访问控制可以通过多种方式渗透到组织中。例如,功能级别的访问权限可以留给应用程序,而不由底层基础设施进行验证。或者,基础设施级别的访问控制可能配置不正确。在某些情况下,管理员假设未经授权的用户不知道如何获得只有更高级别的用户才能看到的基础架构资源,并使用很少起作用的 “隐蔽安全” 模型。
举一个通过隐蔽性实现安全的示例,以下 URL 可能容易受到攻击:
http://companywebsite.com/app/NormalUserHomepage
如果经过身份验证的用户使用一种名为 “强制 URL 浏览” 的技术,他们可能会尝试访问仅向管理员显示的页面。一个例子可能是:
http://companywebsite.com/app/AdminPages
如果不存在服务器端验证,他们将只显示管理页面(如果其名称与请求相符),然后就可以访问管理员在新页面上执行的任何其他功能。如果服务器向攻击者返回 “页面未找到” 错误,他们可以继续尝试,直到找出管理页面的名称。
对于攻击者来说,利用 缺少功能级别访问控制 是一个类似的过程。他们不是尝试浏览未经授权的页面,而是发送函数请求。例如,他们可能会尝试创建一个具有管理员权限的新用户。因此,根据框架的不同,他们的请求看起来像这样:
帖子/操作/创建用户名=hacker&pw=密码&角色=管理员
如果不存在功能级别的访问控制,则上面的示例将成功创建新的管理员帐户。一旦攻击者以新管理员身份重新登录,他们将拥有与该网络或服务器上的任何其他管理员相同的访问权限和权限。
修复缺少功能级别访问控制的问题
由于攻击者很容易利用缺失的功能级别访问控制漏洞,因此发现、修复和预防这些漏洞至关重要。值得庆幸的是,有了一些专业知识和基本的基础设施,这并不难 代码安全培训。
主要的保护措施将来自于在基础架构级别实现基于角色的授权。永远不要相信应用程序可以处理该功能。即使他们这样做了,获得基础设施方面的授权也能确保不会遗漏任何东西。理想情况下,授权应来自一个集中位置(例如 AWS IAM、Azure IAM 等),该位置内置于组织的例程中并应用于每个新应用程序。这些授权过程可以来自框架本身,也可以来自任意数量的易于使用的外部模块。
最后,您的组织应采用最低权限的概念。默认情况下,所有操作和功能都应被拒绝,授权过程用于授予有效用户执行所需操作的权限。他们只应获得足够的权限来执行所需的功能,并且只能在需要的时间内有效。
缺少功能级别访问控制可能会造成灾难性的后果。但值得庆幸的是,通过在组织中建立良好的基础架构级授权实践,您可以轻松防止此问题发生。
认为你已经准备好在野外发现访问控制错误了吗?比较这些 Docker 代码片段;一个易受攻击,一个安全:
Vulnérable :
来自 quay.io/prometheus/busybox: latest
ARG 版本=0.12.1
ARG 文件名=mysqld_exporter-$ {VERSION} .linux-amd64
ARG URL = https://github.com/prometheus/mysqld_exporter/releases/download/v
运行 wget $url$version/$filename.tar.gz &&\
tar-xvf $fileName.tar.gz &&\
mv $文件名/mysqld_exporter /bin/mysqld_exporter
复制 .my.cnf /home/.my.cnf
复制。/scripts/entrypoint.sh ~/entrypoint.sh
用户 root
暴露 9104
入口点 [“sh”,“~/entrypoint.sh”]
CMD [“/bin/mysqld_exporter”]
Sécurité :
来自 quay.io/prometheus/busybox: latest
ARG 版本=0.12.1
ARG 文件名=mysqld_exporter-$ {VERSION} .linux-amd64
ARG URL = https://github.com/prometheus/mysqld_exporter/releases/download/v
运行 wget $url$version/$filename.tar.gz &&\
tar-xvf $fileName.tar.gz &&\
mv $文件名/mysqld_exporter /bin/mysqld_exporter
复制 .my.cnf /home/.my.cnf
复制。/scripts/entrypoint.sh ~/entrypoint.sh
用户没人
暴露 9104
入口点 [“sh”,“~/entrypoint.sh”]
CMD [“/bin/mysqld_exporter”]
了解更多,挑战自我
Nous vous invitons à consulter la page du blog Security Code Warrior pour obtenir des informations détaillées sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients contre d'autres failles et vulnérabilités de sécurité.
如果你之前错过了,你可以 试试 iaC 游戏化安全挑战 在 Secure Code Warrior 平台上,让您的所有网络安全技能不断磨练并保持最新状态。
敬请关注下一章!


如果基础设施级别的访问控制不完善,它就会向攻击者开放整个企业,攻击者可以利用该漏洞作为未经授权的窥探或全面攻击的门户。
Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Secure Code Warrior peut aider votre organisation à sécuriser le code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, directeur de la sécurité de l'information ou tout autre professionnel concerné par la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez réserver une démonstration.Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.
Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.
Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.


现在是我们的 “基础设施即代码” 系列的下一期的时候了,这些博客将带领像您这样的开发人员在自己的组织中部署安全基础架构时提高到一个全新的安全意识水平。
哦,顺便说一句... 你对前一篇博客中的安全配置错误挑战的表现如何?如果你想立即解决缺失的功能级别访问控制漏洞,请前往该平台:
(上面的链接将带你进入Kubernetes挑战赛,但进入平台后,也可以使用下拉菜单从Ansible、CloudFormation、Terraform或Docker中进行选择。你的选择。)
当今部署的几乎每个应用程序都有某种访问控制机制,该机制可以检查用户是否有权执行所请求的功能。在创建应用程序时,它几乎是良好安全性和功能性的基石。实际上,所有 Web 应用程序都需要访问控制才能允许具有不同权限的用户使用该程序。
但是,当没有在基础架构级别执行相同的访问控制验证功能或配置错误时,可能会出现问题。如果基础设施级别的访问控制不完善,整个企业就会向黑客敞开大门,黑客可以利用该漏洞作为进行未经授权的窥探或全面攻击的门户。
实际上,利用缺失或配置错误的功能访问控制漏洞非常容易。攻击者甚至不需要过于熟练。他们只需要知道哪些命令在支持应用程序的框架内执行功能。如果他们这样做了,那只是反复试验的问题。他们可以持续提交不应允许的请求,一旦成功,目标网站、应用程序、服务器甚至整个网络都可能被暴露。
缺失的功能级别访问控制漏洞如何运作?
职能级别访问控制可以通过多种方式渗透到组织中。例如,功能级别的访问权限可以留给应用程序,而不由底层基础设施进行验证。或者,基础设施级别的访问控制可能配置不正确。在某些情况下,管理员假设未经授权的用户不知道如何获得只有更高级别的用户才能看到的基础架构资源,并使用很少起作用的 “隐蔽安全” 模型。
举一个通过隐蔽性实现安全的示例,以下 URL 可能容易受到攻击:
http://companywebsite.com/app/NormalUserHomepage
如果经过身份验证的用户使用一种名为 “强制 URL 浏览” 的技术,他们可能会尝试访问仅向管理员显示的页面。一个例子可能是:
http://companywebsite.com/app/AdminPages
如果不存在服务器端验证,他们将只显示管理页面(如果其名称与请求相符),然后就可以访问管理员在新页面上执行的任何其他功能。如果服务器向攻击者返回 “页面未找到” 错误,他们可以继续尝试,直到找出管理页面的名称。
对于攻击者来说,利用 缺少功能级别访问控制 是一个类似的过程。他们不是尝试浏览未经授权的页面,而是发送函数请求。例如,他们可能会尝试创建一个具有管理员权限的新用户。因此,根据框架的不同,他们的请求看起来像这样:
帖子/操作/创建用户名=hacker&pw=密码&角色=管理员
如果不存在功能级别的访问控制,则上面的示例将成功创建新的管理员帐户。一旦攻击者以新管理员身份重新登录,他们将拥有与该网络或服务器上的任何其他管理员相同的访问权限和权限。
修复缺少功能级别访问控制的问题
由于攻击者很容易利用缺失的功能级别访问控制漏洞,因此发现、修复和预防这些漏洞至关重要。值得庆幸的是,有了一些专业知识和基本的基础设施,这并不难 代码安全培训。
主要的保护措施将来自于在基础架构级别实现基于角色的授权。永远不要相信应用程序可以处理该功能。即使他们这样做了,获得基础设施方面的授权也能确保不会遗漏任何东西。理想情况下,授权应来自一个集中位置(例如 AWS IAM、Azure IAM 等),该位置内置于组织的例程中并应用于每个新应用程序。这些授权过程可以来自框架本身,也可以来自任意数量的易于使用的外部模块。
最后,您的组织应采用最低权限的概念。默认情况下,所有操作和功能都应被拒绝,授权过程用于授予有效用户执行所需操作的权限。他们只应获得足够的权限来执行所需的功能,并且只能在需要的时间内有效。
缺少功能级别访问控制可能会造成灾难性的后果。但值得庆幸的是,通过在组织中建立良好的基础架构级授权实践,您可以轻松防止此问题发生。
认为你已经准备好在野外发现访问控制错误了吗?比较这些 Docker 代码片段;一个易受攻击,一个安全:
Vulnérable :
来自 quay.io/prometheus/busybox: latest
ARG 版本=0.12.1
ARG 文件名=mysqld_exporter-$ {VERSION} .linux-amd64
ARG URL = https://github.com/prometheus/mysqld_exporter/releases/download/v
运行 wget $url$version/$filename.tar.gz &&\
tar-xvf $fileName.tar.gz &&\
mv $文件名/mysqld_exporter /bin/mysqld_exporter
复制 .my.cnf /home/.my.cnf
复制。/scripts/entrypoint.sh ~/entrypoint.sh
用户 root
暴露 9104
入口点 [“sh”,“~/entrypoint.sh”]
CMD [“/bin/mysqld_exporter”]
Sécurité :
来自 quay.io/prometheus/busybox: latest
ARG 版本=0.12.1
ARG 文件名=mysqld_exporter-$ {VERSION} .linux-amd64
ARG URL = https://github.com/prometheus/mysqld_exporter/releases/download/v
运行 wget $url$version/$filename.tar.gz &&\
tar-xvf $fileName.tar.gz &&\
mv $文件名/mysqld_exporter /bin/mysqld_exporter
复制 .my.cnf /home/.my.cnf
复制。/scripts/entrypoint.sh ~/entrypoint.sh
用户没人
暴露 9104
入口点 [“sh”,“~/entrypoint.sh”]
CMD [“/bin/mysqld_exporter”]
了解更多,挑战自我
Nous vous invitons à consulter la page du blog Security Code Warrior pour obtenir des informations détaillées sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients contre d'autres failles et vulnérabilités de sécurité.
如果你之前错过了,你可以 试试 iaC 游戏化安全挑战 在 Secure Code Warrior 平台上,让您的所有网络安全技能不断磨练并保持最新状态。
敬请关注下一章!

现在是我们的 “基础设施即代码” 系列的下一期的时候了,这些博客将带领像您这样的开发人员在自己的组织中部署安全基础架构时提高到一个全新的安全意识水平。
哦,顺便说一句... 你对前一篇博客中的安全配置错误挑战的表现如何?如果你想立即解决缺失的功能级别访问控制漏洞,请前往该平台:
(上面的链接将带你进入Kubernetes挑战赛,但进入平台后,也可以使用下拉菜单从Ansible、CloudFormation、Terraform或Docker中进行选择。你的选择。)
当今部署的几乎每个应用程序都有某种访问控制机制,该机制可以检查用户是否有权执行所请求的功能。在创建应用程序时,它几乎是良好安全性和功能性的基石。实际上,所有 Web 应用程序都需要访问控制才能允许具有不同权限的用户使用该程序。
但是,当没有在基础架构级别执行相同的访问控制验证功能或配置错误时,可能会出现问题。如果基础设施级别的访问控制不完善,整个企业就会向黑客敞开大门,黑客可以利用该漏洞作为进行未经授权的窥探或全面攻击的门户。
实际上,利用缺失或配置错误的功能访问控制漏洞非常容易。攻击者甚至不需要过于熟练。他们只需要知道哪些命令在支持应用程序的框架内执行功能。如果他们这样做了,那只是反复试验的问题。他们可以持续提交不应允许的请求,一旦成功,目标网站、应用程序、服务器甚至整个网络都可能被暴露。
缺失的功能级别访问控制漏洞如何运作?
职能级别访问控制可以通过多种方式渗透到组织中。例如,功能级别的访问权限可以留给应用程序,而不由底层基础设施进行验证。或者,基础设施级别的访问控制可能配置不正确。在某些情况下,管理员假设未经授权的用户不知道如何获得只有更高级别的用户才能看到的基础架构资源,并使用很少起作用的 “隐蔽安全” 模型。
举一个通过隐蔽性实现安全的示例,以下 URL 可能容易受到攻击:
http://companywebsite.com/app/NormalUserHomepage
如果经过身份验证的用户使用一种名为 “强制 URL 浏览” 的技术,他们可能会尝试访问仅向管理员显示的页面。一个例子可能是:
http://companywebsite.com/app/AdminPages
如果不存在服务器端验证,他们将只显示管理页面(如果其名称与请求相符),然后就可以访问管理员在新页面上执行的任何其他功能。如果服务器向攻击者返回 “页面未找到” 错误,他们可以继续尝试,直到找出管理页面的名称。
对于攻击者来说,利用 缺少功能级别访问控制 是一个类似的过程。他们不是尝试浏览未经授权的页面,而是发送函数请求。例如,他们可能会尝试创建一个具有管理员权限的新用户。因此,根据框架的不同,他们的请求看起来像这样:
帖子/操作/创建用户名=hacker&pw=密码&角色=管理员
如果不存在功能级别的访问控制,则上面的示例将成功创建新的管理员帐户。一旦攻击者以新管理员身份重新登录,他们将拥有与该网络或服务器上的任何其他管理员相同的访问权限和权限。
修复缺少功能级别访问控制的问题
由于攻击者很容易利用缺失的功能级别访问控制漏洞,因此发现、修复和预防这些漏洞至关重要。值得庆幸的是,有了一些专业知识和基本的基础设施,这并不难 代码安全培训。
主要的保护措施将来自于在基础架构级别实现基于角色的授权。永远不要相信应用程序可以处理该功能。即使他们这样做了,获得基础设施方面的授权也能确保不会遗漏任何东西。理想情况下,授权应来自一个集中位置(例如 AWS IAM、Azure IAM 等),该位置内置于组织的例程中并应用于每个新应用程序。这些授权过程可以来自框架本身,也可以来自任意数量的易于使用的外部模块。
最后,您的组织应采用最低权限的概念。默认情况下,所有操作和功能都应被拒绝,授权过程用于授予有效用户执行所需操作的权限。他们只应获得足够的权限来执行所需的功能,并且只能在需要的时间内有效。
缺少功能级别访问控制可能会造成灾难性的后果。但值得庆幸的是,通过在组织中建立良好的基础架构级授权实践,您可以轻松防止此问题发生。
认为你已经准备好在野外发现访问控制错误了吗?比较这些 Docker 代码片段;一个易受攻击,一个安全:
Vulnérable :
来自 quay.io/prometheus/busybox: latest
ARG 版本=0.12.1
ARG 文件名=mysqld_exporter-$ {VERSION} .linux-amd64
ARG URL = https://github.com/prometheus/mysqld_exporter/releases/download/v
运行 wget $url$version/$filename.tar.gz &&\
tar-xvf $fileName.tar.gz &&\
mv $文件名/mysqld_exporter /bin/mysqld_exporter
复制 .my.cnf /home/.my.cnf
复制。/scripts/entrypoint.sh ~/entrypoint.sh
用户 root
暴露 9104
入口点 [“sh”,“~/entrypoint.sh”]
CMD [“/bin/mysqld_exporter”]
Sécurité :
来自 quay.io/prometheus/busybox: latest
ARG 版本=0.12.1
ARG 文件名=mysqld_exporter-$ {VERSION} .linux-amd64
ARG URL = https://github.com/prometheus/mysqld_exporter/releases/download/v
运行 wget $url$version/$filename.tar.gz &&\
tar-xvf $fileName.tar.gz &&\
mv $文件名/mysqld_exporter /bin/mysqld_exporter
复制 .my.cnf /home/.my.cnf
复制。/scripts/entrypoint.sh ~/entrypoint.sh
用户没人
暴露 9104
入口点 [“sh”,“~/entrypoint.sh”]
CMD [“/bin/mysqld_exporter”]
了解更多,挑战自我
Nous vous invitons à consulter la page du blog Security Code Warrior pour obtenir des informations détaillées sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients contre d'autres failles et vulnérabilités de sécurité.
如果你之前错过了,你可以 试试 iaC 游戏化安全挑战 在 Secure Code Warrior 平台上,让您的所有网络安全技能不断磨练并保持最新状态。
敬请关注下一章!

Veuillez cliquer sur le lien ci-dessous pour télécharger le PDF de cette ressource.
Secure Code Warrior peut aider votre organisation à sécuriser le code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, directeur de la sécurité de l'information ou tout autre professionnel concerné par la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez consulter le rapport.Veuillez réserver une démonstration.Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.
Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.
Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.
现在是我们的 “基础设施即代码” 系列的下一期的时候了,这些博客将带领像您这样的开发人员在自己的组织中部署安全基础架构时提高到一个全新的安全意识水平。
哦,顺便说一句... 你对前一篇博客中的安全配置错误挑战的表现如何?如果你想立即解决缺失的功能级别访问控制漏洞,请前往该平台:
(上面的链接将带你进入Kubernetes挑战赛,但进入平台后,也可以使用下拉菜单从Ansible、CloudFormation、Terraform或Docker中进行选择。你的选择。)
当今部署的几乎每个应用程序都有某种访问控制机制,该机制可以检查用户是否有权执行所请求的功能。在创建应用程序时,它几乎是良好安全性和功能性的基石。实际上,所有 Web 应用程序都需要访问控制才能允许具有不同权限的用户使用该程序。
但是,当没有在基础架构级别执行相同的访问控制验证功能或配置错误时,可能会出现问题。如果基础设施级别的访问控制不完善,整个企业就会向黑客敞开大门,黑客可以利用该漏洞作为进行未经授权的窥探或全面攻击的门户。
实际上,利用缺失或配置错误的功能访问控制漏洞非常容易。攻击者甚至不需要过于熟练。他们只需要知道哪些命令在支持应用程序的框架内执行功能。如果他们这样做了,那只是反复试验的问题。他们可以持续提交不应允许的请求,一旦成功,目标网站、应用程序、服务器甚至整个网络都可能被暴露。
缺失的功能级别访问控制漏洞如何运作?
职能级别访问控制可以通过多种方式渗透到组织中。例如,功能级别的访问权限可以留给应用程序,而不由底层基础设施进行验证。或者,基础设施级别的访问控制可能配置不正确。在某些情况下,管理员假设未经授权的用户不知道如何获得只有更高级别的用户才能看到的基础架构资源,并使用很少起作用的 “隐蔽安全” 模型。
举一个通过隐蔽性实现安全的示例,以下 URL 可能容易受到攻击:
http://companywebsite.com/app/NormalUserHomepage
如果经过身份验证的用户使用一种名为 “强制 URL 浏览” 的技术,他们可能会尝试访问仅向管理员显示的页面。一个例子可能是:
http://companywebsite.com/app/AdminPages
如果不存在服务器端验证,他们将只显示管理页面(如果其名称与请求相符),然后就可以访问管理员在新页面上执行的任何其他功能。如果服务器向攻击者返回 “页面未找到” 错误,他们可以继续尝试,直到找出管理页面的名称。
对于攻击者来说,利用 缺少功能级别访问控制 是一个类似的过程。他们不是尝试浏览未经授权的页面,而是发送函数请求。例如,他们可能会尝试创建一个具有管理员权限的新用户。因此,根据框架的不同,他们的请求看起来像这样:
帖子/操作/创建用户名=hacker&pw=密码&角色=管理员
如果不存在功能级别的访问控制,则上面的示例将成功创建新的管理员帐户。一旦攻击者以新管理员身份重新登录,他们将拥有与该网络或服务器上的任何其他管理员相同的访问权限和权限。
修复缺少功能级别访问控制的问题
由于攻击者很容易利用缺失的功能级别访问控制漏洞,因此发现、修复和预防这些漏洞至关重要。值得庆幸的是,有了一些专业知识和基本的基础设施,这并不难 代码安全培训。
主要的保护措施将来自于在基础架构级别实现基于角色的授权。永远不要相信应用程序可以处理该功能。即使他们这样做了,获得基础设施方面的授权也能确保不会遗漏任何东西。理想情况下,授权应来自一个集中位置(例如 AWS IAM、Azure IAM 等),该位置内置于组织的例程中并应用于每个新应用程序。这些授权过程可以来自框架本身,也可以来自任意数量的易于使用的外部模块。
最后,您的组织应采用最低权限的概念。默认情况下,所有操作和功能都应被拒绝,授权过程用于授予有效用户执行所需操作的权限。他们只应获得足够的权限来执行所需的功能,并且只能在需要的时间内有效。
缺少功能级别访问控制可能会造成灾难性的后果。但值得庆幸的是,通过在组织中建立良好的基础架构级授权实践,您可以轻松防止此问题发生。
认为你已经准备好在野外发现访问控制错误了吗?比较这些 Docker 代码片段;一个易受攻击,一个安全:
Vulnérable :
来自 quay.io/prometheus/busybox: latest
ARG 版本=0.12.1
ARG 文件名=mysqld_exporter-$ {VERSION} .linux-amd64
ARG URL = https://github.com/prometheus/mysqld_exporter/releases/download/v
运行 wget $url$version/$filename.tar.gz &&\
tar-xvf $fileName.tar.gz &&\
mv $文件名/mysqld_exporter /bin/mysqld_exporter
复制 .my.cnf /home/.my.cnf
复制。/scripts/entrypoint.sh ~/entrypoint.sh
用户 root
暴露 9104
入口点 [“sh”,“~/entrypoint.sh”]
CMD [“/bin/mysqld_exporter”]
Sécurité :
来自 quay.io/prometheus/busybox: latest
ARG 版本=0.12.1
ARG 文件名=mysqld_exporter-$ {VERSION} .linux-amd64
ARG URL = https://github.com/prometheus/mysqld_exporter/releases/download/v
运行 wget $url$version/$filename.tar.gz &&\
tar-xvf $fileName.tar.gz &&\
mv $文件名/mysqld_exporter /bin/mysqld_exporter
复制 .my.cnf /home/.my.cnf
复制。/scripts/entrypoint.sh ~/entrypoint.sh
用户没人
暴露 9104
入口点 [“sh”,“~/entrypoint.sh”]
CMD [“/bin/mysqld_exporter”]
了解更多,挑战自我
Nous vous invitons à consulter la page du blog Security Code Warrior pour obtenir des informations détaillées sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients contre d'autres failles et vulnérabilités de sécurité.
如果你之前错过了,你可以 试试 iaC 游戏化安全挑战 在 Secure Code Warrior 平台上,让您的所有网络安全技能不断磨练并保持最新状态。
敬请关注下一章!
Table des matières
Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Secure Code Warrior peut aider votre organisation à sécuriser le code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, directeur de la sécurité de l'information ou tout autre professionnel concerné par la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez réserver une démonstration.TéléchargerRessources pour vous aider à démarrer
Formation sur les codes de sécurité : thèmes et contenu
Notre contenu de pointe évolue constamment pour s'adapter au paysage changeant du développement logiciel, tout en tenant compte de votre rôle. Les sujets abordés couvrent tout, de l'IA à l'injection XQuery, et s'adressent à divers postes, des architectes et ingénieurs aux chefs de produit et responsables de l'assurance qualité. Découvrez un aperçu par thème et par rôle de ce que notre catalogue de contenu a à offrir.
La Chambre de commerce établit la norme en matière de sécurité à grande échelle axée sur les développeurs
La Chambre de commerce néerlandaise explique comment elle a intégré le codage sécurisé dans le développement quotidien grâce à des certifications basées sur les rôles, à l'évaluation comparative du Trust Score et à une culture de responsabilité partagée en matière de sécurité.
Modélisation des menaces avec l'IA : transformer chaque développeur en modélisateur de menaces
Vous repartirez mieux équipé pour aider les développeurs à combiner les idées et les techniques de modélisation des menaces avec les outils d'IA qu'ils utilisent déjà pour renforcer la sécurité, améliorer la collaboration et créer des logiciels plus résilients dès le départ.
Ressources pour vous aider à démarrer
Cybermon est de retour : la mission AI pour vaincre le boss est désormais disponible sur demande.
Cybermon 2025 : la campagne « Vaincre le boss » est désormais disponible toute l'année dans SCW. La guerre de sécurité avancée de l'IA/LLM tribale, le renforcement de l'IA de sécurité à grande échelle.
Interprétation de la loi sur la résilience des réseaux : que signifie la sécurité par le biais de la conception et du développement de logiciels ?
Comprenez les exigences de la loi européenne sur la résilience des réseaux (CRA), à qui elle s'applique et comment les équipes d'ingénierie peuvent s'y préparer grâce à des pratiques de conception, à la prévention des vulnérabilités et au renforcement des capacités des développeurs.
Facteur déterminant 1 : des critères de réussite clairs et mesurables
Le catalyseur n° 1 constitue le premier volet de notre série en dix parties consacrée aux facteurs de réussite. Il démontre comment relier la sécurité du code aux résultats opérationnels, tels que la réduction des risques et l'accélération de la maturité des programmes à long terme.




%20(1).avif)
.avif)
