SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

程序员以代码的形式化服装安全基础架构系列:安全配置错误权限不正确

Matias Madou, Ph.D.
Veröffentlicht Jun 08, 2020
Zuletzt aktualisiert am 09. März 2026

如今,网络安全威胁无处不在,持续不断。情况变得如此糟糕,以至于在部署程序后试图跟上他们的步伐几乎是不可能的。取而代之的是,精明的组织正在接受基础设施即代码的概念,在这种概念中,开发人员在仍在创建安全的应用程序的同时为制作应用程序做出贡献。本系列旨在让您做好安全准备,这样您就可以了解作为开发人员可以采取的步骤,开始在自己的组织中以代码形式部署安全基础架构。

安全配置错误,尤其是权限不当的配置错误,通常发生在开发人员为完成任务而创建新用户或授予应用程序权限时。例如,可以这样做来从数据库收集信息。但是,如果将新用户的权限设置得过高,或者没有为手头的任务进行默认配置,则可能会在代码中引入严重漏洞。

在我们开始之前,为什么不现在就测试一下你的技能呢?尝试找到并修复一些不当权限漏洞:

你做得怎么样?让我们更深入地挖掘一下:

授予用户或应用程序完全权限,或者干脆不费心去定义新用户应该能够完成什么以及哪些行为受到限制,无疑是获得新代码的最快方法。如果一切顺利,应用程序将利用这些权限来完成其分配的任务。危险在于,黑客会发现这个过程,然后危及该用户。尽管创建用户是为了完成特定应用程序的特定功能,但如果遭到入侵,则可能允许攻击者危及其他应用程序、数据甚至网络。

如何利用安全配置错误?

为了直观地了解危险,让我们来看看在 Docker 云环境中有时是如何编码常见任务的。假设开发人员正在使用 Prometheus MySQL 导出器服务从数据库收集信息。允许这种情况发生的最简单方法是授予导出者访问数据库的权限。所以代码可能像这样:

来自 mysql: 最新
复制。/scripts/create_users.sh /docker-entrypoint-initdb.d/
用户 999
创建由 $EXPORTER_PASSWORD 标识的用户导出器@%;
将 ALL ON *.* 授予出口商@%;
在 performance_schema.* 上向导出者授予选择权@%;

这肯定会使出口商能够完成其任务。但是,由于未定义权限,因此导出器实际上几乎可以做任何事情。显然,出口商本身永远不会在其编程行为之外采取行动。但是,如果攻击者能够破坏导出器服务,会发生什么?在这种情况下,由于获得了完全权限,攻击者可以使用 SQL 服务执行各种未经授权的任务。

保护和消除不当权限

在这里,我们再次谈谈基础设施即代码的概念。如果你在创建应用程序时就将安全性编码到应用程序中,那么在网络安全方面,网络的整体基础总是会好得多。

在上面的 Docker 示例中,如果开发人员希望 Prometheus MySQL 导出器能够查询数据库,他们可以通过定义应该允许它完成的任务来更安全地做到这一点。一个很好的例子是:


来自 mysql: 最新
复制。/scripts/create_users.sh /docker-entrypoint-initdb.d/
用户 999
创建由 $EXPORTER_PASSWORD 标识的用户导出器@%;
授权进程,复制客户端开启*.* 给 exporter@%;
在 performance_schema.* 上向导出者授予选择权@%;

在这种情况下,为 Prometheus MySQL Exporter 服务配置的 MySQL 用户对 MySQL 服务仅具有有限的权限。具体而言,只允许使用 “进程” 和 “复制客户端” 权限。这将防止恶意用户利用受损的 Prometheus MySQL 导出器服务。

在代码级别限制权限可以确保用户和应用程序只有足够的权限来完成手头的任务。这可以大大有助于保护您的网络和采用基础设施即代码的概念。

来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试我们的展示柜 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。

Ressourcen anzeigen
Ressourcen anzeigen

安全配置错误,尤其是权限不当的配置错误,通常发生在开发人员完成任务并创建新用户或本应用程序权限时。

Interessiert an mehr?

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

mehr erfahren

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Demo buchen
Teilen auf:
LinkedIn-MarkenSozialx Logo
作者
Matias Madou, Ph.D.
Veröffentlicht Jun 08, 2020

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist ein Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung im Bereich der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und kann auf über 10 Patente verweisen. Wenn er nicht am Schreibtisch sitzt, ist Matias als Ausbilder für fortgeschrittene Anwendungssicherheitstrainings courses tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat einen Doktortitel in Computertechnik von der Universität Gent, wo er die Sicherheit von Anwendungen durch Programmverschleierung untersuchte, um die innere Funktionsweise einer Anwendung zu verbergen.

Teilen auf:
LinkedIn-MarkenSozialx Logo

如今,网络安全威胁无处不在,持续不断。情况变得如此糟糕,以至于在部署程序后试图跟上他们的步伐几乎是不可能的。取而代之的是,精明的组织正在接受基础设施即代码的概念,在这种概念中,开发人员在仍在创建安全的应用程序的同时为制作应用程序做出贡献。本系列旨在让您做好安全准备,这样您就可以了解作为开发人员可以采取的步骤,开始在自己的组织中以代码形式部署安全基础架构。

安全配置错误,尤其是权限不当的配置错误,通常发生在开发人员为完成任务而创建新用户或授予应用程序权限时。例如,可以这样做来从数据库收集信息。但是,如果将新用户的权限设置得过高,或者没有为手头的任务进行默认配置,则可能会在代码中引入严重漏洞。

在我们开始之前,为什么不现在就测试一下你的技能呢?尝试找到并修复一些不当权限漏洞:

你做得怎么样?让我们更深入地挖掘一下:

授予用户或应用程序完全权限,或者干脆不费心去定义新用户应该能够完成什么以及哪些行为受到限制,无疑是获得新代码的最快方法。如果一切顺利,应用程序将利用这些权限来完成其分配的任务。危险在于,黑客会发现这个过程,然后危及该用户。尽管创建用户是为了完成特定应用程序的特定功能,但如果遭到入侵,则可能允许攻击者危及其他应用程序、数据甚至网络。

如何利用安全配置错误?

为了直观地了解危险,让我们来看看在 Docker 云环境中有时是如何编码常见任务的。假设开发人员正在使用 Prometheus MySQL 导出器服务从数据库收集信息。允许这种情况发生的最简单方法是授予导出者访问数据库的权限。所以代码可能像这样:

来自 mysql: 最新
复制。/scripts/create_users.sh /docker-entrypoint-initdb.d/
用户 999
创建由 $EXPORTER_PASSWORD 标识的用户导出器@%;
将 ALL ON *.* 授予出口商@%;
在 performance_schema.* 上向导出者授予选择权@%;

这肯定会使出口商能够完成其任务。但是,由于未定义权限,因此导出器实际上几乎可以做任何事情。显然,出口商本身永远不会在其编程行为之外采取行动。但是,如果攻击者能够破坏导出器服务,会发生什么?在这种情况下,由于获得了完全权限,攻击者可以使用 SQL 服务执行各种未经授权的任务。

保护和消除不当权限

在这里,我们再次谈谈基础设施即代码的概念。如果你在创建应用程序时就将安全性编码到应用程序中,那么在网络安全方面,网络的整体基础总是会好得多。

在上面的 Docker 示例中,如果开发人员希望 Prometheus MySQL 导出器能够查询数据库,他们可以通过定义应该允许它完成的任务来更安全地做到这一点。一个很好的例子是:


来自 mysql: 最新
复制。/scripts/create_users.sh /docker-entrypoint-initdb.d/
用户 999
创建由 $EXPORTER_PASSWORD 标识的用户导出器@%;
授权进程,复制客户端开启*.* 给 exporter@%;
在 performance_schema.* 上向导出者授予选择权@%;

在这种情况下,为 Prometheus MySQL Exporter 服务配置的 MySQL 用户对 MySQL 服务仅具有有限的权限。具体而言,只允许使用 “进程” 和 “复制客户端” 权限。这将防止恶意用户利用受损的 Prometheus MySQL 导出器服务。

在代码级别限制权限可以确保用户和应用程序只有足够的权限来完成手头的任务。这可以大大有助于保护您的网络和采用基础设施即代码的概念。

来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试我们的展示柜 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。

Ressourcen anzeigen
Ressourcen anzeigen

Füllen Sie das folgende Formular aus, um den Bericht herunterzuladen.

Wir möchten Ihre Erlaubnis einholen, Ihnen Informationen über unsere Produkte und/oder relevante Themen zur Sicherheit von Codes zuzusenden. Wir werden Ihre personenbezogenen Daten stets mit größter Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Einreichen
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte die „Analyse“-Cookies. Nach Abschluss können Sie diese wieder deaktivieren.

如今,网络安全威胁无处不在,持续不断。情况变得如此糟糕,以至于在部署程序后试图跟上他们的步伐几乎是不可能的。取而代之的是,精明的组织正在接受基础设施即代码的概念,在这种概念中,开发人员在仍在创建安全的应用程序的同时为制作应用程序做出贡献。本系列旨在让您做好安全准备,这样您就可以了解作为开发人员可以采取的步骤,开始在自己的组织中以代码形式部署安全基础架构。

安全配置错误,尤其是权限不当的配置错误,通常发生在开发人员为完成任务而创建新用户或授予应用程序权限时。例如,可以这样做来从数据库收集信息。但是,如果将新用户的权限设置得过高,或者没有为手头的任务进行默认配置,则可能会在代码中引入严重漏洞。

在我们开始之前,为什么不现在就测试一下你的技能呢?尝试找到并修复一些不当权限漏洞:

你做得怎么样?让我们更深入地挖掘一下:

授予用户或应用程序完全权限,或者干脆不费心去定义新用户应该能够完成什么以及哪些行为受到限制,无疑是获得新代码的最快方法。如果一切顺利,应用程序将利用这些权限来完成其分配的任务。危险在于,黑客会发现这个过程,然后危及该用户。尽管创建用户是为了完成特定应用程序的特定功能,但如果遭到入侵,则可能允许攻击者危及其他应用程序、数据甚至网络。

如何利用安全配置错误?

为了直观地了解危险,让我们来看看在 Docker 云环境中有时是如何编码常见任务的。假设开发人员正在使用 Prometheus MySQL 导出器服务从数据库收集信息。允许这种情况发生的最简单方法是授予导出者访问数据库的权限。所以代码可能像这样:

来自 mysql: 最新
复制。/scripts/create_users.sh /docker-entrypoint-initdb.d/
用户 999
创建由 $EXPORTER_PASSWORD 标识的用户导出器@%;
将 ALL ON *.* 授予出口商@%;
在 performance_schema.* 上向导出者授予选择权@%;

这肯定会使出口商能够完成其任务。但是,由于未定义权限,因此导出器实际上几乎可以做任何事情。显然,出口商本身永远不会在其编程行为之外采取行动。但是,如果攻击者能够破坏导出器服务,会发生什么?在这种情况下,由于获得了完全权限,攻击者可以使用 SQL 服务执行各种未经授权的任务。

保护和消除不当权限

在这里,我们再次谈谈基础设施即代码的概念。如果你在创建应用程序时就将安全性编码到应用程序中,那么在网络安全方面,网络的整体基础总是会好得多。

在上面的 Docker 示例中,如果开发人员希望 Prometheus MySQL 导出器能够查询数据库,他们可以通过定义应该允许它完成的任务来更安全地做到这一点。一个很好的例子是:


来自 mysql: 最新
复制。/scripts/create_users.sh /docker-entrypoint-initdb.d/
用户 999
创建由 $EXPORTER_PASSWORD 标识的用户导出器@%;
授权进程,复制客户端开启*.* 给 exporter@%;
在 performance_schema.* 上向导出者授予选择权@%;

在这种情况下,为 Prometheus MySQL Exporter 服务配置的 MySQL 用户对 MySQL 服务仅具有有限的权限。具体而言,只允许使用 “进程” 和 “复制客户端” 权限。这将防止恶意用户利用受损的 Prometheus MySQL 导出器服务。

在代码级别限制权限可以确保用户和应用程序只有足够的权限来完成手头的任务。这可以大大有助于保护您的网络和采用基础设施即代码的概念。

来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试我们的展示柜 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。

Webinar ansehen
Fangen wir an.
mehr erfahren

Klicken Sie auf den folgenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Bericht anzeigenDemo buchen
Ressourcen anzeigen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Interessiert an mehr?

Teilen auf:
LinkedIn-MarkenSozialx Logo
作者
Matias Madou, Ph.D.
Veröffentlicht Jun 08, 2020

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist ein Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung im Bereich der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und kann auf über 10 Patente verweisen. Wenn er nicht am Schreibtisch sitzt, ist Matias als Ausbilder für fortgeschrittene Anwendungssicherheitstrainings courses tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat einen Doktortitel in Computertechnik von der Universität Gent, wo er die Sicherheit von Anwendungen durch Programmverschleierung untersuchte, um die innere Funktionsweise einer Anwendung zu verbergen.

Teilen auf:
LinkedIn-MarkenSozialx Logo

如今,网络安全威胁无处不在,持续不断。情况变得如此糟糕,以至于在部署程序后试图跟上他们的步伐几乎是不可能的。取而代之的是,精明的组织正在接受基础设施即代码的概念,在这种概念中,开发人员在仍在创建安全的应用程序的同时为制作应用程序做出贡献。本系列旨在让您做好安全准备,这样您就可以了解作为开发人员可以采取的步骤,开始在自己的组织中以代码形式部署安全基础架构。

安全配置错误,尤其是权限不当的配置错误,通常发生在开发人员为完成任务而创建新用户或授予应用程序权限时。例如,可以这样做来从数据库收集信息。但是,如果将新用户的权限设置得过高,或者没有为手头的任务进行默认配置,则可能会在代码中引入严重漏洞。

在我们开始之前,为什么不现在就测试一下你的技能呢?尝试找到并修复一些不当权限漏洞:

你做得怎么样?让我们更深入地挖掘一下:

授予用户或应用程序完全权限,或者干脆不费心去定义新用户应该能够完成什么以及哪些行为受到限制,无疑是获得新代码的最快方法。如果一切顺利,应用程序将利用这些权限来完成其分配的任务。危险在于,黑客会发现这个过程,然后危及该用户。尽管创建用户是为了完成特定应用程序的特定功能,但如果遭到入侵,则可能允许攻击者危及其他应用程序、数据甚至网络。

如何利用安全配置错误?

为了直观地了解危险,让我们来看看在 Docker 云环境中有时是如何编码常见任务的。假设开发人员正在使用 Prometheus MySQL 导出器服务从数据库收集信息。允许这种情况发生的最简单方法是授予导出者访问数据库的权限。所以代码可能像这样:

来自 mysql: 最新
复制。/scripts/create_users.sh /docker-entrypoint-initdb.d/
用户 999
创建由 $EXPORTER_PASSWORD 标识的用户导出器@%;
将 ALL ON *.* 授予出口商@%;
在 performance_schema.* 上向导出者授予选择权@%;

这肯定会使出口商能够完成其任务。但是,由于未定义权限,因此导出器实际上几乎可以做任何事情。显然,出口商本身永远不会在其编程行为之外采取行动。但是,如果攻击者能够破坏导出器服务,会发生什么?在这种情况下,由于获得了完全权限,攻击者可以使用 SQL 服务执行各种未经授权的任务。

保护和消除不当权限

在这里,我们再次谈谈基础设施即代码的概念。如果你在创建应用程序时就将安全性编码到应用程序中,那么在网络安全方面,网络的整体基础总是会好得多。

在上面的 Docker 示例中,如果开发人员希望 Prometheus MySQL 导出器能够查询数据库,他们可以通过定义应该允许它完成的任务来更安全地做到这一点。一个很好的例子是:


来自 mysql: 最新
复制。/scripts/create_users.sh /docker-entrypoint-initdb.d/
用户 999
创建由 $EXPORTER_PASSWORD 标识的用户导出器@%;
授权进程,复制客户端开启*.* 给 exporter@%;
在 performance_schema.* 上向导出者授予选择权@%;

在这种情况下,为 Prometheus MySQL Exporter 服务配置的 MySQL 用户对 MySQL 服务仅具有有限的权限。具体而言,只允许使用 “进程” 和 “复制客户端” 权限。这将防止恶意用户利用受损的 Prometheus MySQL 导出器服务。

在代码级别限制权限可以确保用户和应用程序只有足够的权限来完成手头的任务。这可以大大有助于保护您的网络和采用基础设施即代码的概念。

来看看 安全代码勇士 博客页面,详细了解此漏洞以及如何保护您的组织和客户免受其他安全漏洞的破坏。你也可以 试试我们的展示柜 Secure Code Warrior 培训平台可让您的所有网络安全技能不断磨练并保持最新状态。

Verzeichnis

PDF herunterladen
Ressourcen anzeigen
Interessiert an mehr?

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

mehr erfahren

Secure Code Warrior kann Ihrem Unternehmen dabei helfen, Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, Chief Information Security Officer oder in einem anderen sicherheitsrelevanten Bereich tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu minimieren.

Demo buchen下载
Teilen auf:
LinkedIn-MarkenSozialx Logo
Ressourcenzentrum

Ressourcen, die Ihnen den Einstieg erleichtern

Weitere Beiträge
Ressourcenzentrum

Ressourcen, die Ihnen den Einstieg erleichtern

Weitere Beiträge