Hem Securitywatch Apple avslöjar säkerhetsinformation för ios

Apple avslöjar säkerhetsinformation för ios

Video: APPLE ПОДАРИЛИ НОВЫЙ АЙФОН ❤️ (у меня Коронавирус🦠 ?) (September 2024)

Video: APPLE ПОДАРИЛИ НОВЫЙ АЙФОН ❤️ (у меня Коронавирус🦠 ?) (September 2024)
Anonim

Du har nu hört att Apple tillkännagav ett nytt program för buggodo vid den senaste Black Hat-konferensen. I ett ovanligt utseende gjorde Ivan Krstic, Apples chef för säkerhetsteknik och arkitektur, tillkännagivandet själv. Men det var bara de sista tio minuterna av en 50-minuters presentation. De första 40 minuterna tog Krstic ett oöverträffat djupdyk i tre komponenter i iOS-säkerhet. Och på djupet menar jag badysfärisk.

Min övergripande takeaway var en känsla av vördnad för hur grundligt dessa system skyddar användardata, även från Apple själv. Jag ska försöka förmedla vad som sades utan att bli för tekniskt.

Härdad WebKit JIT Mapping

Tyvärr, det är vad det heter. JIT står för Just In Time och hänvisar till hur Javascript-koden sammanställs precis i tid för dess körning. "Detta är nödvändigt för JavaScript med hög prestanda", förklarade Krstic. "Men kodsigneringspolicyn måste vara avslappnad. JIT-kompilatorn avger ny, osignerad kod. En angripare som hanterade en attack-var som helst kan möjliggöra körning av godtycklig kod."

För lite bakgrund kan minnesområden markeras med läs, skriv och utföra behörigheter. Den distinktionen, som infördes för evigt år sedan, tappade ut attacker som utförde kod i områden som ägnades åt data. I korthet innebär Apples lösning en teknik som sätter den sammanställda JavaScript i ett minnesområde som endast tillåter körning. Processer kan inte läsa vad som finns där eller skriva ny data. Det finns lite mer än det, men denna förändring, som är specifik för iOS 10, utplånar en hel rad möjliga attacker.

Secure Enclave Processor

Program på en Apple-enhet körs i en CPU som kallas Application Processor, eller AP. Moderna Apple-enheter har en helt separat CPU som kallas Secure Enclave Processor, eller SEP. "SEP skyddas av en stark kryptografisk huvudnyckel från användarens lösenord, " sade Krstic. "Offline-attack är inte möjlig. Det bryter mot attackytan på AP, även om AP har äventyrats. Det skiljer all användaråtkomst och hanterar sitt eget krypterade minne. Vid första initialiseringen använder den en riktig slumpnummergenerator för att skapa en unik enhetsnyckel i processorn. Den kan inte exporteras och lagras i en immutable säker ROM."

Krstic fortsatte med att förklara hur enheten använder fyra typer av interna säkerhetsnycklar med olika egenskaper. Typ A finns bara när enheten är olåst. Typ B är en offentlig närvarande nyckel, plus en privat nyckel som finns när enheten låses upp. Typ C kommer in första gången enheten låses upp efter start. Och typ D är alltid tillgängligt.

Presentationen fortsatte till ett antal allvarligt komplicerade diagram. En gick igenom processen att starta och låsa upp enheten och visade hur varje tangenttyp skapades och lagrades. Varje fil på din enhet har sin egen, unika krypteringsnyckel; ett annat diagram visade den intrikata dansen som låter SEP verifiera och dekryptera den filen samtidigt som de viktiga säkerhetsnycklarna hålls i sig själv. En annan förklarade den komplexa processen som gör det möjligt för dig att välja "Uppdatera senare." Och ännu en gick igenom processen som tillåter låsning via touch-ID utan att hålla huvudnyckeln synlig på något sätt.

Det viktigaste avhämtningen från denna del av samtalet är att Apple verkligen, verkligen har tänkt igenom vad som krävs för att hantera kryptering helt inuti Secure Enclave Processor, utan att tvinga användaren att göra mycket besvär alls. Om du vill se dessa diagram för dig själv, kolla in Krstics fullständiga presentation.

Synkronisera hemligheter

Det är väldigt bekvämt att du kan synkronisera dina data mellan flera Apple-enheter. HomeKit låter dig hantera IoT-enheter, AutoUnlock gör att din Mac låses upp när din Apple Watch är i närheten, dina foton synkroniseras via iCloud osv. Men säkerhetsmässigt är synkronisering ett problem.

"Traditionella tillvägagångssätt är inte bra, " sade Krstic. "Ett sätt är att få användaren att ange en stark 'sockelådnyckel' på alla enheter; förlora den och tillgången till hemligheterna går förlorad. Det andra sättet är att linda in informationen i en härledd nyckel som lämnar data exponerade för kontoleverantör."

"Vi hade ett antal mål här, " fortsatte Krstic. "Hemligheter måste vara tillgängliga på alla enheter, skyddade av stark krypto. Användare kan återställa hemligheter även om de förlorar alla anslutna enheter. Data utsätts inte för Apple, och det finns ingen möjlighet till en attack för brute-force."

Autentisering i det grundläggande iCloud Keychain-systemet är enkelt. Varje enhet har sitt eget nyckelpar, och för att lägga till en ny enhet i synkroniseringscirkeln måste du godkänna den från en av dina befintliga enheter. Apples backend är inte involverad; det har inget privilegium. Om en användare tappar åtkomst till alla enheter kan åtkomst återvinnas med både iCloud Security Key och iCloud-lösenordet.

Krstic förklarade i detalj hur Apple hanterar detta system utan att lämna den minsta möjligheten att någon, inklusive någon på Apple, kan komma åt data från baksidan. Systemet involverar vad som kallas admin-kort, skapat vid en tidpunkt då en ny flotta med kryptoservrar tas i drift. "Administrationskort skapas i en säker ceremoni när flottan tas i drift och lagras i separata fysiska kassaskåp i förvar av tre olika organisationer på Apple, i manipuleringssäkra bevispåsar, " sade Krstic.

Denna situation varar bara tills flottan faktiskt tas i drift. Vid den tiden sa Krstic, "Vi lägger adminkorten genom en ny envägs hashfunktion." Han drog en tydligt använt mixer under pallen och fortsatte, "Ja, en resa genom mixern." När kryptoservrarnas flotta är aktiv kan den inte uppdateras eller ändras på något sätt, inte ens av Apple, eftersom administratörskorten har förstörts. Om det händer att en uppdatering verkligen krävs måste Apple snurra upp en ny flotta och skicka ut en programuppdatering som gör att användarenheter ansluter till den nya flottan.

"Varför gör vi det här, " sade Krstic. "Varför tar vi detta sista steg som är extremt ovanligt? Vi gör mycket för att konstruera säkerhetssystemen för att ge förtroende. När data lämnar enheten är insatserna ännu högre. Vi måste behålla det förtroende. Om vi ​​håller innehav av de administratörskorten, det finns möjligheten som inte är sant. Det är så allvarligt vi tar vårt uppdrag om användardata."

Frågas: "Har du gjort det på grund av FBI: s begäran om information?" Krstic svarade: "Jag är ingenjör. Jag kan bara svara på frågor om varför jag presenterade idag." OK, rätt nog. Men jag tror att frågaren hade rätt. Att göra ett fristående system som du inte ens kan ändra dig själv är ett ganska bra sätt att hindra någon annan från att göra oönskade förändringar.

Jag hoppas att jag har förmedlat detaljeringsnivån i Krstics prat utan att få dina ögon att glasera över. Att bedöma efter pratningen när gruppen spriddes var de verkliga bitarnivåerna i rummet mycket imponerade.

Apple avslöjar säkerhetsinformation för ios