Blog

Entwickler meistern Sicherheit: Share & Learn Serie - Padding Oracle

January 24, 2019

Auch wenn Padding Oracle nach einem ziemlich schlechten Namen für eine Alternative-Rock-Band klingt, handelt es sich tatsächlich um eine Sicherheitslücke, die Angreifer nutzen können, um Informationen ohne Kenntnis des Verschlüsselungsschlüssels zu entschlüsseln.

Was den Schwierigkeitsgrad für einen Angreifer betrifft, so liegt diese Lücke weit oben auf der Skala. Wir sprechen hier nicht von einem magischen Entschlüsselungsknopf, sondern von einem mühsamen Prozess, bei dem Hacker Fehlermeldungen bezüglich des Cell-Paddings analysieren können, um zu bestimmen, wo verschlüsselte Daten enden und das Padding beginnt. Sie können dann verschiedene Bits innerhalb der Verschlüsselung ermitteln und diese bei ausreichend Zeit und Eingabedaten möglicherweise knacken.

Glücklicherweise gibt es einige relativ einfache Schritte, mit denen man einem Angreifer die Möglichkeit nehmen kann, Padding Oracle zur Entschlüsselung von 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 sie zu verhindern.

Wie funktioniert Padding Oracle?

Cipher Block Chaining (CBC) ist eine Methode zur Erstellung einer Blockverschlüsselung, bei der eine gesamte Sequenz von Datenbits, wie etwa in einer Datenbank gespeicherte Zellen, mit einem Verschlüsselungsschlüssel verschlüsselt wird, der für die gesamte Informationskette gilt. Bei der Verwendung von CBC hängt die Verschlüsselung eines einzelnen Chiffretextblocks von allen vorangegangenen Blöcken ab. Theoretisch macht dies die Verschlüsselung extrem stark, da jede Veränderung, selbst das Umordnen der Blöcke, die Daten korrumpieren würde.

Das Problem bei CBC-Chiffren (und eigentlich bei allen Blockchiffren) ist, dass sie nur mit Blöcken exakter Größe verschlüsselt werden können. Normalerweise geschieht dies in 8- oder 16-Byte-Größen. Was passiert also, wenn CBC 2 Byte Daten in eine 16-Byte-Chiffretext-Einheit einpassen muss? Es verwendet Padding – im Grunde nur bedeutungslose Zeichen –, um die Lücken zu füllen und die Einheit auf die passende Größe zu bringen.

Die meisten Padding-Verfahren sind gut bekannt, wobei PKCS#7 eines der populärsten ist, sodass Angreifer wissen könnten, welche Art von Padding verwendet wird. Wenn CBC beispielsweise fünf Zeichen in einem Block auffüllen muss, würde PKCS#7 den Byte-Wert 0x05 fünfmal hinter dem Klartext wiederholen.

Angreifer nutzen ihr Wissen über CBC und Padding-Verfahren, um Anfragen 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 möglicherweise dazu zwingen, ihnen mitzuteilen, ob das Padding in ihrer Anfrage korrekt ist. Sobald dies erreicht ist, können sie für jedes Byte im Chiffretext von null bis 255 durchlaufen, bis der Server meldet, dass das Padding korrekt ist. Dann gehen sie zur nächsten Einheit über und wiederholen den Vorgang, wobei sie in jedem Fall protokollieren, wo das Padding beginnt.

Dies ermöglicht es ihnen zwar nicht, die Nachricht oder die Zelle direkt zu entschlüsseln, könnte ihnen aber erlauben, jedes Glied in der Kette dahingehend abzubilden, wo der Klartext endet und das Padding beginnt. Sie können zudem potenziell XOR-Berechnungen nutzen, um den Wert des letzten Bytes des ursprünglichen Klartexts zu ermitteln.

Warum ist Padding Oracle so gefährlich?

Der Grund, warum ein Hacker so viel Arbeit in das Knacken einer Verschlüsselung steckt, ist der potenzielle Ertrag. Nur wenige Menschen verschlüsseln Dinge, die nicht wertvoll sind. Die Gefahr für das betroffene Unternehmen hängt von den kompromittierten Daten ab. Dazu können Passwörter, Benutzerkonten, Finanzinformationen, Kreditkartennummern, Patientenakten, vertrauliche Kommunikation oder eine Vielzahl anderer hochbegehrter und wertvoller Informationen gehören.

Die Nutzung von Padding Oracle könnte auch das Einfallstor für nachfolgende Angriffe sein. Wenn ein Angreifer beispielsweise Padding Oracle nutzen kann, um Passwörter zu stehlen, ist die anschließende Erhöhung der Berechtigungen und das tiefere Eindringen in ein Netzwerk eine einfache sekundäre Aufgabe.

Jeder betrachtet Verschlüsselung als den ultimativen Schutz gegen Ausspähung oder Kompromittierung. Das Hin und Her zwischen der Verschlüsselungswissenschaft und denjenigen, die sie brechen wollen, dauert jedoch schon seit Jahrhunderten an. Padding Oracle ist nur eine Methode, die Angreifern einen Vorteil verschafft.

Padding-Oracle-Angriffe wirksam stoppen

Glücklicherweise gibt es einige Möglichkeiten, Padding Oracle zu verhindern. Eine der besten ist die Verwendung stärkerer Verschlüsselungsmodi wie Galois/Counter Mode (GCM) oder Offset Codebook Mode (OCB). Diese unterscheiden sich von CBC dadurch, dass sie eine Blockgröße von 128 Bit verwenden. Zudem nutzen sie einen Zähler für jeden Datenblock und verwenden diese Zahl zur Erstellung des Chiffretexts. Mit anderen Worten: Sie sind nicht anfällig für Padding-Oracle-Angriffe.

Die Implementierung einer guten Fehlerbehandlung kann die Erfolgschancen eines Angreifers ebenfalls drastisch verringern. Da Padding-Oracle-Angriffe auf Informationslecks basieren, sollten bei Fehlern während der Verschlüsselung oder Entschlüsselung allgemeine Fehlermeldungen anstelle von spezifischen Padding-Fehlern zurückgegeben werden.

Sie können auch einen Message Authentication Code (MAC) implementieren. MAC-Werte schützen sowohl die Datenintegrität als auch die Authentizität, da Prüfer mithilfe eines geheimen Schlüssels Änderungen am Nachrichteninhalt erkennen können.

Schließlich erfordern alle Padding-Oracle-Angriffe wiederholte Abfragen. Es können über 200 Anfragen nötig sein, um das Padding-Schema einer einzelnen Zelle zu ermitteln, multipliziert mit der Anzahl der geschützten Informationseinheiten in der Kette. Indem Sie die Anzahl der Anfragen von derselben Quelle begrenzen, können Sie Padding-Oracle-Angriffe unterbinden, indem Sie dem Angreifer den Zugriff verweigern, bevor er seinen Versuch richtig starten kann.

Weiterführende Informationen zu Padding Oracle

Jede Methode, mit der ein Angreifer sensible Informationen entschlüsseln kann, kann zu einem echten Albtraum werden. Wir hoffen jedoch, dass Sie einige gute Methoden kennengelernt haben, um dies von vornherein zu verhindern.

Für weiterführende Informationen können Sie sich die Definition und Checkliste von OWASP zum Thema Padding Oracle ansehen. Sie können Ihr neu erworbenes Verteidigungswissen auch mit der kostenlosen Demo der Secure Code Warrior-Plattform testen, die Cybersicherheitsteams zu ultimativen Cyber-Warriors ausbildet. Um mehr über die Abwehr dieser Schwachstelle und einer ganzen Reihe weiterer Bedrohungen zu erfahren, besuchen Sie den Secure Code Warrior-Blog.

Glauben Sie, dass Sie bereit sind, Padding-Oracle-Angriffe abzuwehren? Probieren Sie es auf der Secure Code Warrior-Plattform aus:

Slogan

Kontrollieren Sie KI-gestützte Entwicklung, bevor sie in Produktion geht

Bewerten Sie KI-gestützte Risiken, setzen Sie Richtlinien für sicheren Code direkt beim Commit durch und beschleunigen Sie die sichere Bereitstellung über Ihren gesamten SDLC hinweg.

Demo buchen
Ressourcenbibliothek

Weitere Blogs entdecken

Erhalten Sie Zugang zu Experteninhalten über sichere Programmierung, KI-Governance und Software-Risikomanagement.

alle anzeigen
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Eine Sicherheitskultur: Wie Sage sein Champions-Programm aufgebaut hat

Erfahren Sie, wie Sage die Sicherheit durch einen flexiblen, beziehungsorientierten Ansatz gestärkt, über 200 Security Champions ausgebildet und eine messbare Risikoreduzierung erzielt hat.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Cybersecurity Awareness Month 2026: Das Verständnis von KI-Sicherheit ist entscheidend für die Unternehmensverteidigung

Wir haben einen Punkt erreicht, an dem die meisten führenden KI-Unternehmen öffentlich eine weltweite Verlangsamung der KI-Entwicklung gefordert haben, damit die Sicherheitsvorkehrungen Schritt halten können. Doch die Wahrheit ist: Ernsthafte Sicherheitsprobleme sind bereits Realität geworden. Dies bringt unzählige Sicherheitsverantwortliche und Führungsteams in eine dringliche Lage, da die finanziellen Kosten und Risiken durch die Implementierung von KI stetig steigen.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Enabler 8: Branding für Ihr Programm

Ein Programm für sicheres Programmieren braucht mehr als nur großartige Inhalte, um erfolgreich zu sein. Enabler 8 zeigt, wie Branding die Teilnahme zu einem begehrten, statusorientierten Erlebnis macht.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Jeder Mitarbeiter steht jetzt an vorderster Front der KI-Cybersicherheit

Die Unternehmenslandschaft wandelt sich mit einer Geschwindigkeit, die kaum jemand vorhergesehen hat, bis es zu spät war. Wir haben offiziell die Schwelle von handgeschriebenem Code und einfacher Copilot-Unterstützung hin zur Ära des Agentic Development Lifecycle (ADLC) überschritten. Während autonome KI-Agenten eine beispiellose Effizienz in vielen Bereichen versprechen, bringen sie auch eine völlig neue Klasse von Sicherheits- und Regulierungsrisiken mit sich.

Mehr erfahren

Sichere KI-gestützte Entwicklung vor dem Release

Erkennen Sie Entwicklerrisiken, setzen Sie Richtlinien durch und verhindern Sie Schwachstellen über den gesamten Softwareentwicklungszyklus hinweg.

Demo buchen
Keine Elemente gefunden.