
Les codeurs conquièrent l'infrastructure de sécurité en tant que série de codes - Business Logic
Nun, das war's (vorerst). Wir haben das Ende unserer Infrastructure as Code-Serie erreicht. Wir hoffen, Sie hatten Spaß beim Bezwingen von Sicherheitsproblemen in Docker, Ansible, Kubernetes, Terraform und CloudFormation. Bevor wir uns jedoch verabschieden, müssen Sie noch eine weitere Schwachstelle meistern: Fehler in der Geschäftslogik.
Denken Sie, Sie sind jetzt bereit, Ihre Fähigkeiten zu testen? Versuchen Sie die letzte spielerische Herausforderung:
Wenn Ihnen noch ein paar Dinge unklar sind, lesen Sie weiter:
Die Schwachstellen, auf die wir uns heute konzentrieren wollen, sind Schwachstellen in der Geschäftslogik. Diese können auftreten, wenn Programmierer die Regeln der Geschäftslogik nicht ordnungsgemäß implementieren, so dass ihre Anwendungen für verschiedene Arten von Angriffen anfällig sind, falls ein böswilliger Benutzer sie ausnutzen möchte. Je nach dem Zweck und der Funktionalität, die in einer Anwendung implementiert sind, kann ein Fehler in der Geschäftslogik die Ausweitung von Privilegien, die unsachgemäße Nutzung von Ressourcen oder eine Reihe von unbeabsichtigten Geschäftsprozessen ermöglichen.
Im Gegensatz zu vielen anderen Schwachstellen kann die fehlerhafte 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 verursachen, betrachten Sie das folgende Beispiel aus einer Docker-Umgebung, die mit einer Docker Compose-Datei definiert wurde. 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:
einsatz:
ressourcen:
limits:
cpus: "0.5"
reservierungen:
cpus: "0.5"
Das sieht zwar oberflächlich betrachtet gut aus, aber diese Ressourcenrichtlinie für Container schränkt die Ressourcennutzung nicht richtig ein. Ein Angreifer könnte den Fehler in der Geschäftslogik ausnutzen, um einen Denial-of-Service-Angriff (DoS) durchzuführen.
Um zu verhindern, dass Benutzer zu viele Ressourcen in Anspruch nehmen, könnte ein Entwickler versuchen, besser zu definieren, was jeder Container unterstützen kann. Der neue Code könnte also eine Platzierungsbeschränkung enthalten:
einsatz:
ressourcen:
limits:
cpus: "0.5"
reservations:
cpus: "0.5"
placement:
constraints:
- "node.labels.limit_cpu == 100M"
- "node.labels.limit_memory == 0.5"
Auf den ersten Blick sieht es so aus, als würde dies den Fehler in der Geschäftslogik beheben. Die neue Platzierungsbeschränkung wirkt sich jedoch nicht auf das Limit der Ressourcennutzung für den Docker-Containerdienst aus. Sie 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, könnte dann aber unbegrenzt Ressourcen verbrauchen.
Wie Sie sehen können, kann das Nachdenken über Fehler in der Geschäftslogik und das Programmieren, um diese zu beseitigen, ein kniffliges Unterfangen sein.
Eliminieren von Fehlern in der Geschäftslogik
Bei Fehlern in der Geschäftslogik kommt es darauf an, zu wissen, dass sie existieren. Sie müssen wachsam sein, um sie aus Ihrer Umgebung herauszuhalten, während neuer Code geschrieben wird. Geschäftsregeln und Best Practices sollten in allen Phasen des Anwendungsentwicklungsprozesses, einschließlich Entwurf, Implementierung und Test, klar definiert und überprüft werden.
Um z. B. zu verhindern, dass ein Fehler in der Geschäftslogik einen DoS-Angriff wie im obigen Beispiel ermöglicht, besteht eine bewährte Methode darin, die Menge der Ressourcen zu begrenzen, die jeder von Ihnen erstellte Docker-Container verwenden kann. Insbesondere muss im Abschnitt "Limits" die Anzahl der CPUs und die Menge des Arbeitsspeichers angegeben werden, die ein Docker-Container verwenden kann. Ein Beispiel wäre:
einsatz:
ressourcen:
limits:
cpus: "0.5"
speicher: 100M
reservierungen:
cpus: "0.5"
memory: 50M
Die Verwendung von Code wie dem obigen Beispiel als Richtlinie würde einen wichtigen Fehler in der Geschäftslogik aus der Umgebung entfernen und DoS-Angriffe verhindern. Dies würde selbst dann funktionieren, wenn ein Angreifer einen der Docker-Container kompromittieren würde. In diesem Fall wäre der Angreifer immer noch nicht in der Lage, sein Standbein zu nutzen, um Ressourcen zu verbrauchen.
Die Bedrohungsmodellierung kann hilfreich sein, indem sie definiert, wie verschiedene Angriffe ablaufen und sicherstellt, dass Geschäftslogikregeln verwendet werden, um sie zu verhindern und einzuschränken. Das Testen auf Basis von Compliance-Regeln und bekannten Missbrauchsfällen könnte ebenfalls hilfreich sein, um Fehler in der Geschäftslogik zu erkennen, die durch die Maschen schlüpfen.
Geschäftslogikfehler gehören zu den subtilsten Schwachstellen, die sich in Anwendungen einschleichen können, sind aber nicht weniger gefährlich als andere, bekanntere Risiken. Wenn Sie wissen, wie sie auftreten können, und Best Practices anwenden, können Sie sie während der Anwendungsentwicklung aus Ihrer Umgebung heraushalten und sicherstellen, dass sie nie in eine Produktionsumgebung gelangen, wo sie von Angreifern missbraucht werden können, die sehr genau wissen, wie man sie ausnutzt.
Schauen Sie sich die Secure Code Warrior Blog-Seiten, um weitere Einblicke in diese Schwachstelle zu erhalten und zu erfahren, wie Sie Ihr Unternehmen und Ihre Kunden vor den Auswirkungen anderer Sicherheitslücken schützen können. Sie können auch eine Demo dieser IaC-Herausforderung auf der Schulungsplattform Secure Code Warrior ausprobieren, um alle Ihre Cybersecurity-Fähigkeiten zu schärfen und auf dem neuesten Stand zu halten.


Cette vulnérabilité peut survenir lorsque les codeurs ne parviennent pas à implémenter correctement les règles de logique métier, ce qui pourrait rendre leurs applications vulnérables à différents types d'attaques si un utilisateur malveillant choisissait de les exploiter.
Matias Madou, Ph.D. 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 uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela 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 au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Secure Code Warrior Ihr Unternehmen dabei, den Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie für die Anwendungssicherheit verantwortlich sind, Entwickler, IT-Sicherheitsbeauftragter oder in einer anderen Funktion im Bereich Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenMatias Madou, Ph.D. 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 uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela 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 au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.
Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.
Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une application.


Nun, das war's (vorerst). Wir haben das Ende unserer Infrastructure as Code-Serie erreicht. Wir hoffen, Sie hatten Spaß beim Bezwingen von Sicherheitsproblemen in Docker, Ansible, Kubernetes, Terraform und CloudFormation. Bevor wir uns jedoch verabschieden, müssen Sie noch eine weitere Schwachstelle meistern: Fehler in der Geschäftslogik.
Denken Sie, Sie sind jetzt bereit, Ihre Fähigkeiten zu testen? Versuchen Sie die letzte spielerische Herausforderung:
Wenn Ihnen noch ein paar Dinge unklar sind, lesen Sie weiter:
Die Schwachstellen, auf die wir uns heute konzentrieren wollen, sind Schwachstellen in der Geschäftslogik. Diese können auftreten, wenn Programmierer die Regeln der Geschäftslogik nicht ordnungsgemäß implementieren, so dass ihre Anwendungen für verschiedene Arten von Angriffen anfällig sind, falls ein böswilliger Benutzer sie ausnutzen möchte. Je nach dem Zweck und der Funktionalität, die in einer Anwendung implementiert sind, kann ein Fehler in der Geschäftslogik die Ausweitung von Privilegien, die unsachgemäße Nutzung von Ressourcen oder eine Reihe von unbeabsichtigten Geschäftsprozessen ermöglichen.
Im Gegensatz zu vielen anderen Schwachstellen kann die fehlerhafte 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 verursachen, betrachten Sie das folgende Beispiel aus einer Docker-Umgebung, die mit einer Docker Compose-Datei definiert wurde. 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:
einsatz:
ressourcen:
limits:
cpus: "0.5"
reservierungen:
cpus: "0.5"
Das sieht zwar oberflächlich betrachtet gut aus, aber diese Ressourcenrichtlinie für Container schränkt die Ressourcennutzung nicht richtig ein. Ein Angreifer könnte den Fehler in der Geschäftslogik ausnutzen, um einen Denial-of-Service-Angriff (DoS) durchzuführen.
Um zu verhindern, dass Benutzer zu viele Ressourcen in Anspruch nehmen, könnte ein Entwickler versuchen, besser zu definieren, was jeder Container unterstützen kann. Der neue Code könnte also eine Platzierungsbeschränkung enthalten:
einsatz:
ressourcen:
limits:
cpus: "0.5"
reservations:
cpus: "0.5"
placement:
constraints:
- "node.labels.limit_cpu == 100M"
- "node.labels.limit_memory == 0.5"
Auf den ersten Blick sieht es so aus, als würde dies den Fehler in der Geschäftslogik beheben. Die neue Platzierungsbeschränkung wirkt sich jedoch nicht auf das Limit der Ressourcennutzung für den Docker-Containerdienst aus. Sie 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, könnte dann aber unbegrenzt Ressourcen verbrauchen.
Wie Sie sehen können, kann das Nachdenken über Fehler in der Geschäftslogik und das Programmieren, um diese zu beseitigen, ein kniffliges Unterfangen sein.
Eliminieren von Fehlern in der Geschäftslogik
Bei Fehlern in der Geschäftslogik kommt es darauf an, zu wissen, dass sie existieren. Sie müssen wachsam sein, um sie aus Ihrer Umgebung herauszuhalten, während neuer Code geschrieben wird. Geschäftsregeln und Best Practices sollten in allen Phasen des Anwendungsentwicklungsprozesses, einschließlich Entwurf, Implementierung und Test, klar definiert und überprüft werden.
Um z. B. zu verhindern, dass ein Fehler in der Geschäftslogik einen DoS-Angriff wie im obigen Beispiel ermöglicht, besteht eine bewährte Methode darin, die Menge der Ressourcen zu begrenzen, die jeder von Ihnen erstellte Docker-Container verwenden kann. Insbesondere muss im Abschnitt "Limits" die Anzahl der CPUs und die Menge des Arbeitsspeichers angegeben werden, die ein Docker-Container verwenden kann. Ein Beispiel wäre:
einsatz:
ressourcen:
limits:
cpus: "0.5"
speicher: 100M
reservierungen:
cpus: "0.5"
memory: 50M
Die Verwendung von Code wie dem obigen Beispiel als Richtlinie würde einen wichtigen Fehler in der Geschäftslogik aus der Umgebung entfernen und DoS-Angriffe verhindern. Dies würde selbst dann funktionieren, wenn ein Angreifer einen der Docker-Container kompromittieren würde. In diesem Fall wäre der Angreifer immer noch nicht in der Lage, sein Standbein zu nutzen, um Ressourcen zu verbrauchen.
Die Bedrohungsmodellierung kann hilfreich sein, indem sie definiert, wie verschiedene Angriffe ablaufen und sicherstellt, dass Geschäftslogikregeln verwendet werden, um sie zu verhindern und einzuschränken. Das Testen auf Basis von Compliance-Regeln und bekannten Missbrauchsfällen könnte ebenfalls hilfreich sein, um Fehler in der Geschäftslogik zu erkennen, die durch die Maschen schlüpfen.
Geschäftslogikfehler gehören zu den subtilsten Schwachstellen, die sich in Anwendungen einschleichen können, sind aber nicht weniger gefährlich als andere, bekanntere Risiken. Wenn Sie wissen, wie sie auftreten können, und Best Practices anwenden, können Sie sie während der Anwendungsentwicklung aus Ihrer Umgebung heraushalten und sicherstellen, dass sie nie in eine Produktionsumgebung gelangen, wo sie von Angreifern missbraucht werden können, die sehr genau wissen, wie man sie ausnutzt.
Schauen Sie sich die Secure Code Warrior Blog-Seiten, um weitere Einblicke in diese Schwachstelle zu erhalten und zu erfahren, wie Sie Ihr Unternehmen und Ihre Kunden vor den Auswirkungen anderer Sicherheitslücken schützen können. Sie können auch eine Demo dieser IaC-Herausforderung auf der Schulungsplattform Secure Code Warrior ausprobieren, um alle Ihre Cybersecurity-Fähigkeiten zu schärfen und auf dem neuesten Stand zu halten.

Nun, das war's (vorerst). Wir haben das Ende unserer Infrastructure as Code-Serie erreicht. Wir hoffen, Sie hatten Spaß beim Bezwingen von Sicherheitsproblemen in Docker, Ansible, Kubernetes, Terraform und CloudFormation. Bevor wir uns jedoch verabschieden, müssen Sie noch eine weitere Schwachstelle meistern: Fehler in der Geschäftslogik.
Denken Sie, Sie sind jetzt bereit, Ihre Fähigkeiten zu testen? Versuchen Sie die letzte spielerische Herausforderung:
Wenn Ihnen noch ein paar Dinge unklar sind, lesen Sie weiter:
Die Schwachstellen, auf die wir uns heute konzentrieren wollen, sind Schwachstellen in der Geschäftslogik. Diese können auftreten, wenn Programmierer die Regeln der Geschäftslogik nicht ordnungsgemäß implementieren, so dass ihre Anwendungen für verschiedene Arten von Angriffen anfällig sind, falls ein böswilliger Benutzer sie ausnutzen möchte. Je nach dem Zweck und der Funktionalität, die in einer Anwendung implementiert sind, kann ein Fehler in der Geschäftslogik die Ausweitung von Privilegien, die unsachgemäße Nutzung von Ressourcen oder eine Reihe von unbeabsichtigten Geschäftsprozessen ermöglichen.
Im Gegensatz zu vielen anderen Schwachstellen kann die fehlerhafte 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 verursachen, betrachten Sie das folgende Beispiel aus einer Docker-Umgebung, die mit einer Docker Compose-Datei definiert wurde. 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:
einsatz:
ressourcen:
limits:
cpus: "0.5"
reservierungen:
cpus: "0.5"
Das sieht zwar oberflächlich betrachtet gut aus, aber diese Ressourcenrichtlinie für Container schränkt die Ressourcennutzung nicht richtig ein. Ein Angreifer könnte den Fehler in der Geschäftslogik ausnutzen, um einen Denial-of-Service-Angriff (DoS) durchzuführen.
Um zu verhindern, dass Benutzer zu viele Ressourcen in Anspruch nehmen, könnte ein Entwickler versuchen, besser zu definieren, was jeder Container unterstützen kann. Der neue Code könnte also eine Platzierungsbeschränkung enthalten:
einsatz:
ressourcen:
limits:
cpus: "0.5"
reservations:
cpus: "0.5"
placement:
constraints:
- "node.labels.limit_cpu == 100M"
- "node.labels.limit_memory == 0.5"
Auf den ersten Blick sieht es so aus, als würde dies den Fehler in der Geschäftslogik beheben. Die neue Platzierungsbeschränkung wirkt sich jedoch nicht auf das Limit der Ressourcennutzung für den Docker-Containerdienst aus. Sie 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, könnte dann aber unbegrenzt Ressourcen verbrauchen.
Wie Sie sehen können, kann das Nachdenken über Fehler in der Geschäftslogik und das Programmieren, um diese zu beseitigen, ein kniffliges Unterfangen sein.
Eliminieren von Fehlern in der Geschäftslogik
Bei Fehlern in der Geschäftslogik kommt es darauf an, zu wissen, dass sie existieren. Sie müssen wachsam sein, um sie aus Ihrer Umgebung herauszuhalten, während neuer Code geschrieben wird. Geschäftsregeln und Best Practices sollten in allen Phasen des Anwendungsentwicklungsprozesses, einschließlich Entwurf, Implementierung und Test, klar definiert und überprüft werden.
Um z. B. zu verhindern, dass ein Fehler in der Geschäftslogik einen DoS-Angriff wie im obigen Beispiel ermöglicht, besteht eine bewährte Methode darin, die Menge der Ressourcen zu begrenzen, die jeder von Ihnen erstellte Docker-Container verwenden kann. Insbesondere muss im Abschnitt "Limits" die Anzahl der CPUs und die Menge des Arbeitsspeichers angegeben werden, die ein Docker-Container verwenden kann. Ein Beispiel wäre:
einsatz:
ressourcen:
limits:
cpus: "0.5"
speicher: 100M
reservierungen:
cpus: "0.5"
memory: 50M
Die Verwendung von Code wie dem obigen Beispiel als Richtlinie würde einen wichtigen Fehler in der Geschäftslogik aus der Umgebung entfernen und DoS-Angriffe verhindern. Dies würde selbst dann funktionieren, wenn ein Angreifer einen der Docker-Container kompromittieren würde. In diesem Fall wäre der Angreifer immer noch nicht in der Lage, sein Standbein zu nutzen, um Ressourcen zu verbrauchen.
Die Bedrohungsmodellierung kann hilfreich sein, indem sie definiert, wie verschiedene Angriffe ablaufen und sicherstellt, dass Geschäftslogikregeln verwendet werden, um sie zu verhindern und einzuschränken. Das Testen auf Basis von Compliance-Regeln und bekannten Missbrauchsfällen könnte ebenfalls hilfreich sein, um Fehler in der Geschäftslogik zu erkennen, die durch die Maschen schlüpfen.
Geschäftslogikfehler gehören zu den subtilsten Schwachstellen, die sich in Anwendungen einschleichen können, sind aber nicht weniger gefährlich als andere, bekanntere Risiken. Wenn Sie wissen, wie sie auftreten können, und Best Practices anwenden, können Sie sie während der Anwendungsentwicklung aus Ihrer Umgebung heraushalten und sicherstellen, dass sie nie in eine Produktionsumgebung gelangen, wo sie von Angreifern missbraucht werden können, die sehr genau wissen, wie man sie ausnutzt.
Schauen Sie sich die Secure Code Warrior Blog-Seiten, um weitere Einblicke in diese Schwachstelle zu erhalten und zu erfahren, wie Sie Ihr Unternehmen und Ihre Kunden vor den Auswirkungen anderer Sicherheitslücken schützen können. Sie können auch eine Demo dieser IaC-Herausforderung auf der Schulungsplattform Secure Code Warrior ausprobieren, um alle Ihre Cybersecurity-Fähigkeiten zu schärfen und auf dem neuesten Stand zu halten.

Klicken Sie auf den untenstehenden Link und laden Sie das PDF dieser Ressource herunter.
Secure Code Warrior Ihr Unternehmen dabei, den Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie für die Anwendungssicherheit verantwortlich sind, Entwickler, IT-Sicherheitsbeauftragter oder in einer anderen Funktion im Bereich Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht anzeigenDemo buchenMatias Madou, Ph.D. 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 uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela 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 au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.
Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.
Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une application.
Nun, das war's (vorerst). Wir haben das Ende unserer Infrastructure as Code-Serie erreicht. Wir hoffen, Sie hatten Spaß beim Bezwingen von Sicherheitsproblemen in Docker, Ansible, Kubernetes, Terraform und CloudFormation. Bevor wir uns jedoch verabschieden, müssen Sie noch eine weitere Schwachstelle meistern: Fehler in der Geschäftslogik.
Denken Sie, Sie sind jetzt bereit, Ihre Fähigkeiten zu testen? Versuchen Sie die letzte spielerische Herausforderung:
Wenn Ihnen noch ein paar Dinge unklar sind, lesen Sie weiter:
Die Schwachstellen, auf die wir uns heute konzentrieren wollen, sind Schwachstellen in der Geschäftslogik. Diese können auftreten, wenn Programmierer die Regeln der Geschäftslogik nicht ordnungsgemäß implementieren, so dass ihre Anwendungen für verschiedene Arten von Angriffen anfällig sind, falls ein böswilliger Benutzer sie ausnutzen möchte. Je nach dem Zweck und der Funktionalität, die in einer Anwendung implementiert sind, kann ein Fehler in der Geschäftslogik die Ausweitung von Privilegien, die unsachgemäße Nutzung von Ressourcen oder eine Reihe von unbeabsichtigten Geschäftsprozessen ermöglichen.
Im Gegensatz zu vielen anderen Schwachstellen kann die fehlerhafte 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 verursachen, betrachten Sie das folgende Beispiel aus einer Docker-Umgebung, die mit einer Docker Compose-Datei definiert wurde. 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:
einsatz:
ressourcen:
limits:
cpus: "0.5"
reservierungen:
cpus: "0.5"
Das sieht zwar oberflächlich betrachtet gut aus, aber diese Ressourcenrichtlinie für Container schränkt die Ressourcennutzung nicht richtig ein. Ein Angreifer könnte den Fehler in der Geschäftslogik ausnutzen, um einen Denial-of-Service-Angriff (DoS) durchzuführen.
Um zu verhindern, dass Benutzer zu viele Ressourcen in Anspruch nehmen, könnte ein Entwickler versuchen, besser zu definieren, was jeder Container unterstützen kann. Der neue Code könnte also eine Platzierungsbeschränkung enthalten:
einsatz:
ressourcen:
limits:
cpus: "0.5"
reservations:
cpus: "0.5"
placement:
constraints:
- "node.labels.limit_cpu == 100M"
- "node.labels.limit_memory == 0.5"
Auf den ersten Blick sieht es so aus, als würde dies den Fehler in der Geschäftslogik beheben. Die neue Platzierungsbeschränkung wirkt sich jedoch nicht auf das Limit der Ressourcennutzung für den Docker-Containerdienst aus. Sie 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, könnte dann aber unbegrenzt Ressourcen verbrauchen.
Wie Sie sehen können, kann das Nachdenken über Fehler in der Geschäftslogik und das Programmieren, um diese zu beseitigen, ein kniffliges Unterfangen sein.
Eliminieren von Fehlern in der Geschäftslogik
Bei Fehlern in der Geschäftslogik kommt es darauf an, zu wissen, dass sie existieren. Sie müssen wachsam sein, um sie aus Ihrer Umgebung herauszuhalten, während neuer Code geschrieben wird. Geschäftsregeln und Best Practices sollten in allen Phasen des Anwendungsentwicklungsprozesses, einschließlich Entwurf, Implementierung und Test, klar definiert und überprüft werden.
Um z. B. zu verhindern, dass ein Fehler in der Geschäftslogik einen DoS-Angriff wie im obigen Beispiel ermöglicht, besteht eine bewährte Methode darin, die Menge der Ressourcen zu begrenzen, die jeder von Ihnen erstellte Docker-Container verwenden kann. Insbesondere muss im Abschnitt "Limits" die Anzahl der CPUs und die Menge des Arbeitsspeichers angegeben werden, die ein Docker-Container verwenden kann. Ein Beispiel wäre:
einsatz:
ressourcen:
limits:
cpus: "0.5"
speicher: 100M
reservierungen:
cpus: "0.5"
memory: 50M
Die Verwendung von Code wie dem obigen Beispiel als Richtlinie würde einen wichtigen Fehler in der Geschäftslogik aus der Umgebung entfernen und DoS-Angriffe verhindern. Dies würde selbst dann funktionieren, wenn ein Angreifer einen der Docker-Container kompromittieren würde. In diesem Fall wäre der Angreifer immer noch nicht in der Lage, sein Standbein zu nutzen, um Ressourcen zu verbrauchen.
Die Bedrohungsmodellierung kann hilfreich sein, indem sie definiert, wie verschiedene Angriffe ablaufen und sicherstellt, dass Geschäftslogikregeln verwendet werden, um sie zu verhindern und einzuschränken. Das Testen auf Basis von Compliance-Regeln und bekannten Missbrauchsfällen könnte ebenfalls hilfreich sein, um Fehler in der Geschäftslogik zu erkennen, die durch die Maschen schlüpfen.
Geschäftslogikfehler gehören zu den subtilsten Schwachstellen, die sich in Anwendungen einschleichen können, sind aber nicht weniger gefährlich als andere, bekanntere Risiken. Wenn Sie wissen, wie sie auftreten können, und Best Practices anwenden, können Sie sie während der Anwendungsentwicklung aus Ihrer Umgebung heraushalten und sicherstellen, dass sie nie in eine Produktionsumgebung gelangen, wo sie von Angreifern missbraucht werden können, die sehr genau wissen, wie man sie ausnutzt.
Schauen Sie sich die Secure Code Warrior Blog-Seiten, um weitere Einblicke in diese Schwachstelle zu erhalten und zu erfahren, wie Sie Ihr Unternehmen und Ihre Kunden vor den Auswirkungen anderer Sicherheitslücken schützen können. Sie können auch eine Demo dieser IaC-Herausforderung auf der Schulungsplattform Secure Code Warrior ausprobieren, um alle Ihre Cybersecurity-Fähigkeiten zu schärfen und auf dem neuesten Stand zu halten.
Inhaltsverzeichnis
Matias Madou, Ph.D. 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 uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela 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 au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Secure Code Warrior Ihr Unternehmen dabei, den Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie für die Anwendungssicherheit verantwortlich sind, Entwickler, IT-Sicherheitsbeauftragter oder in einer anderen Funktion im Bereich Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenHerunterladenRessourcen, die Ihnen den Einstieg erleichtern
Trust Agent:AI - Secure and scale AI-Drive development
AI is writing code. Who’s governing it? With up to 50% of AI-generated code containing security weaknesses, managing AI risk is critical. Discover how SCW's Trust Agent: AI provides the real-time visibility, proactive governance, and targeted upskilling needed to scale AI-driven development securely.
Die Leistungsfähigkeit von OpenText Application Security + Secure Code Warrior
OpenText Application Security and Secure Code Warrior combine vulnerability detection with AI Software Governance and developer capability. Together, they help organizations reduce risk, strengthen secure coding practices, and confidently adopt AI-driven development.
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.
Themen und Inhalte der Schulung zum sicheren Code
Unsere hochmodernen Inhalte werden ständig weiterentwickelt, um mit den ständigen Veränderungen in der Softwareentwicklungslandschaft Schritt zu halten und gleichzeitig Ihre Rolle zu berücksichtigen. Die Themen reichen von KI bis hin zu XQuery-Injection und sind für eine Vielzahl von Positionen konzipiert, von Architekten über Ingenieure bis hin zu Produktmanagern und Qualitätssicherungsmitarbeitern. Verschaffen Sie sich einen Überblick über die Inhalte unseres Katalogs, sortiert nach Themen und Rollen.
Ressourcen, die Ihnen den Einstieg erleichtern
Cybermon ist zurück: Die missions „Beat the Boss“ sind jetzt auf Abruf verfügbar.
Cybermon 2025 Beat the Boss ist jetzt das ganze Jahr über in SCW verfügbar. Setzen Sie fortschrittliche Sicherheitsherausforderungen im Zusammenhang mit KI und LLM ein, um die sichere Entwicklung von KI in großem Maßstab zu stärken.
Erläuterung des Gesetzes zur Cyberresilienz: Was bedeutet das für die Entwicklung sicherer Software bereits ab der Konzeption?
Entdecken Sie, was das europäische Gesetz zur Cyberresilienz (CRA) verlangt, für wen es gilt und wie sich Ingenieurteams durch Sicherheitsmaßnahmen bereits in der Entwurfsphase, durch die Vermeidung von Schwachstellen und durch die Stärkung der Fähigkeiten der Entwickler darauf vorbereiten können.
Moderator 1: Definierte und messbare Erfolgskriterien
Enabler 1 gibt den Startschuss für unsere 10-teilige Serie mit dem Titel „Enablers of Success“ und zeigt, wie sichere Codierung mit geschäftlichen Ergebnissen wie Risikominderung und Schnelligkeit kombiniert werden kann, um die langfristige Reife von Programmen sicherzustellen.




