Adressutrymme Layout Randomization (ASLR) är en säkerhetsteknik som används i operativsystem, som först implementerades 2001. De nuvarande versionerna av alla stora operativsystem (iOS, Android, Windows, MacOS och Linux) har ASLR-skydd. Men under den senaste veckan har en ny metod för kringgå ASLR hittats. Så ska du vara orolig?
För dem som saknar programmeringsbakgrund på låg nivå kan ASLR vara förvirrande. För att förstå det måste du först förstå virtuellt minne.
Virtuellt minne är en minneshanteringsteknik med många fördelar, men det var främst skapat för att göra programmeringen enklare. Tänk dig att du har Google Chrome, Microsoft Word och flera andra program öppna på en dator med 4 GB RAM. Som helhet använder programmen på den här datorn mycket mer än 4 GB RAM. Men alla program kommer inte att vara aktiva hela tiden, eller behöver samtidigt tillgång till RAM.
Operativsystemet tilldelar bitar av minne till program som heter sidor . Om det inte finns tillräckligt med RAM för att lagra alla sidor samtidigt, sparas de sidor som är mest sannolikt att behöva lagras på den långsammare (men rymligare) hårddisken. När de sparade sidorna behövs byter de utrymmen med mindre nödvändiga sidor som för närvarande finns i RAM. Denna process kallas personsökning och låter sitt namn till filen pagefile.sys i Windows.
Virtuellt minne gör det enklare för program att hantera sitt eget minne och gör dem också säkrare. Programmen behöver inte oroa sig för var andra program lagrar data, eller hur mycket RAM som finns kvar. De kan bara fråga operativsystemet för extra minne (eller returnera oanvänd minne) vid behov. Allt program ser en enda kontinuerlig bit av minnesadresser för exklusiv användning, kallad virtuella adresser. Programmet får inte se på ett annat programs minne.
När ett program behöver komma åt minnet, ger det operativsystemet en virtuell adress. Operativsystemet kontakter CPU: s minnehanteringsenhet (MMU). MMU översätter mellan virtuella och fysiska adresser och returnerar den informationen till operativsystemet.
Address Space Layout Randomization (ASLR) används i första hand för att skydda mot buffertöverflödesattacker. I ett bufferflöde matar attackerare en funktion så mycket skräppostdata som den kan hantera, följt av en skadlig nyttolast. Nyttladdningen kommer att skriva över data som programmet avser att komma åt. Instruktioner för att hoppa till en annan punkt i koden är en gemensam nyttolast. Den berömda JailbreakM-metoden för jailbreaking iOS 4, till exempel, använde en buffertöverflödesangrepp som fick Apple att lägga till ASLR till iOS 4.3.
Buffertflöden kräver att en angripare vet var vardera delen av programmet finns i minnet. Att räkna ut detta är vanligtvis en svår process av försök och fel. Efter att ha bestämt det måste de bygga nyttolast och hitta en lämplig plats för att injicera den. Om angriparen inte vet var sin målkod finns kan det vara svårt eller omöjligt att utnyttja det.
ASLR arbetar tillsammans med virtuell minneshantering för att randomisera platserna för olika delar av programmet i minnet. Varje gång programmet körs, flyttas komponenter (inklusive stapeln, högen och biblioteken) till en annan adress i virtuellt minne. Attackers kan inte längre lära sig var målet är genom försök och fel, eftersom adressen kommer att vara annorlunda varje gång. Generellt måste applikationer sammanställas med ASLR-stöd, men det blir standard och krävs även på Android 5.0 och senare.
I förra tisdagen har forskare från SUNY Binghamton och University av Kalifornien, Riverside, presenterade ett dokument som heter Jump Over ASLR: Attacking Branch Predictors för att byta ASLR. I papperet beskrivs ett sätt att attackera grenmålbufferten (BTB). BTB är en del av processorn som snabbare om uttalanden genom att förutsäga resultatet. Med hjälp av författarens metod kan man bestämma platser för kända greninstruktioner i ett körprogram. Den aktuella attacken utfördes på en Linux-maskin med en Intel Haswell-processor (som först släpptes 2013), men kan troligtvis tillämpas på alla moderna operativsystem och processorer.
Med det sagt bör du inte nödvändigtvis förtvivla. Papperet erbjöd ett par sätt att maskin- och operativsystemutvecklare kan mildra detta hot. Nyare, finkorniga ASLR-tekniker skulle kräva mer ansträngning från angriparen, och ökad mängd entropi (slumpmässighet) kan göra Jump Over-attacken oförmögen. Mest sannolikt kommer nya operativsystem och processorer att vara immun mot denna attack.
Så vad är kvar för du att göra? Hoppa över förbikopplingen är ny, och har ännu inte upptäckts i det vilda. När attacker utnyttjar det, kommer felet att öka den potentiella skada som en angripare kan orsaka på din enhet. Denna åtkomstnivå är inte ovanlig; Microsoft och Apple implementerade endast ASLR i sina operativsystem som släpptes 2007 och senare. Även om den här typen av attack blir vanligt kommer du inte att vara sämre än du var tillbaka i Windows XP.
Tänk på att angripare fortfarande måste få sin kod på din enhet för att göra någon skada. Denna fel ger dem inte några ytterligare sätt att infektera dig. Som alltid bör du följa bästa säkerhetsmetoder för säkerhet. Använd antivirus, håll dig borta från sketchy webbplatser och program och håll din programvara uppdaterad. Genom att följa dessa steg och hålla skadliga skådespelare från datorn kommer du vara så säker som du någonsin varit.
Bildkrediter: Steve / Flickr
Vad är skillnaden mellan "shutdown / r" och "shutdown / g" i Windows?
När du börjar gräva in alla tillgängliga alternativ i Windows, kan du bara bli förvånad över vad du kan hitta. Ta till exempel kommandonerna shutdown / r och shutdown / g . Vad är skillnaden mellan dem? Dagens SuperUser Q & A-post har svaret på en nyfiken läsarens fråga. Dagens Frågor och svar sessions kommer till vår tjänst med SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Så här skapar du anpassade ikoner för Flash eller USB-enheter
Du vet förmodligen redan hur du skapar anpassade ikoner för din lokala hårddisk eller för din CD-enhet, men visste du att det också finns ett enkelt sätt att skapa anpassade ikoner för USB-flash-enheter? Du kan konfigurera USB-enheten så att när du ansluter den till en dator visas den med en anpassad ikon och anpassad etikett istället för den standard flyttbara diskikonen som Windows använder.I den här a