SCW アイコン
ヒーロー背景(区切りなし)
ブログ

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

2019年1月24日 掲載
最終更新日: 2026年3月9日

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:

  • 仕組み
  • 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 、ソフトウェア開発サイクル全体を通じてコードの安全性を確保し、サイバーセキュリティを最優先とする文化を構築するため、貴社をSecure Code Warrior 。アプリセキュリティ管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、当社が貴社のビジネスにおける不安全なコードに関連するリスクの低減を支援します。

デモを予約する
共有する:
リンクトインのブランドソーシャルx ロゴ
著者
2019年1月24日発行

共有する:
リンクトインのブランドソーシャルx ロゴ

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:

  • 仕組み
  • 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:

リソースを表示
リソースを表示

以下のフォームに記入してレポートをダウンロードしてください

当社製品および/またはセキュアコーディングに関連する情報について、お客様にご案内させていただくことをお許しください。お客様の個人情報は常に細心の注意をもって取り扱い、マーケティング目的で他社に販売することは一切ありません。

提出
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、「アナリティクス」クッキーを有効にしてください。完了後、いつでも無効に戻せます。

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:

  • 仕組み
  • 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:

ウェビナーを見る
始めましょう
もっと詳しく

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。

Secure Code Warrior 、ソフトウェア開発サイクル全体を通じてコードの安全性を確保し、サイバーセキュリティを最優先とする文化を構築するため、貴社をSecure Code Warrior 。アプリセキュリティ管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、当社が貴社のビジネスにおける不安全なコードに関連するリスクの低減を支援します。

レポートを見るデモを予約する
PDFをダウンロード
リソースを表示
共有する:
リンクトインのブランドソーシャルx ロゴ
もっと知りたいですか?

共有する:
リンクトインのブランドソーシャルx ロゴ
著者
2019年1月24日発行

共有する:
リンクトインのブランドソーシャルx ロゴ

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:

  • 仕組み
  • 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:

目次

PDFをダウンロード
リソースを表示
もっと知りたいですか?

もっと詳しく

Secure Code Warrior 、ソフトウェア開発サイクル全体を通じてコードの安全性を確保し、サイバーセキュリティを最優先とする文化を構築するため、貴社をSecure Code Warrior 。アプリセキュリティ管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、当社が貴社のビジネスにおける不安全なコードに関連するリスクの低減を支援します。

デモを予約するダウンロード
共有する:
リンクトインのブランドソーシャルx ロゴ
リソースハブ

入門リソース

さらに多くの投稿
リソースハブ

入門リソース

さらに多くの投稿