De nieuwe Apple M1 CPU heeft een fout dat een verborgen kanaal creëert waar twee of meer – reeds geïnstalleerde – kwaadaardige apps in het geheim informatie naar elkaar kunnen delen. De fout werd ontdekt door ontwikkelaar Hector Martin.
De geheime communicatie gebeurt zonder dat ze computergeheugen, bestanden of functies van het besturingssysteem gebruikt. Het kanaal kan namens verschillende gebruikers en onder verschillende privilege-niveaus een brug leggen tussen de processen. Hierdoor kunnen de apps data uitwisselen, zonder dat het gedetecteerd kan worden.
Volgens Martin is de fout onschadelijk, doordat ze niet gebruikt kan worden om een Mac te infecteren. Ook kan de bug niet gebruikt worden om data te stelen of wijzigen. De fout kan alleen gebruikt worden door twee of meer kwaadaardige apps die al zijn geïnstalleerd op een Mac.
Niet schadelijk, wel een officiële bug
Hoewel de fout niet schadelijk is, valt ze onder de technische definitie van een kwetsbaarheid. Daarom heeft de fout ook zijn eigen naam als kwetsbaarheid: CVE-2021-30747. Martin zelf noemt de fout ‘M1racles’.
“Het schendt het OS beveiligingsmodel”, legt Martin uit op zijn website die hij voor de fout in het leven heeft geroepen. “Het is niet de bedoeling dat je in het geheim data van het ene naar het andere systeem kunt sturen. En zelfs als het in dit geval onschadelijk is, mag het niet mogelijk zijn dat je random CPU system registers schrijft vanuit de gebruikersruimte”, aldus Martin.
Andere onderzoekers beamen de beoordeling van Martin. Zo ook Michael Schwartz, een van de onderzoekers die hielp bij het ontdekken van de serieuze Meltdown en Spectre kwetsbaarheden in Intel, AMD en ARM CPU’s: “De ontdekte fout kan niet gebruikt worden om informatie over een een applicatie te onttrekken aan het systeem. Ze kan alleen gebruikt worden als communicatiekanaal tussen twee samenwerkende applicaties.”
Mogelijke consequenties voor iPhones
Hoewel het verborgen kanaal weinig problemen oplevert voor Macs, kan het wel consequenties met zich meebrengen voor iPhones. Het kan gebruikt worden om de sandboxing die is ingebouwd in iOS-apps te omzeilen.
Onder normale omstandigheden kan een kwaadaardige toetsenbord-app geen toetsaanslagen lekken, doordat de app geen toegang heeft tot het internet. Het verborgen kanaal kan deze bescherming omzeilen, door de toetsaanslagen door te spelen naar een andere kwaadaardige app, die ze vervolgens verzendt via het internet.
Zelfs voor iPhones is de bug waarschijnlijk geen al te groot probleem. De kans dat twee kwaadaardige apps door het reviewproces van Apple komen is minimaal.
Geen oplossing voor de bug
Het is niet mogelijk om de bug te verhelpen op bestaande M1-chips. Gebruikers die zich zorgen maken over de fout, kunnen het volledige OS draaien als een virtual machine. De virtual machine blokkeert toegang van gasten en vernietigt het verborgen kanaal. Deze optie zorgt er helaas wel voor dat de prestaties van de Mac sterk achteruit gaan.
De grote meerderheid van de mac-gebruikers – waarschijnlijk meer dan 99% – heeft geen reden om zich zorgen te maken. De fout is enkel zorgwekkend voor mensen die twee of meer kwaadaardige apps op hun computer hebben. De kwetsbaarheid laat vooral zien dat chipfouten voorkomen in vrijwel alle CPU’s, zelfs de nieuwe exemplaren die kunnen leren van eerder gemaakte fouten.
Apple heeft niet openbaar gereageerd op de fout in de M1-chips. Het is daarom nog niet duidelijk of het bedrijf plannen heeft om de fout op te lossen voor toekomstige versies van de processor.