Grappig, ik had het vandaag nog over met iemand, het belang van betere hardwarematige beveiliging. Met de komst van dingen als thunderbolt en expresscard die nu al direct toegang geven tot de PCI-e bus en daarmee het gehele systeem wordt het beveiligen en waarborgen van systeem integriteit steeds lastiger.
Dat was toch altijd al zo. Firewire heeft ook een directe verbinding met het geheugen. Met hard disks kon altijd al geknoeid worden. Voor dat laatste was dan wel fysieke toegang nodig. Insteekcards hebben altijd toegang gehad tot de ISA, PCI, AGP en PCI-e bus. Knoeien kon altijd en was altijd een klein maar behapbaar probleem. Daarom hebben serverkasten vaak een slot of zelfs een intusion detection ingebouwd.
Expresscard is een externe pci-aansluiting en vindt je alleen op laptops, ter compensatie van het niet kunnen plaatsen van insteekkaarten. Ook daar was het nooit een groot probleem omdat dit personal devices zijn. Als er iets in het geplaatst wordt, dan doet men dit bewust. Enkel nu de US-Customs uitgebreide rechten hebben gekregen om devices in te nemen wordt dit een probleem.
Dit zal in de toekomst alleen maar erger worden omdat veel bussen en interconnects zelf direct met andere componenten gaan communiceren zonder tussenkomst van de CPU of een Hypervisor.
De snelheid die thunderbolt moet bieden kan alleen gerealiseerd worden door deze rechtsteeks de andere componenten te laten benaderen. Dus blame Intel.
[quote]Er zijn hardwarematige mechanismen (zoals IOMMU) welke allemaal een vorm van bescherming toepassen maar er is geen eenduidig systeem of platform om je gehele systeem te beschermen.[/quote
IOMMU was daar ook helemaal niet voor bedoeld. IOMMU is om virtualisatie een bruikbare snelheid te geven door guest-OSsen rechtstreeks componenten aan te laten spreken.
Zo kan een IOMMU het geheugen van het OS en van apparaten beschermen maar het is afhankelijk van het OS om te zeggen wat en hoe het moet beschermen.
Dat je daarmee ook de host en andere guests kan beschermen is een prettige bijkomstigheid.
Als er geknoeid is met de bootloader, bios of met het pre hand-off process (allemaal wel bekend onder de noemer rootkit) dan kan je heel veel dingen bypassen.
Sommige van die dingen zouden ook helemaal niet aanpasbaar moeten zijn zonder fysieke toegang.
Dat kun je, althans bij servers, prima afschermen. Neem je het ding mee naar de USA of andere dubieuze landen, ja dan vraag je er om.
Er zijn een hoop legacy dingen in moderne PC's waar je heel makkelijk mee kan klooien! Als je eenmaal in de BIOS zit (en dat is vaak makkelijker dan je denkt) kan je een hoop leuke dingen doen, ...
Zoals gezegd, met fysieke toegang.
Allemaal leuk spul om mee te klooien zonder dat je systeem er ooit achter komt!
Sommige van de dingen die je noemt zijn ook juist bedoelt dat het systeem het zelf niet weet. Als beheerder moet je soms slimmer kunnen zijn als het systeem. Anders is het jouw systeem niet meer maar is het van diens maker (Microsoft/Oracle/Google) of is het een onafhankelijk systeem geworden waar niemand meer de controle over heeft.
Er zijn al een paar reacties te lezen waarin men wijst op enkele aspecten van de beveiliging, zoals de hardware fabrikant, werknemers, hacks, etc. Een dergelijke chip is niet voor 1 ding, een dergelijke chip is overkoepelend voor je hele systeem waardoor je alle vormen van aanvallen kan detecteren. Zei het bij de fabrikant, leverancier, werknemers, tijdens gebruik of extern.
Tja, dat je bescherming wilt tegen hacks is logisch en ook werknemers kunnen per ongeluk of express je systeem compromitteren. Toch zal je altijd iemand moeten vertrouwen. De hardwarefabrikant levert ook de drivers. Fabrikant en leverancier kunnen op voorhand geknoeid hebben. Ook de maker van zo'n chip kan dat gedaan hebben, al dan niet in opdracht van de NSA.
De industrie is ooit heel lang geleden bezig geweest met een tool om het systeem hardwarematig te beveiligen, de Trusted Platform Module (TPM).
https://en.wikipedia.org/wiki/Trusted_Platform_Module
TPM heeft destijds heel veel slechte pers over zich gehad, software- en mediabedrijven konden systeem integriteit afdwingen waardoor de gebruiker/eigenaar een stukje vrijheid uit handen gaf.
Klopt als eigenaar gaf je de controle dus over aan de software- en mediabedrijven. Koppel dat met de Sony root-kit en je ziet waar dat heen gaat. Media-bedrijven zullen jouw systeem willen controleren of je nu zaken met hen doet of niet, of je nu muziek of films afspeelt of niet, ongeacht of die muziek dan wek film door hun gemaakt is of niet. In hun ogen is iedereen een (potentiële) piraat.
Persoonlijk kon ik wel inzien waar de kritiek vandaan kwam maar het was echt zwaar overdreven.
Als jij externen de controle moet geven over jouw systeem, is dat niet overdreven. Als je een iPhone hebt dan kun je ook alleen software installeren die in de Apple Store staat. Echter jij bepaalt nog altijd welke apps je installeert en welke niet. TPM zou software- en media-bedrijven in staat stellen om af te dwingen dat bepaalde software niet gelijktijdig geïnstalleerd kon worden (dus installeer je Uplay of Origin, dan mag je nooit meer Steam installeren), zou andere software kunnen verwijderen, en zelfs zelfstandig andere software erbij zetten. Dat is dus nog een graadje erger als malware, zelfs als een rootkit.
Uiteindelijk bleek de TPM heel lastig in gebruik waardoor het nooit echt van de grond is gekomen maar veel moederborden hebben het of hebben een connector voor een losse module, volgens mij hebben alle laptops het ingebouwd.
Volgens mij hebben vooral zakelijke laptops er onderdelen van ingebouwd, consumentenmodellen meestal niet. Dan nog is dit een afgezwakte versie van wat oorspronkelijk de bedoeling was. De argumentatie daarachter zal ook zijn dat bedrijven de content op zo'n bedrijfslaptop zal moeten beschermen tegen ongeauthoriseerde versprijding of toegang terwijl consumenten niets hebben dat beschermd moet worden. Dat argument is volledig onjuist. Ook consumenten hebben data waar anderen niets mee te maken hebben. Zo'n TPM is daarvoor echter niet de juiste methode, bij consumenten inderdaad zeker niet
(tenzij je wilt verhinderen dat er buitenom iTunes, Spotify of Netflix nog andere media afgespeeld kan worden zoals een illegale versie van Frozen of dat vakantiefilmpje) en voor bedrijven meestal ook niet, simpelweg omdat de meeste dit niveau van controle niet nodig hebben.
Kortom, TPM was niet het kanon om op een mug te schieten maar een voor die mug bedoelde waterstofbom.
Zoals al eerder gezegd kan een TPM heel veel, systeem integriteit checks, trusted boot, trusted execution, encryptie, van alles.
De dingen die je nu noemt kunnen zonder TPM ook. Trusted boot kan worden afgedwongen worden in de UEFI. Tot nu toe is het nog voornamelijk misbruikt om operating systems die niet afkomstig zijn van commerciële fabrikanten te blokkeren. Daarnaast is het ook nog maar de vraag of die Trusted boot de veiligheid biedt die het zou moeten volgens de bedenkers. De bekende OSsen hebben allemaal hun zero days en als het OS dus (mogelijk) al gecompromitteerd is, dan start je op een veilige en verzekerde manier een onveilig OS.
Kortom, het beveiligen van het OS en met name het UEFI/BIOS tegen op afstand aanpassen is belangrijker als het verzekeren dat er geen ander OS op het systeem gestart kan worden. Wilt iemand met fysieke toegang de disks uit lezen, of bv de NIC gebruiken dan kan hij die ook in een ander systeem plaatsen (bv als tweede disk) en daar beschermt trusted boot niet tegen. Hardware Intrusion Detection wel.
Het kan zelfs de tijd van een bootproces meten, als je systeem ineens langer in BIOS controlled mode blijft hangen dan wil dat zeggen dat er iets is veranderd.
Meestal is dat een beschadigde (boot)sector op de HDD.
Het kan systemen waarmee is geknoeid onklaar maken totdat een admin ernaar kijkt.
Leuk en in 90% van de gevallen zal die admin als die na lange tijd is gearriveerd constateren dat het loos alarm was, niet kritiek of geen bedreiging terwijl het systeem dus wel een hele tijd down was.
Voor sommige systemen zal het zeker toegevoegde waarde hebben, voor andere dus niet.
Daar waar het belangrijk is, zal men bij goede monitoring ook in de gaten hebben dat ermee geknoeid is. Normaal zit immers een serverruimte op slot. Kortom ook hier gaat vaak de kanon-vergelijking weer op.
Smartphones hebben een vorm van TPM ingebouwd. SoC's van Samsung, Qualcomm en Apple hebben allemaal een soort TPM ingebouwd. Apple gaat zelfs zover om een eigen TPM achtige implementatie te gebruiken in de vorm van de Secure Enclave Processor (SEP).
Ik ben niet genoeg thuis in deze materie, maar die Secure Enclave Processor doet iets heel anders als wat Intel en Microsoft met de TPM beoogden. Deze beschermt de data op de telefoon voor de eigenaar/bezitter van die telefoon en op een veel transparantere manier als de TPM in laptops. Hoe dat zit met die TPM in de andere SoC's weet ik niet maar het lijkt me dat dit niet veel anders is, al ondersteund Android het volgens mij niet.
De chip op de netwerk controller zal TPM of een TPM achtig iets zijn. TPM of iets wat op TPM lijkt is noodzakelijk, dat het steeds naar voren komt via andere zaken is hier bewijs van, alleen is het dan jammer dat dat via gesloten proprietary implementaties van Google, Apple, Qualcomm en Samsung moet gaan.
Wel typisch dat deze chip op de NIC zit. Daar zal die minder kunnen monitoren als wanneer deze op het moederbord zou zitten. De achtergrond is waarschijnlijk dat die chip zo dus zelf remote uitgelezen kan worden ook als het systeem verder (door die chip) afgesloten is. De systemen van Google zijn natuurlijk ook zo opgebouwd dat er altijd een aantal andere servers de taken zullen overnemen. In dat geval is het niet zo erg als er één server plat gegooid wordt, dit in tegenstelling tot de dedicated servers die bij veel anderen plaatsen draaien.
Het wordt tijd dat we hier nog eens naar gaan kijken, vooral nu de waarde van data op de financiële markt alleen maar stijgt zien we steeds meer en meer aanvallen.
Dat zullen vooral aanvallen vanuit het internet zijn via firewalls en IDS moet dat zo goed als mogelijk beveiligd worden.
Oplossingen zijn er al, zoals Qubes OS, alleen is het jammer dat deze oplossingen lang niet de aandacht krijgen die ze verdienen.
Het principe achter Qubes is heel mooi. Het is alleen jammer dat het is gebaseerd op Fedora Desktop wat een minder robuust packaging systeem heeft als Debian en ook nogal de nadruk legt op cutting edge in plaats van stabiliteit. Ook Gentoo, OpenBSD en zelfs FreeBSD (in de varianten hardened BSD en trusted BSD) zouden mijn inziens beter geweest zijn om Qubes op te bouwen.