|
Vor Angriffen auf die Spectre-Prozessorlücken sind Software-Schutzvorkehrungen
weitestgehend nutzlos. Programmierer können sich lediglich
auf in Hardware umgesetzte Maßnahmen verlassen. Eine Hand
voll Google-Forscher kommen zu diesem Schluss in einer wissenschaftlichen
Veröffentlichung, die auf ihren Erfahrungen mit der Entwicklung
von Chromes
JavaScript-Engine V8 beruht.
Allerdings sind ihre Erkenntnisse kein Grund zur Panik, da von
den Angriffen praktisch nur Programme betroffen sind, die Code aus
nicht vertrauenswürdigen Quellen ausführen. Der Großteil
der Programme, die im Alltag genutzt werden, gehören nicht
zu dieser Kategorie. Web-Browser sind die wichtigste Gruppe solcher
gefährdeter Programme. Wie auch die Google-Forscher, sind sich
deren Entwickler des Problems bewusst und arbeiten daran, den nicht
vertrauenswürdigen JavaScript-Code
einzelner Webseiten mit Hardware-Mitteln voneinander zu isolieren.
Die Veröffentlichung der Forscher stellt trotz dieser Einschränkung
eine wichtige Warnung für alle Programmierer da, die in ihren
Programmen fremden Code ausführen müssen.
Die Google-Forscher haben bei ihrer Analyse der Auswirkungen der
verschiedenen Spectre-Versionen und der Software-Schutzmaßnahmen
gegen Seitenkanal-Angriffe festgestellt, dass sich die Abwehrmaßnahmen
immer irgendwie umgehen lassen. Sie fordern deshalb ein Konstrukt
namens Universal Read Gadget. Mit genug Mühe lässt sich
ihrer Meinung nach bei jeder Software die spekulative Ausführung
moderner Prozessoren so missbrauchen, dass ein Angreifer Lesezugriff
auf alle Speicheradressen im Bereich des Prozesses erhält.
Dass dies nicht einfach ist und sehr gute Kenntnis der anzugreifenden
Software und der Prozessorinfrastruktur des Zielgerätes voraussetzt,
schreiben die Forscher explizit. Allerdings behaupten sie, mit genug
Aufwand für fast jede beliebige Software ein solches Read Gadget
konstruieren zu können.
Die Schutzmaßnahmen verschiedener Programmiersprachen und
Compiler, oder auch Techniken wie das von Google erfundene Retpoline
sind demnach immer irgendwo durchlässig. Theoretisch könne
zwar dem Prozessor verboten werden, spekulative Ausführung
zu betreiben, die dafür von den Herstellern vorgeschlagenen
Techniken, beispielsweise den lfence-Befehl bei Intel,
seien aber schlecht dokumentiert und in der Praxis zeige sich immer
wieder, dass sie von Programmierern falsch umgesetzt oder gar vergessen
würden.
(jf, hannover)
(siehe auch Heise
News-Ticker:)
Hannover · EDV-Beratung ·
Linux · Novell · Microsoft · Seminar ·
IT-Consult · Netzwerk · LPIC · CLE
|