Intel

Intel kwetsbaarheden

Onderzoekers van de Vrije Universiteit Amsterdam en daarna van andere universiteiten (waaronder de KU in Leuven) hebben een serieus lek gevonden in moderne Intel-processors. Die ontdekking is al enige tijd geleden aan het licht gekomen en nu Intel een patch heeft uitgebracht komen de achtergronden naar boven.

Er is inmiddels het nodige te vinden over dit onderwerp. Zo staat er een prima stuk op Tweakers (Onderzoekers vinden nieuwe kritieke lekken in vrijwel alle Intel-cpu’s) en tal van andere bronnen maken hier natuurlijk melding van.

Is het echt een serieus probleem?

Dat lijkt mij wel. Even de belangrijkste bevindingen op een rij:

  • Onderzoekers van de Vrije Universiteit hebben een groot datalek gevonden in de meest gangbare Intel-processoren. Alle (!) Intel processoren die de laatste 10 jaar zijn verschenen zijn vatbaar voor deze kwetsbaarheid. Ruim 80% van alle computers (desktops, laptops, servers/cloud) maakt gebruik van deze Intel processoren.
  • Intel heeft daarna samen met de VU de details bekend van RIDL (Rogue In-Flight Data Load), een kwetsbaarheid waarmee hackers ‘vrijwel alle data’ kunnen stelen van computers. De essentie van het probleem is dat hackers kunnen meekijken met gegevens die de processor op dat moment verwerkt.
  • Kwaadwillenden kunnen dit lek misbruiken door bijvoorbeeld code te verstoppen in een linkje of via een onschuldig lijkende webadvertentie.
  • Er zijn geen mogelijkheden om achteraf vast te stellen of er inderdaad data van je computer in verkeerde handen is gevallen.

Patch beschikbaar, maar is het voldoende?

Dankzij de bevindingen van de wetenschappers bij de Vrije Universiteit en het KU Leuven is Intel deze week naar buiten gekomen met een oplossing. Het is niet ongebruikelijk om een lek stil te houden en pas naar buiten te komen als er een oplossing voorhanden is. Voor alle platforms zijn er nu patches ter beschikking gekomen. Ubuntu heeft op 15 mei bijvoorbeeld een nieuwe kernel én een nieuwe zgn. Intel Microcode aangeleverd via haar reguliere updates.

Is het je niet opgevallen en wil je het checken? Open dan je /var/log/apt/history.log en zoek naar een gelijkwaardige aantekening als:

Start-Date: 2019-05-15  08:59:11
Commandline: /usr/bin/unattended-upgrade
Upgrade: intel-microcode:amd64 (3.20190312.1, 3.20190514.0ubuntu0.19.04.1)
End-Date: 2019-05-15 08:59:21

Toch is het nog maar de vraag of het installeren van deze patch voldoende is om het probleem echt te tackelen. Dat komt omdat moderne cpu’s werken met Hyper-threading. De patch die nu is uitgebracht beinvloed niet de gevaren die zijn verbonden aan het uitvoeren van instructies die voortkomen uit hyper threading. Wat de patch wel doet is het legen van de zgn. CPU buffers. Op die manier wordt ter beschikking staande data gewist voor een nieuwe instructie wordt uitgevoerd. Maar het is niet in staat om de zgn. SMT kwetsbaarheid te verhelpen. SMT staat voor Symmetric Multi-Threading en staat ook bekend als Hyper Threading. Met andere woorden, er wordt ook data uitgewisseld tussen de fysieke kern en de (zeg maar) virtuele processor. En daar kan vooralsnog geen patch tegenop.

The use of Symmetric Multi-Threading (SMT) – also known as Hyper-Threading – further complicates these issues since these buffers are shared between sibling Hyper-Threads. Therefore, the above changes are not sufficient to mitigate these vulnerabilities when SMT is enabled. As such, the use of SMT is not recommended when untrusted code or applications are being executed.

Hyper threading

Hyper-threading is de technologie die het mogelijk maakt dat een fysieke processorkern zich als twee logische processors gedraagt en daarmee de cache en externe interfaces delen. In de meeste gevallen wordt het hierdoor mogelijk dat de processorkern twee threads tegelijk uitvoert. Een processor met hyperthreading-technologie wordt door je besturingssysteem meestal als twee losse processoren gezien. Dankzij deze technologie presteert jouw computer gemiddeld 30% sneller omdat berekeningen van de cpu parallel kunnen worden uitgevoerd op die extra kern.

Juist het uitwisselen van data tussen de fysieke en de ‘logische’ kern geeft de mogelijkheid om data vanuit een computer te oogsten. Deze gevoeligheid was al eerder ontdekt en heeft bijvoorbeeld OpenBSD er in 2018 toe gebracht om Hyper threading standaard uit te laten staan. Google lijkt ook te overwegen om te stoppen met hyper threading op haar ChromeOS en Apple geeft ook aan dat voor volledige veiligheid je beter hyper threading uit kan zetten. Dat is nogal een advies want daarmee verlaag je de verwerkingssnelheid van die computer met circa 30%!

Wat te doen in dit geval?

Ga je nu als Linux desktop gebruiker in je bios hyper threading uitzetten? En zo ja, merk je dat dan? Die laatste vraag is nog wel het meest relevant. Want niemand wil dat de prestaties van je computer met 30% afneemt. Maar als je jouw computer gebruikt om -zeg maar- de standaard kantoortoepassingen te gebruiken dan ga je daar niets van merken. Gebruik je echter je computer om video te monteren, of om grote database queries te verwerken of om software te compilen dan maakt het natuurlijk wel degelijk uit. Zie bijvoorbeeld de recente uitkomsten van een test op Phoronix: Intel Hyper Threading Performance With A Core i7 On Ubuntu 18.04 LTS

Maar mocht je achter een computer zitten met belangrijke informatie dan zou ik toch maar het zekere voor het onzekere nemen. Dat zal in de regel niet gelden voor ‘gewone gebruikers’, maar als je als CEO toegang hebt tot belangrijke en gevoelige informatie dan denk ik toch dat het niet onverstandig is om maatregelen te nemen. En oh ja…de cloud is toch wat bewolkt aan het raken op deze manier. Hoe dan ook, dit verhaal gaat waarschijnlijk nog wel een staartje krijgen.

Tot slot

Mogelijk komen ook de fabrikanten van moederborden met een nieuw bios uit. Hou dat dus ook in de gaten. Je kan overigens vanuit je terminal zien welke bios versie je gebruikt met het commando:

sudo dmidecode | less

Je kan ook vanuit je terminal bekijken of jouw GNU/Linux computer kwetsbaar is: Bekijk daarvoor de output van het commando:

cat /sys/devices/system/cpu/vulnerabilities/mds

Komt daar als uitkomst uit ‘Vulnerable: Clear CPU buffers attempted, no microcode; SMT vulnerable‘ dan heb je nog niet de laatste microcode (de patch) geïnstalleerd op je linux computer.

Komt er als antwoord uit ‘Mitigation: Clear CPU buffers; SMT vulnerable” dan is dankzij de patch wel het nodige voordeel bereikt, maar blijft de SMT kwetsbaarheid onaangeroerd.

Meer informatie:

https://blog.ubuntu.com/2019/05/14/ubuntu-updates-to-mitigate-new-microarchitectural-data-sampling-mds-vulnerabilities

https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/MDS?_ga=2.197643567.1489802353.1557904875-802933965.1555581818

https://zombieloadattack.com/

https://www.nrc.nl/nieuws/2019/05/14/hackers-mikken-op-het-intel-hart-a3960208

Fix flikkerend scherm Google Chrome

Een vervelend probleem kan zich voordoen op een computer onder Ubuntu (Unity) met Google Chrome die gebruik maakt van een Intel GPU. Sommige websites gaan dan heel erg flikkeren. Vooral op Facebook viel dat heel erg op als je bijvoorbeeld een foto selecteerde. Dit probleem wordt veroorzaakt door Google Chrome maar er is een fix voorhanden om dat probleem op te lossen.

Sluit eerst Google Chrome volledig af.
Open dan een terminal en start Nautilus met root rechten:

gksudo nautilus

Klik dan binnen Nautilus naar

/usr/share/applications/

en klik met je rechtermuisknop op de Google Chrome link. Kies daar voor “eigenschappen” en pas dan in het veld “Opdracht” de opdracht als volgt aan:

/usr/bin/google-chrome-stable %U --disable-gpu-driver-bug-workarounds --enable-native-gpu-memory-buffers

Gebruik moederbord specifieke sensors

Met behulp van lm-sensors ben je in staat om sensors van je moederbord uit te lezen. Daar is op Digiplace al eerder over geschreven (Ubuntu is koel). So far, so good zou je zeggen. Maar ik kreeg regelmatig een vervelende beeeeeeep uit mijn computerkast. Dat is een indicatie dat er iets niet goed gaat. Het kan bijvoorbeeld betekenen dat een fan niet meer draait waardoor de temperatuur te hoog oploopt.

Je gaat dus eerst eens kijken of je hardware nog wel werkt. Een fysieke controle bracht niets bijzonders aan het licht. Wel zag ik dat het de hoogste tijd was om mijn stoffilters schoon te maken. Maar dat was het dan wel.

Het kwam eigenlijk alleen maar voor als ik het (Steam) spel Metro: Last Light probeerde te starten. De waarschuwing kwam zo snel dat ik die metro maar voorbij liet rijden. Ik trok de conclusie dat deze game gewoon te zwaar was voor mijn hardware. Vreemd, want de specs van mijn computer zijn toch niet heel erg kinderachtig. Maar toen kwam dezelfde beep terug bij het draaien van een grote foto import onder Shotwell. Het werd dus serieus tijd om het probleem te traceren én op te lossen.

Xsensors

Er zijn meerdere mogelijkheden om de temperatuur van je computer in de gaten te houden. Ik gebruik meestal conky waarin de 4 cpu cores worden bijgehouden. Je kan veel meer informatie bekijken als je vanuit je terminal de opdracht sensors opgeeft. Maar die output is verouderd op het moment dat je die opdracht hebt uitgevoerd. Daarom is het beter om ook xsensors (sudo apt-get install xsensors) te installeren.

xsensors reads data from the libsensors library regarding hardware health such as temperature, voltage and fan speed and displays the information in a digital read-out.

Lees meer

Intel p-state & thermald

Als trotse bezitter van een Dell XPS 13 “Developer editon” was ik aangenaam verrast met een recent artikel op Web Upd8. In dat artikel wordt beschreven hoe je een laptop kan beschermen tegen oververhitting. Daarvoor worden 2 specifieke toepassingen gebruikt: intel p-state en thermald. Let op: dit geldt alleen vanaf Ubuntu 14.04 en niet voor alle Intel cpu’s!

dellXPS13DEV

Aangezien mijn XPS 13 (de 1e uitvoering van Dell, dus zonder touch scherm en met 3e generatie Intel® Core™ i7 processor) mij dierbaar is heb ik besloten om daar meteen gebruik van te maken. Niet alleen de bescherming voor eventuele oververhitting sprak mij aan. Vooral de mogelijkheid om met de Powersave Governor te kunnen werken klonk erg aantrekkelijk.

Dankzij deze specifieke instelling kan je namelijk veel langer op je acculading werken Dat gaat dan weliswaar ten koste van wat CPU power maar je kan heel eenvoudig tussen Powersave en Performance switchen.

Lees meer