Een team onderzoekers van het CISPA Helmholtz Center for Information Security in Duitsland heeft een architectuurbug ontdekt die gevolgen heeft voor de XuanTie C910 en C920 RISC-V CPU’s van het Chinese chipbedrijf T-Head. Hierdoor kunnen aanvallers onbeperkte toegang krijgen tot kwetsbare apparaten.
De kwetsbaarheid heeft de codenaam GhostWrite gekregen. Het is beschreven als een directe CPU-bug die in de hardware is ingebed, in tegenstelling tot een side-channel of transient execution attack.
“Deze kwetsbaarheid stelt onbevoegde aanvallers, zelfs degenen met beperkte toegang, in staat om elk deel van het geheugen van de computer te lezen en te schrijven en om randapparatuur zoals netwerkkaarten te besturen,” aldus de onderzoekers. “GhostWrite maakt de beveiligingsfuncties van de CPU ineffectief en kan niet worden opgelost zonder ongeveer de helft van de functionaliteit van de CPU uit te schakelen.”
CISPA ontdekte dat de CPU foutieve instructies bevat in de vectorextensie, een add-on voor de RISC-V ISA die is ontworpen om grotere datawaarden te verwerken dan de basis-Instruction Set Architecture (ISA).
Deze foutieve instructies, die volgens de onderzoekers rechtstreeks op het fysieke geheugen in plaats van op het virtuele geheugen worden uitgevoerd, zouden de procesisolatie kunnen omzeilen die normaal gesproken door het besturingssysteem en de hardware wordt afgedwongen.
Als gevolg hiervan zou een niet-geprivilegieerde aanvaller deze maas in de wet kunnen gebruiken om naar elke geheugenlocatie te schrijven en beveiligings- en isolatiefuncties te omzeilen om volledige, onbeperkte toegang tot het apparaat te verkrijgen. Het zou ook alle geheugeninhoud van een machine kunnen lekken, inclusief wachtwoorden.
“De aanval is 100% betrouwbaar, deterministisch en duurt slechts microseconden om uit te voeren,” aldus de onderzoekers. “Zelfs beveiligingsmaatregelen zoals Docker-containerisatie of sandboxing kunnen deze aanval niet stoppen. Bovendien kan de aanvaller hardwareapparaten kapen die gebruikmaken van memory-mapped input/output (MMIO), waardoor ze alle opdrachten naar deze apparaten kunnen sturen.”
De meest effectieve tegenmaatregel voor GhostWrite is het uitschakelen van de volledige vectorfunctionaliteit. Dit heeft echter een grote impact op de prestaties en mogelijkheden van de CPU, omdat ongeveer 50% van de instructieset wordt uitgeschakeld.
“Gelukkig liggen de kwetsbare instructies in de vectorextensie, die door het besturingssysteem kan worden uitgeschakeld”, merkten de onderzoekers op. “Dit beperkt GhostWrite volledig, maar schakelt ook vectorinstructies op de CPU volledig uit.”
“Het uitschakelen van de vectorextensie vermindert de CPU-prestaties aanzienlijk, met name voor taken die profiteren van parallelle verwerking en het verwerken van grote datasets. Toepassingen die sterk afhankelijk zijn van deze functies, kunnen tragere prestaties of verminderde functionaliteit ervaren.”
De onthulling komt nadat het Android Red Team bij Google meer dan negen fouten in Qualcomm’s Adreno GPU onthulde die een aanvaller met lokale toegang tot een apparaat in staat zouden kunnen stellen om privilege-escalatie en code-uitvoering op kernelniveau te bereiken. De zwakheden zijn inmiddels gepatcht door de chipsetmaker.
Het volgt ook op de ontdekking van een nieuw beveiligingslek in AMD-processors dat potentieel kan worden misbruikt door een aanvaller met kerneltoegang (ook wel Ring-0 genoemd) om privileges te verhogen en de configuratie van de System Management Mode (SMM of Ring-2) te wijzigen, zelfs wanneer SMM Lock is ingeschakeld.
De kwetsbaarheid, door IOActive Sinkclose genoemd (ook bekend als CVE-2023-31315, CVSS-score: 7,5), zou bijna twee decennia onopgemerkt zijn gebleven. Toegang tot de hoogste privilegeniveaus op een computer betekent dat beveiligingsfuncties kunnen worden uitgeschakeld en persistente malware kan worden geïnstalleerd die vrijwel onopgemerkt kan blijven.
In een gesprek met WIRED liet het bedrijf weten dat de enige manier om een infectie te verhelpen is door fysiek verbinding te maken met de CPU’s met behulp van een hardwaretool genaamd SPI Flash programmer en het geheugen te scannen op geïnstalleerde malware met behulp van SinkClose.
“Onjuiste validatie in een modelspecifiek register (MSR) kan een kwaadaardig programma met ring0-toegang in staat stellen de SMM-configuratie te wijzigen terwijl SMI-vergrendeling is ingeschakeld, wat mogelijk kan leiden tot willekeurige code-uitvoering”, aldus AMD in een waarschuwing, waarin staat dat het van plan is updates uit te brengen voor Original Equipment Manufacturers (OEM) om het probleem te verhelpen.