Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Thunderclap-aanval maakt toegang tot systeemgeheugen via Thunderbolt mogelijk

Beveiligingsonderzoekers hebben kwetsbaarheden aangetroffen met betrekking tot systemen met Thunderbolt-poorten die Windows, macOS, Linux en FreeBSD draaien. De kwetsbaarheden maken toegang tot systeemgeheugen via randapparaten mogelijk.

Kwaadwillenden kunnen speciaal vervaardigde randapparaten via Thunderbolt aansluiten, om een reeks direct memory access-, of dma-aanvallen uit te voeren en zo gevoelige gegevens aan het geheugen te onttrekken. Ook kunnen ze willekeurig code uitvoeren via kwetsbare systemen. De kwetsbaarheden zijn uit te buiten bij Thunderbolt 3, die vaak via usb-c werkt, en oudere versies van de standaard, die via mini-displayport functioneert. Onder andere Apple rust zijn Mac-systemen al sinds 2011 uit met de interface, maar ook steeds meer andere computers worden met Thunderbolt-aansluitingen geleverd.

De Thunderclap-kwetsbaarheden zijn ook via randapparaten die op andere wijze via pci-e aangesloten worden, zoals interne videokaarten, uit te buiten, maar fysieke aansluiting is eenvoudiger met Thunderbolt-apparaten te realiseren waardoor de dreiging hiervan groter is. De aard van de kwetsbaarheden ligt bij de directe dma-toegang van randapparatuur via Thunderbolt of pci-e, waarbij beveiliging van het OS omzeild kan worden.

Er is wel beveiliging tegen al te brede toegang tot geheugen via randapparaten, via input-output memory management units of iommu's. Volgens de onderzoekers is deze beveiliging bij Linux en FreeBSD echter standaard uitgeschakeld vanwege de impact op prestaties en is de ondersteuning bij Windows 10 Enterprise beperkt.

Voor Windows 10 vanaf versie 1803 heeft Microsoft ondersteuning toegevoegd, voor eerdere versies is een firmware-update van de fabrikant vereist. Voor Linux heeft Intel een patch uitgebracht en Apple heeft roottoegang via netwerkkaarten met de kwetsbaarheden onmogelijk gemaakt bij macOS 10.12.4 en latere versies.

De onderzoekers van de University of Cambridge, Rice University en SRI International hebben een platform opensource gemaakt om onderzoek te faciliteren en partijen in staat te stellen het risico bij producten vast te stellen. Het Thunderclap-platform bestaat uit een fpga die de Thunderclap-applicatie draait en die via Thunderbolt of pci-e met het systeem te verbinden is. De applicatie doet zich voor als een ethernetkaart.

Door Olaf van Miltenburg

Nieuwscoördinator

27-02-2019 • 17:55

19 Linkedin Google+

Reacties (19)

Wijzig sortering
Het hele artikel is hier te vinden: http://thunderclap.io/thunderclap-paper-ndss2019.pdf
Op pagina 6 staat bovenaan een interessante tabel met wat ze nou echt gevonden hebben.

Voor Macs (waar de IOMMU standaard aan staat): als ik het goed lees leveren de gedeelde page mappings het grootste probleem op. Je kunt geheugen van andere PCIe-devices uitlezen. Het voorbeeld dat ze geven:
This means one device can snoop on memory intended for another – examples might be a malicious peripheral keylogging via the USB controller or reading the framebuffer. For example, the framebuffer is always exposed on systems with discrete graphics.
Jammer dat deze design-issue is meegekomen vanaf Firewire (zelfde bedrijf). De performancewinst die je met DMA zou krijgen is volgens mij ook weer niet zo gigantisch, als je kijkt naar wat USB3.2 doet. Dat zit op 20Gb/s, net als TB2, en dat is de helft van de snelheid van TB3. Eigenlijk zou het gewoon niet mogen werken zonder werkende IOMMU en sturing vanuit het OS, de security-implicaties hiervan zijn namelijk al jaaaren bekend. Ik snap dan ook niet dat dit gewoon nog uitgeleverd wordt. Natuurlijk wel fijn voor forensics...
USB 3.2 heeft veel bandbreedte maar een totaal andere latency en CPU belasting.

Het verbaasd mij dat er nog recente hardware is die geen IOMMU gebruikt voor Thunderbolt. Deze vector is al lang bekend (Black Hat USA 2013 - Funderbolt: Adventures in Thunderbolt DMA Attacks).

Ik zie in het artikel niet direct terug wat er nieuw is tov DMA aanvallen via Thunderbolt. Als de authenticatie van Thunderbolt apparaten wordt aangevallen is dat wel een nieuw probleem.

edit, 28-2:
Het gaat om devices die in hun driver de IOMMU niet goed configureren waardoor er configuratie van de driver en/of ander geheim geheugen gelezen en mogelijk aangepast kan worden. Security mensen op twitter zijn erg sceptisch dat dit voor GPU's opgelost gaat worden omdat deze drivers zo complex zijn.

[Reactie gewijzigd door ANdrode op 28 februari 2019 10:10]

Yup dma poorten zijn levens gevaarlijk, je encrypties keys ben je zo kwijt als je zoon poort hebt, zelfde met firewire etc. Gelukkig kan je de hele zooi onder linux blacklisten, geen idee of windows dit kan.
je kan vaak ook gewoon vanuit de bios de poort limiteren, dat doe ik als ik hem niet gebruik.
Totdat je een dock koopt en het enige ondersteunde model een Thunderbolt dock is waarvan de fabrikant zegt dat zo ongeveer alle mogelijke beveiliging op Thunderbolt in de bios moet worden uitgeschakeld.

*kuch*Dell*kuch* https://www.dell.com/supp...r-troubleshooting?lang=en
5. Navigate to Thunderbolt Adapter Configuration, and select Enable Thunderbolt Technology Support, Enable Thunderbolt Adapter Boot Support and Enable Thunderbolt Adapter Pre-boot Modules.
6. In the same category, select Security Level - No Security.
Ja voor bedrijven die specefiek vanwege de docks deze dingen gebruiken is het zeker een probleem maar dat was al duidelijk zodra thunderbolt bekend werd. DMA is gewoon een probleem dat je altijd hebt met een pci-e bus.
En het kraken van software middels dma technieken was al bekend bij de Apple ][: met een soft reset kon je een programma in machinecode op je insteekkaart opstarten dat het hele geheugen naar floppy wegschreef. Spruitje en Paul Molenaar :)
[ naschrift gevonden : wildcard ]
Het zou mij niet verbazen of een i2c hack is ook eenvoudig door te voeren, snoopen van de pci bus etc etc.
Als je je handen ergens op kunt leggen kun je vroeg of laat het systeem kraken,
Met een thunderbolt device, inclusief diskruimte, wordt het sociaal engineering bedrijf binnnenlopen en data supersnel copieren erg eenvoudig, helaas :( ...

[Reactie gewijzigd door tweazer op 27 februari 2019 22:49]

DMA doe je ook niet zozeer voor de latency of throughput, maar voor ontlasting van de CPU. Dit is waar DMA voor staat: Direct Memory Access, in tegenstelling tot toegang tot de data via de CPU.

In ARM-microcontrollers pas ik dit bijvoorbeeld toe wanneer ik via een SPI of UART data wil uitsturen maar hier geen CPU-cycli aan wil verspillen omdat die CPU bijvoorbeeld beeldbewerkingen aan het doen is. Ik geef dan de DMA-controller een geheugenregio met gegevens aan om naar buiten beschikbaar te stellen, zodat dit hierna "vanzelf" gaat, zodat de CPU onverstoord zijn werk kan doen. Het andere scenario is dus dat de CPU (danwel via polling, danwel in een Interrupt Service Routine) even zijn taak moet onderbreken met het zelf beschikbaar stellen van die data aan de buitenwereld.
Ik wist niet dat Apple (maker van Firewire) en Intel (maker van Thunderbolt, met hier en daar een advies van Apple) hetzelfde bedrijf was? Straks ga je ook nog beweren dat Apple USB uitgevonden heeft.
Apple is niet de maker van FireWire, maar een van de grote krachten achter FireWire. Het is ontwikkeld door een groep waar Apple ook lid van was/is.
Je komt er niet omheen als je iets wilt als PCI-e over een kabel. het heeft in dit geval eigenlijk niks te maken met het bedrijf zelf maar met de PCI-e standaard. daarom werkt het ook bij normale pci-e aansluitingen en niet alleen bij thunderbold aansluitingen. pci-e heeft altijd direct memory access.
Sorry maar het is geen "aanval". Gewoon een ordinaire open deur.

Het al heel erg lang bekend bij fabrikanten (reden voor sommige om gewoon geen tb aan te bieden)
Nu er een proof of concept is betekend niet dat we gelijk weer een pagina, logo en paniek nodig hebben.

Ja deze comment is niet positief, maar gelieve eerst de artikelen te lezen.
Nou... moet je je echt zo druk maken om deze open deur dan? Je hebt toch echt fysieke toegang nodig tot het apparaat en dat is zeker niet iets waar ik me druk over maak bij een portable als een MacBook die je gewoon netjes inpakt en meeneemt als je je werkplek verlaat
Yep, plug en play heeft zo zijn nadelige bijeffecten ..
IOMMU heeft naar mijn weten weinig performance impact op Linux. Het is mede handig om VM's sneller te laten werken, doordat je devices direct kunt mappen (ethernet, GPU's, audio, etc.). Volgens mij is de reden dat het niet standaard aanstaat (voorlopig) door vendor bugs. Ook verschillen de kernel flags bij AMD en Intel, go figure.

Even voor mijn beeld, omzeild tegen kwetsbaarheid ook de 'user mode' die over het algemeen standaard aanstaat in de BIOS/UEFI, waarbij je moet aangeven of je apparaat vertrouwt/mag verbinding met de computer? Anders heb je nog niet veel aan het inpluggen en geheugen uitlezen lijkt me.

[Reactie gewijzigd door foxgamer2019 op 27 februari 2019 23:09]

Van alle bekende hacks te afgelopen jaren, vind ik Thunderclap de leukste naam hebben. Daar is over nagedacht.
Heartbleed was ook niet verkeerd. De heartbeat message voor het openhouden van een verbinding werd misbruikt om servergeheugen uit te lezen

Op dit item kan niet meer gereageerd worden.


OnePlus 7 Pro (8GB intern) Microsoft Xbox One S All-Digital Edition LG OLED C9 Google Pixel 3a XL FIFA 19 Samsung Galaxy S10 Sony PlayStation 5 Smartphones

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank, Intermediair en Independer de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True