Video: iOS 15 УБЬЁТ iPhone 6s, SE и 7? (November 2024)
Do zdaj ste že slišali, da je Apple na nedavni konferenci Black Hat napovedal nov program za odpravljanje napak. Ivan Krstič, Apple-ov vodja varnostnega inženiringa in arhitekture, je v nenavadnem videzu podal sam. Toda to je bilo le zadnjih 10 minut 50-minutne predstavitve. Prvih 40 minut se je Krstic v globino potopil v tri komponente varnosti iOS. In globoko, mislim na kopalnico.
Na splošno sem se zbujala v strahu pred tem, kako temeljito ti sistemi ščitijo uporabniške podatke, tudi pred Appleom samim. Poskušal bom prenesti to, kar je bilo rečeno, ne da bi pri tem postal preveč tehničen.
Utrjeno WebKit JIT preslikava
Oprosti, tako se imenuje. JIT pomeni Just In Time in se nanaša na način, kako je Javascript koda sestavljena ravno pravočasno za njeno izvedbo. "To je potrebno za visoko zmogljiv JavaScript, " je pojasnil Krstič. "Toda pravilnik za podpisovanje kode mora biti sproščen. Prevajalnik JIT odda novo, nepodpisano kodo. Napadalec, ki je upravljal napad, kamor koli napiše, lahko omogoči izvajanje poljubne kode."
Za malo ozadja je mogoče območja pomnilnika označiti z dovoljenjem za branje, pisanje in izvajanje. To razlikovanje, uvedeno pred leti, je izničilo napade, ki so izvrševali kodo na področjih, namenjenih podatkom. Na kratko, Appleova rešitev vključuje tehniko, s katero sestavi sestavljeni JavaScript v pomnilniško območje, ki dovoljuje le izvedbo. Procesi ne morejo prebrati, kaj je tam, ali napisati novih podatkov. V tem je nekaj več, vendar ta sprememba, značilna za iOS 10, izbriše celo vrsto možnih napadov.
Varen procesor Enclave
Aplikacije na napravi Apple tečejo v procesorju, imenovanem Application Processor ali AP. Sodobne naprave Apple imajo popolnoma ločen CPU, imenovan Process Secure Enclave, ali SEP. "SEP je zaščiten z močnim kriptografskim glavnim ključem pred uporabniškim geslom, " je dejal Krstič. "Napad brez povezave ni mogoč. Prepreči napadno površino AP-ja, tudi če je AP ogrožen. Arbitrira ves dostop uporabnika in upravlja svoj šifriran pomnilnik. Pri prvi inicializaciji uporablja pravi generator naključnih števil, da ustvari edinstven ključ naprave znotraj procesorja. Ni ga mogoče izvoziti in je shranjen v nespremenljivem varnem ROM-u."
Krstič je nadalje razlagal, kako naprava uporablja štiri vrste notranjih varnostnih ključev z različnimi lastnostmi. Tip A obstaja samo, ko je naprava odklenjena. Tip B je vedno prisoten javni ključ in zasebni ključ, ki obstaja, ko je naprava odklenjena. Tip C nastane prvič, ko se naprava po zagonu odklene. In tip D je vedno na voljo.
Predstavitev se je nadaljevala na številnih resno zapletenih diagramih. Eden se je sprehodil skozi postopek zagona in odklepanja naprave in prikazal, kako so bile ustvarjene in shranjene posamezne vrste ključev. Vsaka datoteka v vaši napravi ima svoj edinstven šifrirni ključ; v drugem diagramu je bil prikazan zapleten ples, ki SEP-ju omogoča avtentifikacijo in dešifriranje te datoteke, hkrati pa najpomembnejše varnostne ključe obdrži v sebi. Drugi je razložil zapleten postopek, zaradi katerega lahko izberete »Posodobi pozneje«. In še en korak je potekal skozi postopek, ki omogoča odklepanje prek ID-ja dotika, ne da bi na kakršen koli način ohranili glavni ključ.
Ključni odvzem tega dela je, da je Apple resnično zelo dobro premislil, kaj vse je potrebno za upravljanje šifriranja v celoti v procesorju Secure Enclave, ne da bi uporabnik prisilil v velike težave. Če bi radi videli te diagrame zase, si oglejte Krstičevo celotno predstavitev.
Sinhroniziranje skrivnosti
Zelo priročno je, da lahko podatke sinhronizirate med več Apple napravami. HomeKit vam omogoča upravljanje naprav IoT, program AutoUnlock odklene Mac, ko je Apple Watch v bližini, vaše fotografije se sinhronizirajo prek iCloud in tako naprej. Toda sinhroniziranje je težavno zaradi varnosti.
"Tradicionalni pristopi niso dobri, " je dejal Krstič. "Eden od načinov je, da uporabnik v vse naprave vnese močan" ključ za predal nogavic "; izgubi ga in izgubi dostop do skrivnosti. Drugi način je, da podatke ovijete v izpeljani ključ, ki podatke pusti izpostavljenim ponudnik računa."
"Tu smo imeli številne cilje, " je nadaljeval Krstič. "Skrivnosti morajo biti na voljo vsem napravam, zaščitene z močno kriptovaluto. Uporabniki lahko povrnejo skrivnosti, tudi če izgubijo vse povezane naprave. Podatki niso izpostavljeni Appleu in ni nobene možnosti napada z grobo silo."
Preverjanje pristnosti v osnovnem sistemu iCloud Keychain je preprosto. Vsaka naprava ima svoj ključni par in če želite dodati novo napravo v sinhronizacijski krog, jo morate odobriti iz ene od obstoječih naprav. Applov zalednik ni vključen; nima privilegijev. Če uporabnik izgubi dostop do vseh naprav, lahko dostop znova pridobi z varnostnim ključem iCloud in geslom iCloud.
Krstič je zelo podrobno razložil, kako Apple upravlja s tem sistemom, ne da bi odprl najmanjšo možnost, da bi kdor koli, tudi kdo v Apple-u, lahko dostopal do podatkov s zadnje strani. Sistem vključuje tako imenovane skrbniške kartice, ki so bile ustvarjene v času, ko se začne obratovati nova flota kripto strežnikov. "Admin kartice so izdelane v varni slovesnosti, ko je flota naročena, in shranjene v ločenih fizičnih sefih v priporu treh različnih organizacij pri Apple, v dokazno varnih vrečah, " je dejal Krstič.
Takšno stanje traja le do dejanske uporabe flote. Takrat je Krstič dejal: "Administratorske kartice smo postavili skozi novo enosmerno funkcijo hash-a." Izvlekel je očitno rabljen mešalnik izpod stopničke in nadaljeval: "Ja, potovanje skozi mešalnik." Ko je vozni park kripto strežnikov aktiven, ga Apple ne more na noben način posodobiti ali spremeniti, niti Apple, ker so bile administratorske kartice uničene. Če se zgodi, da je resnično potrebna posodobitev, mora Apple posodobiti nov vozni park in poslati posodobitev programske opreme, s katero se uporabniške naprave povežejo z novo floto.
"Zakaj to počnemo, " je rekel Krstič. "Zakaj naredimo ta zadnji korak, ki je izjemno nenavaden? Zelo se trudimo, da oblikujemo varnostne sisteme, da bi jim zagotovili zaupanje. Ko podatki zapustijo napravo, je delež še večji. To zaupanje moramo ohraniti. Če ohranimo posest te skrbniške kartice, obstaja možnost, da to ni res. Tako resno jemljemo svoje poslanstvo glede uporabniških podatkov."
Na vprašanje: "Ste to storili zaradi prošenj FBI po informacijah?" Krstič je odgovoril: "Jaz sem inženir. Odgovorim lahko samo na vprašanja, zakaj sem se danes predstavil." V redu, dovolj pošteno. Mislim pa, da je vprašalnik imel prav. Izdelava samostojnega sistema, ki ga niti sami ne morete spremeniti, je dober dober način, da preprečite, da bi kdo drug naredil neželene spremembe.
Upam, da sem v Krstičevem govoru prenesla raven podrobnosti, ne da bi se vaše oči zasukale. Sodeč po kramljanju, ko se je skupina razpršila, so bili resnični bajtniški varnostniki v sobi zelo navdušeni.