Coders Conquer Security: Share & Learn Series - Padding Oracle
Während Padding Oracle wie ein wirklich schlechter Name für eine alternative Rockband klingt, handelt es sich tatsächlich um eine Sicherheitslücke, die von Angreifern genutzt werden kann, um Informationen zu entschlüsseln, ohne den Verschlüsselungscode zu kennen.
In Bezug auf die Gesamtschwierigkeit für einen Angreifer liegt dieses Problem an der Spitze der Skala. Wir sprechen hier nicht von einem magischen Entschlüsselungsknopf, sondern von einem mühsamen Prozess, bei dem Hacker Fehlermeldungen untersuchen können, die ihnen in Bezug auf das Auffüllen von Zellen geschickt wurden, und dies nutzen, um zu bestimmen, wo verschlüsselte Daten enden und das Auffüllen beginnt. Sie können dann verschiedene Bits innerhalb der Verschlüsselung herausfinden und sie möglicherweise knacken, wenn sie genug Zeit und Input zur Untersuchung haben.
Glücklicherweise gibt es einige relativ einfache Schritte, die einem Angreifer die Möglichkeit nehmen können, Padding-Orakel zum Entschlüsseln verschlüsselter Daten zu verwenden. In dieser Folge lernen wir:
- Wie es funktioniert
- Warum diese Sicherheitslücke so gefährlich ist
- Wie Sie Schutzmaßnahmen ergreifen können, um dies zu verhindern.
Wie funktioniert das Padding Oracle?
Cipher Block Chaining (CBC) ist eine Möglichkeit, eine Blockchiffre zu erstellen, bei der eine ganze Folge von Informationsbits, z. B. in einer Datenbank gespeicherte Zellen, mit einem Chiffrierschlüssel verschlüsselt wird, der für die gesamte Informationskette gilt. Bei der Verwendung von CBC hängt die Verschlüsselung eines einzelnen Blocks des Chiffriertextes von allen vorangehenden Blöcken ab. Theoretisch macht dies die Verschlüsselung extrem stark, da alles, selbst die Neuanordnung der Blöcke, die Daten beschädigt.
Das Problem bei CBC-Chiffren (und überhaupt bei allen Blockchiffren) ist, dass sie nur mit Blöcken exakter Größe verschlüsselt werden können. Normalerweise wird dies in 8- oder 16-Byte-Größen gemacht. Was passiert also, wenn CBC 2 Byte Daten in eine 16-Byte-Chiffretext-Einheit einpassen muss? Es verwendet Auffüllungen, im Grunde nur unsinnige Zeichen, um die Lücken zu füllen und die Einheit auf eine angemessene Größe zu bringen.
Die meisten Auffüllungsschemata sind bekannt, wobei PKCS#7 eines der beliebtesten ist, sodass Angreifer wissen könnten, welche Art von Auffüllung verwendet wird. Wenn der CBC z. B. fünf Zeichen in einem Block auffüllen muss, würde PKCS#7 den Byte-Wert 0x05 verwenden, der fünfmal hinter dem Klartext wiederholt wird.
Angreifer nutzen ihr Wissen über CBC- und Padding-Schemata, um Abfragen an einen Host-Server zu senden, der auch als Orakel bezeichnet wird. Wenn sie Zugriff auf die richtigen Tools haben, können sie den Server dazu zwingen, ihnen mitzuteilen, ob das Padding in ihrer Anfrage falsch ist. Zu diesem Zweck können sie für jedes Byte in der Chiffre einen Zyklus von null bis 255 durchlaufen, bis der Server ihnen mitteilt, dass das Padding korrekt ist. Dann gehen sie zur nächsten Einheit über und wiederholen den Vorgang, wobei sie in jedem Fall 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 in Bezug darauf abbilden, wo der Klartext endet und das Padding beginnt. Möglicherweise können sie auch XOR-Berechnungen verwenden, um den Wert des letzten Bytes des ursprünglichen Klartextes herauszufinden.
Warum ist Padding Oracle so gefährlich?
Der Grund, warum ein Hacker so viel Arbeit in das Brechen der Verschlüsselung stecken würde, ist die mögliche Auszahlung. Nur wenige Leute verschlüsseln Dinge, die nicht wertvoll sind. Die Gefahr für die Host-Organisation hängt von den Daten ab, die kompromittiert werden. Dazu gehören Passwörter, Benutzerkonten, Finanzdaten, Kreditkartennummern, Patientendaten, vertrauliche Kommunikation oder eine beliebige Anzahl von begehrten und wertvollen Informationen.
Die Verwendung von Padding-Orakel könnte auch das Einfallstor für nachfolgende Angriffe sein. Wenn ein Angreifer mithilfe von Padding Orakel z. B. Passwörter stehlen kann, ist es ein Leichtes, seine Privilegien zu erhöhen und tiefer in ein Netzwerk einzudringen.
Jeder denkt bei Verschlüsselung an die ultimative Verteidigung gegen Schnüffelei oder Kompromittierung. Das Hin und Her zwischen der Verschlüsselungswissenschaft und denen, die sie brechen wollen, dauert jedoch schon seit Jahrhunderten an. Das Padding-Orakel ist nur eine Methode, die Angreifern einen Vorteil verschafft.
Padding-Oracle-Angriffen eine harte Landung verpassen
Glücklicherweise gibt es eine ganze Reihe von Möglichkeiten, Padding-Orakel zu verhindern. Eine der besten ist die Verwendung einer stärkeren Verschlüsselungsbetriebsart wie Galois/Counter Mode (GCM) oder Offset Codebook Mode (OCB). Er unterscheidet sich von CBC dadurch, dass er eine Chiffrierblockgröße von 128 Bit verwendet. Außerdem wird für jeden Datenblock ein Zähler verwendet, aus dem dann der Chiffretext erstellt wird. Mit anderen Worten, es ist nicht anfällig für Padding-Orakel-Angriffe.
Die Implementierung guter Fehlerbehandlungskontrollen kann die Erfolgschancen eines Angreifers ebenfalls stark beeinträchtigen. Da Padding-Orakel-Angriffe auf Informationslecks beruhen, sollten Sie bei Ver-/Entschlüsselungsfehlern generische Fehlermeldungen anstelle von spezifischen Padding-Fehlern zurückgeben.
Sie können auch einen Message Authentication Code (MAC) implementieren. MAC-Werte schützen sowohl die Integrität als auch die Authentizität der Daten, indem sie es Verifizierern ermöglichen, jede Änderung des Nachrichteninhalts mithilfe eines geheimen Schlüssels zu erkennen.
Schließlich erfordern alle Padding-Orakel-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, die von derselben Quelle kommen, beschränken, können Sie Padding-Orakel-Angriffe unterbinden, indem Sie einem Angreifer den Zugriff verweigern, bevor er seinen Versuch wirklich starten kann.
Weitere Studie zum Padding-Orakel
Jede Methode, mit der ein Angreifer sensible Informationen entschlüsseln kann, kann zu einem echten Albtraum werden. Aber wir hoffen, dass Sie einige gute Methoden kennengelernt haben, um dies von vornherein zu verhindern.
Zur weiteren Lektüre können Sie einen Blick auf die OWASP-Definition und Checkliste auf padding oracle werfen. Sie können Ihr neu erworbenes Verteidigungswissen auch mit der kostenlosen Demo der Plattform Secure Code Warrior testen, die Cybersecurity-Teams zu den ultimativen Cyber-Kriegern ausbildet. Um mehr über die Beseitigung dieser Schwachstelle und eine Schurkengalerie anderer Bedrohungen zu erfahren, besuchen Sie den BlogSecure Code Warrior .
Denken Sie, Sie sind der Aufgabe gewachsen, Padding-Orakel-Angriffe sofort zu vereiteln? Versuchen Sie es auf der Plattform Secure Code Warrior :


Während Padding Oracle wie ein wirklich schlechter Name für eine alternative Rockband klingt, handelt es sich tatsächlich um eine Sicherheitslücke, die von Angreifern genutzt werden kann, um Informationen zu entschlüsseln, ohne den Verschlüsselungscode zu kennen.

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchen

Während Padding Oracle wie ein wirklich schlechter Name für eine alternative Rockband klingt, handelt es sich tatsächlich um eine Sicherheitslücke, die von Angreifern genutzt werden kann, um Informationen zu entschlüsseln, ohne den Verschlüsselungscode zu kennen.
In Bezug auf die Gesamtschwierigkeit für einen Angreifer liegt dieses Problem an der Spitze der Skala. Wir sprechen hier nicht von einem magischen Entschlüsselungsknopf, sondern von einem mühsamen Prozess, bei dem Hacker Fehlermeldungen untersuchen können, die ihnen in Bezug auf das Auffüllen von Zellen geschickt wurden, und dies nutzen, um zu bestimmen, wo verschlüsselte Daten enden und das Auffüllen beginnt. Sie können dann verschiedene Bits innerhalb der Verschlüsselung herausfinden und sie möglicherweise knacken, wenn sie genug Zeit und Input zur Untersuchung haben.
Glücklicherweise gibt es einige relativ einfache Schritte, die einem Angreifer die Möglichkeit nehmen können, Padding-Orakel zum Entschlüsseln verschlüsselter Daten zu verwenden. In dieser Folge lernen wir:
- Wie es funktioniert
- Warum diese Sicherheitslücke so gefährlich ist
- Wie Sie Schutzmaßnahmen ergreifen können, um dies zu verhindern.
Wie funktioniert das Padding Oracle?
Cipher Block Chaining (CBC) ist eine Möglichkeit, eine Blockchiffre zu erstellen, bei der eine ganze Folge von Informationsbits, z. B. in einer Datenbank gespeicherte Zellen, mit einem Chiffrierschlüssel verschlüsselt wird, der für die gesamte Informationskette gilt. Bei der Verwendung von CBC hängt die Verschlüsselung eines einzelnen Blocks des Chiffriertextes von allen vorangehenden Blöcken ab. Theoretisch macht dies die Verschlüsselung extrem stark, da alles, selbst die Neuanordnung der Blöcke, die Daten beschädigt.
Das Problem bei CBC-Chiffren (und überhaupt bei allen Blockchiffren) ist, dass sie nur mit Blöcken exakter Größe verschlüsselt werden können. Normalerweise wird dies in 8- oder 16-Byte-Größen gemacht. Was passiert also, wenn CBC 2 Byte Daten in eine 16-Byte-Chiffretext-Einheit einpassen muss? Es verwendet Auffüllungen, im Grunde nur unsinnige Zeichen, um die Lücken zu füllen und die Einheit auf eine angemessene Größe zu bringen.
Die meisten Auffüllungsschemata sind bekannt, wobei PKCS#7 eines der beliebtesten ist, sodass Angreifer wissen könnten, welche Art von Auffüllung verwendet wird. Wenn der CBC z. B. fünf Zeichen in einem Block auffüllen muss, würde PKCS#7 den Byte-Wert 0x05 verwenden, der fünfmal hinter dem Klartext wiederholt wird.
Angreifer nutzen ihr Wissen über CBC- und Padding-Schemata, um Abfragen an einen Host-Server zu senden, der auch als Orakel bezeichnet wird. Wenn sie Zugriff auf die richtigen Tools haben, können sie den Server dazu zwingen, ihnen mitzuteilen, ob das Padding in ihrer Anfrage falsch ist. Zu diesem Zweck können sie für jedes Byte in der Chiffre einen Zyklus von null bis 255 durchlaufen, bis der Server ihnen mitteilt, dass das Padding korrekt ist. Dann gehen sie zur nächsten Einheit über und wiederholen den Vorgang, wobei sie in jedem Fall 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 in Bezug darauf abbilden, wo der Klartext endet und das Padding beginnt. Möglicherweise können sie auch XOR-Berechnungen verwenden, um den Wert des letzten Bytes des ursprünglichen Klartextes herauszufinden.
Warum ist Padding Oracle so gefährlich?
Der Grund, warum ein Hacker so viel Arbeit in das Brechen der Verschlüsselung stecken würde, ist die mögliche Auszahlung. Nur wenige Leute verschlüsseln Dinge, die nicht wertvoll sind. Die Gefahr für die Host-Organisation hängt von den Daten ab, die kompromittiert werden. Dazu gehören Passwörter, Benutzerkonten, Finanzdaten, Kreditkartennummern, Patientendaten, vertrauliche Kommunikation oder eine beliebige Anzahl von begehrten und wertvollen Informationen.
Die Verwendung von Padding-Orakel könnte auch das Einfallstor für nachfolgende Angriffe sein. Wenn ein Angreifer mithilfe von Padding Orakel z. B. Passwörter stehlen kann, ist es ein Leichtes, seine Privilegien zu erhöhen und tiefer in ein Netzwerk einzudringen.
Jeder denkt bei Verschlüsselung an die ultimative Verteidigung gegen Schnüffelei oder Kompromittierung. Das Hin und Her zwischen der Verschlüsselungswissenschaft und denen, die sie brechen wollen, dauert jedoch schon seit Jahrhunderten an. Das Padding-Orakel ist nur eine Methode, die Angreifern einen Vorteil verschafft.
Padding-Oracle-Angriffen eine harte Landung verpassen
Glücklicherweise gibt es eine ganze Reihe von Möglichkeiten, Padding-Orakel zu verhindern. Eine der besten ist die Verwendung einer stärkeren Verschlüsselungsbetriebsart wie Galois/Counter Mode (GCM) oder Offset Codebook Mode (OCB). Er unterscheidet sich von CBC dadurch, dass er eine Chiffrierblockgröße von 128 Bit verwendet. Außerdem wird für jeden Datenblock ein Zähler verwendet, aus dem dann der Chiffretext erstellt wird. Mit anderen Worten, es ist nicht anfällig für Padding-Orakel-Angriffe.
Die Implementierung guter Fehlerbehandlungskontrollen kann die Erfolgschancen eines Angreifers ebenfalls stark beeinträchtigen. Da Padding-Orakel-Angriffe auf Informationslecks beruhen, sollten Sie bei Ver-/Entschlüsselungsfehlern generische Fehlermeldungen anstelle von spezifischen Padding-Fehlern zurückgeben.
Sie können auch einen Message Authentication Code (MAC) implementieren. MAC-Werte schützen sowohl die Integrität als auch die Authentizität der Daten, indem sie es Verifizierern ermöglichen, jede Änderung des Nachrichteninhalts mithilfe eines geheimen Schlüssels zu erkennen.
Schließlich erfordern alle Padding-Orakel-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, die von derselben Quelle kommen, beschränken, können Sie Padding-Orakel-Angriffe unterbinden, indem Sie einem Angreifer den Zugriff verweigern, bevor er seinen Versuch wirklich starten kann.
Weitere Studie zum Padding-Orakel
Jede Methode, mit der ein Angreifer sensible Informationen entschlüsseln kann, kann zu einem echten Albtraum werden. Aber wir hoffen, dass Sie einige gute Methoden kennengelernt haben, um dies von vornherein zu verhindern.
Zur weiteren Lektüre können Sie einen Blick auf die OWASP-Definition und Checkliste auf padding oracle werfen. Sie können Ihr neu erworbenes Verteidigungswissen auch mit der kostenlosen Demo der Plattform Secure Code Warrior testen, die Cybersecurity-Teams zu den ultimativen Cyber-Kriegern ausbildet. Um mehr über die Beseitigung dieser Schwachstelle und eine Schurkengalerie anderer Bedrohungen zu erfahren, besuchen Sie den BlogSecure Code Warrior .
Denken Sie, Sie sind der Aufgabe gewachsen, Padding-Orakel-Angriffe sofort zu vereiteln? Versuchen Sie es auf der Plattform Secure Code Warrior :

Während Padding Oracle wie ein wirklich schlechter Name für eine alternative Rockband klingt, handelt es sich tatsächlich um eine Sicherheitslücke, die von Angreifern genutzt werden kann, um Informationen zu entschlüsseln, ohne den Verschlüsselungscode zu kennen.
In Bezug auf die Gesamtschwierigkeit für einen Angreifer liegt dieses Problem an der Spitze der Skala. Wir sprechen hier nicht von einem magischen Entschlüsselungsknopf, sondern von einem mühsamen Prozess, bei dem Hacker Fehlermeldungen untersuchen können, die ihnen in Bezug auf das Auffüllen von Zellen geschickt wurden, und dies nutzen, um zu bestimmen, wo verschlüsselte Daten enden und das Auffüllen beginnt. Sie können dann verschiedene Bits innerhalb der Verschlüsselung herausfinden und sie möglicherweise knacken, wenn sie genug Zeit und Input zur Untersuchung haben.
Glücklicherweise gibt es einige relativ einfache Schritte, die einem Angreifer die Möglichkeit nehmen können, Padding-Orakel zum Entschlüsseln verschlüsselter Daten zu verwenden. In dieser Folge lernen wir:
- Wie es funktioniert
- Warum diese Sicherheitslücke so gefährlich ist
- Wie Sie Schutzmaßnahmen ergreifen können, um dies zu verhindern.
Wie funktioniert das Padding Oracle?
Cipher Block Chaining (CBC) ist eine Möglichkeit, eine Blockchiffre zu erstellen, bei der eine ganze Folge von Informationsbits, z. B. in einer Datenbank gespeicherte Zellen, mit einem Chiffrierschlüssel verschlüsselt wird, der für die gesamte Informationskette gilt. Bei der Verwendung von CBC hängt die Verschlüsselung eines einzelnen Blocks des Chiffriertextes von allen vorangehenden Blöcken ab. Theoretisch macht dies die Verschlüsselung extrem stark, da alles, selbst die Neuanordnung der Blöcke, die Daten beschädigt.
Das Problem bei CBC-Chiffren (und überhaupt bei allen Blockchiffren) ist, dass sie nur mit Blöcken exakter Größe verschlüsselt werden können. Normalerweise wird dies in 8- oder 16-Byte-Größen gemacht. Was passiert also, wenn CBC 2 Byte Daten in eine 16-Byte-Chiffretext-Einheit einpassen muss? Es verwendet Auffüllungen, im Grunde nur unsinnige Zeichen, um die Lücken zu füllen und die Einheit auf eine angemessene Größe zu bringen.
Die meisten Auffüllungsschemata sind bekannt, wobei PKCS#7 eines der beliebtesten ist, sodass Angreifer wissen könnten, welche Art von Auffüllung verwendet wird. Wenn der CBC z. B. fünf Zeichen in einem Block auffüllen muss, würde PKCS#7 den Byte-Wert 0x05 verwenden, der fünfmal hinter dem Klartext wiederholt wird.
Angreifer nutzen ihr Wissen über CBC- und Padding-Schemata, um Abfragen an einen Host-Server zu senden, der auch als Orakel bezeichnet wird. Wenn sie Zugriff auf die richtigen Tools haben, können sie den Server dazu zwingen, ihnen mitzuteilen, ob das Padding in ihrer Anfrage falsch ist. Zu diesem Zweck können sie für jedes Byte in der Chiffre einen Zyklus von null bis 255 durchlaufen, bis der Server ihnen mitteilt, dass das Padding korrekt ist. Dann gehen sie zur nächsten Einheit über und wiederholen den Vorgang, wobei sie in jedem Fall 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 in Bezug darauf abbilden, wo der Klartext endet und das Padding beginnt. Möglicherweise können sie auch XOR-Berechnungen verwenden, um den Wert des letzten Bytes des ursprünglichen Klartextes herauszufinden.
Warum ist Padding Oracle so gefährlich?
Der Grund, warum ein Hacker so viel Arbeit in das Brechen der Verschlüsselung stecken würde, ist die mögliche Auszahlung. Nur wenige Leute verschlüsseln Dinge, die nicht wertvoll sind. Die Gefahr für die Host-Organisation hängt von den Daten ab, die kompromittiert werden. Dazu gehören Passwörter, Benutzerkonten, Finanzdaten, Kreditkartennummern, Patientendaten, vertrauliche Kommunikation oder eine beliebige Anzahl von begehrten und wertvollen Informationen.
Die Verwendung von Padding-Orakel könnte auch das Einfallstor für nachfolgende Angriffe sein. Wenn ein Angreifer mithilfe von Padding Orakel z. B. Passwörter stehlen kann, ist es ein Leichtes, seine Privilegien zu erhöhen und tiefer in ein Netzwerk einzudringen.
Jeder denkt bei Verschlüsselung an die ultimative Verteidigung gegen Schnüffelei oder Kompromittierung. Das Hin und Her zwischen der Verschlüsselungswissenschaft und denen, die sie brechen wollen, dauert jedoch schon seit Jahrhunderten an. Das Padding-Orakel ist nur eine Methode, die Angreifern einen Vorteil verschafft.
Padding-Oracle-Angriffen eine harte Landung verpassen
Glücklicherweise gibt es eine ganze Reihe von Möglichkeiten, Padding-Orakel zu verhindern. Eine der besten ist die Verwendung einer stärkeren Verschlüsselungsbetriebsart wie Galois/Counter Mode (GCM) oder Offset Codebook Mode (OCB). Er unterscheidet sich von CBC dadurch, dass er eine Chiffrierblockgröße von 128 Bit verwendet. Außerdem wird für jeden Datenblock ein Zähler verwendet, aus dem dann der Chiffretext erstellt wird. Mit anderen Worten, es ist nicht anfällig für Padding-Orakel-Angriffe.
Die Implementierung guter Fehlerbehandlungskontrollen kann die Erfolgschancen eines Angreifers ebenfalls stark beeinträchtigen. Da Padding-Orakel-Angriffe auf Informationslecks beruhen, sollten Sie bei Ver-/Entschlüsselungsfehlern generische Fehlermeldungen anstelle von spezifischen Padding-Fehlern zurückgeben.
Sie können auch einen Message Authentication Code (MAC) implementieren. MAC-Werte schützen sowohl die Integrität als auch die Authentizität der Daten, indem sie es Verifizierern ermöglichen, jede Änderung des Nachrichteninhalts mithilfe eines geheimen Schlüssels zu erkennen.
Schließlich erfordern alle Padding-Orakel-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, die von derselben Quelle kommen, beschränken, können Sie Padding-Orakel-Angriffe unterbinden, indem Sie einem Angreifer den Zugriff verweigern, bevor er seinen Versuch wirklich starten kann.
Weitere Studie zum Padding-Orakel
Jede Methode, mit der ein Angreifer sensible Informationen entschlüsseln kann, kann zu einem echten Albtraum werden. Aber wir hoffen, dass Sie einige gute Methoden kennengelernt haben, um dies von vornherein zu verhindern.
Zur weiteren Lektüre können Sie einen Blick auf die OWASP-Definition und Checkliste auf padding oracle werfen. Sie können Ihr neu erworbenes Verteidigungswissen auch mit der kostenlosen Demo der Plattform Secure Code Warrior testen, die Cybersecurity-Teams zu den ultimativen Cyber-Kriegern ausbildet. Um mehr über die Beseitigung dieser Schwachstelle und eine Schurkengalerie anderer Bedrohungen zu erfahren, besuchen Sie den BlogSecure Code Warrior .
Denken Sie, Sie sind der Aufgabe gewachsen, Padding-Orakel-Angriffe sofort zu vereiteln? Versuchen Sie es auf der Plattform Secure Code Warrior :

Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht ansehenDemo buchenWährend Padding Oracle wie ein wirklich schlechter Name für eine alternative Rockband klingt, handelt es sich tatsächlich um eine Sicherheitslücke, die von Angreifern genutzt werden kann, um Informationen zu entschlüsseln, ohne den Verschlüsselungscode zu kennen.
In Bezug auf die Gesamtschwierigkeit für einen Angreifer liegt dieses Problem an der Spitze der Skala. Wir sprechen hier nicht von einem magischen Entschlüsselungsknopf, sondern von einem mühsamen Prozess, bei dem Hacker Fehlermeldungen untersuchen können, die ihnen in Bezug auf das Auffüllen von Zellen geschickt wurden, und dies nutzen, um zu bestimmen, wo verschlüsselte Daten enden und das Auffüllen beginnt. Sie können dann verschiedene Bits innerhalb der Verschlüsselung herausfinden und sie möglicherweise knacken, wenn sie genug Zeit und Input zur Untersuchung haben.
Glücklicherweise gibt es einige relativ einfache Schritte, die einem Angreifer die Möglichkeit nehmen können, Padding-Orakel zum Entschlüsseln verschlüsselter Daten zu verwenden. In dieser Folge lernen wir:
- Wie es funktioniert
- Warum diese Sicherheitslücke so gefährlich ist
- Wie Sie Schutzmaßnahmen ergreifen können, um dies zu verhindern.
Wie funktioniert das Padding Oracle?
Cipher Block Chaining (CBC) ist eine Möglichkeit, eine Blockchiffre zu erstellen, bei der eine ganze Folge von Informationsbits, z. B. in einer Datenbank gespeicherte Zellen, mit einem Chiffrierschlüssel verschlüsselt wird, der für die gesamte Informationskette gilt. Bei der Verwendung von CBC hängt die Verschlüsselung eines einzelnen Blocks des Chiffriertextes von allen vorangehenden Blöcken ab. Theoretisch macht dies die Verschlüsselung extrem stark, da alles, selbst die Neuanordnung der Blöcke, die Daten beschädigt.
Das Problem bei CBC-Chiffren (und überhaupt bei allen Blockchiffren) ist, dass sie nur mit Blöcken exakter Größe verschlüsselt werden können. Normalerweise wird dies in 8- oder 16-Byte-Größen gemacht. Was passiert also, wenn CBC 2 Byte Daten in eine 16-Byte-Chiffretext-Einheit einpassen muss? Es verwendet Auffüllungen, im Grunde nur unsinnige Zeichen, um die Lücken zu füllen und die Einheit auf eine angemessene Größe zu bringen.
Die meisten Auffüllungsschemata sind bekannt, wobei PKCS#7 eines der beliebtesten ist, sodass Angreifer wissen könnten, welche Art von Auffüllung verwendet wird. Wenn der CBC z. B. fünf Zeichen in einem Block auffüllen muss, würde PKCS#7 den Byte-Wert 0x05 verwenden, der fünfmal hinter dem Klartext wiederholt wird.
Angreifer nutzen ihr Wissen über CBC- und Padding-Schemata, um Abfragen an einen Host-Server zu senden, der auch als Orakel bezeichnet wird. Wenn sie Zugriff auf die richtigen Tools haben, können sie den Server dazu zwingen, ihnen mitzuteilen, ob das Padding in ihrer Anfrage falsch ist. Zu diesem Zweck können sie für jedes Byte in der Chiffre einen Zyklus von null bis 255 durchlaufen, bis der Server ihnen mitteilt, dass das Padding korrekt ist. Dann gehen sie zur nächsten Einheit über und wiederholen den Vorgang, wobei sie in jedem Fall 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 in Bezug darauf abbilden, wo der Klartext endet und das Padding beginnt. Möglicherweise können sie auch XOR-Berechnungen verwenden, um den Wert des letzten Bytes des ursprünglichen Klartextes herauszufinden.
Warum ist Padding Oracle so gefährlich?
Der Grund, warum ein Hacker so viel Arbeit in das Brechen der Verschlüsselung stecken würde, ist die mögliche Auszahlung. Nur wenige Leute verschlüsseln Dinge, die nicht wertvoll sind. Die Gefahr für die Host-Organisation hängt von den Daten ab, die kompromittiert werden. Dazu gehören Passwörter, Benutzerkonten, Finanzdaten, Kreditkartennummern, Patientendaten, vertrauliche Kommunikation oder eine beliebige Anzahl von begehrten und wertvollen Informationen.
Die Verwendung von Padding-Orakel könnte auch das Einfallstor für nachfolgende Angriffe sein. Wenn ein Angreifer mithilfe von Padding Orakel z. B. Passwörter stehlen kann, ist es ein Leichtes, seine Privilegien zu erhöhen und tiefer in ein Netzwerk einzudringen.
Jeder denkt bei Verschlüsselung an die ultimative Verteidigung gegen Schnüffelei oder Kompromittierung. Das Hin und Her zwischen der Verschlüsselungswissenschaft und denen, die sie brechen wollen, dauert jedoch schon seit Jahrhunderten an. Das Padding-Orakel ist nur eine Methode, die Angreifern einen Vorteil verschafft.
Padding-Oracle-Angriffen eine harte Landung verpassen
Glücklicherweise gibt es eine ganze Reihe von Möglichkeiten, Padding-Orakel zu verhindern. Eine der besten ist die Verwendung einer stärkeren Verschlüsselungsbetriebsart wie Galois/Counter Mode (GCM) oder Offset Codebook Mode (OCB). Er unterscheidet sich von CBC dadurch, dass er eine Chiffrierblockgröße von 128 Bit verwendet. Außerdem wird für jeden Datenblock ein Zähler verwendet, aus dem dann der Chiffretext erstellt wird. Mit anderen Worten, es ist nicht anfällig für Padding-Orakel-Angriffe.
Die Implementierung guter Fehlerbehandlungskontrollen kann die Erfolgschancen eines Angreifers ebenfalls stark beeinträchtigen. Da Padding-Orakel-Angriffe auf Informationslecks beruhen, sollten Sie bei Ver-/Entschlüsselungsfehlern generische Fehlermeldungen anstelle von spezifischen Padding-Fehlern zurückgeben.
Sie können auch einen Message Authentication Code (MAC) implementieren. MAC-Werte schützen sowohl die Integrität als auch die Authentizität der Daten, indem sie es Verifizierern ermöglichen, jede Änderung des Nachrichteninhalts mithilfe eines geheimen Schlüssels zu erkennen.
Schließlich erfordern alle Padding-Orakel-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, die von derselben Quelle kommen, beschränken, können Sie Padding-Orakel-Angriffe unterbinden, indem Sie einem Angreifer den Zugriff verweigern, bevor er seinen Versuch wirklich starten kann.
Weitere Studie zum Padding-Orakel
Jede Methode, mit der ein Angreifer sensible Informationen entschlüsseln kann, kann zu einem echten Albtraum werden. Aber wir hoffen, dass Sie einige gute Methoden kennengelernt haben, um dies von vornherein zu verhindern.
Zur weiteren Lektüre können Sie einen Blick auf die OWASP-Definition und Checkliste auf padding oracle werfen. Sie können Ihr neu erworbenes Verteidigungswissen auch mit der kostenlosen Demo der Plattform Secure Code Warrior testen, die Cybersecurity-Teams zu den ultimativen Cyber-Kriegern ausbildet. Um mehr über die Beseitigung dieser Schwachstelle und eine Schurkengalerie anderer Bedrohungen zu erfahren, besuchen Sie den BlogSecure Code Warrior .
Denken Sie, Sie sind der Aufgabe gewachsen, Padding-Orakel-Angriffe sofort zu vereiteln? Versuchen Sie es auf der Plattform Secure Code Warrior :
Inhaltsübersicht

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenHerunterladenRessourcen für den Einstieg
Professionelle Dienstleistungen - Beschleunigen Sie mit Fachwissen
Das PSS-Team (Program Strategy Services) von Secure Code Warriorunterstützt Sie beim Aufbau, der Verbesserung und der Optimierung Ihres Programms für sichere Codierung. Ganz gleich, ob Sie neu anfangen oder Ihren Ansatz verfeinern möchten, unsere Experten bieten Ihnen maßgeschneiderte Beratung.
Themen und Inhalte der Schulung zu sicherem Code
Unsere branchenführenden Inhalte werden ständig weiterentwickelt, um sie an die sich ständig verändernde Softwareentwicklungslandschaft anzupassen und Ihre Rolle zu berücksichtigen. Die Themen reichen von KI bis XQuery Injection und werden für eine Vielzahl von Rollen angeboten, von Architekten und Ingenieuren bis hin zu Produktmanagern und QA. Verschaffen Sie sich einen kleinen Überblick über die Inhalte, die unser Katalog nach Thema und Rolle bietet.
Quests: Branchenführendes Lernen, damit die Entwickler immer einen Schritt voraus sind und Risiken minimiert werden.
Quests ist eine learning platform , die Entwicklern hilft, Software-Sicherheitsrisiken zu verringern, indem sie ihre Fähigkeiten zur sicheren Programmierung verbessern. Mit kuratierten Lernpfaden, praktischen Herausforderungen und interaktiven Aktivitäten befähigt sie Entwickler, Schwachstellen zu erkennen und zu vermeiden.
Ressourcen für den Einstieg
Das Jahrzehnt der Defenders: Secure Code Warrior Zehnte Runde
Secure Code WarriorDas Gründungsteam von SCW ist zusammengeblieben und hat das Schiff ein ganzes Jahrzehnt lang durch alle Lektionen, Triumphe und Rückschläge gesteuert. Wir vergrößern uns und sind bereit für unser nächstes Kapitel, SCW 2.0, als führendes Unternehmen im Risikomanagement für Entwickler.
10 wichtige Vorhersagen: Secure Code Warrior über den Einfluss von KI und Secure-by-Design im Jahr 2025
Unternehmen stehen vor schwierigen Entscheidungen über den Einsatz von KI, um die langfristige Produktivität, Nachhaltigkeit und den Sicherheits-ROI zu unterstützen. In den letzten Jahren ist uns klar geworden, dass KI die Rolle des Entwicklers niemals vollständig ersetzen wird. Von KI + Entwicklerpartnerschaften bis hin zum zunehmenden Druck (und der Verwirrung) rund um die Secure-by-Design-Erwartungen - lassen Sie uns einen genaueren Blick darauf werfen, was wir im nächsten Jahr erwarten können.