FPGA Seitenkanäle

FPGA Seitenkanäle

Modellansatz 177
54 Minuten
Podcast
Podcaster

Beschreibung

vor 6 Jahren

Vom 10. - 13. Mai 2018 fand im ZKM und in der Hochschule für
Gestaltung (HfG) die GPN18 statt. Dort traf sich Sebastian mit
Dennis Gnad, um mit ihm über Seitenangriffe auf Field
Programmable Gate Arrays (FPGA) zu sprechen.


FPGAs sind veränderliche Computerchips, die hervorragend bei der
Entwicklung von logischen Schaltkreisen oder spezieller Glue
Logic helfen, und kommen inzwischen auch als Rechenbeschleuniger
zum Einsatz. Man kann FPGAs als Vorstufe zu Application-Specific
Integrated Circuits (ASIC) sehen, auf denen Strukturen noch viel
feiner, für höhere Taktraten und sparsamer abgebildet werden
können, das Design aber um Größenordnungen teurer ist. Und
während einem ASIC die Funktion ab Werk einbelichtet ist, können
FPGAs nahezu beliebig oft zur Laufzeit umprogrammiert werden.


Wie im Podcast zu digitalen Währungen erwähnt, spielen Graphical
Process Units (GPUs), FPGAs und ASICs eine große Rolle bei
Kryptowährungen. Hier ist ein einzelner FPGA-Chip beim so
genannten Mining meisst nicht schneller als eine GPU, verbrauchen
jedoch im Vergleich deutlich weniger Strom. Spezialisierte ASICs
hingegen übersteigen in Effizienz und Geschwindigkeit alle
anderen Lösungen.


FPGAs finden sich aktuell in vielen Consumer-Produkten, wie dem
Apple iPhone 7, im Samsung Galaxy S5, Smart-TVs und selbst auch
der Pebble Smartwatch. Ihren besonderen Vorteil spielen FPGAs bei
der Verarbeitung von großen Datenmengen wie Videodaten aus, da
sie in der Parallelisierung nur durch den verfügbaren Platz
beschränkt sind.


Die Beschreibung von FPGAs und ASICs, oder deren Programmierung,
erfolgt eher strukturell in Hardwarebeschreibungssprachen wie
Verilog oder VHDL. Diese Beschreibungen unterscheiden sich sehr
von imperativen Programmiersprachen, wie sie oft für CPUs oder
GPUs verwendet werden.


Es werden in logischen oder kombinatorischen Blöcken Daten
verarbeitet, die dann in Taktschritten von und in Datenregister
übertragen werden. Die erreichbare Taktfrequenz hängt von der
Komplexität der kombinatorischen Blöcke ab. Ein Beispiel für
logische Blöcke können Soft-Cores sein, wo zukünftige oder nicht
mehr erhältliche CPU-Designs in FPGAs zur Evaluation oder
Rekonstruktion abgebildet werden.


Eine Variante ist die Entwicklung in OpenCL, wo verschiedene
Architekturen wie GPUs, CPUs und FPGA unterstützt werden. Für die
effiziente Umsetzung ist dafür weiterhin großes Hardwarewissen
erforderlich, und man kann nicht erwarten, dass Code für FPGAs
ebenso auf GPU, oder umgekehrt CPU-Code in FPGAs darstellbar ist.


Das Interesse von Dennis Gnad liegt bei den FPGAs darin, deren
Daten, Logik oder Inhalte durch Seitenkanalangriffe in von den
Entwicklern unvorhergesehener Art und Weise auszulesen. Ein
Beispiel ist das Erkennen von Fernsehsendungen aus dem
Stromverbrauch des Fernsehgeräts wie es auch schon im Podcast zu
Smart Metern beschrieben wurde. Ebenso wurden schon
Kryptoschlüssel aus Geräuschen einer CPU bestimmt. Mit
Soundkarten kann man Funkuhren verstellen und auch Grafikkarten
können als UKW-Sender verwendet werden. Die elektromagnetische
Abstrahlung ist ein sehr klassischer Seitenkanal und ist als
Van-Eck-Phreaking seit 1985 bekannt. Gerade wurden die Timing-
und Speculative-Execution-Covered-Channel-Angriffe Spectre und
Meltdown für einen großteil aktueller CPUs bekannt, die aktiv
Seitenkanäle für verdeckten Informationszugriff nutzen.


Normalerweise benötigen Power-Side-Angriffe, die den
Stromverbrauch auswerten, physischen Zugang zum Gerät oder der
Stromversorgung. Überraschenderweise ist es auf FPGAs hingegen
möglich den Stromverbrauch anderer Schaltungsbestandteile rein
durch Software zu bestimmen. Dazu werden FPGAs an der Grenze der
Timing-Parameter betrieben, und statistisch die erfolgreiche
Ausführung gemessen. Mit verschieden langen Pfaden können auch
gleichzeitig die Zeitschranken verschieden stark belastet werden
und damit gleichzeitig für mehrere Spannungsstufen ausgewertet
werden. Damit kann der relative Spannungsverlauf kontinuierlich
gemessen werden. Im Zuge seiner Forschung zu Voltage Fluctuations
in FPGAs konnte Dennis Gnad die Qualität der Messungen
nachweisen.


Für die eigentliche Auswertung der Messungen werden hier die
Verfahren der Differential Power Analysis verwendet, die nicht
absolute Messungen, sondern mit relativen Messungen den Verlauf
oder Unterschiede in den Verläufen statistisch analysieren.
Speziell wurden mit dem Pearson Korrelations-Koeffizient
verschiedene Schlüssel-Hypothesen mit modellierten Stromverläufen
aufgestellt, um den Suchraum für einen kryptographischen
AES-Schlüssel jeweils stückweise einzuschränken. Dafür musste die
spezielle AES-Implementation auf dem FPGA bekannt sein, um
entsprechende Leakage-Modelle für die Korrelationsauswertung
aufstellen zu können. Insgesamt wurde so ein rein
software-getriebener Angriff auf FPGAs demonstriert, der ohne
sehr aufwändiges Code-Review-Verfahren, dessen Umsetzung bei VHDL
ohnehin große Fragen aufwirft, kaum zu entdecken ist.


Dennis betreibt die Forschung als Doktorand am Chair of
Dependable Nano Computing (CDNC) am Karlsruher Institut für
Technologie (KIT), deren Forschung besonders auf die
Verlässlichkeit und auch der Sicherheit von Computersystemen
abzielt. Die Forschungsarbeiten zu Seitenkanälen über den
Stromverbrauch haben ebenso Anwendungen für die Zuverlässigkeit
von den Systemen, da ebenso mit der Messung auch eine
entsprechende Beeinflussung bis zur Erzeugung von Fehlerzuständen
möglich wird, wie es von Dennis durch Fehlerzustände in der
Stromversorgung zum Neustart von FPGAs demonstriert werden
konnte. Mit Stuxnet wurde bekannt, dass auch Industrieanlagen mit
Software zerstört werden konnten, es gab aber auch
Computermonitore, die kreativ in neue Nutzungszustände gebracht
wurden.
Literatur und weiterführende Informationen

D. Gnad: Seitenkanal-Angriffe innerhalb FPGA-Chips, Vortrag
auf der GPN18, Karlsruhe, 2018.

F. Schellenberg, D. Gnad, A. Moradi, M. Tahoori: An Inside
Job: Remote Power Analysis Attacks on FPGAs, Cryptology ePrint
Archive: Report 2018/012, Proceedings of Design, Automation &
Test in Europe (DATE), 2018.

D. Gnad, F. Oboril, M. Tahoori: Voltage Drop-based Fault
Attacks on FPGAs using Valid Bitstreams, International Conference
on Field-Programmable Logic and Applications (FPL), Belgium,
2017.

A. Moradi, F.-X. Standaert: Moments-Correlating DPA,
Cryptology ePrint Archive: Report 2014/409, Theory of
Implementations workshop, 2016.

P. Kocher, J. Jaffe, B. Jun, et al: Introduction to
differential power analysis, J Cryptogr Eng 1: 5, 2011.

E. Brier, C. Clavier, F. Olivier: Correlation power analysis
with a leakage model, International workshop on cryptographic
hardware and embedded systems. Springer, Berlin, Heidelberg,
2004.

Cryptology ePrint Archive Search Portal

Side Channel Cryptanalysis Lounge - Ruhr-Universität Bochum

D. Gnad, F. Oboril, S. Kiamehr, M. Tahoori: An Experimental
Evaluation and Analysis of Transient Voltage Fluctuations in
FPGAs, in IEEE Transactions on Very Large Scale Integration
Systems (TVLSI), 2018.

F. Schellenberg, D. Gnad, A. Moradi, M. Tahoori: Remote
Inter-Chip Power Analysis Side-Channel Attacks at Board-Level],
In Proceedings of IEEE/ACM International Conference on
Computer-Aided Design (ICCAD), USA, 2018. (to appear Nov. '18)

J. Krautter, D. Gnad, M. Tahoori: FPGAhammer: Remote Voltage
Fault Attacks on Shared FPGAs, suitable for DFA on AES], in IACR
Transactions on Cryptographic Hardware and Embedded Systems
(TCHES), Vol.1, No.3, 2018. (to appear Sept. '18)


Podcasts

A.-L. Baecker, C. Schrimpe: Crypto for the Masses –
Grundlagen, Request for Comments, Der RFC Podcast, Folge 15,
2018.

M. Lösch, S. Ritterbusch: Smart Meter Gateway, Gespräch im
Modellansatz Podcast, Folge 135, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2017.

S. Ritterbusch, G. Thäter: Digitale Währungen, Gespräch im
Modellansatz Podcast, Folge 32, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2014.

B. Heinz, T. Pritlove: FPGA, CRE: Technik, Kultur,
Gesellschaft, Folge 117, Metaebene Personal Media, 2009.


GPN18 Special

D. Gnad, S. Ritterbusch: FPGA Seitenkanäle, Gespräch im
Modellansatz Podcast, Folge 177, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2018.
http://modellansatz.de/fpga-seitenkanaele

B. Sieker, S. Ritterbusch: Flugunfälle, Gespräch im
Modellansatz Podcast, Folge 175, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2018.
http://modellansatz.de/flugunfaelle

A. Rick, S. Ritterbusch: Erdbebensicheres Bauen, Gespräch im
Modellansatz Podcast, Folge 168, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2018.
http://modellansatz.de/erdbebensicheres-bauen


GPN17 Special

Sibyllinische Neuigkeiten: GPN17, Folge 4 im Podcast des CCC
Essen, 2017.

A. Rick, S. Ritterbusch: Bézier Stabwerke, Gespräch im
Modellansatz Podcast, Folge 141, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2017.
http://modellansatz.de/bezier-stabwerke

F. Magin, S. Ritterbusch: Automated Binary Analysis, Gespräch
im Modellansatz Podcast, Folge 137, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2017.
http://modellansatz.de/binary-analyis

M. Lösch, S. Ritterbusch: Smart Meter Gateway, Gespräch im
Modellansatz Podcast, Folge 135, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2017.
http://modellansatz.de/smart-meter


GPN16 Special

A. Krause, S. Ritterbusch: Adiabatische Quantencomputer,
Gespräch im Modellansatz Podcast Folge 105, Fakultät für
Mathematik, Karlsruher Institut für Technologie (KIT), 2016.
http://modellansatz.de/adiabatische-quantencomputer

S. Ajuvo, S. Ritterbusch: Finanzen damalsTM, Gespräch im
Modellansatz Podcast, Folge 97, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2016.
http://modellansatz.de/finanzen-damalstm

M. Fürst, S. Ritterbusch: Probabilistische Robotik, Gespräch
im Modellansatz Podcast, Folge 95, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2016.
http://modellansatz.de/probabilistische-robotik

J. Breitner, S. Ritterbusch: Incredible Proof Machine,
Gespräch im Modellansatz Podcast, Folge 78, Fakultät für
Mathematik, Karlsruher Institut für Technologie (KIT), 2016.
http://modellansatz.de/incredible-proof-machine

Weitere Episoden

Wahlmodelle
16 Minuten
vor 10 Monaten
Podcast Lehre
1 Stunde 42 Minuten
vor 1 Jahr
Instandhaltung
50 Minuten
vor 2 Jahren
CSE
42 Minuten
vor 2 Jahren
Mentoring
35 Minuten
vor 2 Jahren
15
15
:
: