Onderzoekers die nieuwe klasse iOS-bugs ontdekten, onderzoeken nog steeds 'enorm scala' aan 'potentiële kwetsbaarheden'

Ongeveer een maand nadat Apple iOS 16.3 en macOS 13.2 uitbracht, werd het gedetailleerde aanvullende beveiligingsoplossingen dat kwam met de updates. Nu heeft Trellix, het team dat twee van die fouten voor iOS en macOS vond, meer onthuld over hoe ze ontdekten wat ze een 'grote nieuwe klasse bugs' noemen. Hoewel de nieuwe exploits snel door Apple werden gepatcht, zegt Trellix dat het 'nog steeds een' enorm scala 'aan potentiële kwetsbaarheden onderzoekt die berichten, foto's, locatiegegevens en meer in gevaar kunnen brengen op iPhone en Mac.
Eerder deze week heeft Apple zijn beveiligingspagina bijgewerkt met de informatie die er was drie fouten gepatcht in iOS 16.3 het was niet eerder gedetailleerd. Het blijkt dat twee daarvan worden geclassificeerd door beveiligingsbedrijf Trellix als een 'nieuwe klasse bugs' die willekeurige code buiten de sandbox in iOS kan uitvoeren.
Senior onderzoeker Austin Emmitt bij Trellix legde uit hoe zijn team het nieuwe type fout ontdekte met een uitgebreide blogpost (via Macworld ).
Interessant is dat de geschiedenis enkele jaren teruggaat tot 2021, toen GEFORCEERD een 0-klik externe aanval die een tweedelige exploit gebruikte, werd gebruikt om de Pegasus-malware te installeren. Toen details opdoken over hoe het werkte, richtten Emmitt en zijn team hun onderzoek op hoe het de iOS-sandbox kon omzeilen.
Deel 1 beschreef de eerste exploitatie van PDF-parseercode en Deel 2 legde de ontsnapping uit de zandbak neer. Hoewel er veel aandacht werd besteed aan de eerste exploit, waren we veel meer geïnteresseerd in de tweede, omdat deze een manier beschreef om willekeurige code dynamisch uit te voeren in een ander proces dat het ondertekenen van code volledig omzeilde. Het betrof NSPredicate, een onschuldig ogende klasse waarmee ontwikkelaars lijsten met willekeurige objecten kunnen filteren. In werkelijkheid is de syntaxis van NSPredicate een volledige scripttaal. De mogelijkheid om dynamisch code te genereren en uit te voeren op iOS was de hele tijd een officiële functie geweest. Dit was echter nog maar het begin, aangezien deze functie een geheel nieuwe bugklasse onthulde die de interprocesbeveiliging in macOS en iOS volledig doorbreekt.
Het bleek dat er eerder in 2021 een project was dat gebruik maakte van de mechanica van NSPredicate, 'Zie geen evaluatie' door CodeColorist. Sindsdien heeft Apple patches uitgebracht om die exploits op te lossen, maar tijdens zijn onderzoek ontdekte Trellix nieuwe manieren om de reparaties van Apple te omzeilen.
Deze maatregelen maakten gebruik van een grote weigeringslijst om het gebruik van bepaalde klassen en methoden te voorkomen die de beveiliging duidelijk in gevaar zouden kunnen brengen. We ontdekten echter dat deze nieuwe maatregelen konden worden omzeild. Door methodes te gebruiken die niet waren beperkt, was het mogelijk om deze lijsten leeg te maken, zodat dezelfde methoden mogelijk waren die eerder beschikbaar waren. Deze bypass is door Apple toegewezen aan CVE-2023-23530. Sterker nog, we ontdekten dat bijna elke implementatie van NSPredicateVisitor kon worden omzeild.
De eerste fout die Trellix ontdekte in de nieuwe klasse van bugs was in coreduetd, 'een proces dat gegevens verzamelt over gedrag op het apparaat.' Dit is hoe het werkt:
Een aanvaller met code-uitvoering in een proces met de juiste rechten, zoals Berichten of Safari, kan een kwaadaardig NSPredicate verzenden en code uitvoeren met de rechten van dit proces. Dit proces draait als root op macOS en geeft de aanvaller toegang tot de agenda, het adresboek en de foto's van de gebruiker. Een zeer vergelijkbaar probleem met dezelfde impact heeft ook invloed op contextstored, een proces gerelateerd aan CoreDuet. Dit resultaat is vergelijkbaar met dat van FORCEDENTRY, waarbij de aanvaller een kwetsbare XPC-service kan gebruiken om code uit te voeren van een proces met meer toegang tot het apparaat.
De appstored (en appstoreagent op macOS) daemons beschikken ook over kwetsbare XPC-services. Een aanvaller die controle heeft over een proces dat met deze daemons kan communiceren, kan deze kwetsbaarheden misbruiken om willekeurige applicaties te installeren, mogelijk zelfs inclusief systeemapps.
De onderzoekers vonden ook meer kwetsbaarheden in dezelfde klasse van bugs 'die toegankelijk waren voor elke app, zonder dat er rechten voor nodig waren.' Een van hen was in staat om 'potentieel gevoelige informatie uit de syslog te lezen' en een ander kon 'code-uitvoering realiseren binnen SpringBoard, een zeer bevoorrechte app die toegang heeft tot locatiegegevens, de camera en microfoon, oproepgeschiedenis, foto's en andere gevoelige gegevens , evenals het apparaat wissen.”
Emmitt zegt dat hij Apple dankbaar is voor het snel verhelpen van de gebreken die zijn team ontdekte. Maar hoewel iedereen die iOS 16.3 en macOS 13.2 heeft geïnstalleerd veilig is voor de twee specifieke fouten die zijn ontdekt, deelde Emmitt dat de 'twee technieken een enorm scala aan potentiële kwetsbaarheden hebben geopend die we nog steeds aan het onderzoeken zijn.'
Kijk voor alle technische details op de volledige autopsie van Austin Emmitt .