Ein Timing-Angriff ist eine Art Seitenkanalangriff im Bereich der Cybersicherheit, der die Schwankungen in der Zeit ausnutzt, die zur Ausführung kryptografischer Algorithmen benötigt wird. Durch die Analyse dieser Zeitunterschiede können Angreifer auf vertrauliche Informationen über die verwendeten kryptografischen Schlüssel schließen. Diese Form des Angriffs kann die Sicherheit von Systemen gefährden, die zum Datenschutz auf kryptografischen Algorithmen basieren.
Bei einem Timing-Angriff misst der Angreifer die Zeit, die für die Durchführung kryptografischer Vorgänge wie Verschlüsselung oder Entschlüsselung benötigt wird, und nutzt diese Informationen, um Details über die kryptografischen Schlüssel abzuleiten. Das zugrunde liegende Prinzip besteht darin, dass verschiedene Vorgänge abhängig von den Werten der verarbeiteten Bits leicht unterschiedlich lange dauern können. Wenn beispielsweise ein 0-Bit verarbeitet wird, kann eine Operation aufgrund der internen Funktionsweise des Algorithmus weniger Zeit in Anspruch nehmen als die Verarbeitung eines 1-Bits.
Timing-Angriffe können besonders effektiv gegen Implementierungen sein, denen geeignete Gegenmaßnahmen zur Behebung dieser Schwachstellen fehlen. Ein häufiges Ziel von Timing-Angriffen ist der RSA-Algorithmus, bei dem die modulare Potenzierungsoperation Timing-Variationen basierend auf den Bits des geheimen Schlüssels aufweisen kann.
Es gibt zwei Haupttypen von Timing-Angriffen: passive und aktive. Bei einem passiven Timing-Angriff beobachtet der Angreifer das Timing-Verhalten des Systems, ohne es aktiv zu beeinflussen. Bei einem aktiven Timing-Angriff hingegen manipuliert der Angreifer das System aktiv, um Timing-Unterschiede einzuführen, die ausgenutzt werden können.
Um Timing-Angriffe zu verhindern, müssen Entwickler sichere Codierungspraktiken und Gegenmaßnahmen implementieren. Ein Ansatz besteht darin, sicherzustellen, dass kryptografische Algorithmen eine zeitkonstante Implementierung haben, bei der die Ausführungszeit nicht von den Eingabedaten abhängt. Dadurch entfallen die Zeitunterschiede, die Angreifer ausnutzen könnten. Darüber hinaus kann die Einführung zufälliger Verzögerungen oder Blending-Techniken dazu beitragen, die für potenzielle Angreifer verfügbaren Zeitinformationen zu verschleiern.
Timing-Angriffe stellen eine erhebliche Bedrohung für die Sicherheit kryptografischer Systeme dar, da sie Timing-Variationen bei der Algorithmusausführung ausnutzen. Das Verständnis der Prinzipien hinter dem Timing von Angriffen und die Umsetzung geeigneter Gegenmaßnahmen sind entscheidende Schritte zum Schutz sensibler Informationen vor böswilligen Akteuren.
Weitere aktuelle Fragen und Antworten zu EITC/IS/ACSS Erweiterte Computersystemsicherheit:
- Was sind einige aktuelle Beispiele für nicht vertrauenswürdige Speicherserver?
- Welche Rolle spielen eine Signatur und ein öffentlicher Schlüssel bei der Kommunikationssicherheit?
- Ist die Sicherheit von Cookies gut mit der SOP (Same-Origin-Policy) abgestimmt?
- Ist der Cross-Site-Request-Forgery-Angriff (CSRF) sowohl mit der GET-Anfrage als auch mit der POST-Anfrage möglich?
- Ist die symbolische Ausführung gut geeignet, um tiefe Fehler zu finden?
- Kann die symbolische Ausführung Pfadbedingungen beinhalten?
- Warum werden mobile Anwendungen in modernen Mobilgeräten in der sicheren Enklave ausgeführt?
- Gibt es einen Ansatz zum Auffinden von Fehlern, bei dem sich Software als sicher erweisen kann?
- Nutzt die Secure-Boot-Technologie in Mobilgeräten eine Public-Key-Infrastruktur?
- Gibt es in einer modernen sicheren Architektur für Mobilgeräte viele Verschlüsselungsschlüssel pro Dateisystem?
Weitere Fragen und Antworten finden Sie unter EITC/IS/ACSS Advanced Computer Systems Security