“I Am Root”: ett retrospektiv om en allvarlig Mac-sårbarhet
Bildkredit: Johnathon Burns modifierad av Gaël
Den 28 november blev världen medveten om en stor säkerhetsproblem i macOS High Sierra som skulle göra det möjligt för en angripare att aktivera “root” -administratörskontot på ett offrets Mac.
Felet kallas “#IAmRoot” och “#rootgate” i olika online-diskussioner.
Vi skrev först om sårbarheten här:
Större autentiseringssäkerhetsfel rapporterad i macOS High Sierra [Update]
Apple har sedan lappat buggen, men svårighetsgraden och karaktären hos sårbarheten är så anmärkningsvärda att de motiverar ett mycket djupare dyk i vad som hände.
? Ta lite popcorn och läs vidare för en berättelse som kan underhålla och förvåna dig.
Vad är sårbarheten “Jag är rot”?
I opatchade versioner av macOS High Sierra 10.13 eller 10.13.1 kan en angripare anropa en dialogruta för autentisering av systemet, skriva “root” (namnet på ett kraftfullt UNIX-administratörskonto som är inaktiverat som standard i macOS) och antingen ange inget lösenord eller ett valfritt lösenord, och macOS skulle göra det möjligt för root-kontot med angriparens valda lösenord.
”Jag är rot” -attacken i aktion. Bildkredit: Patrick Wardle
Således, om du skulle lämna din Mac obevakad i mindre än en minut, kunde någon helt enkelt gå upp till din Mac och skapa sitt eget personliga superanvändarkonto utan din tillåtelse eller vetskap.
(Bortsett från allt är allt som krävs ett par klick till och angriparen kan också aktivera fjärrinloggning, fildelning, skärmdelning och andra funktioner så att de kan fortsätta att kontrollera och utnyttja din Mac efter att de har gått bort. Var noga med att läs Så här låser du din Mac-skärm och skyddar den från nötande ögon för några grundläggande tips om fysisk säkerhet.)
Under normala omständigheter skulle det vara nästan omöjligt att skapa ditt eget administratörskonto på någon annans Mac utan att först behöva autentisera med ett befintligt administratörskonto eller lösenord. Detta fel förändrar det på ett stort sätt.
Fjärranvändning
Så du kanske tänker, svaret är att aldrig lämna din Mac utan uppsikt, eller hur? Även om det förmodligen är en bra idé att hålla din Mac i sikte av andra anledningar, tyvärr, beroende på systemets inställningar, kanske grundläggande fysisk säkerhet inte räcker för att stoppa en angripare.
Om du hade aktiverat skärmdelningsfunktionen kan en angripare till och med aktivera rotkontot utan fysisk åtkomst till din Mac, vilket visas i den här videon av Patrick Wardle:
Om vissa delningstjänster aktiverade på målet – verkar denna attack fungera? fjärrkontroll ?? ☠️ (inloggningsförsöket möjliggör / skapar rotkontot med tomt pw) Åh Apple ???? pic.twitter.com/lbhzWZLk4v
– Patrick Wardle (@patrickwardle) 28 november 2017
Ja, om din Mac hade skärmdelning aktiverad, kan sårbarheten utnyttjas av någon annan i ditt lokala nätverk. Så till exempel kan din rumskamrat, kollega eller till och med någon som misshandlar på en allmän plats där du råkar använda Wi-Fi ha satt sig framför sin egen Mac-bärbara dator och aktiverat root-kontot på din dator utan din vetskap eller lov.
Angriparen kan sedan logga in på din dator som root via skärmdelning, vilket gör det möjligt för dem att aktivera fjärranslutning och fildelning, som nämnts ovan.
Hur blev denna sårbarhet känd?
Det tidigast kända avslöjandet av sårbarheten var ett inlägg till Apples utvecklarforum den 13 november, där en utvecklare delade detta som ett möjligt sätt att aktivera det rotkonto som hade fungerat för honom.
Utvecklaren sa att han hade läst om den här metoden för att aktivera root någon annanstans på forumet, men när han ombads att hitta det ursprungliga inlägget kunde han inte hitta det. Han var också ursäktande och sade att han inte hade insett att det han beskrev var en stor säkerhetsfel.
Den första kända avslöjandet av “I am root” -felet. Bild: Apple via internetarkiv
En vecka senare, den 20 november, delade en Twitter-användare en video som visade felet på Twitter och taggade Apple i tweeten, men Apple svarade inte eller vidtog inte något.
#Meta #ThisIsNotOkay #SecurityThruObscurity #RightToRepair #FollowTheMoney @Apple https://t.co/MEUSxGoCX2 @GIPHY @ * pic.twitter.com/QZkcJKNty5
– @ jeremydmiller78 (@ jeremydmiller78) 20 november 2017
Åtta dagar efter det, den 28 november, publicerade en utvecklare från Turkiet om det offentligt med en mycket tydligare beskrivning och taggade både Apple och Apple Support. Denna tweet blev viral.
Kära @AppleSupport, vi märkte ett * ENORM * säkerhetsproblem på MacOS High Sierra. Vem som helst kan logga in som “root” med tomt lösenord efter att ha klickat på inloggningsknappen flera gånger. Är du medveten om det @ Apple?
– Lemi Orhan Ergin (@lemiorhan) 28 november 2017
Det anses allmänt vara en dålig praxis att offentliggöra alla detaljer om en sårbarhet, inklusive de exakta stegen som krävs för att utnyttja den, utan att först avslöja felet privat till utvecklaren och ge utvecklaren en rimlig tid att undersöka och åtgärda problemet. Denna typ av fullständig offentliggörande lämnar alla användare av en plattform utsatta för en allmänt känd nolldagarsattack tills utvecklaren kan släppa en patch.
Skapade Apple sårbarheten?
Sårbarheten “Jag är rot” verkar ha varit resultatet av ett programmeringslogikfel som introducerades i macOS High Sierra av Apples utvecklingsteam. För dem som kan vara intresserade av de fullständiga tekniska detaljerna kan du läsa denna skrivning av Macs säkerhetsforskare Patrick Wardle.
Men hur kunde Apple ha släppt macOS High Sierra utan att vara medveten om en så oerhört allvarlig sårbarhet? Har något liknande någonsin glidit förbi Apples kvalitetskontrolltekniker tidigare?
Tidigare stora fel i macOS
Karaktären på “Jag är rot” -felet påminner om sårbarheten “goto fail”.
År 2013 visade sig tidiga versioner av OS X Mavericks 10.9 samt iOS 6.1 och 7.0 ha en mycket enkel programmeringsfel, särskilt införandet av en enda duplicerad kodrad som skapade ett gapande säkerhetshål i operativsystemen. Den enda felaktiga koden gjorde det enkelt för en “man i mitten” angripare att skadligt fånga eller ändra Mac- eller iOS-användares HTTPS-krypterade trafik. (Sök efter “goto fail” i den här artikeln för att lära dig mer.)
“Goto fail;”: En duplicerad kodrad orsakade en allvarlig säkerhetsfel 2013.
Tidpunkten för “goto fail” kunde inte ha varit sämre för Apple, eftersom felet avslöjades strax efter att Edward Snowden hade riktat strålkastaren mot National Security Agency: s påstådda massövervakning av amerikanska medborgare. Med tanke på att Snowden var friskt i människors tankar, antog vissa konspirationsteoretiker att Apples kanske “goto fail” -fel kan ha varit ett tecken på samverkan med den amerikanska regeringen (särskilt, det fanns aldrig några bevis för att stödja denna konspirationsteori).
Precis som “goto fail” verkar “I am root” -felet ha orsakats av ett ganska enkelt programmeringsfel från Apples ingenjörer som inte märktes förrän operativsystemet släpptes.
Apples ursäkt
Efter att ha släppt plåstret gav Apple följande uttalande till nyhetsbutiker onsdagen den 29 november och bad om ursäkt för sårbarheten:
Säkerhet är högsta prioritet för varje Apple-produkt, och tyvärr snubblade vi med den här versionen av macOS.
När våra säkerhetsingenjörer blev medvetna om problemet tisdag eftermiddag började vi genast arbeta med en uppdatering som stänger säkerhetshålet. I morse, klockan 8 på morgonen, är uppdateringen tillgänglig för nedladdning och börjar senare i dag kommer den automatiskt att installeras på alla system som kör den senaste versionen (10.13.1) av macOS High Sierra.
Vi beklagar starkt detta fel och ber om ursäkt till alla Mac-användare, både för att ha släppt med denna sårbarhet och för den oro det har orsakat. Våra kunder förtjänar bättre. Vi granskar våra utvecklingsprocesser för att förhindra att detta händer igen.
Slutsats (Let’s Hope)
Apple förtjänar kredit för att vara så snabb att släppa en patch för sårbarheten efter att kunskapen om buggen blev viral.
Det är också fantastiskt att Apple valde att applicera plåstret automatiskt på berörda system. (Om du inte är säker på om dina system har lappats, bläddra till botten i vår första artikel om sårbarheten för att ta reda på hur du kontrollerar.)
Apple började installera säkerhetsuppdateringen automatiskt den 29 november.
Även om det är glädjande att höra att Apple granskar [its] utvecklingsprocesser, “måste man undra varför denna högre granskning inte redan var på plats för fyra år sedan efter att” goto fail “blev känt för allmänheten.
Mellan detta och det nyckelringslösenord som möjliggör exfiltrering av ett fel som upptäcktes i september, har Apple haft en stenig start med High Sierra.
Låt oss hoppas att Apple håller sitt löfte och ägnar mer resurser åt att hålla stora, förebyggbara säkerhetsfel från att komma in i sina operativsystem.
Om Joshua Long
Joshua Long (@theJoshMeister), Integos Chief Security Analyst, är en känd säkerhetsforskare, författare och talare. Josh har en magisterexamen i IT-koncentration inom Internetsäkerhet och har tagit doktorsexamen i informationssäkerhet. Apple har offentligt erkänt Josh för att ha upptäckt en sårbarhet för Apple ID-autentisering. Josh har genomfört cybersäkerhetsforskning i mer än 20 år, som ofta har presenterats av stora nyhetsbutiker världen över. Leta efter fler av Joshs artiklar på security.thejoshmeister.com och följ honom på Twitter. Visa alla inlägg av Joshua Long → Det här inlägget publicerades i Apple, rekommenderas, säkerhetsnyheter och taggade autentisering, IAmRoot, rootgate, sårbarheter. Bokmärk permalänken.