Smartcom5 schrieb:
Die ganze Thematik rührt kausal daher und Kernel page-table isolation (KPTI) oder wahlweise Kernel Address Space Layout Randomization (KASLR) ist der kausale und eigentliche Fix, um die hier so brisante Thematik zu negieren, wobei Kernel Address Isolation to have Side-channels Efficiently Removed (KAISER) zudem eine weitere Verbesserung von KASLR darstellt.[/ATTACH]
Jetzt wirfst du aber Begriffe durcheinander, die so nicht zusammen passen.
ASLR gibt es schon etwas länger. Es wurde eingeführt um klassische Buffer Overflow Angriffe abzuwehren, da mit der Randomisierung der Adressen im Speicher, es nicht mehr möglich ist mit einem einfachen Angriff eine bestimmte und immer gleiche Adresse aufzurufen.
https://de.wikipedia.org/wiki/Address_Space_Layout_Randomization
Um dies zu umgehen wurde an Möglichkeiten "geforscht" wie man den gesamten Speicher durchsuchen kann und die Adressen herausfindet. Dabei hat man Side-Channel Angriffe verwendet, die schon seit Jahren bekannt sind (1992 zu ersten mal erwähnt, 1996 zu ersten mal demonstriert).
https://de.wikipedia.org/wiki/Seitenkanalattacke
Es wurde bereits seit Jahren heiß diskutiert, dass grosser L3 Cache, den sich viele Prozesse teilen, eine Sicherheitslücke darstellt.
https://www.usenix.org/node/184416
Im Jahr 2016 wurde gezeigt wie es möglich ist mithilfe von Intel TSX, relativ viel Daten in relativ kurzer Zeit zu ergattern. Mit TSX sind ja laut den Unterlagen der Meltdown "Forscher" 500KB/s möglich ohne TSX ist es denen gelungen lediglich 123KB/s an Daten auszulesen. Die Geschwindigkeit ist wichtig, weil man ja zunächst "dank" ASLR blind agiert und herausfinden muss wo sich überhaupt der Kernel befindet.
Um diese Seitenkanalangriffe abzuwehren wurde KAISER entwickelt, womit sich die Arbeitsgruppe ja zunächst befasst hatte. Bei dieser Arbeit hatte man dann noch größere Lücke(n) entdeckt, womit man nun gezielt Speicherbereiche in den Cache laden konnte und diese mit den bereits bekannten Angriffen kombinierbar waren. Meltdown und Spectre waren geboren. KAISER ist bereits gegen Meltdown wirksam, jedoch wurde die Technik aufgrund der Forschungsarbeit noch verbessert. KPTI war geboren.
https://de.wikipedia.org/wiki/Kernel_page-table_isolation
Grob genommen ist Meltdown nichts neues. Es kombiniert seit Jahren bekannte Sicherheitslücken um die sich niemand RICHTIG gekümmert hat, zu neuen und noch größeren Lücken.
In der Reihenfolge genannt kann man sich das in etwas so zusammenstellen.
Seitenkanalangriffe sind seit Jahren bekannt und wurden als Angriff auf Verschlüsselungshardware entwickelt. (1992) Mit der Zeit bekamen die CPUs L3 Cache spendiert und mehrere Kerne, wodurch sich viele Prozesse einen gemeinsamen großen Cache teilen. Das wiederum macht es für einen Seitenkanalangriff interessant und Techniken die es erschwerten kamen erst viel später. ASLR wurde entwickelt um ganz andere Angriffe abzuwehren, auch hier hat noch niemand an bestehende Angriffsmöglichkeiten gedacht. Mit TSX hat sich Intel selbst ins Knie geschossen und hat die Leistungsfähigkeit der Seitenkanalangriffe beschleunigt. Mit KAISER wollte man dem entgegnen und hat dabei das richtig dicke Loch gefunden.
Im Grunde genommen hätte man sich bereits beim L3 Cache mehr Gedanken an Sicherheit machen müssen, hat man aber trotz Warnungen von diversen Quellen nicht. Bis Meltdown nun öffentlich wurde sind viele Jahre vergangen in denen vieles passiert ist und einiges davon werden wir vermutlich nie erfahren.
Ob Intel davon wusste? Ja und Nein! Hierzu ein (leider etwas makabres Beispiel)
Die NASA wusste jahrelang von Problemen mit ihren Hitzeschutz und es gab einige die darauf hingewiesen haben. Am Ende arbeitet aber immer ein Team an solchen Projekten und man kann schlecht alles 100% sicher machen. Also hat man die Warnungen ignoriert, wodurch Menschen gestorben sind. DANACH hat man ein Augenmerk DARAUF geworfen. Ist dadurch der Höllenritt mit einer Rakete am Hintern sicherer geworden? Bestimmt! Ist er SICHER geworden? Nö!
Hätte man allerdings immer auf alles und jeden gehört, wäre vermutlich nie eine Rakete abgehoben.