Massive Sicherheitsl체cke in Intel-CPUs (Update: AMD, ARM, Bugfixes)

Seit der Mel짯dung am Diens짯tag haben sich die Ereig짯nis짯se zu die짯sem The짯ma 체ber짯schla짯gen. Dem Ver짯neh짯men nach ist die Nach짯richt 체ber 쐂en Bug zu fr체h an die 횜ffent짯lich짯keit gelangt mut짯ma횩짯lich 체ber die offen betrie짯be짯ne Linux Ker짯nel-Ent짯wick짯lung. Statt짯des짯sen soll짯te es erst am 9.1.2018 eine gemein짯sa짯me Stel짯lung짯nah짯me von Intel, AMD und ARM geben. Daher woll짯ten wir eigent짯lich kei짯ne auf Spe짯ku짯la짯tio짯nen fu횩en짯de Mel짯dung mehr dazu schrei짯ben bis dahin, jedoch sahen sich die Betei짯lig짯ten wegen des Bekannt짯wer짯dens offen짯bar dazu gezwun짯gen, fr체짯her aktiv zu wer짯den. Daher haben wir hier nun alle wich짯ti짯gen Fak짯ten zusammengetragen.

1. Was ist das f체r ein Bug?
Bei dem bekannt gewor짯de짯nen Feh짯ler han짯delt es sich genau genom짯men um zwei, die sogar Namen erhal짯ten haben: Melt짯down und Spect짯re. Von letz짯te짯rem sind zwei Sze짯na짯ri짯en m철g짯lich, wes짯halb es sich ins짯ge짯samt um drei sepa짯rat zu betrach짯ten짯de Feh짯ler handelt.

  • Vari짯ant 1 쏶pect짯re 1 : bounds check bypass (CVE-20175753)
  • Vari짯ant 2 쏶pect짯re 2 : branch tar짯get injec짯tion (CVE-20175715)
  • Vari짯ant 3 쏮elt짯down : rogue data cache load (CVE-20175754)

Inzwi짯schen haben die bei짯den sogar eine Web짯sei짯te erhal짯ten, auf der Infor짯ma짯tio짯nen gesam짯melt werden.

Gemein ist allen drei짯en, dass durch leis짯tungs짯stei짯gern짯de Fea짯tures der CPU Out-of-Order-Exe짯cu짯ti짯on, Branch Pre짯dic짯tion und Spe짯cu짯la짯ti짯ve-Exe짯cu짯ti짯on die Tren짯nung der Daten zwi짯schen Pro짯zes짯sen und gar Rings nicht mehr 100-pro짯zen짯tig gew채hr짯leis짯tet ist. Mit trick짯rei짯chen Ans채t짯zen ist es m철g짯lich, Daten eines ande짯ren Pro짯zes짯ses aus짯zu짯le짯sen, was selbst짯re짯dend ins짯be짯son짯de짯re bei Anbie짯tern von Cloud-Diens짯ten ein GAU ist, wo sich vie짯le VMs auf einer Maschi짯ne tum짯meln, denn der Trick funk짯tio짯niert 체ber VM-Gren짯zen hin짯weg. Da in moder짯nen Betriebs짯sys짯te짯men Ker짯nel-Spei짯cher in den User-Space gemappt wird eben짯falls zur Leis짯tungs짯stei짯ge짯rung kann so auch in den h철her pri짯vi짯le짯gier짯ten Sys짯tem짯spei짯cher짯be짯reich vor짯ge짯drun짯gen wer짯den, um Rech짯te zu ergat짯tern, Pass짯w철r짯ter aus짯zu짯le짯sen oder Daten zu stehlen.

2. Wer hat die Bugs ent짯deckt und wann?
Ein For짯scher짯team bei Goog짯le ist offen짯bar bereits im Juni 2017 auf die Pro짯ble짯me gesto짯횩en und hat die Hard짯ware- und Betriebs짯sys짯tem-Her짯stel짯ler infor짯miert. Eine sehr aus짯f체hr짯li짯che Ana짯ly짯se ist hier zu fin짯den. In Hacker짯krei짯sen ist das Pro짯blem mit den Side-Chan짯nel-Atta짯cken 체ber Cache und TLB aller짯dings schon weit l채n짯ger bekannt, wie eine Ver짯철f짯fent짯li짯chung auf der Black Hat USA 2016 zeigt.

3. Wel짯che Her짯stel짯ler sind betroffen?
Intel ist mit sei짯nen Pro짯zes짯so짯ren im Grun짯de seit der Core-Rei짯he von allen drei Feh짯lern betrof짯fen und im Atom-Seg짯ment, seit mit Bay짯trail auf OoO-Exe짯cu짯ti짯on umge짯stellt wur짯de. Inter짯es짯san짯ter짯wei짯se m철ch짯te Intel jedoch nicht von einem Bug sprechen:

No. This is not a bug or a flaw in Intel pro짯ducts. The짯se new exploits levera짯ge data about the pro짯per ope짯ra짯ti짯on of pro짯ces짯sing tech짯ni짯ques com짯mon to modern com짯pu짯ting plat짯forms, poten짯ti짯al짯ly com짯pro짯mi짯sing secu짯ri짯ty even though a sys짯tem is ope짯ra짯ting exact짯ly as it is desi짯gned to. Based on the ana짯ly짯sis to date, many types of com짯pu짯ting devices with many dif짯fe짯rent ven짯dors pro짯ces짯sors and ope짯ra짯ting sys짯tems are sus짯cep짯ti짯ble to the짯se exploits. 

Laut Intel sind fol짯gen짯de Pro짯duk짯te betroffen:

Intel짰 Core꽓 i3 pro짯ces짯sor (45nm and 32nm)
Intel짰 Core꽓 i5 pro짯ces짯sor (45nm and 32nm)
Intel짰 Core꽓 i7 pro짯ces짯sor (45nm and 32nm)
Intel짰 Core꽓 M pro짯ces짯sor fami짯ly (45nm and 32nm)
2nd gene짯ra짯ti짯on Intel짰 Core꽓 processors
3rd gene짯ra짯ti짯on Intel짰 Core꽓 processors
4th gene짯ra짯ti짯on Intel짰 Core꽓 processors
5th gene짯ra짯ti짯on Intel짰 Core꽓 processors
6th gene짯ra짯ti짯on Intel짰 Core꽓 processors
7th gene짯ra짯ti짯on Intel짰 Core꽓 processors
8th gene짯ra짯ti짯on Intel짰 Core꽓 processors
Intel짰 Core꽓 X몊eries Pro짯ces짯sor Fami짯ly for Intel짰 X99 platforms
Intel짰 Core꽓 X몊eries Pro짯ces짯sor Fami짯ly for Intel짰 X299 platforms
Intel짰 Xeon짰 pro짯ces짯sor 3400 series
Intel짰 Xeon짰 pro짯ces짯sor 3600 series
Intel짰 Xeon짰 pro짯ces짯sor 5500 series
Intel짰 Xeon짰 pro짯ces짯sor 5600 series
Intel짰 Xeon짰 pro짯ces짯sor 6500 series
Intel짰 Xeon짰 pro짯ces짯sor 7500 series
Intel짰 Xeon짰 Pro짯ces짯sor E3 Family
Intel짰 Xeon짰 Pro짯ces짯sor E3 v2 Family
Intel짰 Xeon짰 Pro짯ces짯sor E3 v3 Family
Intel짰 Xeon짰 Pro짯ces짯sor E3 v4 Family
Intel짰 Xeon짰 Pro짯ces짯sor E3 v5 Family
Intel짰 Xeon짰 Pro짯ces짯sor E3 v6 Family
Intel짰 Xeon짰 Pro짯ces짯sor E5 Family
Intel짰 Xeon짰 Pro짯ces짯sor E5 v2 Family
Intel짰 Xeon짰 Pro짯ces짯sor E5 v3 Family
Intel짰 Xeon짰 Pro짯ces짯sor E5 v4 Family
Intel짰 Xeon짰 Pro짯ces짯sor E7 Family
Intel짰 Xeon짰 Pro짯ces짯sor E7 v2 Family
Intel짰 Xeon짰 Pro짯ces짯sor E7 v3 Family
Intel짰 Xeon짰 Pro짯ces짯sor E7 v4 Family
Intel짰 Xeon짰 Pro짯ces짯sor Sca짯lable Family
Intel짰 Xeon Phi꽓 Pro짯ces짯sor 3200, 5200, 7200 Series
Intel짰 Atom꽓 Pro짯ces짯sor C Series
Intel짰 Atom꽓 Pro짯ces짯sor E Series
Intel짰 Atom꽓 Pro짯ces짯sor A Series
Intel짰 Atom꽓 Pro짯ces짯sor x3 Series
Intel짰 Atom꽓 Pro짯ces짯sor Z Series
Intel짰 Cele짯ron짰 Pro짯ces짯sor J Series
Intel짰 Cele짯ron짰 Pro짯ces짯sor N Series
Intel짰 Pen짯ti짯um짰 Pro짯ces짯sor J Series
Intel짰 Pen짯ti짯um짰 Pro짯ces짯sor N Series

Prin짯zi짯pi짯ell sind jedoch alle Her짯stel짯ler 쐖er짯d채ch짯tig, die sich der Fea짯tures Spe짯cu짯la짯ti짯ve Exe짯cu짯ti짯on und Out-of-Order-Exe짯cu짯ti짯on bedie짯nen. Die Aus짯sa짯ge eines Ent짯wick짯lers vom ers짯ten Tag, AMD sei nicht betrof짯fen, bezog sich nur auf einen der drei Feh짯ler. Inzwi짯schen hat AMD in einer offi짯zi짯el짯len Stel짯lung짯nah짯me ein짯ge짯r채umt, dass auch die eige짯nen Pro짯zes짯so짯ren teil짯wei짯se betrof짯fen sind, ins짯be짯son짯de짯re von Spect짯re 1. Bei Goog짯le hat man in die짯sem Zusam짯men짯hang einen AMD PRO A8-9600 als betrof짯fen iden짯ti짯fi짯ziert, aller짯dings nur bei non-Default-Ein짯stel짯lun짯gen (eBPF JIT is on; sie짯he Goog짯le-Doku짯ment). Salopp gespro짯chen muss man den Bug durch 횆nde짯rung der Stan짯dard짯ein짯stel짯lun짯gen mut짯wil짯lig akti짯vie짯ren. Bei Spect짯re 2 hin짯ge짯gen l채ge die Wahr짯schein짯lich짯keit einer Aus짯nut짯zung bei 쐍ahe Null, von Melt짯down sei man auf짯grund der von Intel unter짯schied짯li짯chen Archi짯tek짯tur gar nicht betroffen.

ARM hat eine aus짯f체hr짯li짯che Lis짯te der betrof짯fe짯nen Pro짯zes짯sor-Archi짯tek짯tu짯ren ver짯철f짯fent짯licht. Wie bei Intel sind hier gera짯de die neue짯ren Ent짯wick짯lun짯gen von allen drei L체cken betrof짯fen, die 채lte짯ren nur von den ers짯ten beiden.

Auf ARM-Archi짯tek짯tur fu횩en짯de Pro짯zes짯so짯ren fin짯den 체ber짯wie짯gend in Smart짯phones und Tablets Verwendung.

4. Wie geht es weiter?
Micro짯soft hat sein Kumu짯la짯ti짯ves Updates f체r Janu짯ar 2018 um eine Woche vor짯ge짯zo짯gen. In KB4056892 (f체r Win짯dows 10) bzw. KB4056897 (f체r Win짯dows 7) und KB4056898 (f체r Win짯dows 8.1) sind bereits ers짯te Fixes ent짯hal짯ten. Aller짯dings wer짯den sie noch nicht allen Win짯dows-Nut짯zern ange짯bo짯ten, da eini짯ge Anti짯vi짯ren-Scan짯ner von Dritt짯her짯stel짯lern inkom짯pa짯ti짯bel sind mit dem Ker짯nel-Fix. Hier wird das Update erst ein짯ge짯spielt wenn eine aktua짯li짯sier짯te Ver짯si짯on des Viren짯schut짯zes gefun짯den wur짯de, wes짯halb Micro짯soft davon abr채t, das Update manu짯ell ein짯zu짯spie짯len wenn es nicht auto짯ma짯tisch 체ber das Win짯dows-Update ange짯bo짯ten wurde.

Bei Linux wird der Ker짯nel 4.15 offi짯zi짯ell mit Fixes ver짯철f짯fent짯licht wer짯den. Es gibt jedoch auch Back짯ports in den Rei짯hen 4.14 und 4.4. Bei Apple wird seit macOS 10.13.2 an der Pro짯ble짯ma짯tik gear짯bei짯tet, f체r 10.13.3 sind wei짯te짯re Fixes geplant. Die gro짯횩en Cloud-Anbie짯ter sind der짯zeit dabei, ihre Sys짯te짯me abzu짯si짯chern, was aller짯dings nicht immer rei짯bungs짯los zu funk짯tio짯nie짯ren scheint.

Aller짯dings gilt das offen짯bar der짯zeit nur f체r Melt짯down; rela짯tiv leicht aus짯zu짯nut짯zen, aber auch rela짯tiv leicht auf Ker짯nel-Ebe짯ne und damit an zen짯tra짯ler Stel짯le zu behe짯ben. Spect짯re ist anschei짯nend hart짯n채짯cki짯ger. Zwar sei eine Aus짯nut짯zung schwie짯ri짯ger, jedoch m체s짯sen hier auch die Pro짯gram짯me ange짯passt wer짯den. Letzt짯end짯lich beho짯ben wer짯den k철n짯nen die L체cken hier wohl nur durch 횆nde짯run짯gen in k체nf짯ti짯ger Hardware.

5. Wie wir짯ken sich die Bug짯fi짯xes auf die Leis짯tung aus?
Bei den bis짯her ver짯철f짯fent짯lich짯ten Fixes, die vor짯wie짯gend Melt짯down adres짯sie짯ren, ist der Effekt abh채n짯gig vom Ein짯satz. Spie짯le in UHD sind so gut wie nicht betrof짯fen, da das Sys짯tem im GPU-Limit h채ngt. Bei nied짯ri짯ge짯rer Auf짯l철짯sung, wo sich die Last hin zu CPU und Platt짯form ver짯schiebt, k철n짯nen die Unter짯schie짯de gr철짯횩er wer짯den. Com짯pu짯ter짯Ba짯se und Hard짯ware짯Lu짯xx haben bei Full-HD in nied짯ri짯gen Pre짯sets bis zu 5 % Leis짯tungs짯ver짯lust gemes짯sen; auf Intel-Sys짯te짯men wohl짯ge짯merkt. Auf AMD-Sys짯te짯men wird das Kumu짯la짯ti짯ve Update zwar eben짯falls ein짯ge짯spielt, soll sich auf die Leis짯tung jedoch nicht auswirken.

St채r짯ker betrof짯fen sind offen짯bar Ser짯ver짯be짯trei짯ber, ins짯be짯son짯de짯re Daten짯ban짯ken. Hier kann der Leis짯tungs짯ver짯lust durch die Gegen짯ma횩짯nah짯men bis zu 25 % betra짯gen.

Ori짯gi짯nal짯mel짯dung vom 03.01.2018
Bereits in den letz짯ten Wochen muss짯te Intel Nega짯tiv짯schlag짯zei짯len wegen Sicher짯heits짯l체짯cken im Manage짯ment Engi짯ne Inter짯face 체ber sich erge짯hen las짯sen. Doch gestern hat The Regis짯ter eine Wel짯le an Nach짯rich짯ten ange짯sto짯횩en, die weit 체ber die MEI-Pro짯ble짯ma짯tik hin짯aus짯rei짯chen. In Intel-Pro짯zes짯so짯ren mit Sup짯port f체r x86-64 befin짯det sich offen짯bar eine gra짯vie짯ren짯de Sicher짯heits짯l체짯cke, die es Angrei짯fern erlaubt, auf pro짯zess짯frem짯de Spei짯cher짯be짯rei짯che zuzu짯grei짯fen. Da es sich dem Ver짯neh짯men nach um einen Hard짯ware-Bug han짯deln soll, der nicht mit einem Micro짯code-Update gefixt wer짯den kann, ist die Bedro짯hungs짯si짯tua짯ti짯on poten짯zi짯ell erheb짯lich, schlie횩짯lich ste짯cken in der 체ber짯wie짯gen짯den Mehr짯zahl der x86-64-Sys짯te짯me Intel-Pro짯zes짯so짯ren. Der Bug ist unab짯h채n짯gig vom Betriebs짯sys짯tem Win짯dows, Linux und MacOS sind betroffen.

 

AMD-Pro짯zes짯so짯ren sind laut Aus짯sa짯ge eines AMD-Ent짯wick짯lers nicht betroffen:

AMD pro짯ces짯sors are not sub짯ject to the types of attacks that the ker짯nel page table iso짯la짯ti짯on fea짯ture pro짯tects against. The AMD micro짯ar짯chi짯tec짯tu짯re does not allow memo짯ry refe짯ren짯ces, inclu짯ding spe짯cu짯la짯ti짯ve refe짯ren짯ces, that access hig짯her pri짯vi짯le짯ged data when run짯ning in a les짯ser pri짯vi짯le짯ged mode when that access would result in a page fault.

Indi짯rekt betrifft der Bug weit mehr als die PC-Nut짯zer mit Intel-Pro짯zes짯so짯ren, schlie횩짯lich ste짯cken auch in den meis짯ten Cloud-Ser짯vern Intel-Pro짯zes짯so짯ren, auf denen Smart짯phone-Nut짯zer ihre Kon짯ten hin짯ter짯le짯gen, eben짯so wie in den Cloud-Com짯pu짯ting-Diens짯ten bei Ama짯zon, Micro짯soft (Azu짯re) und ver짯gleich짯ba짯ren Ange짯bo짯ten. Auch die meis짯ten Fir짯men짯ser짯ver d체rf짯ten von Intel Xeon-Pro짯zes짯so짯ren befeu짯ert sein.

Bekannt ist der Bug anschei짯nend schon l채n짯ger, da die Linux Ker짯nel-Ent짯wick짯ler eben짯so wie die Fast-Ring-Ent짯wick짯ler bei Micro짯soft bereits einen Patch parat haben. Bei Micro짯soft ist der Patch anschei짯nend seit 19. Dezem짯ber im Fast-Ring ab Ver짯si짯on 17035 aktiv. Bei Linux ist der (K)PTI-Fix ab Linux-Ker짯nel 4.14.11 aktiv, aller짯dings wird der Fix hier auch bei AMD-Pro짯zes짯so짯ren akti짯viert. Ab 4.14.12 soll er kor짯rek짯ter짯wei짯se nur bei Intel-Pro짯zes짯so짯ren akti짯viert wer짯den, denn der Fix kos짯tet ein wenig Leis짯tung, da der TLB (Trans짯la짯ti짯on-Loo짯ka짯s짯i짯de-Buf짯fer) nicht mehr so effi짯zi짯ent arbei짯ten kann; je nach Workload wer짯den mal 7 Pro짯zent, mal 25 Pro짯zent Leis짯tungs짯ein짯bu짯횩e ver짯mel짯det. Neben dem Workload an sich ist der Grad der Leis짯tungs짯ein짯bu짯횩e offen짯bar auch davon abh채n짯gig, ob der Pro짯zes짯sor den TLB lee짯ren muss bei einem Wech짯sel der Page짯ta짯ble oder nicht. Neue짯re Intel-Pro짯zes짯so짯ren m체s짯sen das dank pro짯cess-con짯text iden짯ti짯fiers (PCIDs) nicht, 채lte짯re wie San짯dy Bridge schon.

 

Da AMD von dem Bug nicht betrof짯fen ist, obwohl x86-64 sei짯ner짯zeit von AMD ent짯wi짯ckelt wor짯den war, l채sst dar짯auf schlie짯횩en, dass der Feh짯ler nicht im Befehls짯satz an sich steckt, son짯dern in der spe짯zi짯el짯len Imple짯men짯tie짯rung durch Intel.

Quel짯len: