
Programmierer erobern die Sicherheit: Serie „Teilen und Lernen“ — Padding Oracle
Padding Oracle klingt zwar nach einem wirklich schlechten Ruf für eine alternative Rockband, ist aber tatsächlich eine Sicherheitslücke, die von Angreifern genutzt werden kann, um Informationen zu entschlüsseln, ohne den Verschlüsselungsschlüssel zu kennen.
In Bezug auf die Gesamtschwierigkeit für einen Angreifer liegt dieser ziemlich weit oben auf der Skala. Wir sprechen nicht von einer magischen Entschlüsselungsschaltfläche, sondern von einem mühsamen Prozess, bei dem Hacker die an sie gesendeten Fehlermeldungen zum Auffüllen von Zellen untersuchen und anhand dieser Informationen feststellen können, wo verschlüsselte Daten enden und das Auffüllen beginnt. Sie können dann verschiedene Teile der Verschlüsselung herausfinden und sie möglicherweise knacken, wenn sie genügend Zeit und Eingaben zur Untersuchung haben.
Zum Glück gibt es mehrere relativ einfache Schritte, die einem Angreifer die Möglichkeit nehmen können, Padding Oracle zum Entschlüsseln verschlüsselter Daten zu verwenden. In dieser Episode werden wir lernen:
- So funktioniert's
- Warum diese Sicherheitslücke so gefährlich ist
- Wie Sie Abwehrmaßnahmen einrichten können, um dies zu verhindern.
Wie funktioniert Padding Oracle?
Cipher Block Chaining (CBC) ist eine Methode, eine Blockchiffre zu erstellen, bei der eine ganze Folge von Informationsbits, z. B. Zellen, die in einer Datenbank gespeichert sind, mit einem Verschlüsselungsschlüssel verschlüsselt wird, der für die gesamte Informationskette gilt. Bei Verwendung von CBC hängt die Verschlüsselung eines einzelnen Chiffretextblocks von allen weiteren Blöcken ab. Theoretisch macht dies die Verschlüsselung extrem stark, da alles, selbst die Neuordnung der Blöcke, die Daten beschädigt.
Das Problem mit CBC-Chiffren (und allen Blockchiffren übrigens) besteht darin, dass sie nur mit Blöcken exakter Größe verschlüsselt werden können. Normalerweise erfolgt dies in 8- oder 16-Byte-Größen. Was passiert also, wenn CBC 2 Byte an Daten in eine 16-Byte-Chiffretexteinheit einpassen muss? Es wird Füllungen verwenden, im Grunde genommen nur unsinnige Zeichen, um die Lücken zu füllen und der Einheit eine angemessene Größe zuzuweisen.
Die meisten Padding-Schemata sind allgemein bekannt, wobei PKCS #7 eines der beliebtesten ist, sodass Angreifer möglicherweise wissen, welche Art von Padding verwendet wird. Wenn das CBC beispielsweise fünf Zeichen in einem Block auffüllen muss, würde PKCS #7 den Bytewert 0x05 verwenden, der fünfmal nach dem Klartext wiederholt wird.
Angreifer nutzen ihr Wissen über CBC- und Padding-Schemata, um Anfragen an einen Hostserver zu senden, der auch als Oracle bezeichnet wird. Wenn sie Zugriff auf die richtigen Tools haben, können sie den Server möglicherweise dazu zwingen, ihnen mitzuteilen, ob das Padding in ihrer Abfrage falsch ist. Um dies zu erreichen, können sie für jedes Byte in der Chiffre von Null auf 255 wechseln, bis der Server ihnen mitteilt, dass das Padding korrekt ist. Dann fahren sie mit der nächsten Einheit fort und wiederholen den Vorgang, wobei sie jeweils aufzeichnen, wo das Padding beginnt.
Dadurch können sie die Nachricht oder sogar die Zelle nicht entschlüsseln, aber sie könnten jedes Glied in der Kette so zuordnen, wo der Klartext endet und wo das Padding beginnt. Sie können möglicherweise auch XOR-Berechnungen verwenden, um den Wert des letzten Bytes des ursprünglichen Klartextes zu ermitteln.
Warum ist Padding Oracle so gefährlich?
Der Grund, warum ein Hacker so viel Arbeit in das Knacken der Verschlüsselung stecken würde, liegt in der möglichen Auszahlung. Nur wenige Leute verschlüsseln Dinge, die nicht wertvoll sind. Die Gefahr für die Host-Organisation hängt davon ab, ob die Daten kompromittiert werden. Dazu können Dinge wie Passwörter, Benutzerkonten, Finanzinformationen, Kreditkartennummern, Patientenakten, vertrauliche Kommunikation oder eine beliebige Anzahl von äußerst gesuchten und wertvollen Informationen gehören.
Die Verwendung von Padding Oracle könnte auch das Tor zu nachfolgenden Angriffen sein. Wenn ein Angreifer beispielsweise mithilfe von Padding Oracle Passwörter stehlen kann, ist es eine einfache sekundäre Aufgabe, seine Rechte zu erhöhen und tiefer in ein Netzwerk einzudringen.
Jeder hält Verschlüsselung für die ultimative Verteidigung gegen Schnüffeln oder Kompromittieren. Das Hin und Her zwischen der Verschlüsselungswissenschaft und denjenigen, die sie brechen würden, dauert jedoch schon seit Jahrhunderten an. Das Padding Orakel ist nur eine Methode, die Angreifern einen Vorteil verschafft.
Padding Oracle-Angriffen eine harte Landung
Zum Glück gibt es eine ganze Reihe von Möglichkeiten, das Padding Orakel zu verhindern. Eine der besten Methoden ist die Verwendung eines stärkeren Verschlüsselungsmodus für Operationen wie Galois/Counter Mode (GCM) oder Offset Codebook Mode (OCB). Es unterscheidet sich von CBC dadurch, dass es eine Chiffreblockgröße von 128 Bit verwendet. Es verwendet auch einen Zähler für jeden Datenblock und verwendet dann diese Zahl, um den Chiffretext zu erstellen. Mit anderen Worten, es ist nicht anfällig für Padding-Oracle-Angriffe.
Die Implementierung guter Kontrollen zur Fehlerbehandlung kann auch die Erfolgschancen eines Angreifers erheblich beeinträchtigen. Da Padding-Oracle-Angriffe auf Informationslecks beruhen, geben Sie bei einem Ver-/Entschlüsselungsfehler generische Fehlermeldungen statt spezifischer Padding-Fehler zurück.
Sie können auch den Message Authentication Code (MAC) implementieren. MAC-Werte schützen sowohl die Datenintegrität als auch deren Authentizität, indem sie es Prüfern ermöglichen, Änderungen am Nachrichteninhalt mithilfe eines geheimen Schlüssels zu erkennen.
Schließlich erfordern alle Padding-Oracle-Angriffe wiederholte Abfragen. Es können über 200 Anfragen gestellt werden, um das Auffüllschema für eine einzelne Zelle herauszufinden, multipliziert mit der Anzahl der Informationseinheiten, die in der Kette geschützt werden. Indem Sie die Anzahl der Anfragen einschränken, die von derselben Quelle eingehen, können Sie Padding-Oracle-Angriffe abwehren, indem Sie einem Angreifer den Zugriff verweigern, bevor er seinen Versuch wirklich beginnen kann.
Weitere Studie zu Padding Oracle
Jede Methode, mit der ein Angreifer vertrauliche Informationen entschlüsseln kann, kann zu einem echten Albtraum werden. Wir hoffen jedoch, dass Sie einige gute Methoden gelernt haben, um dies von vornherein zu verhindern.
Für weitere Informationen können Sie sich die OWASP ansehen Definition und Checkliste auf dem Padding Orakel. Sie können Ihr neu gewonnenes Defensivwissen auch auf die Probe stellen mit dem kostenlose Demo der Secure Code Warrior-Plattform, die Cybersicherheitsteams zu ultimativen Cyberkriegern ausbildet. Um mehr über die Beseitigung dieser Sicherheitslücke und eine Galerie mit anderen Bedrohungen zu erfahren, besuchen Sie die Blog von Secure Code Warrior.
Denken Sie, Sie sind jetzt in der Lage, Padding-Oracle-Angriffe abzuwehren? Probieren Sie es auf der Secure Code Warrior-Plattform aus:


Padding Oracle klingt zwar nach einem wirklich schlechten Ruf für eine alternative Rockband, ist aber tatsächlich eine Sicherheitslücke, die von Angreifern genutzt werden kann, um Informationen zu entschlüsseln, ohne den Verschlüsselungsschlüssel zu kennen.

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émonstration

Padding Oracle klingt zwar nach einem wirklich schlechten Ruf für eine alternative Rockband, ist aber tatsächlich eine Sicherheitslücke, die von Angreifern genutzt werden kann, um Informationen zu entschlüsseln, ohne den Verschlüsselungsschlüssel zu kennen.
In Bezug auf die Gesamtschwierigkeit für einen Angreifer liegt dieser ziemlich weit oben auf der Skala. Wir sprechen nicht von einer magischen Entschlüsselungsschaltfläche, sondern von einem mühsamen Prozess, bei dem Hacker die an sie gesendeten Fehlermeldungen zum Auffüllen von Zellen untersuchen und anhand dieser Informationen feststellen können, wo verschlüsselte Daten enden und das Auffüllen beginnt. Sie können dann verschiedene Teile der Verschlüsselung herausfinden und sie möglicherweise knacken, wenn sie genügend Zeit und Eingaben zur Untersuchung haben.
Zum Glück gibt es mehrere relativ einfache Schritte, die einem Angreifer die Möglichkeit nehmen können, Padding Oracle zum Entschlüsseln verschlüsselter Daten zu verwenden. In dieser Episode werden wir lernen:
- So funktioniert's
- Warum diese Sicherheitslücke so gefährlich ist
- Wie Sie Abwehrmaßnahmen einrichten können, um dies zu verhindern.
Wie funktioniert Padding Oracle?
Cipher Block Chaining (CBC) ist eine Methode, eine Blockchiffre zu erstellen, bei der eine ganze Folge von Informationsbits, z. B. Zellen, die in einer Datenbank gespeichert sind, mit einem Verschlüsselungsschlüssel verschlüsselt wird, der für die gesamte Informationskette gilt. Bei Verwendung von CBC hängt die Verschlüsselung eines einzelnen Chiffretextblocks von allen weiteren Blöcken ab. Theoretisch macht dies die Verschlüsselung extrem stark, da alles, selbst die Neuordnung der Blöcke, die Daten beschädigt.
Das Problem mit CBC-Chiffren (und allen Blockchiffren übrigens) besteht darin, dass sie nur mit Blöcken exakter Größe verschlüsselt werden können. Normalerweise erfolgt dies in 8- oder 16-Byte-Größen. Was passiert also, wenn CBC 2 Byte an Daten in eine 16-Byte-Chiffretexteinheit einpassen muss? Es wird Füllungen verwenden, im Grunde genommen nur unsinnige Zeichen, um die Lücken zu füllen und der Einheit eine angemessene Größe zuzuweisen.
Die meisten Padding-Schemata sind allgemein bekannt, wobei PKCS #7 eines der beliebtesten ist, sodass Angreifer möglicherweise wissen, welche Art von Padding verwendet wird. Wenn das CBC beispielsweise fünf Zeichen in einem Block auffüllen muss, würde PKCS #7 den Bytewert 0x05 verwenden, der fünfmal nach dem Klartext wiederholt wird.
Angreifer nutzen ihr Wissen über CBC- und Padding-Schemata, um Anfragen an einen Hostserver zu senden, der auch als Oracle bezeichnet wird. Wenn sie Zugriff auf die richtigen Tools haben, können sie den Server möglicherweise dazu zwingen, ihnen mitzuteilen, ob das Padding in ihrer Abfrage falsch ist. Um dies zu erreichen, können sie für jedes Byte in der Chiffre von Null auf 255 wechseln, bis der Server ihnen mitteilt, dass das Padding korrekt ist. Dann fahren sie mit der nächsten Einheit fort und wiederholen den Vorgang, wobei sie jeweils aufzeichnen, wo das Padding beginnt.
Dadurch können sie die Nachricht oder sogar die Zelle nicht entschlüsseln, aber sie könnten jedes Glied in der Kette so zuordnen, wo der Klartext endet und wo das Padding beginnt. Sie können möglicherweise auch XOR-Berechnungen verwenden, um den Wert des letzten Bytes des ursprünglichen Klartextes zu ermitteln.
Warum ist Padding Oracle so gefährlich?
Der Grund, warum ein Hacker so viel Arbeit in das Knacken der Verschlüsselung stecken würde, liegt in der möglichen Auszahlung. Nur wenige Leute verschlüsseln Dinge, die nicht wertvoll sind. Die Gefahr für die Host-Organisation hängt davon ab, ob die Daten kompromittiert werden. Dazu können Dinge wie Passwörter, Benutzerkonten, Finanzinformationen, Kreditkartennummern, Patientenakten, vertrauliche Kommunikation oder eine beliebige Anzahl von äußerst gesuchten und wertvollen Informationen gehören.
Die Verwendung von Padding Oracle könnte auch das Tor zu nachfolgenden Angriffen sein. Wenn ein Angreifer beispielsweise mithilfe von Padding Oracle Passwörter stehlen kann, ist es eine einfache sekundäre Aufgabe, seine Rechte zu erhöhen und tiefer in ein Netzwerk einzudringen.
Jeder hält Verschlüsselung für die ultimative Verteidigung gegen Schnüffeln oder Kompromittieren. Das Hin und Her zwischen der Verschlüsselungswissenschaft und denjenigen, die sie brechen würden, dauert jedoch schon seit Jahrhunderten an. Das Padding Orakel ist nur eine Methode, die Angreifern einen Vorteil verschafft.
Padding Oracle-Angriffen eine harte Landung
Zum Glück gibt es eine ganze Reihe von Möglichkeiten, das Padding Orakel zu verhindern. Eine der besten Methoden ist die Verwendung eines stärkeren Verschlüsselungsmodus für Operationen wie Galois/Counter Mode (GCM) oder Offset Codebook Mode (OCB). Es unterscheidet sich von CBC dadurch, dass es eine Chiffreblockgröße von 128 Bit verwendet. Es verwendet auch einen Zähler für jeden Datenblock und verwendet dann diese Zahl, um den Chiffretext zu erstellen. Mit anderen Worten, es ist nicht anfällig für Padding-Oracle-Angriffe.
Die Implementierung guter Kontrollen zur Fehlerbehandlung kann auch die Erfolgschancen eines Angreifers erheblich beeinträchtigen. Da Padding-Oracle-Angriffe auf Informationslecks beruhen, geben Sie bei einem Ver-/Entschlüsselungsfehler generische Fehlermeldungen statt spezifischer Padding-Fehler zurück.
Sie können auch den Message Authentication Code (MAC) implementieren. MAC-Werte schützen sowohl die Datenintegrität als auch deren Authentizität, indem sie es Prüfern ermöglichen, Änderungen am Nachrichteninhalt mithilfe eines geheimen Schlüssels zu erkennen.
Schließlich erfordern alle Padding-Oracle-Angriffe wiederholte Abfragen. Es können über 200 Anfragen gestellt werden, um das Auffüllschema für eine einzelne Zelle herauszufinden, multipliziert mit der Anzahl der Informationseinheiten, die in der Kette geschützt werden. Indem Sie die Anzahl der Anfragen einschränken, die von derselben Quelle eingehen, können Sie Padding-Oracle-Angriffe abwehren, indem Sie einem Angreifer den Zugriff verweigern, bevor er seinen Versuch wirklich beginnen kann.
Weitere Studie zu Padding Oracle
Jede Methode, mit der ein Angreifer vertrauliche Informationen entschlüsseln kann, kann zu einem echten Albtraum werden. Wir hoffen jedoch, dass Sie einige gute Methoden gelernt haben, um dies von vornherein zu verhindern.
Für weitere Informationen können Sie sich die OWASP ansehen Definition und Checkliste auf dem Padding Orakel. Sie können Ihr neu gewonnenes Defensivwissen auch auf die Probe stellen mit dem kostenlose Demo der Secure Code Warrior-Plattform, die Cybersicherheitsteams zu ultimativen Cyberkriegern ausbildet. Um mehr über die Beseitigung dieser Sicherheitslücke und eine Galerie mit anderen Bedrohungen zu erfahren, besuchen Sie die Blog von Secure Code Warrior.
Denken Sie, Sie sind jetzt in der Lage, Padding-Oracle-Angriffe abzuwehren? Probieren Sie es auf der Secure Code Warrior-Plattform aus:

Padding Oracle klingt zwar nach einem wirklich schlechten Ruf für eine alternative Rockband, ist aber tatsächlich eine Sicherheitslücke, die von Angreifern genutzt werden kann, um Informationen zu entschlüsseln, ohne den Verschlüsselungsschlüssel zu kennen.
In Bezug auf die Gesamtschwierigkeit für einen Angreifer liegt dieser ziemlich weit oben auf der Skala. Wir sprechen nicht von einer magischen Entschlüsselungsschaltfläche, sondern von einem mühsamen Prozess, bei dem Hacker die an sie gesendeten Fehlermeldungen zum Auffüllen von Zellen untersuchen und anhand dieser Informationen feststellen können, wo verschlüsselte Daten enden und das Auffüllen beginnt. Sie können dann verschiedene Teile der Verschlüsselung herausfinden und sie möglicherweise knacken, wenn sie genügend Zeit und Eingaben zur Untersuchung haben.
Zum Glück gibt es mehrere relativ einfache Schritte, die einem Angreifer die Möglichkeit nehmen können, Padding Oracle zum Entschlüsseln verschlüsselter Daten zu verwenden. In dieser Episode werden wir lernen:
- So funktioniert's
- Warum diese Sicherheitslücke so gefährlich ist
- Wie Sie Abwehrmaßnahmen einrichten können, um dies zu verhindern.
Wie funktioniert Padding Oracle?
Cipher Block Chaining (CBC) ist eine Methode, eine Blockchiffre zu erstellen, bei der eine ganze Folge von Informationsbits, z. B. Zellen, die in einer Datenbank gespeichert sind, mit einem Verschlüsselungsschlüssel verschlüsselt wird, der für die gesamte Informationskette gilt. Bei Verwendung von CBC hängt die Verschlüsselung eines einzelnen Chiffretextblocks von allen weiteren Blöcken ab. Theoretisch macht dies die Verschlüsselung extrem stark, da alles, selbst die Neuordnung der Blöcke, die Daten beschädigt.
Das Problem mit CBC-Chiffren (und allen Blockchiffren übrigens) besteht darin, dass sie nur mit Blöcken exakter Größe verschlüsselt werden können. Normalerweise erfolgt dies in 8- oder 16-Byte-Größen. Was passiert also, wenn CBC 2 Byte an Daten in eine 16-Byte-Chiffretexteinheit einpassen muss? Es wird Füllungen verwenden, im Grunde genommen nur unsinnige Zeichen, um die Lücken zu füllen und der Einheit eine angemessene Größe zuzuweisen.
Die meisten Padding-Schemata sind allgemein bekannt, wobei PKCS #7 eines der beliebtesten ist, sodass Angreifer möglicherweise wissen, welche Art von Padding verwendet wird. Wenn das CBC beispielsweise fünf Zeichen in einem Block auffüllen muss, würde PKCS #7 den Bytewert 0x05 verwenden, der fünfmal nach dem Klartext wiederholt wird.
Angreifer nutzen ihr Wissen über CBC- und Padding-Schemata, um Anfragen an einen Hostserver zu senden, der auch als Oracle bezeichnet wird. Wenn sie Zugriff auf die richtigen Tools haben, können sie den Server möglicherweise dazu zwingen, ihnen mitzuteilen, ob das Padding in ihrer Abfrage falsch ist. Um dies zu erreichen, können sie für jedes Byte in der Chiffre von Null auf 255 wechseln, bis der Server ihnen mitteilt, dass das Padding korrekt ist. Dann fahren sie mit der nächsten Einheit fort und wiederholen den Vorgang, wobei sie jeweils aufzeichnen, wo das Padding beginnt.
Dadurch können sie die Nachricht oder sogar die Zelle nicht entschlüsseln, aber sie könnten jedes Glied in der Kette so zuordnen, wo der Klartext endet und wo das Padding beginnt. Sie können möglicherweise auch XOR-Berechnungen verwenden, um den Wert des letzten Bytes des ursprünglichen Klartextes zu ermitteln.
Warum ist Padding Oracle so gefährlich?
Der Grund, warum ein Hacker so viel Arbeit in das Knacken der Verschlüsselung stecken würde, liegt in der möglichen Auszahlung. Nur wenige Leute verschlüsseln Dinge, die nicht wertvoll sind. Die Gefahr für die Host-Organisation hängt davon ab, ob die Daten kompromittiert werden. Dazu können Dinge wie Passwörter, Benutzerkonten, Finanzinformationen, Kreditkartennummern, Patientenakten, vertrauliche Kommunikation oder eine beliebige Anzahl von äußerst gesuchten und wertvollen Informationen gehören.
Die Verwendung von Padding Oracle könnte auch das Tor zu nachfolgenden Angriffen sein. Wenn ein Angreifer beispielsweise mithilfe von Padding Oracle Passwörter stehlen kann, ist es eine einfache sekundäre Aufgabe, seine Rechte zu erhöhen und tiefer in ein Netzwerk einzudringen.
Jeder hält Verschlüsselung für die ultimative Verteidigung gegen Schnüffeln oder Kompromittieren. Das Hin und Her zwischen der Verschlüsselungswissenschaft und denjenigen, die sie brechen würden, dauert jedoch schon seit Jahrhunderten an. Das Padding Orakel ist nur eine Methode, die Angreifern einen Vorteil verschafft.
Padding Oracle-Angriffen eine harte Landung
Zum Glück gibt es eine ganze Reihe von Möglichkeiten, das Padding Orakel zu verhindern. Eine der besten Methoden ist die Verwendung eines stärkeren Verschlüsselungsmodus für Operationen wie Galois/Counter Mode (GCM) oder Offset Codebook Mode (OCB). Es unterscheidet sich von CBC dadurch, dass es eine Chiffreblockgröße von 128 Bit verwendet. Es verwendet auch einen Zähler für jeden Datenblock und verwendet dann diese Zahl, um den Chiffretext zu erstellen. Mit anderen Worten, es ist nicht anfällig für Padding-Oracle-Angriffe.
Die Implementierung guter Kontrollen zur Fehlerbehandlung kann auch die Erfolgschancen eines Angreifers erheblich beeinträchtigen. Da Padding-Oracle-Angriffe auf Informationslecks beruhen, geben Sie bei einem Ver-/Entschlüsselungsfehler generische Fehlermeldungen statt spezifischer Padding-Fehler zurück.
Sie können auch den Message Authentication Code (MAC) implementieren. MAC-Werte schützen sowohl die Datenintegrität als auch deren Authentizität, indem sie es Prüfern ermöglichen, Änderungen am Nachrichteninhalt mithilfe eines geheimen Schlüssels zu erkennen.
Schließlich erfordern alle Padding-Oracle-Angriffe wiederholte Abfragen. Es können über 200 Anfragen gestellt werden, um das Auffüllschema für eine einzelne Zelle herauszufinden, multipliziert mit der Anzahl der Informationseinheiten, die in der Kette geschützt werden. Indem Sie die Anzahl der Anfragen einschränken, die von derselben Quelle eingehen, können Sie Padding-Oracle-Angriffe abwehren, indem Sie einem Angreifer den Zugriff verweigern, bevor er seinen Versuch wirklich beginnen kann.
Weitere Studie zu Padding Oracle
Jede Methode, mit der ein Angreifer vertrauliche Informationen entschlüsseln kann, kann zu einem echten Albtraum werden. Wir hoffen jedoch, dass Sie einige gute Methoden gelernt haben, um dies von vornherein zu verhindern.
Für weitere Informationen können Sie sich die OWASP ansehen Definition und Checkliste auf dem Padding Orakel. Sie können Ihr neu gewonnenes Defensivwissen auch auf die Probe stellen mit dem kostenlose Demo der Secure Code Warrior-Plattform, die Cybersicherheitsteams zu ultimativen Cyberkriegern ausbildet. Um mehr über die Beseitigung dieser Sicherheitslücke und eine Galerie mit anderen Bedrohungen zu erfahren, besuchen Sie die Blog von Secure Code Warrior.
Denken Sie, Sie sind jetzt in der Lage, Padding-Oracle-Angriffe abzuwehren? Probieren Sie es auf der Secure Code Warrior-Plattform aus:

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émonstrationPadding Oracle klingt zwar nach einem wirklich schlechten Ruf für eine alternative Rockband, ist aber tatsächlich eine Sicherheitslücke, die von Angreifern genutzt werden kann, um Informationen zu entschlüsseln, ohne den Verschlüsselungsschlüssel zu kennen.
In Bezug auf die Gesamtschwierigkeit für einen Angreifer liegt dieser ziemlich weit oben auf der Skala. Wir sprechen nicht von einer magischen Entschlüsselungsschaltfläche, sondern von einem mühsamen Prozess, bei dem Hacker die an sie gesendeten Fehlermeldungen zum Auffüllen von Zellen untersuchen und anhand dieser Informationen feststellen können, wo verschlüsselte Daten enden und das Auffüllen beginnt. Sie können dann verschiedene Teile der Verschlüsselung herausfinden und sie möglicherweise knacken, wenn sie genügend Zeit und Eingaben zur Untersuchung haben.
Zum Glück gibt es mehrere relativ einfache Schritte, die einem Angreifer die Möglichkeit nehmen können, Padding Oracle zum Entschlüsseln verschlüsselter Daten zu verwenden. In dieser Episode werden wir lernen:
- So funktioniert's
- Warum diese Sicherheitslücke so gefährlich ist
- Wie Sie Abwehrmaßnahmen einrichten können, um dies zu verhindern.
Wie funktioniert Padding Oracle?
Cipher Block Chaining (CBC) ist eine Methode, eine Blockchiffre zu erstellen, bei der eine ganze Folge von Informationsbits, z. B. Zellen, die in einer Datenbank gespeichert sind, mit einem Verschlüsselungsschlüssel verschlüsselt wird, der für die gesamte Informationskette gilt. Bei Verwendung von CBC hängt die Verschlüsselung eines einzelnen Chiffretextblocks von allen weiteren Blöcken ab. Theoretisch macht dies die Verschlüsselung extrem stark, da alles, selbst die Neuordnung der Blöcke, die Daten beschädigt.
Das Problem mit CBC-Chiffren (und allen Blockchiffren übrigens) besteht darin, dass sie nur mit Blöcken exakter Größe verschlüsselt werden können. Normalerweise erfolgt dies in 8- oder 16-Byte-Größen. Was passiert also, wenn CBC 2 Byte an Daten in eine 16-Byte-Chiffretexteinheit einpassen muss? Es wird Füllungen verwenden, im Grunde genommen nur unsinnige Zeichen, um die Lücken zu füllen und der Einheit eine angemessene Größe zuzuweisen.
Die meisten Padding-Schemata sind allgemein bekannt, wobei PKCS #7 eines der beliebtesten ist, sodass Angreifer möglicherweise wissen, welche Art von Padding verwendet wird. Wenn das CBC beispielsweise fünf Zeichen in einem Block auffüllen muss, würde PKCS #7 den Bytewert 0x05 verwenden, der fünfmal nach dem Klartext wiederholt wird.
Angreifer nutzen ihr Wissen über CBC- und Padding-Schemata, um Anfragen an einen Hostserver zu senden, der auch als Oracle bezeichnet wird. Wenn sie Zugriff auf die richtigen Tools haben, können sie den Server möglicherweise dazu zwingen, ihnen mitzuteilen, ob das Padding in ihrer Abfrage falsch ist. Um dies zu erreichen, können sie für jedes Byte in der Chiffre von Null auf 255 wechseln, bis der Server ihnen mitteilt, dass das Padding korrekt ist. Dann fahren sie mit der nächsten Einheit fort und wiederholen den Vorgang, wobei sie jeweils aufzeichnen, wo das Padding beginnt.
Dadurch können sie die Nachricht oder sogar die Zelle nicht entschlüsseln, aber sie könnten jedes Glied in der Kette so zuordnen, wo der Klartext endet und wo das Padding beginnt. Sie können möglicherweise auch XOR-Berechnungen verwenden, um den Wert des letzten Bytes des ursprünglichen Klartextes zu ermitteln.
Warum ist Padding Oracle so gefährlich?
Der Grund, warum ein Hacker so viel Arbeit in das Knacken der Verschlüsselung stecken würde, liegt in der möglichen Auszahlung. Nur wenige Leute verschlüsseln Dinge, die nicht wertvoll sind. Die Gefahr für die Host-Organisation hängt davon ab, ob die Daten kompromittiert werden. Dazu können Dinge wie Passwörter, Benutzerkonten, Finanzinformationen, Kreditkartennummern, Patientenakten, vertrauliche Kommunikation oder eine beliebige Anzahl von äußerst gesuchten und wertvollen Informationen gehören.
Die Verwendung von Padding Oracle könnte auch das Tor zu nachfolgenden Angriffen sein. Wenn ein Angreifer beispielsweise mithilfe von Padding Oracle Passwörter stehlen kann, ist es eine einfache sekundäre Aufgabe, seine Rechte zu erhöhen und tiefer in ein Netzwerk einzudringen.
Jeder hält Verschlüsselung für die ultimative Verteidigung gegen Schnüffeln oder Kompromittieren. Das Hin und Her zwischen der Verschlüsselungswissenschaft und denjenigen, die sie brechen würden, dauert jedoch schon seit Jahrhunderten an. Das Padding Orakel ist nur eine Methode, die Angreifern einen Vorteil verschafft.
Padding Oracle-Angriffen eine harte Landung
Zum Glück gibt es eine ganze Reihe von Möglichkeiten, das Padding Orakel zu verhindern. Eine der besten Methoden ist die Verwendung eines stärkeren Verschlüsselungsmodus für Operationen wie Galois/Counter Mode (GCM) oder Offset Codebook Mode (OCB). Es unterscheidet sich von CBC dadurch, dass es eine Chiffreblockgröße von 128 Bit verwendet. Es verwendet auch einen Zähler für jeden Datenblock und verwendet dann diese Zahl, um den Chiffretext zu erstellen. Mit anderen Worten, es ist nicht anfällig für Padding-Oracle-Angriffe.
Die Implementierung guter Kontrollen zur Fehlerbehandlung kann auch die Erfolgschancen eines Angreifers erheblich beeinträchtigen. Da Padding-Oracle-Angriffe auf Informationslecks beruhen, geben Sie bei einem Ver-/Entschlüsselungsfehler generische Fehlermeldungen statt spezifischer Padding-Fehler zurück.
Sie können auch den Message Authentication Code (MAC) implementieren. MAC-Werte schützen sowohl die Datenintegrität als auch deren Authentizität, indem sie es Prüfern ermöglichen, Änderungen am Nachrichteninhalt mithilfe eines geheimen Schlüssels zu erkennen.
Schließlich erfordern alle Padding-Oracle-Angriffe wiederholte Abfragen. Es können über 200 Anfragen gestellt werden, um das Auffüllschema für eine einzelne Zelle herauszufinden, multipliziert mit der Anzahl der Informationseinheiten, die in der Kette geschützt werden. Indem Sie die Anzahl der Anfragen einschränken, die von derselben Quelle eingehen, können Sie Padding-Oracle-Angriffe abwehren, indem Sie einem Angreifer den Zugriff verweigern, bevor er seinen Versuch wirklich beginnen kann.
Weitere Studie zu Padding Oracle
Jede Methode, mit der ein Angreifer vertrauliche Informationen entschlüsseln kann, kann zu einem echten Albtraum werden. Wir hoffen jedoch, dass Sie einige gute Methoden gelernt haben, um dies von vornherein zu verhindern.
Für weitere Informationen können Sie sich die OWASP ansehen Definition und Checkliste auf dem Padding Orakel. Sie können Ihr neu gewonnenes Defensivwissen auch auf die Probe stellen mit dem kostenlose Demo der Secure Code Warrior-Plattform, die Cybersicherheitsteams zu ultimativen Cyberkriegern ausbildet. Um mehr über die Beseitigung dieser Sicherheitslücke und eine Galerie mit anderen Bedrohungen zu erfahren, besuchen Sie die Blog von Secure Code Warrior.
Denken Sie, Sie sind jetzt in der Lage, Padding-Oracle-Angriffe abzuwehren? Probieren Sie es auf der Secure Code Warrior-Plattform aus:
Table des matières

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)
