SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

Programmierer erobern die Sicherheit: Serie „Teilen und Lernen“ — Padding Oracle

Veröffentlicht 24. Jan. 2019
Zuletzt aktualisiert am 09. März 2026

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 es
  • 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:

Ressource anzeigen
Ressource anzeigen

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.

Interessiert an mehr?

mehr erfahren

Secure Code Warrior für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Demo buchen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Autor
Veröffentlicht 24. Jan. 2019

Teilen auf:
LinkedIn-MarkenSozialx Logo

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 es
  • 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:

Ressource anzeigen
Ressource anzeigen

Füllen Sie das unten stehende Formular aus, um den Bericht herunterzuladen.

Wir bitten um Ihre Erlaubnis, Ihnen Informationen zu unseren Produkten und/oder verwandten Themen rund um sichere Codierung zuzusenden. Wir behandeln Ihre persönlichen Daten stets mit größter Sorgfalt und verkaufen sie niemals zu Marketingzwecken an andere Unternehmen.

Einreichen
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular abzusenden, aktivieren Sie bitte „Analytics“-Cookies. Wenn Sie fertig sind, können Sie sie jederzeit wieder deaktivieren.

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 es
  • 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:

Webinar ansehen
Fangen Sie an
mehr erfahren

Klicken Sie auf den untenstehenden Link und laden Sie das PDF dieser Ressource herunter.

Secure Code Warrior für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Bericht ansehenEine Demo buchen
Ressource anzeigen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Interessiert an mehr?

Teilen auf:
LinkedIn-MarkenSozialx Logo
Autor
Veröffentlicht 24. Jan. 2019

Teilen auf:
LinkedIn-MarkenSozialx Logo

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 es
  • 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:

Inhaltsverzeichnis

PDF herunterladen
Ressource anzeigen
Interessiert an mehr?

mehr erfahren

Secure Code Warrior für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Demo buchenHerunterladen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Ressourcen-Hub

Ressourcen für den Einstieg

Weitere Beiträge
Ressourcen-Hub

Ressourcen für den Einstieg

Weitere Beiträge