Newsportal - Ruhr-Universität Bochum
![Chips und Platinen](https://news.rub.de/sites/default/files/styles/nepo_teaser/public/chips_platinen-023.jpg?itok=VWTyl0KG)
Wie durcheinander gewürfelte Daten unsere Sicherheit verbessern können
Riesige Datenströme durchlaufen täglich unsere Computer und Smartphones. Um diese zu verarbeiten, bestehen technische Geräte vereinfacht gesagt aus zwei wesentlichen Einheiten: Einem Prozessor, also einer Art Schaltzentrale und dem Arbeitsspeicher (RAM), den man mit einem Gedächtnis vergleichen kann. Da der Speicher um ein Vielfaches langsamer darin ist, Daten bereitzustellen als der Prozessor in der Lage ist, diese Daten zu verarbeiten, arbeiten moderne Prozessoren mit einem Zwischenspeicher, dem so genannten Cache, der eine Art Brücke zwischen den beiden bildet. In diesem Zwischenspeicher befinden sich oftmals private Daten, die für Angreifer ein attraktives Ziel darstellen könnten. Ein Team aus Bochumer Wissenschaftlern hat nun in Kooperation mit Forschern aus Japan eine innovative Verschlüsselung designt, die nicht nur eine größere Sicherheit bietet als die bisherigen Ansätze, sondern auch effizienter und schneller ist. Die Arbeit dazu stellen sie auf der renommierten Konferenz „Usenix Security Symposium“ in Anaheim, Kalifornien (USA), vor.
Beteiligt daran sind Dr. Federico Canale und Prof. Dr. Gregor Leander vom Lehrstuhl für Symmetrische Kryptographie, Jan Philipp Thoma und Prof. Dr. Tim Güneysu vom Lehrstuhl für Security Engineering, alle von der Ruhr-Universität Bochum, sowie Yosuke Todo von NTT Social Informatics Laboratories und Rei Ueno von der Tohoku University (Japan).
Cache bisher nicht gut gegen Seitenkanal-Angriffe geschützt
Dass der Cache gegen eine bestimmte Art von Angriffen nicht gut geschützt ist, hat CASA-Forscher Prof. Dr. Yuval Yarom, der seit April 2023 an der Ruhr-Universität tätig ist, schon vor Jahren aufgedeckt. Die schweren Sicherheitslücken Spectre und Meltdown hatten damals für Wirbel gesorgt, weil sie alle gängigen Mikroprozessoren sowie Cloud-Dienste betrafen. Ein Cache ist ein eher unscheinbares Element, leistet aber eine wichtige Arbeit: In ihm lagern Daten zwischen, die sehr oft abgerufen werden. Seine Hauptfunktion liegt darin, Zugriffszeiten zu verringern – denn würden die Daten jedes Mal vom Prozessor (CPU) beim langsameren Arbeitsspeicher abgerufen werden, würde dies die Schnelligkeit verringern. Also holt sich die CPU bestimmte Daten aus dem Cache. Bei dieser Kommunikation zwischen CPU und Cache können allerdings Angreifer ansetzen. Ihre Methode: Sie überschreiben die recht ungesicherten Daten im Cache. Das System kann die Daten nicht mehr im Cache finden und fordert sie deshalb aus dem Hauptspeicher an. Dieser Vorgang ist messbar langsamer. „In sogenannten Timing-Seitenkanalangriffen können Angreifer die Zeitunterschiede messen und dazu nutzen Speicherzugriffe von anderen Programmen zu beobachten. Dadurch lassen sich zum Beispiel private Schlüssel für Verschlüsselungsalgorithmen stehlen“, erklärt Jan Philipp Thoma vom Lehrstuhl für Security Engineering.
Innovative Lösung mit mathematischem Hintergrund
Zwar wurden für manche Angriffe Patches entwickelt, die die Lücke schließen sollten, aber eine beweisbare Sicherheit konnten diese nicht bieten. Nun hat das Team aus Bochum und Japan jedoch eine innovative Lösung gefunden: „Unsere Idee besteht darin, dass wir die Daten im Cache mithilfe mathematischer Prozesse durcheinanderwürfeln“, erklärt Gregor Leander, der vor kurzem einen ERC Advanced Grant für seine Forschung erhalten hat. Durch diese Randomisierung in den Caches des CPUs können die Angriffe abgewehrt werden, da sie verhindert, dass Angreifer die Daten aus dem Cache entfernen können.
„Der interdisziplinäre Ansatz aus Überlegungen der Kryptografie und der Hardware-Sicherheit stellt ein Novum innerhalb der Computersicherheit dar. Zwar gab es zuvor schon Ideen zu randomisierten Cache-Architekturen, allerdings waren diese nicht sehr effizient und nicht in der Lage, starke Angreifer vollständig abzuhalten“, sagt Tim Güneysu, der den Lehrstuhl für Security Engineering innehat. Das neue Modell SCARF arbeitet mit einer Blockverschlüsselung, die für diesen Bereich ganz neu von den Wissenschaftlern gedacht wurde. „Normalerweise verschlüsseln wir Daten mit 128 Bit, im Cache arbeiten wir teilweise mit 10 Bit. Das ist ein komplexer Vorgang, weil es viel länger dauert, diese Daten mit einem großen Schlüssel zu mischen“, so Gregor Leander. Der große Schlüssel wird benötigt, weil eine kürzere Verschlüsselung solch kleiner Datenmengen leichter von Angreifern gebrochen werden könnte.
Die oben beschriebene Randomisierung benötigt normalerweise viel Zeit, was die Arbeitsweise des Cache einschränken würde. SCARF hingegen arbeitet dank der Blockchiffrierung schneller als alle bisher designten Lösungen. „SCARF kann als Modulbaustein in Cache Architekturen eingesetzt werden und sorgt automatisch für sichere – das heißt nicht vorhersagbare – Randomisierung bei gleichzeitig niedriger Latenz, also Reaktionszeit“, führt Jan Philipp Thoma aus und fasst zusammen: „Mit SCARF bieten so wir eine effiziente und sichere Lösung für die Randomisierung.“
Doppelter Schutz durch Kombination mit ClepsydraCache
Somit könnte die Arbeit der Forscher einen elementaren Einfluss auf den Schutz von sensiblen Daten innerhalb der digitalen Gesellschaft leisten. Darüber hinaus stellen die Forscher in Zusammenarbeit mit anderen Kollegen eine weitere Arbeit auf dem diesjährigen „Usenix Security Symposium“ vor, die mit SCARF kombiniert werden kann. Das Paper „ClepsydraCache - Preventing Cache Attacks with Time-Based Evictions“ zeigt ebenfalls eine neue Idee für die Sicherheit des Zwischenspeichers auf. Daran beteiligt sind ebenfalls Jan Philipp Thoma, Gregor Leander und Tim Güneysu sowie CASA-Forscher Lucas Davi von der Uni Duisburg-Essen. Es ist außerdem in enger Zusammenarbeit mit Forschern des Lehrstuhls für Integrierte Systeme an der Ruhr-Universität Bochum entstanden. „ClepsydraCache setzt auf sogenanntes Cache Decay in Kombination mit der Randomisierung des Indexes. Cache Decay bedeutet, dass Daten, die längere Zeit nicht verwendet werden, automatisch aus dem Cache entfernt werden“, beschreibt Jan Philipp Thoma den Prozess.
Für die Sicherheit der Daten ist ein solcher Vorgang wichtig, weil er weniger Cache-Konflikte entstehen lässt. Diese Konflikte führen zur Verlangsamung des Prozesses und könnten ebenfalls mithilfe der oben beschriebenen Seitenkanalangriffe zu Rückschlüssen auf Daten führen. Die Wissenschaftler konnten beweisen, dass ihr Vorschlag bekannten Angriffsvektoren standhält und sich problemlos in bestehende Architekturen einbauen lässt.
Interdisziplinäre Arbeit führt zu erfolgreicher Forschung
Durch die Vereinbarkeit der beiden Arbeiten „SCARF“ und „Clepsydracache“ könnten künftige Generationen von Caches sicherer werden als je zuvor – und müssten dabei keinerlei Einbußen in ihrer Schnelligkeit verzeichnen. Das Teamwork zeigt somit, dass der interdisziplinäre Ansatz, den das Exzellenzcluster CASA „Cybersecurity in the Age of Large-Scale Adversaries“ verfolgt, zu richtungsweisenden Forschungsergebnissen führen können.
Prof. Dr. Tim Güneysu
Lehrstuhl für Security Engineering
Fakultät für Informatik
Ruhr-Universität Bochum
Tel.: +49 234 32 24626
E-Mail: tim.gueneysu@ruhr-uni-bochum.de
Prof. Dr. Gregor Leander
Lehrstuhl für Symmetrische Kryptographie
Fakultät für Informatik
Ruhr-Universität Bochum
Tel.: +49 234 32 28402
E-Mail: gregor.leander@ruhr-uni-bochum.de
Jan Philipp Thoma
Lehrstuhl für Symmetrische Kryptographie
Fakultät für Informatik
Ruhr-Universität Bochum
Tel.: +49 234 32 27891
E-Mail: jan.thoma@ruhr-uni-bochum.de
Federico Canale, Tim Güneysu, Gregor Leander, Jan Philipp Thoma, Yosuke Todo, Rei Ueno: SCARF – A low-latency block cipher for secure cache-randomization, 32th USENIX Security Symposium, 2023, Anaheim, USA, Download Pre-Print
Jan Philipp Thoma, Christian Niesler, Dominic Funke, Gregor Leander, Pierre Mayr, Nils Pohl, Lucas Davi, Tim Güneysu: ClepsydraCache - Preventing cache attacks with time-based evictions, 32th USENIX Security Symposium, 2023, Anaheim, USA, Download Pre-Print
9. August 2023
13.05 Uhr