Acasă Securitywatch Apple expune detaliile ios de securitate

Apple expune detaliile ios de securitate

Video: iOS 15 Devices, iPad Displays, iOS 14.3 Release and more (Octombrie 2024)

Video: iOS 15 Devices, iPad Displays, iOS 14.3 Release and more (Octombrie 2024)
Anonim

Ați auzit până acum că Apple a anunțat un nou program de recompense a erorilor la recenta conferință de Black Hat. Într-o apariție neobișnuită, Ivan Krstic, șeful ingineriei de securitate și arhitectură al Apple, a făcut anunțul el însuși. Dar acestea au fost doar ultimele 10 minute ale unei prezentări de 50 de minute. Pentru primele 40 de minute, Krstic a făcut o scufundare profundă fără precedent în trei componente ale securității iOS. Și prin adâncime, mă refer la Bathyspheric.

Păstrarea mea în ansamblu a fost un sentiment de mulțumire de cât de bine aceste sisteme protejează datele utilizatorilor, chiar și de Apple. Voi încerca să transmit ceea ce s-a spus, fără a deveni prea tehnic.

Cartografiere îngreunată WebKit JIT

Scuze, așa se numește. JIT înseamnă Just In Time și se referă la modul în care se compilează codul Javascript la timp pentru executarea lui. "Acest lucru este necesar pentru JavaScript de înaltă performanță", a explicat Krstic. "Dar politica de semnare a codului trebuie să fie relaxată. Compilatorul JIT emite un cod nou, nesemnat. Un atacator care a gestionat un atac de scriere oriunde ar putea permite executarea codului arbitrar."

Pentru un fundal mic, zonele de memorie pot fi marcate cu permisiuni de citire, scriere și execuție. Această distincție, introdusă în urmă cu vârste, a eliminat atacurile care au executat cod în zonele dedicate datelor. Pe scurt, soluția Apple implică o tehnică care introduce JavaScript compilat într-o zonă de memorie care permite doar execuția. Procesele nu pot citi ce există sau scrie date noi. Mai mult decât atât, dar această schimbare, specifică iOS 10, șterge o serie întreagă de atacuri posibile.

Procesor sigur Enclave

Aplicațiile de pe un dispozitiv Apple rulează într-un procesor numit Application Processor sau AP. Dispozitivele moderne Apple au un procesor complet numit Secure Enclave Processor sau SEP. "SEP este protejat de o cheie principală criptografică de la parola de acces a utilizatorului", a spus Krstic. "Atacul offline nu este posibil. Acesta evită suprafața de atac a AP-ului, chiar și atunci când AP-ul a fost compromis. Arbitrează tot accesul utilizatorului și administrează propria memorie criptată. La prima inițializare folosește un adevărat generator de numere aleatorii pentru a crea un unic cheia dispozitivului din procesor. Nu poate fi exportat și este stocată într-un ROM sigur imutabil."

Krstic a explicat modul în care dispozitivul folosește patru tipuri de chei de securitate internă cu caracteristici diferite. Tipul A există numai atunci când dispozitivul este deblocat. Tipul B este o cheie publică prezentă mereu, plus o cheie privată care există atunci când dispozitivul este deblocat. Tipul C vine să existe prima dată când dispozitivul este deblocat după pornire. Și tipul D este întotdeauna disponibil.

Prezentarea a trecut la o serie de diagrame grave complicate. Unul a trecut prin procesul de pornire și deblocare a dispozitivului, arătând modul în care fiecare tip de cheie a fost creat și stocat. Fiecare fișier de pe dispozitivul dvs. are propria sa cheie de criptare; o altă diagramă arăta dansul complex care permite SEP autentificarea și decriptarea acelui fișier păstrând cheile esențiale de securitate în sine. Un altul a explicat procesul complex care face posibil să alegeți „Actualizați mai târziu”. Și încă un altul a trecut prin procesul care permite deblocarea prin touch ID fără a menține vizibilă în niciun fel cheia master.

Cea mai importantă opțiune din această parte a discuției este că Apple a gândit cu adevărat, prin ceea ce este necesar pentru a gestiona complet criptarea în cadrul procesorului Secur Enclave, fără a forța utilizatorul să se confrunte cu multe probleme. Dacă doriți să vedeți aceste diagrame pentru dvs., consultați prezentarea completă a lui Krstic.

Sincronizarea secretelor

Este extraordinar de convenabil să îți poți sincroniza datele între mai multe dispozitive Apple. HomeKit vă permite să gestionați dispozitivele IoT, AutoUnlock face ca Mac-ul dvs. să se deblocheze atunci când Apple Watch este în apropiere, fotografiile dvs. se sincronizează prin iCloud și așa mai departe. Însă securitatea, sincronizarea este o problemă.

„Abordările tradiționale nu sunt bune”, a spus Krstic. "O modalitate este de a face utilizatorul să introducă o" cheie a sertarului "puternic pe toate dispozitivele; să o piardă și să se piardă accesul la secrete. Celălalt mod este să înfășurați datele într-o cheie derivată care lasă datele expuse la furnizor de cont."

"Am avut o serie de obiective aici", a continuat Krstic. "Secretele trebuie să fie disponibile pentru toate dispozitivele, protejate de cripto-uri puternice. Utilizatorii pot recupera secrete chiar dacă pierd toate dispozitivele conectate. Datele nu sunt expuse la Apple și nu există posibilitatea unui atac cu forță brută."

Autentificarea în sistemul de bază iCloud Keychain este simplă. Fiecare dispozitiv are propria pereche de chei și, pentru a adăuga un dispozitiv nou în cercul de sincronizare, trebuie să îl aprobați de la unul dintre dispozitivele dvs. existente. Backend-ul Apple nu este implicat; nu are privilegiu. Dacă un utilizator pierde accesul la toate dispozitivele, accesul poate fi redobândit folosind atât cheia de securitate iCloud, cât și parola iCloud.

Krstic a explicat în mare detaliu modul în care Apple gestionează acest sistem fără a lăsa deschisă nici cea mai mică posibilitate ca oricine, inclusiv oricine la Apple, să poată accesa datele din partea din spate. Sistemul implică ceea ce se numesc carduri de administrare, create la momentul punerii în funcțiune a unei noi flote de servere crypto. "Cardurile de administrare sunt create într-o ceremonie sigură atunci când flota este pusă în funcțiune și sunt depozitate în seifuri fizice separate, în custodia a trei organizații diferite de la Apple, în pungi de probă împotriva manipulării", a spus Krstic.

Această situație durează numai până la punerea în funcțiune a flotei. În acel moment, a spus Krstic, „Am pus cardurile de administrare printr-o nouă funcție de hash unidirecțională”. Aruncând un blender clar folosit de sub podium, a continuat: „Da, o călătorie prin blender”. Odată ce flota de servere crypto este activă, nu poate fi actualizată sau modificată în niciun fel, nici măcar de Apple, deoarece cărțile de administrare au fost distruse. Dacă se întâmplă că este necesară o actualizare, Apple trebuie să creeze o nouă flotă și să trimită o actualizare software care face ca dispozitivele utilizatorului să se conecteze la noua flotă.

- De ce facem asta, spuse Krstic. "De ce facem acest ultim pas care este extrem de neobișnuit? Mergem la o lungime mare pentru a proiecta sistemele de securitate pentru a oferi încredere. Când datele părăsesc dispozitivul, miza este și mai mare. Trebuie să menținem această încredere. Dacă păstrăm posesia cardurile de administrare, există posibilitatea că nu este adevărat. Cam atât de serios ne luăm misiunea în legătură cu datele utilizatorilor."

Întrebat: „Ați făcut acest lucru din cauza cererilor de informații ale FBI?” Krstic a răspuns: „Sunt inginer. Nu pot răspunde decât la întrebări de ce m-am prezentat astăzi”. OK, destul de corect. Dar cred că chestorul avea dreptate. Efectuarea unui sistem de sine stătător pe care nici măcar nu îl poți modifica este un mod destul de bun de a împiedica pe altcineva să facă schimbări nedorite.

Sper că am transmis nivelul de detaliu în discuția lui Krstic, fără a-ți face ochii să strălucească. Judecând după chatul în timp ce grupul s-a împrăștiat, adevărații geeki de securitate la nivel de octeți din cameră au fost foarte impresionați.

Apple expune detaliile ios de securitate