
Programmierer erobern die Sicherheitsinfrastruktur als Codeserie — Business Logic
Nun, das ist es (vorerst). Wir haben das Ende unserer Infrastructure as Code-Serie erreicht. Wir hoffen, Sie hatten Spaß daran, Sicherheitsprobleme in Docker, Ansible, Kubernetes, Terraform und CloudFormation zu überwinden. Bevor wir uns jedoch abmelden, haben wir noch eine weitere Sicherheitslücke, die Sie beherrschen müssen: Bugs in der Geschäftslogik.
Denken Sie, Sie sind jetzt bereit, Ihre Fähigkeiten zu testen? Probiere die letzte spielerische Herausforderung aus:
Wenn Sie sich in einigen Dingen immer noch nicht sicher sind, lesen Sie weiter:
Die Sicherheitslücken, auf die wir uns heute konzentrieren wollen, sind Geschäftslogik Mängel. Diese können auftreten, wenn Programmierer die Regeln der Geschäftslogik nicht ordnungsgemäß implementieren, wodurch ihre Anwendungen anfällig für verschiedene Arten von Angriffen werden könnten, falls ein böswilliger Benutzer sie ausnutzt. Je nach Zweck und Funktionalität, die in jeder Anwendung implementiert ist, kann ein Fehler in der Geschäftslogik dazu führen, dass Rechte erweitert werden, Ressourcen nicht ordnungsgemäß genutzt werden oder eine beliebige Anzahl unbeabsichtigter Geschäftsprozesse ausgeführt wird.
Im Gegensatz zu vielen Sicherheitslücken kann die falsche Implementierung von Geschäftslogikregeln überraschend subtil sein. Sie erfordern besondere Wachsamkeit, um sicherzustellen, dass sie sich nicht in Anwendungen und Code einschleichen.
Was sind einige Beispiele für Fehler in der Geschäftslogik?
Als Beispiel dafür, wie einfach es sein kann, Fehler in der Geschäftslogik zu induzieren, betrachten Sie das folgende Beispiel aus einer Docker-Umgebung, die mit einer Docker Compose-Datei definiert ist. Um Container auf die Ausführung von Funktionen vorzubereiten, könnte ein Entwickler eine Standard-Ressourcenrichtlinie verwenden, die in der Docker Compose-Datei definiert ist, wie im folgenden Beispiel:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Reservierungen:
CPUs: „0,5"
Oberflächlich betrachtet sieht das gut aus, aber diese Ressourcenrichtlinie für Container schränkt den Ressourcenverbrauch nicht richtig ein. Ein Angreifer könnte den Fehler in der Geschäftslogik ausnutzen, um einen Denial-of-Service (DoS) -Angriff zu implementieren.
Um zu versuchen, Benutzer daran zu hindern, zu viele Ressourcen zu beanspruchen, könnte ein Entwickler versuchen, besser zu definieren, was jeder Container unterstützen kann. Der neue Code könnte also eine Platzierungsbeschränkung enthalten:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Reservierungen:
CPUs: „0,5"
Platzierung:
Einschränkungen:
- „node.labels.limit_cpu == 100 M“
- „node.labels.limit_memory == 0,5"
Auf den ersten Blick sieht das so aus, als würde es das lösen Geschäftslogik Fehler. Die neue Platzierungsbeschränkung wirkt sich jedoch nicht auf das Limit für die Ressourcennutzung für den Docker-Containerdienst aus. Es wird nur verwendet, um einen Knoten für die Planung des Containers auszuwählen. In diesem Fall ist ein DoS-Angriff immer noch möglich. Der Angreifer müsste zuerst einen Docker-Container kompromittieren, wäre danach aber in der Lage, Ressourcen unbegrenzt abzubauen.
Wie Sie sehen, kann es ein kniffliges Unterfangen sein, über Fehler in der Geschäftslogik nachzudenken und zu programmieren, um sie zu beheben.
Beseitigung von Fehlern in der Geschäftslogik
Bei Fehlern in der Geschäftslogik liegt der Schlüssel darin, zu wissen, dass sie existieren. Sie müssen darauf achten, sie von Ihrer Umgebung fernzuhalten, während neuer Code geschrieben wird. Geschäftsregeln und bewährte Verfahren sollten in allen Phasen des Anwendungsentwicklungsprozesses, einschließlich Design, Implementierung und Test, klar definiert und überprüft werden.
Um beispielsweise zu verhindern, dass ein Fehler in der Geschäftslogik einen DoS-Angriff wie im obigen Beispiel ermöglicht, empfiehlt es sich, die Menge an Ressourcen zu begrenzen, die jeder von Ihnen erstellte Docker-Container verwenden kann. Insbesondere müssen im Abschnitt „Limits“ die Anzahl der CPUs und die Menge an Speicher angegeben werden, die ein Docker-Container verwenden kann. Ein Beispiel wäre:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Speicher: 100M
Reservierungen:
CPUs: „0,5"
Speicher: 50M
Die Verwendung von Code wie dem obigen Beispiel als Richtlinie würde einen großen Fehler in der Geschäftslogik aus der Umgebung entfernen und DoS-Angriffe verhindern. Dies würde auch dann funktionieren, wenn ein Angreifer einen der Docker-Container kompromittiert hätte. In diesem Fall wäre der Angreifer immer noch nicht in der Lage, seinen Halt zu nutzen, um Ressourcen zu erschöpfen.
Bedrohungsmodellierung kann hilfreich sein, indem sie definiert, wie verschiedene Angriffe stattfinden, und sicherstellt, dass Geschäftslogikregeln verwendet werden, um sie zu verhindern und einzuschränken. Tests auf der Grundlage von Compliance-Regeln und bekannten Missbrauchsfällen könnten ebenfalls hilfreich sein, um Fehler in der Geschäftslogik zu erkennen, die durch das Raster gleiten.
Fehler in der Geschäftslogik gehören zu den subtilsten Sicherheitslücken, die sich in Anwendungen einschleichen können, aber nicht weniger gefährlich sind als andere, bekanntere Risiken. Wenn Sie wissen, wie sie auftreten können, und bewährte Methoden anwenden, können Sie sie während der Anwendungsentwicklung von Ihrer Umgebung fernhalten. So wird sichergestellt, dass sie niemals in eine Produktionsumgebung gelangen, in der sie von Angreifern missbraucht werden können, die mit ihrer Ausnutzung bestens vertraut sind.
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 eine Demo Nehmen Sie an dieser IaC-Herausforderung auf der Secure Code Warrior-Schulungsplattform teil, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.


Diese Sicherheitsanfälligkeit kann auftreten, wenn Programmierer die Regeln der Geschäftslogik nicht ordnungsgemäß implementieren, wodurch ihre Anwendungen anfällig für verschiedene Arten von Angriffen werden könnten, falls ein böswilliger Benutzer sie ausnutzt.
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.


Nun, das ist es (vorerst). Wir haben das Ende unserer Infrastructure as Code-Serie erreicht. Wir hoffen, Sie hatten Spaß daran, Sicherheitsprobleme in Docker, Ansible, Kubernetes, Terraform und CloudFormation zu überwinden. Bevor wir uns jedoch abmelden, haben wir noch eine weitere Sicherheitslücke, die Sie beherrschen müssen: Bugs in der Geschäftslogik.
Denken Sie, Sie sind jetzt bereit, Ihre Fähigkeiten zu testen? Probiere die letzte spielerische Herausforderung aus:
Wenn Sie sich in einigen Dingen immer noch nicht sicher sind, lesen Sie weiter:
Die Sicherheitslücken, auf die wir uns heute konzentrieren wollen, sind Geschäftslogik Mängel. Diese können auftreten, wenn Programmierer die Regeln der Geschäftslogik nicht ordnungsgemäß implementieren, wodurch ihre Anwendungen anfällig für verschiedene Arten von Angriffen werden könnten, falls ein böswilliger Benutzer sie ausnutzt. Je nach Zweck und Funktionalität, die in jeder Anwendung implementiert ist, kann ein Fehler in der Geschäftslogik dazu führen, dass Rechte erweitert werden, Ressourcen nicht ordnungsgemäß genutzt werden oder eine beliebige Anzahl unbeabsichtigter Geschäftsprozesse ausgeführt wird.
Im Gegensatz zu vielen Sicherheitslücken kann die falsche Implementierung von Geschäftslogikregeln überraschend subtil sein. Sie erfordern besondere Wachsamkeit, um sicherzustellen, dass sie sich nicht in Anwendungen und Code einschleichen.
Was sind einige Beispiele für Fehler in der Geschäftslogik?
Als Beispiel dafür, wie einfach es sein kann, Fehler in der Geschäftslogik zu induzieren, betrachten Sie das folgende Beispiel aus einer Docker-Umgebung, die mit einer Docker Compose-Datei definiert ist. Um Container auf die Ausführung von Funktionen vorzubereiten, könnte ein Entwickler eine Standard-Ressourcenrichtlinie verwenden, die in der Docker Compose-Datei definiert ist, wie im folgenden Beispiel:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Reservierungen:
CPUs: „0,5"
Oberflächlich betrachtet sieht das gut aus, aber diese Ressourcenrichtlinie für Container schränkt den Ressourcenverbrauch nicht richtig ein. Ein Angreifer könnte den Fehler in der Geschäftslogik ausnutzen, um einen Denial-of-Service (DoS) -Angriff zu implementieren.
Um zu versuchen, Benutzer daran zu hindern, zu viele Ressourcen zu beanspruchen, könnte ein Entwickler versuchen, besser zu definieren, was jeder Container unterstützen kann. Der neue Code könnte also eine Platzierungsbeschränkung enthalten:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Reservierungen:
CPUs: „0,5"
Platzierung:
Einschränkungen:
- „node.labels.limit_cpu == 100 M“
- „node.labels.limit_memory == 0,5"
Auf den ersten Blick sieht das so aus, als würde es das lösen Geschäftslogik Fehler. Die neue Platzierungsbeschränkung wirkt sich jedoch nicht auf das Limit für die Ressourcennutzung für den Docker-Containerdienst aus. Es wird nur verwendet, um einen Knoten für die Planung des Containers auszuwählen. In diesem Fall ist ein DoS-Angriff immer noch möglich. Der Angreifer müsste zuerst einen Docker-Container kompromittieren, wäre danach aber in der Lage, Ressourcen unbegrenzt abzubauen.
Wie Sie sehen, kann es ein kniffliges Unterfangen sein, über Fehler in der Geschäftslogik nachzudenken und zu programmieren, um sie zu beheben.
Beseitigung von Fehlern in der Geschäftslogik
Bei Fehlern in der Geschäftslogik liegt der Schlüssel darin, zu wissen, dass sie existieren. Sie müssen darauf achten, sie von Ihrer Umgebung fernzuhalten, während neuer Code geschrieben wird. Geschäftsregeln und bewährte Verfahren sollten in allen Phasen des Anwendungsentwicklungsprozesses, einschließlich Design, Implementierung und Test, klar definiert und überprüft werden.
Um beispielsweise zu verhindern, dass ein Fehler in der Geschäftslogik einen DoS-Angriff wie im obigen Beispiel ermöglicht, empfiehlt es sich, die Menge an Ressourcen zu begrenzen, die jeder von Ihnen erstellte Docker-Container verwenden kann. Insbesondere müssen im Abschnitt „Limits“ die Anzahl der CPUs und die Menge an Speicher angegeben werden, die ein Docker-Container verwenden kann. Ein Beispiel wäre:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Speicher: 100M
Reservierungen:
CPUs: „0,5"
Speicher: 50M
Die Verwendung von Code wie dem obigen Beispiel als Richtlinie würde einen großen Fehler in der Geschäftslogik aus der Umgebung entfernen und DoS-Angriffe verhindern. Dies würde auch dann funktionieren, wenn ein Angreifer einen der Docker-Container kompromittiert hätte. In diesem Fall wäre der Angreifer immer noch nicht in der Lage, seinen Halt zu nutzen, um Ressourcen zu erschöpfen.
Bedrohungsmodellierung kann hilfreich sein, indem sie definiert, wie verschiedene Angriffe stattfinden, und sicherstellt, dass Geschäftslogikregeln verwendet werden, um sie zu verhindern und einzuschränken. Tests auf der Grundlage von Compliance-Regeln und bekannten Missbrauchsfällen könnten ebenfalls hilfreich sein, um Fehler in der Geschäftslogik zu erkennen, die durch das Raster gleiten.
Fehler in der Geschäftslogik gehören zu den subtilsten Sicherheitslücken, die sich in Anwendungen einschleichen können, aber nicht weniger gefährlich sind als andere, bekanntere Risiken. Wenn Sie wissen, wie sie auftreten können, und bewährte Methoden anwenden, können Sie sie während der Anwendungsentwicklung von Ihrer Umgebung fernhalten. So wird sichergestellt, dass sie niemals in eine Produktionsumgebung gelangen, in der sie von Angreifern missbraucht werden können, die mit ihrer Ausnutzung bestens vertraut sind.
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 eine Demo Nehmen Sie an dieser IaC-Herausforderung auf der Secure Code Warrior-Schulungsplattform teil, um all Ihre Cybersicherheitsfähigkeiten zu verbessern und auf dem neuesten Stand zu halten.

Nun, das ist es (vorerst). Wir haben das Ende unserer Infrastructure as Code-Serie erreicht. Wir hoffen, Sie hatten Spaß daran, Sicherheitsprobleme in Docker, Ansible, Kubernetes, Terraform und CloudFormation zu überwinden. Bevor wir uns jedoch abmelden, haben wir noch eine weitere Sicherheitslücke, die Sie beherrschen müssen: Bugs in der Geschäftslogik.
Denken Sie, Sie sind jetzt bereit, Ihre Fähigkeiten zu testen? Probiere die letzte spielerische Herausforderung aus:
Wenn Sie sich in einigen Dingen immer noch nicht sicher sind, lesen Sie weiter:
Die Sicherheitslücken, auf die wir uns heute konzentrieren wollen, sind Geschäftslogik Mängel. Diese können auftreten, wenn Programmierer die Regeln der Geschäftslogik nicht ordnungsgemäß implementieren, wodurch ihre Anwendungen anfällig für verschiedene Arten von Angriffen werden könnten, falls ein böswilliger Benutzer sie ausnutzt. Je nach Zweck und Funktionalität, die in jeder Anwendung implementiert ist, kann ein Fehler in der Geschäftslogik dazu führen, dass Rechte erweitert werden, Ressourcen nicht ordnungsgemäß genutzt werden oder eine beliebige Anzahl unbeabsichtigter Geschäftsprozesse ausgeführt wird.
Im Gegensatz zu vielen Sicherheitslücken kann die falsche Implementierung von Geschäftslogikregeln überraschend subtil sein. Sie erfordern besondere Wachsamkeit, um sicherzustellen, dass sie sich nicht in Anwendungen und Code einschleichen.
Was sind einige Beispiele für Fehler in der Geschäftslogik?
Als Beispiel dafür, wie einfach es sein kann, Fehler in der Geschäftslogik zu induzieren, betrachten Sie das folgende Beispiel aus einer Docker-Umgebung, die mit einer Docker Compose-Datei definiert ist. Um Container auf die Ausführung von Funktionen vorzubereiten, könnte ein Entwickler eine Standard-Ressourcenrichtlinie verwenden, die in der Docker Compose-Datei definiert ist, wie im folgenden Beispiel:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Reservierungen:
CPUs: „0,5"
Oberflächlich betrachtet sieht das gut aus, aber diese Ressourcenrichtlinie für Container schränkt den Ressourcenverbrauch nicht richtig ein. Ein Angreifer könnte den Fehler in der Geschäftslogik ausnutzen, um einen Denial-of-Service (DoS) -Angriff zu implementieren.
Um zu versuchen, Benutzer daran zu hindern, zu viele Ressourcen zu beanspruchen, könnte ein Entwickler versuchen, besser zu definieren, was jeder Container unterstützen kann. Der neue Code könnte also eine Platzierungsbeschränkung enthalten:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Reservierungen:
CPUs: „0,5"
Platzierung:
Einschränkungen:
- „node.labels.limit_cpu == 100 M“
- „node.labels.limit_memory == 0,5"
Auf den ersten Blick sieht das so aus, als würde es das lösen Geschäftslogik Fehler. Die neue Platzierungsbeschränkung wirkt sich jedoch nicht auf das Limit für die Ressourcennutzung für den Docker-Containerdienst aus. Es wird nur verwendet, um einen Knoten für die Planung des Containers auszuwählen. In diesem Fall ist ein DoS-Angriff immer noch möglich. Der Angreifer müsste zuerst einen Docker-Container kompromittieren, wäre danach aber in der Lage, Ressourcen unbegrenzt abzubauen.
Wie Sie sehen, kann es ein kniffliges Unterfangen sein, über Fehler in der Geschäftslogik nachzudenken und zu programmieren, um sie zu beheben.
Beseitigung von Fehlern in der Geschäftslogik
Bei Fehlern in der Geschäftslogik liegt der Schlüssel darin, zu wissen, dass sie existieren. Sie müssen darauf achten, sie von Ihrer Umgebung fernzuhalten, während neuer Code geschrieben wird. Geschäftsregeln und bewährte Verfahren sollten in allen Phasen des Anwendungsentwicklungsprozesses, einschließlich Design, Implementierung und Test, klar definiert und überprüft werden.
Um beispielsweise zu verhindern, dass ein Fehler in der Geschäftslogik einen DoS-Angriff wie im obigen Beispiel ermöglicht, empfiehlt es sich, die Menge an Ressourcen zu begrenzen, die jeder von Ihnen erstellte Docker-Container verwenden kann. Insbesondere müssen im Abschnitt „Limits“ die Anzahl der CPUs und die Menge an Speicher angegeben werden, die ein Docker-Container verwenden kann. Ein Beispiel wäre:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Speicher: 100M
Reservierungen:
CPUs: „0,5"
Speicher: 50M
Die Verwendung von Code wie dem obigen Beispiel als Richtlinie würde einen großen Fehler in der Geschäftslogik aus der Umgebung entfernen und DoS-Angriffe verhindern. Dies würde auch dann funktionieren, wenn ein Angreifer einen der Docker-Container kompromittiert hätte. In diesem Fall wäre der Angreifer immer noch nicht in der Lage, seinen Halt zu nutzen, um Ressourcen zu erschöpfen.
Bedrohungsmodellierung kann hilfreich sein, indem sie definiert, wie verschiedene Angriffe stattfinden, und sicherstellt, dass Geschäftslogikregeln verwendet werden, um sie zu verhindern und einzuschränken. Tests auf der Grundlage von Compliance-Regeln und bekannten Missbrauchsfällen könnten ebenfalls hilfreich sein, um Fehler in der Geschäftslogik zu erkennen, die durch das Raster gleiten.
Fehler in der Geschäftslogik gehören zu den subtilsten Sicherheitslücken, die sich in Anwendungen einschleichen können, aber nicht weniger gefährlich sind als andere, bekanntere Risiken. Wenn Sie wissen, wie sie auftreten können, und bewährte Methoden anwenden, können Sie sie während der Anwendungsentwicklung von Ihrer Umgebung fernhalten. So wird sichergestellt, dass sie niemals in eine Produktionsumgebung gelangen, in der sie von Angreifern missbraucht werden können, die mit ihrer Ausnutzung bestens vertraut sind.
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 eine Demo Nehmen Sie an dieser IaC-Herausforderung auf der Secure Code Warrior-Schulungsplattform teil, 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.
Nun, das ist es (vorerst). Wir haben das Ende unserer Infrastructure as Code-Serie erreicht. Wir hoffen, Sie hatten Spaß daran, Sicherheitsprobleme in Docker, Ansible, Kubernetes, Terraform und CloudFormation zu überwinden. Bevor wir uns jedoch abmelden, haben wir noch eine weitere Sicherheitslücke, die Sie beherrschen müssen: Bugs in der Geschäftslogik.
Denken Sie, Sie sind jetzt bereit, Ihre Fähigkeiten zu testen? Probiere die letzte spielerische Herausforderung aus:
Wenn Sie sich in einigen Dingen immer noch nicht sicher sind, lesen Sie weiter:
Die Sicherheitslücken, auf die wir uns heute konzentrieren wollen, sind Geschäftslogik Mängel. Diese können auftreten, wenn Programmierer die Regeln der Geschäftslogik nicht ordnungsgemäß implementieren, wodurch ihre Anwendungen anfällig für verschiedene Arten von Angriffen werden könnten, falls ein böswilliger Benutzer sie ausnutzt. Je nach Zweck und Funktionalität, die in jeder Anwendung implementiert ist, kann ein Fehler in der Geschäftslogik dazu führen, dass Rechte erweitert werden, Ressourcen nicht ordnungsgemäß genutzt werden oder eine beliebige Anzahl unbeabsichtigter Geschäftsprozesse ausgeführt wird.
Im Gegensatz zu vielen Sicherheitslücken kann die falsche Implementierung von Geschäftslogikregeln überraschend subtil sein. Sie erfordern besondere Wachsamkeit, um sicherzustellen, dass sie sich nicht in Anwendungen und Code einschleichen.
Was sind einige Beispiele für Fehler in der Geschäftslogik?
Als Beispiel dafür, wie einfach es sein kann, Fehler in der Geschäftslogik zu induzieren, betrachten Sie das folgende Beispiel aus einer Docker-Umgebung, die mit einer Docker Compose-Datei definiert ist. Um Container auf die Ausführung von Funktionen vorzubereiten, könnte ein Entwickler eine Standard-Ressourcenrichtlinie verwenden, die in der Docker Compose-Datei definiert ist, wie im folgenden Beispiel:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Reservierungen:
CPUs: „0,5"
Oberflächlich betrachtet sieht das gut aus, aber diese Ressourcenrichtlinie für Container schränkt den Ressourcenverbrauch nicht richtig ein. Ein Angreifer könnte den Fehler in der Geschäftslogik ausnutzen, um einen Denial-of-Service (DoS) -Angriff zu implementieren.
Um zu versuchen, Benutzer daran zu hindern, zu viele Ressourcen zu beanspruchen, könnte ein Entwickler versuchen, besser zu definieren, was jeder Container unterstützen kann. Der neue Code könnte also eine Platzierungsbeschränkung enthalten:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Reservierungen:
CPUs: „0,5"
Platzierung:
Einschränkungen:
- „node.labels.limit_cpu == 100 M“
- „node.labels.limit_memory == 0,5"
Auf den ersten Blick sieht das so aus, als würde es das lösen Geschäftslogik Fehler. Die neue Platzierungsbeschränkung wirkt sich jedoch nicht auf das Limit für die Ressourcennutzung für den Docker-Containerdienst aus. Es wird nur verwendet, um einen Knoten für die Planung des Containers auszuwählen. In diesem Fall ist ein DoS-Angriff immer noch möglich. Der Angreifer müsste zuerst einen Docker-Container kompromittieren, wäre danach aber in der Lage, Ressourcen unbegrenzt abzubauen.
Wie Sie sehen, kann es ein kniffliges Unterfangen sein, über Fehler in der Geschäftslogik nachzudenken und zu programmieren, um sie zu beheben.
Beseitigung von Fehlern in der Geschäftslogik
Bei Fehlern in der Geschäftslogik liegt der Schlüssel darin, zu wissen, dass sie existieren. Sie müssen darauf achten, sie von Ihrer Umgebung fernzuhalten, während neuer Code geschrieben wird. Geschäftsregeln und bewährte Verfahren sollten in allen Phasen des Anwendungsentwicklungsprozesses, einschließlich Design, Implementierung und Test, klar definiert und überprüft werden.
Um beispielsweise zu verhindern, dass ein Fehler in der Geschäftslogik einen DoS-Angriff wie im obigen Beispiel ermöglicht, empfiehlt es sich, die Menge an Ressourcen zu begrenzen, die jeder von Ihnen erstellte Docker-Container verwenden kann. Insbesondere müssen im Abschnitt „Limits“ die Anzahl der CPUs und die Menge an Speicher angegeben werden, die ein Docker-Container verwenden kann. Ein Beispiel wäre:
bereitstellen:
Ressourcen:
Grenzwerte:
CPUs: „0,5"
Speicher: 100M
Reservierungen:
CPUs: „0,5"
Speicher: 50M
Die Verwendung von Code wie dem obigen Beispiel als Richtlinie würde einen großen Fehler in der Geschäftslogik aus der Umgebung entfernen und DoS-Angriffe verhindern. Dies würde auch dann funktionieren, wenn ein Angreifer einen der Docker-Container kompromittiert hätte. In diesem Fall wäre der Angreifer immer noch nicht in der Lage, seinen Halt zu nutzen, um Ressourcen zu erschöpfen.
Bedrohungsmodellierung kann hilfreich sein, indem sie definiert, wie verschiedene Angriffe stattfinden, und sicherstellt, dass Geschäftslogikregeln verwendet werden, um sie zu verhindern und einzuschränken. Tests auf der Grundlage von Compliance-Regeln und bekannten Missbrauchsfällen könnten ebenfalls hilfreich sein, um Fehler in der Geschäftslogik zu erkennen, die durch das Raster gleiten.
Fehler in der Geschäftslogik gehören zu den subtilsten Sicherheitslücken, die sich in Anwendungen einschleichen können, aber nicht weniger gefährlich sind als andere, bekanntere Risiken. Wenn Sie wissen, wie sie auftreten können, und bewährte Methoden anwenden, können Sie sie während der Anwendungsentwicklung von Ihrer Umgebung fernhalten. So wird sichergestellt, dass sie niemals in eine Produktionsumgebung gelangen, in der sie von Angreifern missbraucht werden können, die mit ihrer Ausnutzung bestens vertraut sind.
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 eine Demo Nehmen Sie an dieser IaC-Herausforderung auf der Secure Code Warrior-Schulungsplattform teil, 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)
