
Programmierer erobern die Sicherheitsinfrastruktur als Code-Serie: Fehlkonfiguration der Sicherheit — falsche Berechtigungen
Bedrohungen der Cybersicherheit sind heutzutage allgegenwärtig und unerbittlich. Es ist so schlimm geworden, dass es fast unmöglich geworden ist, nach der Bereitstellung von Programmen mit ihnen Schritt zu halten. Stattdessen befürworten kluge Unternehmen das Konzept der Infrastruktur als Code, bei dem Entwickler zur Entwicklung sicherer Anwendungen beitragen, während sie noch in der Entwicklung sind. In dieser Serie geht es darum, Sie auf die Sicherheit vorzubereiten, damit Sie die Schritte verstehen, die Sie als Entwickler ergreifen können, um mit der Implementierung einer sicheren Infrastruktur als Code in Ihrem eigenen Unternehmen zu beginnen.
Sicherheitsfehlkonfigurationen, insbesondere solche mit falschen Berechtigungen, treten am häufigsten auf, wenn ein Entwickler einen neuen Benutzer erstellt oder die Erlaubnis für eine Anwendung als Tool erteilt, um eine Aufgabe zu erledigen. Dies könnte beispielsweise geschehen, um Informationen aus einer Datenbank zu sammeln. Wenn die Berechtigungen für den neuen Benutzer jedoch zu hoch eingestellt sind oder nicht standardmäßig für die jeweilige Aufgabe konfiguriert sind, kann dies zu einer schwerwiegenden Sicherheitslücke im Code führen.
Warum testen Sie nicht gleich Ihre Fähigkeiten, bevor wir darauf eingehen? Versuchen Sie, einige Sicherheitslücken mit falschen Zugriffsrechten zu finden und zu beheben:
Wie hast du dich geschlagen? Lass uns etwas tiefer graben:
Einem Benutzer oder einer Anwendung volle Berechtigungen zu erteilen oder sich einfach nicht die Mühe zu machen, zu definieren, was der neue Benutzer erreichen soll und welche Verhaltensweisen eingeschränkt sind, ist sicherlich der schnellste Weg, um neuen Code zu implementieren. Und wenn alles perfekt läuft, nutzt die Anwendung diese Berechtigungen, um die ihr zugewiesene Aufgabe zu erfüllen. Die Gefahr besteht darin, dass ein Hacker diesen Prozess entdeckt und dann den Benutzer gefährdet. Obwohl der Benutzer für eine bestimmte Funktion für eine bestimmte Anwendung geschaffen wurde, kann ein Angreifer, wenn er kompromittiert wird, andere Anwendungen, Daten oder sogar das Netzwerk gefährden.
Wie werden Sicherheitsfehlkonfigurationen ausgenutzt?
Um die Gefahr zu veranschaulichen, schauen wir uns an, wie eine häufige Aufgabe manchmal in der Docker-Cloud-Umgebung codiert wird. Nehmen wir an, ein Entwickler verwendet den Prometheus MySQL Exporter-Dienst, um Informationen aus einer Datenbank zu sammeln. Der einfachste Weg, dies zu ermöglichen, besteht darin, dem Exporteur die Erlaubnis zu erteilen, auf die Datenbank zuzugreifen. Der Code könnte also etwa so aussehen:
VON mysql:latest
KOPIEREN. /scripts/create_users.sh /docker-entrypoint-initdb.d/
BENUTZER 999
BENUTZER-EXPORTER@% IDENTIFIZIERT DURCH $EXPORTER_PASSWORD;
ALLES AUF *.* DEM EXPORTEUR@% GEWÄHREN;
GEWÄHREN SIE SELECT AUF performance_schema.* AN exporter@%;
Dies würde es sicherlich ermöglichen, dass der Exporteur seine Aufgabe erfüllen könnte. Da die Berechtigungen jedoch nicht definiert sind, kann der Exporteur tatsächlich fast alles tun. Offensichtlich würde der Exporteur selbst niemals außerhalb seiner programmierten Verhaltensweisen handeln. Aber was würde passieren, wenn ein Angreifer in der Lage wäre, den Exportservice zu kompromittieren? In diesem Fall könnte der Angreifer alle Arten von nicht autorisierten Aufgaben mit dem SQL-Dienst ausführen, da ihm die vollen Berechtigungen erteilt wurden.
Sicherung und Beseitigung unzulässiger Berechtigungen
Auch hier wenden wir uns dem Konzept der Infrastruktur als Code zu. Wenn Sie die Sicherheit Ihrer Anwendungen bei deren Erstellung einprogrammieren, wird das Netzwerk in Bezug auf Cybersicherheit insgesamt immer auf einer viel besseren Grundlage stehen.
Wenn ein Entwickler im Docker-Beispiel von oben möchte, dass der Prometheus MySQL Exporter eine Datenbank abfragen kann, kann er dies sicherer machen, indem er definiert, was er tun darf. Ein gutes Beispiel dafür wäre:
VON mysql:latest
KOPIEREN. /scripts/create_users.sh /docker-entrypoint-initdb.d/
BENUTZER 999
BENUTZER-EXPORTER@% IDENTIFIZIERT DURCH $EXPORTER_PASSWORD;
PROZESS GEWÄHREN, REPLIKATIONSCLIENT AUF *.* AN DEN EXPORTIERER@%;
GEWÄHREN SIE SELECT AUF performance_schema.* AN exporter@%;
In diesem Fall hat der für den Prometheus MySQL Exporter-Dienst konfigurierte MySQL-Benutzer nur eingeschränkte Berechtigungen für den MySQL-Dienst. Insbesondere sind nur PROCESS- und REPLICATION CLIENT-Rechte zulässig. Dies würde verhindern, dass ein böswilliger Benutzer einen kompromittierten Prometheus MySQL Exporter-Dienst ausnutzt.
Durch das Einschränken von Berechtigungen auf Codeebene kann sichergestellt werden, dass Benutzer und Anwendungen nur über genügend Berechtigungen für die jeweilige Aufgabe verfügen. Und das kann einen großen Beitrag dazu leisten, Ihre Netzwerke zu schützen und das Konzept der Infrastruktur als Code umzusetzen.
Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere unseren Showcase der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.


Sicherheitsfehlkonfigurationen, insbesondere solche mit falschen Berechtigungen, treten am häufigsten auf, wenn ein Entwickler einen neuen Benutzer erstellt oder die Erlaubnis für eine Anwendung als Tool erteilt, um eine Aufgabe zu erledigen.
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 là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Réserver une démonstrationMatias 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.


Bedrohungen der Cybersicherheit sind heutzutage allgegenwärtig und unerbittlich. Es ist so schlimm geworden, dass es fast unmöglich geworden ist, nach der Bereitstellung von Programmen mit ihnen Schritt zu halten. Stattdessen befürworten kluge Unternehmen das Konzept der Infrastruktur als Code, bei dem Entwickler zur Entwicklung sicherer Anwendungen beitragen, während sie noch in der Entwicklung sind. In dieser Serie geht es darum, Sie auf die Sicherheit vorzubereiten, damit Sie die Schritte verstehen, die Sie als Entwickler ergreifen können, um mit der Implementierung einer sicheren Infrastruktur als Code in Ihrem eigenen Unternehmen zu beginnen.
Sicherheitsfehlkonfigurationen, insbesondere solche mit falschen Berechtigungen, treten am häufigsten auf, wenn ein Entwickler einen neuen Benutzer erstellt oder die Erlaubnis für eine Anwendung als Tool erteilt, um eine Aufgabe zu erledigen. Dies könnte beispielsweise geschehen, um Informationen aus einer Datenbank zu sammeln. Wenn die Berechtigungen für den neuen Benutzer jedoch zu hoch eingestellt sind oder nicht standardmäßig für die jeweilige Aufgabe konfiguriert sind, kann dies zu einer schwerwiegenden Sicherheitslücke im Code führen.
Warum testen Sie nicht gleich Ihre Fähigkeiten, bevor wir darauf eingehen? Versuchen Sie, einige Sicherheitslücken mit falschen Zugriffsrechten zu finden und zu beheben:
Wie hast du dich geschlagen? Lass uns etwas tiefer graben:
Einem Benutzer oder einer Anwendung volle Berechtigungen zu erteilen oder sich einfach nicht die Mühe zu machen, zu definieren, was der neue Benutzer erreichen soll und welche Verhaltensweisen eingeschränkt sind, ist sicherlich der schnellste Weg, um neuen Code zu implementieren. Und wenn alles perfekt läuft, nutzt die Anwendung diese Berechtigungen, um die ihr zugewiesene Aufgabe zu erfüllen. Die Gefahr besteht darin, dass ein Hacker diesen Prozess entdeckt und dann den Benutzer gefährdet. Obwohl der Benutzer für eine bestimmte Funktion für eine bestimmte Anwendung geschaffen wurde, kann ein Angreifer, wenn er kompromittiert wird, andere Anwendungen, Daten oder sogar das Netzwerk gefährden.
Wie werden Sicherheitsfehlkonfigurationen ausgenutzt?
Um die Gefahr zu veranschaulichen, schauen wir uns an, wie eine häufige Aufgabe manchmal in der Docker-Cloud-Umgebung codiert wird. Nehmen wir an, ein Entwickler verwendet den Prometheus MySQL Exporter-Dienst, um Informationen aus einer Datenbank zu sammeln. Der einfachste Weg, dies zu ermöglichen, besteht darin, dem Exporteur die Erlaubnis zu erteilen, auf die Datenbank zuzugreifen. Der Code könnte also etwa so aussehen:
VON mysql:latest
KOPIEREN. /scripts/create_users.sh /docker-entrypoint-initdb.d/
BENUTZER 999
BENUTZER-EXPORTER@% IDENTIFIZIERT DURCH $EXPORTER_PASSWORD;
ALLES AUF *.* DEM EXPORTEUR@% GEWÄHREN;
GEWÄHREN SIE SELECT AUF performance_schema.* AN exporter@%;
Dies würde es sicherlich ermöglichen, dass der Exporteur seine Aufgabe erfüllen könnte. Da die Berechtigungen jedoch nicht definiert sind, kann der Exporteur tatsächlich fast alles tun. Offensichtlich würde der Exporteur selbst niemals außerhalb seiner programmierten Verhaltensweisen handeln. Aber was würde passieren, wenn ein Angreifer in der Lage wäre, den Exportservice zu kompromittieren? In diesem Fall könnte der Angreifer alle Arten von nicht autorisierten Aufgaben mit dem SQL-Dienst ausführen, da ihm die vollen Berechtigungen erteilt wurden.
Sicherung und Beseitigung unzulässiger Berechtigungen
Auch hier wenden wir uns dem Konzept der Infrastruktur als Code zu. Wenn Sie die Sicherheit Ihrer Anwendungen bei deren Erstellung einprogrammieren, wird das Netzwerk in Bezug auf Cybersicherheit insgesamt immer auf einer viel besseren Grundlage stehen.
Wenn ein Entwickler im Docker-Beispiel von oben möchte, dass der Prometheus MySQL Exporter eine Datenbank abfragen kann, kann er dies sicherer machen, indem er definiert, was er tun darf. Ein gutes Beispiel dafür wäre:
VON mysql:latest
KOPIEREN. /scripts/create_users.sh /docker-entrypoint-initdb.d/
BENUTZER 999
BENUTZER-EXPORTER@% IDENTIFIZIERT DURCH $EXPORTER_PASSWORD;
PROZESS GEWÄHREN, REPLIKATIONSCLIENT AUF *.* AN DEN EXPORTIERER@%;
GEWÄHREN SIE SELECT AUF performance_schema.* AN exporter@%;
In diesem Fall hat der für den Prometheus MySQL Exporter-Dienst konfigurierte MySQL-Benutzer nur eingeschränkte Berechtigungen für den MySQL-Dienst. Insbesondere sind nur PROCESS- und REPLICATION CLIENT-Rechte zulässig. Dies würde verhindern, dass ein böswilliger Benutzer einen kompromittierten Prometheus MySQL Exporter-Dienst ausnutzt.
Durch das Einschränken von Berechtigungen auf Codeebene kann sichergestellt werden, dass Benutzer und Anwendungen nur über genügend Berechtigungen für die jeweilige Aufgabe verfügen. Und das kann einen großen Beitrag dazu leisten, Ihre Netzwerke zu schützen und das Konzept der Infrastruktur als Code umzusetzen.
Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere unseren Showcase der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.

Bedrohungen der Cybersicherheit sind heutzutage allgegenwärtig und unerbittlich. Es ist so schlimm geworden, dass es fast unmöglich geworden ist, nach der Bereitstellung von Programmen mit ihnen Schritt zu halten. Stattdessen befürworten kluge Unternehmen das Konzept der Infrastruktur als Code, bei dem Entwickler zur Entwicklung sicherer Anwendungen beitragen, während sie noch in der Entwicklung sind. In dieser Serie geht es darum, Sie auf die Sicherheit vorzubereiten, damit Sie die Schritte verstehen, die Sie als Entwickler ergreifen können, um mit der Implementierung einer sicheren Infrastruktur als Code in Ihrem eigenen Unternehmen zu beginnen.
Sicherheitsfehlkonfigurationen, insbesondere solche mit falschen Berechtigungen, treten am häufigsten auf, wenn ein Entwickler einen neuen Benutzer erstellt oder die Erlaubnis für eine Anwendung als Tool erteilt, um eine Aufgabe zu erledigen. Dies könnte beispielsweise geschehen, um Informationen aus einer Datenbank zu sammeln. Wenn die Berechtigungen für den neuen Benutzer jedoch zu hoch eingestellt sind oder nicht standardmäßig für die jeweilige Aufgabe konfiguriert sind, kann dies zu einer schwerwiegenden Sicherheitslücke im Code führen.
Warum testen Sie nicht gleich Ihre Fähigkeiten, bevor wir darauf eingehen? Versuchen Sie, einige Sicherheitslücken mit falschen Zugriffsrechten zu finden und zu beheben:
Wie hast du dich geschlagen? Lass uns etwas tiefer graben:
Einem Benutzer oder einer Anwendung volle Berechtigungen zu erteilen oder sich einfach nicht die Mühe zu machen, zu definieren, was der neue Benutzer erreichen soll und welche Verhaltensweisen eingeschränkt sind, ist sicherlich der schnellste Weg, um neuen Code zu implementieren. Und wenn alles perfekt läuft, nutzt die Anwendung diese Berechtigungen, um die ihr zugewiesene Aufgabe zu erfüllen. Die Gefahr besteht darin, dass ein Hacker diesen Prozess entdeckt und dann den Benutzer gefährdet. Obwohl der Benutzer für eine bestimmte Funktion für eine bestimmte Anwendung geschaffen wurde, kann ein Angreifer, wenn er kompromittiert wird, andere Anwendungen, Daten oder sogar das Netzwerk gefährden.
Wie werden Sicherheitsfehlkonfigurationen ausgenutzt?
Um die Gefahr zu veranschaulichen, schauen wir uns an, wie eine häufige Aufgabe manchmal in der Docker-Cloud-Umgebung codiert wird. Nehmen wir an, ein Entwickler verwendet den Prometheus MySQL Exporter-Dienst, um Informationen aus einer Datenbank zu sammeln. Der einfachste Weg, dies zu ermöglichen, besteht darin, dem Exporteur die Erlaubnis zu erteilen, auf die Datenbank zuzugreifen. Der Code könnte also etwa so aussehen:
VON mysql:latest
KOPIEREN. /scripts/create_users.sh /docker-entrypoint-initdb.d/
BENUTZER 999
BENUTZER-EXPORTER@% IDENTIFIZIERT DURCH $EXPORTER_PASSWORD;
ALLES AUF *.* DEM EXPORTEUR@% GEWÄHREN;
GEWÄHREN SIE SELECT AUF performance_schema.* AN exporter@%;
Dies würde es sicherlich ermöglichen, dass der Exporteur seine Aufgabe erfüllen könnte. Da die Berechtigungen jedoch nicht definiert sind, kann der Exporteur tatsächlich fast alles tun. Offensichtlich würde der Exporteur selbst niemals außerhalb seiner programmierten Verhaltensweisen handeln. Aber was würde passieren, wenn ein Angreifer in der Lage wäre, den Exportservice zu kompromittieren? In diesem Fall könnte der Angreifer alle Arten von nicht autorisierten Aufgaben mit dem SQL-Dienst ausführen, da ihm die vollen Berechtigungen erteilt wurden.
Sicherung und Beseitigung unzulässiger Berechtigungen
Auch hier wenden wir uns dem Konzept der Infrastruktur als Code zu. Wenn Sie die Sicherheit Ihrer Anwendungen bei deren Erstellung einprogrammieren, wird das Netzwerk in Bezug auf Cybersicherheit insgesamt immer auf einer viel besseren Grundlage stehen.
Wenn ein Entwickler im Docker-Beispiel von oben möchte, dass der Prometheus MySQL Exporter eine Datenbank abfragen kann, kann er dies sicherer machen, indem er definiert, was er tun darf. Ein gutes Beispiel dafür wäre:
VON mysql:latest
KOPIEREN. /scripts/create_users.sh /docker-entrypoint-initdb.d/
BENUTZER 999
BENUTZER-EXPORTER@% IDENTIFIZIERT DURCH $EXPORTER_PASSWORD;
PROZESS GEWÄHREN, REPLIKATIONSCLIENT AUF *.* AN DEN EXPORTIERER@%;
GEWÄHREN SIE SELECT AUF performance_schema.* AN exporter@%;
In diesem Fall hat der für den Prometheus MySQL Exporter-Dienst konfigurierte MySQL-Benutzer nur eingeschränkte Berechtigungen für den MySQL-Dienst. Insbesondere sind nur PROCESS- und REPLICATION CLIENT-Rechte zulässig. Dies würde verhindern, dass ein böswilliger Benutzer einen kompromittierten Prometheus MySQL Exporter-Dienst ausnutzt.
Durch das Einschränken von Berechtigungen auf Codeebene kann sichergestellt werden, dass Benutzer und Anwendungen nur über genügend Berechtigungen für die jeweilige Aufgabe verfügen. Und das kann einen großen Beitrag dazu leisten, Ihre Netzwerke zu schützen und das Konzept der Infrastruktur als Code umzusetzen.
Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere unseren Showcase der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.
Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Consulter le rapportRéserver une démonstrationMatias 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.
Bedrohungen der Cybersicherheit sind heutzutage allgegenwärtig und unerbittlich. Es ist so schlimm geworden, dass es fast unmöglich geworden ist, nach der Bereitstellung von Programmen mit ihnen Schritt zu halten. Stattdessen befürworten kluge Unternehmen das Konzept der Infrastruktur als Code, bei dem Entwickler zur Entwicklung sicherer Anwendungen beitragen, während sie noch in der Entwicklung sind. In dieser Serie geht es darum, Sie auf die Sicherheit vorzubereiten, damit Sie die Schritte verstehen, die Sie als Entwickler ergreifen können, um mit der Implementierung einer sicheren Infrastruktur als Code in Ihrem eigenen Unternehmen zu beginnen.
Sicherheitsfehlkonfigurationen, insbesondere solche mit falschen Berechtigungen, treten am häufigsten auf, wenn ein Entwickler einen neuen Benutzer erstellt oder die Erlaubnis für eine Anwendung als Tool erteilt, um eine Aufgabe zu erledigen. Dies könnte beispielsweise geschehen, um Informationen aus einer Datenbank zu sammeln. Wenn die Berechtigungen für den neuen Benutzer jedoch zu hoch eingestellt sind oder nicht standardmäßig für die jeweilige Aufgabe konfiguriert sind, kann dies zu einer schwerwiegenden Sicherheitslücke im Code führen.
Warum testen Sie nicht gleich Ihre Fähigkeiten, bevor wir darauf eingehen? Versuchen Sie, einige Sicherheitslücken mit falschen Zugriffsrechten zu finden und zu beheben:
Wie hast du dich geschlagen? Lass uns etwas tiefer graben:
Einem Benutzer oder einer Anwendung volle Berechtigungen zu erteilen oder sich einfach nicht die Mühe zu machen, zu definieren, was der neue Benutzer erreichen soll und welche Verhaltensweisen eingeschränkt sind, ist sicherlich der schnellste Weg, um neuen Code zu implementieren. Und wenn alles perfekt läuft, nutzt die Anwendung diese Berechtigungen, um die ihr zugewiesene Aufgabe zu erfüllen. Die Gefahr besteht darin, dass ein Hacker diesen Prozess entdeckt und dann den Benutzer gefährdet. Obwohl der Benutzer für eine bestimmte Funktion für eine bestimmte Anwendung geschaffen wurde, kann ein Angreifer, wenn er kompromittiert wird, andere Anwendungen, Daten oder sogar das Netzwerk gefährden.
Wie werden Sicherheitsfehlkonfigurationen ausgenutzt?
Um die Gefahr zu veranschaulichen, schauen wir uns an, wie eine häufige Aufgabe manchmal in der Docker-Cloud-Umgebung codiert wird. Nehmen wir an, ein Entwickler verwendet den Prometheus MySQL Exporter-Dienst, um Informationen aus einer Datenbank zu sammeln. Der einfachste Weg, dies zu ermöglichen, besteht darin, dem Exporteur die Erlaubnis zu erteilen, auf die Datenbank zuzugreifen. Der Code könnte also etwa so aussehen:
VON mysql:latest
KOPIEREN. /scripts/create_users.sh /docker-entrypoint-initdb.d/
BENUTZER 999
BENUTZER-EXPORTER@% IDENTIFIZIERT DURCH $EXPORTER_PASSWORD;
ALLES AUF *.* DEM EXPORTEUR@% GEWÄHREN;
GEWÄHREN SIE SELECT AUF performance_schema.* AN exporter@%;
Dies würde es sicherlich ermöglichen, dass der Exporteur seine Aufgabe erfüllen könnte. Da die Berechtigungen jedoch nicht definiert sind, kann der Exporteur tatsächlich fast alles tun. Offensichtlich würde der Exporteur selbst niemals außerhalb seiner programmierten Verhaltensweisen handeln. Aber was würde passieren, wenn ein Angreifer in der Lage wäre, den Exportservice zu kompromittieren? In diesem Fall könnte der Angreifer alle Arten von nicht autorisierten Aufgaben mit dem SQL-Dienst ausführen, da ihm die vollen Berechtigungen erteilt wurden.
Sicherung und Beseitigung unzulässiger Berechtigungen
Auch hier wenden wir uns dem Konzept der Infrastruktur als Code zu. Wenn Sie die Sicherheit Ihrer Anwendungen bei deren Erstellung einprogrammieren, wird das Netzwerk in Bezug auf Cybersicherheit insgesamt immer auf einer viel besseren Grundlage stehen.
Wenn ein Entwickler im Docker-Beispiel von oben möchte, dass der Prometheus MySQL Exporter eine Datenbank abfragen kann, kann er dies sicherer machen, indem er definiert, was er tun darf. Ein gutes Beispiel dafür wäre:
VON mysql:latest
KOPIEREN. /scripts/create_users.sh /docker-entrypoint-initdb.d/
BENUTZER 999
BENUTZER-EXPORTER@% IDENTIFIZIERT DURCH $EXPORTER_PASSWORD;
PROZESS GEWÄHREN, REPLIKATIONSCLIENT AUF *.* AN DEN EXPORTIERER@%;
GEWÄHREN SIE SELECT AUF performance_schema.* AN exporter@%;
In diesem Fall hat der für den Prometheus MySQL Exporter-Dienst konfigurierte MySQL-Benutzer nur eingeschränkte Berechtigungen für den MySQL-Dienst. Insbesondere sind nur PROCESS- und REPLICATION CLIENT-Rechte zulässig. Dies würde verhindern, dass ein böswilliger Benutzer einen kompromittierten Prometheus MySQL Exporter-Dienst ausnutzt.
Durch das Einschränken von Berechtigungen auf Codeebene kann sichergestellt werden, dass Benutzer und Anwendungen nur über genügend Berechtigungen für die jeweilige Aufgabe verfügen. Und das kann einen großen Beitrag dazu leisten, Ihre Netzwerke zu schützen und das Konzept der Infrastruktur als Code umzusetzen.
Schauen Sie sich das an Sicherer Codekrieger Blogseiten mit weiteren Informationen zu dieser Sicherheitslücke und dazu, wie Sie Ihr Unternehmen und Ihre Kunden vor den Folgen anderer Sicherheitslücken schützen können. Sie können auch probiere unseren Showcase der Secure Code Warrior-Schulungsplattform, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.
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 là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.
Réserver une démonstrationTéléchargerRessources pour débuter
Thèmes et contenus de la formation Securecode
Nos contenus de pointe sont constamment développés afin de s'adapter à l'évolution constante du paysage du développement logiciel, en tenant compte de votre rôle. Les thèmes abordés couvrent tous les domaines, de l'IA à l'injection XQuery, et sont proposés pour une multitude de rôles, des architectes et ingénieurs aux chefs de produit et responsables assurance qualité. Nous vous invitons à découvrir un aperçu de notre catalogue de contenus classés par thème et par rôle.
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 débuter
Cybermon est de retour : les missions KI « Beat the Boss » sont désormais disponibles sur demande.
Cybermon 2025 Beat the Boss est désormais disponible toute l'année dans SCW. Il utilise des exigences de sécurité IA/LLM avancées pour renforcer le développement sécurisé de l'IA à grande échelle.
Explication de la loi sur la cyber-résilience : implications pour le développement de logiciels sécurisés dès la conception
Découvrez les exigences de la loi européenne sur la cyber-résilience (CRA), à qui elle s'applique et comment les équipes de développement peuvent s'y préparer en adoptant des méthodes sécurisées, en prévenant les failles de sécurité et en renforçant les compétences des développeurs.
Facteur 1 : Critères de réussite définis et mesurables
Le catalyseur n° 1 inaugure notre série en dix parties intitulée « Les catalyseurs de la réussite » et démontre comment un codage sécurisé peut être associé à des résultats commerciaux tels que la réduction des risques et la rapidité afin d'atteindre une maturité programmatique à long terme.




%20(1).avif)
.avif)
