Hardware

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

Ubuntu 4K UHD instellingen

4k UHD

Het is tegenwoordig steeds normaler als je werkt achter een 4K UHD beeldscherm. Helaas heeft GNOME niet de mogelijkheid zoals het voormalige Unity (Ubuntu) óf bijvoorbeeld KDE waarbij je gebruik kan maken van fractionele schaling. Je hebt dus alleen maar de keuze om te schalen naar 100, 200, 300 of 400%.

4K UHD

Een 4 K UHD scherm heeft een resolutie van 3840 x 2160 pixels. Oftewel 4 x de resolutie van een full HD scherm. Dat werkt prima op een schermformaat vanaf 32 inch of groter, maar op schermen van een kleiner formaat wordt alles wel heel erg klein weergegeven. Je ontkomt dan eigenlijk niet aan het schalen van je scherm.

Onder Ubuntu (GNOME) ga je daarvoor naar Instellingen, Apparaten, Schermen en kiest daar uit de aangeboden opties.

4K UHD

Er zijn echter nog meer mogelijkheden om de leesbaarheid te vergroten zonder dat je meteen daarvoor je schaling naar 200% moet zetten. Je hebt dan wel gnome-tweaks nodig dus zorg dat je die ook hebt geïnstalleerd (sudo apt install gnome-tweaks).

Fonts schalen

In gnome-tweaks kan je bij lettertypen kiezen voor de schaalgrootte van je fonts. Door die bijvoorbeeld te schalen naar 1,25 wordt je tekst in bijvoorbeeld je panel en toepassingen beter leesbaar weergegeven.  In je Panel wordt daardoor ook het symbool zichtbaar van Universele toegang. Je zal zien dat daarin de optie Grote letters is geactiveerd.

Aanpassen Firefox en Thunderbird

Je kan onder Firefox vanuit about:config de instelling layout.css.devPixelsPerPx aanpassen naar bijv. 1.2 of naar 2 maar in de praktij kan je dan beter per bezochte pagina kiezen voor de zoomfunctie van Firefox. Die wordt voor die betreffende pagina gewoon onthouden. Gebruik daarvoor de toetscombinatie CTRL +.

Onder Thunderbird werkt het handig om naar Bewerken, Voorkeuren, Geavanceerd en daar te klikken op Configuratie-editor. Zoek daar naar de instelling layout.css.devPixelsPerPx en verander de waarde van -1,0 (default) naar bijvoorbeeld 1.25 (let op..dat is een PUNT en geen komma). Dan wordt de inhoud van je e-mail beter leesbaar.

4k UHD

 

Extra harde schijf toevoegen

harde schijf

Stel je wil een extra harde schijf inbouwen in je computer. Schijven die al beschikbaar zijn tijdens het installatie proces van Ubuntu kan je meteen opgeven en zijn dan ook automatisch beschikbaar. Maar wat doe je als je achteraf een extra schijf wil inbouwen? Je gaat dan natuurlijk niet meteen Ubuntu opnieuw installeren.

UUID

Bouw eerst die schijf in. Herstart dan je computer en zoek het door je besturingssysteem opgegeven UUID op. UUID staat voor Universally Unique Identifier en is dus een ID die wordt gebruikt om (in dit geval) de identiteit van een harde schijf aan te duiden. Dat gebeurt d.m.v. een zgn. 16-octet (128-bit) nummer. De UUID wordt weergegeven in 32 hexadecimale cijfers. Deze cijfers zijn ingedeeld in vijf groepen, in ongelijk aantal en gescheiden door koppeltekens: 8-4-4-4-12.

Oké, dat is dus een hoop theorie, nu de praktijk:

Open een terminal en ga naar de map waar alle UUID’s worden bijgehouden. Oftewel tik in:

cd /dev/disk/by-uuid

Vervolgens krijg je een overzicht met behulp van het commando

ll

Bestudeer daar de opgegeven UUID’s en bepaal welke UUID hoort bij jouw nieuw ingebouwde schijf. Je kan daarbij gebruik maken van bijv. Gparted als het je niet meteen duidelijk is welke schijf hoort bij sda, sdb, sdc etc. Je kan ook even kijken welke schijven al automatisch worden gebruikt door even te spieken in je /etc/fstab/ Dat gaat heel eenvoudig met het commando:

cat /etc/fstab

Voordat je die nieuw gevonden UUID gebruikt om je /etc/fstab aan te passen moet je eerst een mountpoint aanmaken. In het voorbeeld hierna gebruik ik daarvoor /mnt/tweedeschijf.

Je maakt dat aan met het commando:

sudo mkdir /mnt/tweedeschijf

en maakt die schijf beschrijfbaar met behulp van

sudo chown -R user:user /mnt/tweedeschijf

Daarbij vervang je user:user door je eigen gebruikersnaam.

Vervolgens geef je jouw computer opdracht om bij het opstarten die nieuwe schijf automatisch te koppelen aan dat mountpoint. Daarvoor pas je jouw /etc/fstab aan. Gebruik je editor naar voorkeur, ik gebruik graag in een terminal nano dus het commando

sudo nano /etc/fstab

Voeg dan een nieuwe regel toe aan jouw fstab zoals hieronder staat vermeld. Let op! Gebruik het juiste UUID (je andere schijven staan er ook al in) en het zojuist aangemaakte mountpoint én bedenk dat het voorbeeld uitgaat van een nieuwe schijf die bestaat uit één partitie met ext4 als filesysteem.

UUID=jouwgevondenUUID /mnt/tweedeschijf    ext4    defaults        0       2

Start je computer opnieuw op, ga in je bestandsverkenner (Nautilus, Dolphin, Konqueror, Nemo, Thunar etc. etc.) naar je mountpoint en maak er vervolgens een bladwijzer van.

harde schijf

Ubuntu: 4K UHD

Een computerscherm is de afgelopen jaren flink veranderd. Als je ooit bent gestart op een 15 inch beeldbuis dan zijn er waarschijnlijk heel wat formaten én technologieën aan je voorbij gegaan. Tegenwoordig is de standaard een scherm tot 24 inch met een full-hd resolutie van 1920×1080 pixels. Nog wel, want schermen met een 4K UHD resolutie zijn aan een opmars bezig.

Digiplace heeft een tijd gewerkt met 2 full-hd schermen van 24 inch met ieder een resolutie van 1920×1080. Die twee schermen boden dus samen een oppervlakte aan van 3840 x 1080 px. En hoewel het heel stoer stond op het bureau had ik al eens gezien dat de nieuwste generatie zgn. 4K schermen een beduidend beter plaatje wisten te brengen. Het werd dus tijd om de overstap te maken naar de combinatie van Ubuntu op een 4K UHD scherm.

Asus PB279Q

Een Asus PB279Q kwam goed uit verschillende testen op o.a. Hardware.info en Tweakers.net. Een zgn. WLED-scherm met een diagonaal van 27 inch en een UHD resolutie van 3840×2160 pixels. Voorzien van een IPS paneel met 163 pixels per inch, 100% sRGB, 10-bits kleuren en een brede 178 graden kijkhoek. Een scherm met dus meer dan 8 miljoen pixels. Dat is dus 4 keer de pixeldichtheid van een standaard Full-HD scherm wat garant moet staan voor veel scherpere beelden.

4K UHD

Ubuntu op een 4K UHD scherm

Tot zover dus een prima verhaal. Maar hoe werkt dat onder Ubuntu? Toevallig was net Ubuntu 16.04 uitgebracht. En het ligt dus voor de hand om met deze zgn. Long Term Support versie die sprong naar de wereld van 4K te maken.

DisplayPort verplicht

Er zijn wel een aantal hobbels te nemen voor het scherm naar volle tevredenheid kan functioneren. Om te beginnen is het van belang om een videokaart te gebruiken die ook daadwerkelijk de resolutie van deze monitor kan bieden. Mijn MSI GeForce GTX 760 heeft gelukkig de juiste papieren in huis. Maar dan moet je wel gebruik maken van een DisplayPort kabel (versie 1.2) want alleen met die verbinding krijg je een plaatje te zien op 60 Hz. En dat is van belang want een scherm wat een verversingsfrequentie van 30 Hz gebruikt gaat meteen hoofdpijn opleveren. Gek genoeg is het gebruik van de juiste kabel niet genoeg om die 60 Hz. af te dwingen. Je moet bij deze monitor eerst zoeken naar de OSD Systeeminstellingen omdat de standaard Display Port-stream staat  ingesteld op DP 1.1. Pas bij DP 1.2 wordt het scherm plezierig om naar te kijken.

To scale or not to scale?

Met een 4K UHD scherm kan je kiezen tussen 2 uitersten. Je kan kiezen voor de aangeboden resolutie waardoor je een groot oppervlakte krijgt aangeboden. Nadeel van die (standaard) instelling is echter dat alle bedieningselementen wel heel erg klein worden. Te klein wat mij betreft. Dat valt echter op te lossen door gebruik te maken van schaling. Je hoeft maar even naar je systeeminstellingen te gaan, kiest voor schermen en schuift de slider naar een waarde tussen 1 of 2. Als je kiest voor 2 krijg je een ongelooflijk scherp beeld aangeboden.

schalen

Omdat (bijna) alles 2 x zo groot wordt afgebeeld lijkt het dus alsof je weer achter een 1920×1080 scherm bent gekropen. Het grote verschil is echter de scherpte. Je krijgt echt veel meer pixels om het plaatje te tonen en je moet het zien om te geloven.

Als je echter wil profiteren van een grotere werkoppervlak dan kan je kiezen voor bijv. een factor 1,5, 1,62, 1,75 of 1,88. Het valt dan wel meteen op dat sommige programma’s met veel kleinere elementen gaan werken. Dat valt deels op te lossen door bijv. in dconf-editor elementen van Nautilus aan te passen. Of door andere startopties mee te geven aan je browser, Spotify etc. etc. Veel goede tips die ook voor Ubuntu werken heb ik overigens gevonden op de HiDPI pagina va ArchWiki.

Ubuntu: 4K UHD

Vooralsnog geef ik persoonlijk de voorkeur aan het schalen van menu- en titelbalken (schaal 2). Dat levert mij dus geen groter werkoppervlak op, maar de scherpte van het beeld is zo overdonderend mooi dat ik er voorlopig prima mee kan leven. En met 4 virtuele werkbladen is er prima mee te werken.

Ubuntu: 4K UHD 2 x geschaald
Ubuntu: 4K UHD 2 x geschaald

Ubuntu: 4K UHD 2 x geschaald
Ubuntu 4K UHD met schaling van 2 ingesteld

Ubuntu op een Samsung 850 PRO 512 Gb

Mijn desktop heeft een upgrade gekregen. De aanwezige Samsung 840 PRO van 128 Gb is vervangen voor een Samsung 850 PRO 512 Gb SSD. Het vervangen van de hardware is zo gepiept. Daarna moet je natuurlijk Ubuntu opnieuw installeren. Vervolgens is het verstandig om een paar zaken te regelen zodat die nieuwe SSD ook in topconditie blijft. Gebruik bijvoorbeeld EXT4 als filesysteem.

Tijdens het installeren heb ik overigens geen rekening gehouden met over-provisioning. Het blijft verstandig op een kleine SSD maar met een omvang van 512 GB is het gewoon niet nodig. Lees bijvoorbeeld hier wat Samsung daar zelf over zegt: Maximize SSD Lifetime and Performance With Over-Provisioning.

SSD van Samsung

Wel is de zgn. noatime toegevoegd aan /etc/fstab (zie Computertip: Na de installatie: noatime). En laat ik fstrim uitvoeren via rc.local. Kortom: mijn Ubuntu desktop is weer helemaal klaar voor de toekomst.

Scroll naar boven