Att Mac OS X skulle vara säkrat mot allvarliga sårbarheter är en farlig och naiv inställning. Som i alla andra komplexa mjukvaror finns mängder med brister.

En av de mest allvarliga vi har hört talas om är ”Rootpipe”, en sårbarhet som upptäckts nyligen av svenske Emil Kvarnhammar som jobbar på Truesec. Sårbarheten är fortfarande inte åtgärdad av Apple och drabbar även den senaste versionen av operativsystemet, 10.10 även kallat Yosemite, därför kan Emil inte beskriva alla detaljer.

Angriparen får root-access

Kortfattat handlar det om så kallad ”privilege escalation”-sårbarhet vilket innebär att det utan att använda lösenord går att få högsta behörighet, root-access. Därifrån har angriparen full kontroll över systemet.

– Det började med att jag förberedde mig för två säkerhetsevent, ett i Stockholm och ett i Malmö. Jag ville visa en brist i Mac OS X men det finns relativt få publicerade. Det finns en del ”proof of concept” på nätet, men det senaste jag hittade rörde den äldre versionen 10.8.5 av Mac OS X. Jag kunde inte hitta något motsvarande för 10.9 eller 10.10, säger Emil Kvarnhammar.

emil kvarnhammar
Emil Kvarnhammar från Truesec upptäckte sårbarheten.


Enligt Emil har Mac-användare en lite större benägenhet att uppdatera sina system än Windows-användare. Främst beror det på att man oftast sitter i en miljö som inte är centralt styrd på samma sätt, uppdatering skjuts inte ut som på större Windows-klientparker. Mac-användarna kan uppdatera sina system själva.

Därför ville han absolut hitta ett exempel som påverkade dagens situation, där de flesta kör en senare version av Mac OS X.

– Jag började titta på admin-operationer i systemet och hittade ett sätt som gick att utnyttja för att skapa ett shell med root-behörighet. Det handlade om ett par dagars binär analys för att hitta möjligheten och jag blev själv förvånad över att den fanns.


Kommenterat



Även Yosemite är drabbat

Emil testade sårbarheten i första hand på version 10.8.5 av Mac OS X och fick det att funka. Samma tillvägagångssätt flyttades över till 10.9, men där blev det stopp.

– Jag blev lite uppgiven men fortsatte att leta vidare, det fanns några saker som bytt namn. Det fanns helt enkelt en liten skillnad men arkitekturen var densamma och med lite modifieringar kunde jag till slut även använda sårbarheten i senaste Mac OS X, version 10.10.

Ofta handlar det om att känna efter, menar Emil. Vad kan tankegångarna ha varit hos utvecklarna? Man kanske har migrerat och flyttat en del funktioner men i grunden finns samma brist kvar.

Rootpipe är en sårbarhet man brukar benämna ”privilege escalation” vilket gör att man kan ta sig från admin-behörighet till root. Det kan även ses som en ”sudo bypass vulnerability”.

– Normalt sett finns sudo med lösenordskrav som en barriär så att admin inte kan bli root utan att ange sitt lösenord. Men detta går alltså att runda.

Väntad respons från Apple

Dagen efter att Emil upptäckte sårbarheten rapporterade han det till Apple.

– För vår del var det inget snack om saken, vi följer ”responsible disclosure”. Men vi vill även informera om att vi funnit en allvarlig brist, det finns en stor risk här. I vår dialog med Apple har vi enats om ett datum för ”full disclosure”, då kan vi tala om exakt vad vi funnit.

Till en början kom inte mycket till respons från Apple, vilket var väntat enligt Emil. Deras policy är inte att bekräfta, men genom Truesecs dialog kring ett datum när allt kan avslöjas så finns det en indirekt bekräftelse.

– Jag har respekt för att de precis gjort en stor release av ett nytt Mac OS X under denna period. Det påverkar responsen och patchen kan nog dröja ett litet tag. Jag upplever att Apple är ett företag som tar säkerhet på stort allvar. De kan ibland vara lite försiktiga med vilken information de publicerar till användare och vill såklart ge intrycket av att det är så säkert som möjligt.

Så hur kom Emil fram till namnet rootpipe på sårbarheten?
– Jag kan inte gå in för mycket på det. Men jag återkommer när vi kan lämna mer information.

Så skyddar du dig mot Rootpipe

Det finns sätt att skydda sig mot Rootpipe och generellt öka säkerheten i sitt Mac-system. Steg ett är att användaren inte kör systemet dagligen med ett admin-konto. De flesta Macar har bara en användare, så det finns ett inneboende problem i det.

– I det läget när någon annan sätter upp systemet så blir användaren admin. Det är få Mac-system där man inte är admin-behörig som användare.

Emils tips är att skapa ett nytt konto på sin Mac-dator, tilldela det kontot admin-behörighet och kalla det för admin eller liknande. Logga ut och in på admin-kontot och plocka bort admin-behörigheten på det egna kontot. Då kan man bibehålla alla inställningar på ett smidigt sätt.

– Vill användaren göra förändringar i systemet dyker samma dialog upp som vanligt, men man får istället skriva in lösenordet för admin.

Filevault ett måste – annars kan angripare enkelt komma in

Det är väldigt enkelt att kryptera hårddisken på en Mac. Funktionen heter Filevault och är en billig försäkring, dessutom påverkar den prestanda i systemet ytterst lite. Du märker sannolikt inte av det alls.

– Det här är ett jättebra skydd främst om man blir av med datorn. Men det skyddar även mot vissa typer av attacker där någon temporärt får fysisk åtkomst till datorn.

Faktum är att det är så enkelt som att starta upp Macen i ”singel user mode” eller ”recovery mode” för att komma åt all dina data annars.

– En angripare kan gå runt lösen och komma rakt in på diskarna om man inte har krypto. Det går till och med att byta lösenord på användarna och root. Sedan är det bara att starta om datorn och gå in i maskinen med full behörighet.

Det krävs som sagt att användaren har fysisk åtkomst, men den här möjligheten att komma in i ett Mac-system busenkelt är något alla användare och inte minst admins bör känna till.


Twittervänliga nyckelpunkter

Farligt och naivt att tro OS X är säkrat mot sårbarheter 
Tweet: Farligt och naivt att tro OS X är säkrat mot sårbarheter http://ctt.ec/45Gdb+



Känsligt läge kring oåtgärdad sårbarhet i OS X
Tweet: Känsligt läge kring oåtgärdad sårbarhet i OS X http://ctt.ec/a9bF6+


Filevault är en billig försäkring 
Tweet: Filevault är en billig försäkring http://ctt.ec/dfa46+



 

Fakta

Det som krävs för att sårbarheten ska kunna utnyttjas är möjlighet att exekvera kod på användares system, snarare än fysisk åtkomst (som är ett exempel på sådan möjlighet).

Möjlighet att exekvera kod är givetvis allvarligt i sig, men i kombination med privilege escalation blir konsekvensen betydligt allvarligare eftersom det inte längre finns skyddsbarriärer som sudo och andra systemskydd.

Exempel på sådana möjligheter är:

  • Dokument med makro aktiverat
  • Trojaner
  • Fysisk åtkomst, där man köra program som laddats hem eller exempelvis från ett usb-minne
  • Kodexekvering i Flash, Java eller genom en brist i browser med mera.