Android-telefoner och Linux-datorer och -servrar delar alla en gemensam härkomst. De är alla baserade på en gemensam kärna och delar gemensamma verktyg och komponenter. Närhelst en säkerhetssårbarhet upptäcks i dessa områden är smittan enorm, och hundratals miljoner datorer och mobila enheter kommer oundvikligen att påverkas.
En nyligen upptäckt sårbarhet (CVE-2016-0728) i Linux-kärnan är ett häpnadsväckande exempel på detta. Det drar fördel av ett fel i OS-nyckelringen och skulle tillåta alla oprivilegierade angripare eller användare att få root-åtkomst till systemet i fråga. Så här fungerar det och vad du behöver vara försiktig med.
Förstå denna sårbarhet
Denna sårbarhet upptäcktes av Perception Point – ett stort Tel Aviv-baserat konsultföretag för informationssäkerhet. Felet introducerades först för cirka tre år sedan, med lanseringen av Linux Kernel version 3.8. Perception Point uppskattar att ungefär två tredjedelar av Android-enheterna och en okänt mängd Linux-datorer och -servrar (förmodligen i tiotals miljoner) är sårbara.
Som tidigare nämnt finns denna brist i OS-nyckelringen. Det här är den komponent som används i Linux som gör att förare kan cache säkerhetsdata, såsom krypteringsnycklar och autentiseringstokens. Genom designen borde data som finns i OS-nyckelringen inte vara tillgänglig för andra applikationer.
Exploateringen i sig drar fördel av ett fel med hur minnet hanteras i OS-nyckelringen. Genom att köra ett buffertspill kan angriparna trigga operativsystemet att köra någon godtycklig skalkod, som skulle köras som root.
Det förväntas att majoriteten av Linux-distributioner kommer att utfärda korrigeringar i början av nästa vecka. Men om du har en modern Intel-processor (Broadwell eller senare), bör SMAP (Supervisory Mode Access Prevention) och SMEP (Supervisory Mode Execution Prevention) vara aktiverade, och kommer att begränsa skadorna som denna sårbarhet kan orsaka.
Under tiden, om du använder Android, borde SELinux också göra susen. Det är värt att påpeka att Google kraftigt har tonat ned riskerna med denna sårbarhet. I ett uttalande sa de att alla enheter som kör Android 5.0 Lollipop och senare är skyddade av SELinux, och majoriteten av äldre enheter (som kör Android 4.4 KitKat och tidigare) innehåller inte den sårbara koden som introducerades i version 3.8 av Linux Kernel .
Android Security Team klagade också över att de inte hade blivit meddelade att utfärda en patch. I huvudsak sa de att Perception Point inte utförde ansvarsfullt avslöjande.
I grund och botten säger de inte att det inte är något problem, utan att det påverkar en mycket mindre andel av Android-enheter som tidigare hävdats av Perception Point. Trots det utfärdar de en fix, som när den släpps bör stänga denna gapande sårbarhet en gång för alla.
Kontrollerar ditt privilegium
En av de mest grundläggande principerna för datorsäkerhet kan kortfattat sammanfattas som: inte alla användare ska kunna göra allt hela tiden.
Om en användare ständigt var inloggad som root, eller administratör, skulle det vara betydligt lättare för en del av skadlig programvara eller en fjärrangripare att orsaka betydande skada. Det är av denna anledning varför de flesta användare och applikationer finns i ett begränsat läge med begränsade behörigheter. När de vill göra något som kan leda till skada på datorn – som att installera ett nytt program eller ändra en viktig konfigurationsfil – måste de först höja sina privilegier. Detta koncept är universellt och kan hittas i praktiskt taget alla operativsystem.
Anta att någon är inloggad på en Linux- eller Mac-dator med ett administratörskonto och att de vill redigera sin värdfil för att mappa om ett värdnamn till en lokal IP-adress. Om de bara försöker öppna det omedelbart med en textredigerare, kommer operativsystemet att återkomma med ett felmeddelande som säger något i stil med “åtkomst nekad”.
För att få det att fungera måste de höja sina privilegier. De kan gå in i superanvändarläge på obestämd tid genom att köra “sudo su”. Detta är användbart om de ska köra en serie begränsade åtgärder under en ospecificerad tid. För att avsluta detta läge och återgå till det normala användarkontot, använd helt enkelt “exit”-kommandot.
För att köra bara ett kommando som superanvändare, inled det kommandot med “sudo”. Med hjälp av exemplet med hosts-filen kan du redigera den med “sudo vim etc/hosts”. Du kommer då att bli tillfrågad om ditt lösenord. Om kontot inte har administratörsbehörighet (dvs. är ett standardanvändarkonto) kommer kommandot inte att fungera.
På Android har de en fundamentalt annorlunda modell av behörigheter, där applikationer är atomiserade och sandlådor, och användare kan göra begränsade ändringar under huven. Användare avskräcks aktivt från att få tillgång till roten. Det är av denna anledning varför de flesta operatörer och tillverkare (med HTC bland undantagen) aktivt avråder användare från att rota sina telefoner, och varför det har blivit lite av en “mörk konst”.
Windows har också sitt eget system med förhöjda privilegier. Närhelst ett program gör en ändring i systemet som kräver utökade behörigheter, kommer Windows att uppmana användaren med ett UAC-fönster (User Access Control). Detta visar programmet som begär förhöjda behörigheter. Om koden har fått en kryptografisk signatur kommer den att visa vem som signerade den, vilket gör att du kan upptäcka bedragarprogram. Användaren kan sedan välja att ge programmet de behörigheter som efterfrågas, eller avböja.
Även om den här processen inte är utan sina brister (UAC-fönster betraktas som ganska irriterande och i allmänhet bara “klickas bort”, till exempel), är det en som i allmänhet fungerar. Det kan dock lätt kringgås av brister i operativsystemet, ungefär som det som identifieras av Perception Point.
Ökande hot mot Linux-enheter
Under de senaste åren har vi sett en störtflod av attacker riktade mot Linux-baserade operativsystem, eftersom det cementerar sitt grepp på servermarknaden och ökar sin marknadsandel på skrivbordet.
Nyligen upptäckte forskare i Ryssland en trojan för fjärråtkomst som var designad för att hjälpa en angripare att spionera på användare. Trojanen kallas Linux.Ekoms.1 och tar en skärmdump var 30:e sekund och sparar den i en tillfällig mapp som en JPEG förklädd med ett annat filtillägg. Ytterligare analys av trojanen visade att utvecklarna arbetade med funktioner som skulle göra det möjligt för den att spela in ljud. Dessa filer skulle sedan skickas till en fjärrserver. Angriparna skulle också kunna utfärda kommandon genom en kommando-och-kontroll-server.
Ett annat rootkit för Linux – kallat Snakso-A – riktade sig till 64-bitars Linux-webbservrar och kapade tyst webbsidorna som serverades, för att injicera en iFrame som betjänar skadlig programvara.
Sedan finns det naturligtvis sårbarheterna som var så allvarliga att de blev internationella nyheter. Jag pratar om sådana som Shellshock, GHOST-sårbarheten och Heartbleed.
Dessa hot löses i allmänhet på ett ändamålsenligt sätt av underhållarna och utvecklarna av de Linux-komponenter som de påverkar. Men under de senaste månaderna har deras förmåga att göra det ifrågasatts, som ett resultat av finansiering och personalbrist, vilket har lett till att vissa ifrågasätter om Linux har varit ett offer för sin egen framgång.
Sök efter uppdateringar
Under de närmaste dagarna kommer majoriteten av Linux-distributioner att utfärda patchar, liksom Google för Android. Du rekommenderas att regelbundet kontrollera din pakethanterare för uppdateringar.
Har denna sårbarhet fått dig att ifrågasätta om du ska fortsätta att använda Linux? Berätta för mig om det i kommentarerna nedan.
Fotokrediter: Crypt (Christian Ditaputratama), PasswordFile (Christiaan Colen)
Om författaren
Matthew Hughes (383 artiklar publicerade)
Matthew Hughes är en mjukvaruutvecklare och författare från Liverpool, England. Han hittas sällan utan en kopp starkt svart kaffe i handen och fullkomligt avgudar sin Macbook Pro och sin kamera. Du kan läsa hans blogg på http://www.matthewhughes.co.uk och följa honom på twitter på @matthewhughes.
Mer från Matthew Hughes
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
