Video: Темы для iPhone на iOS 14 - простая установка оформления! Прозрачные виджеты и скрытые фишки (Decembris 2024)
Jūs jau esat dzirdējuši, ka Apple nesenajā Melnās cepures konferencē paziņoja par jaunu kļūdu aplaimošanas programmu. Neparastā izskatā šo paziņojumu pats izteicis Apple drošības tehnikas un arhitektūras vadītājs Ivans Krstičs. Bet tas bija tikai pēdējās 10 minūtes no 50 minūšu prezentācijas. Pirmās 40 minūtes Krstic veica nepieredzētu dziļu ieniršanu trīs iOS drošības komponentos. Un dziļi runājot, es domāju pirtssfērisko.
Kopumā es paņēmu bailes par to, cik rūpīgi šīs sistēmas aizsargā lietotāju datus pat no paša Apple. Es mēģināšu nodot teikto, nekļūstot pārāk tehnisks.
Cietināta WebKit JIT kartēšana
Atvainojiet, tas ir tas, ko sauc. JIT apzīmē Just In Time un norāda uz veidu, kā Javascript kods tiek sastādīts tieši tā izpildes laikā. "Tas ir nepieciešams augstas veiktspējas JavaScript darbībai, " skaidroja Krstičs. "Bet koda parakstīšanas politika ir jāatslābina. JIT kompilators izdod jaunu, neparakstītu kodu. Uzbrucējs, kurš vadīja uzbrukumu, kurā rakstīt jebkur, varēja ļaut izpildīt patvaļīgu kodu."
Nelielam fonam atmiņas apgabalus var marķēt ar lasīšanas, rakstīšanas un izpildes atļaujām. Šī atšķirība, kas ieviesta pirms daudziem gadiem, iznīcināja uzbrukumus, kas izpildīja kodu apgabalos, kas veltīti datiem. Īsumā Apple risinājums ir saistīts ar paņēmiena apkopotā JavaScript ievietošanu atmiņas apgabalā, kas ļauj veikt tikai izpildi. Procesi nevar nolasīt tur esošo informāciju vai rakstīt jaunus datus. Tajā ir nedaudz vairāk, bet šīs izmaiņas, kas raksturīgas operētājsistēmai iOS 10, iznīcina veselu virkni iespējamo uzbrukumu.
Drošs enklave procesors
Lietojumprogrammas Apple ierīcē darbojas centrālajā procesorā, ko sauc par lietojumprogrammu procesoru vai AP. Mūsdienu Apple ierīcēm ir pilnīgi atsevišķs centrālais procesors, kuru sauc par drošo enklaveļu procesoru jeb SEP. "SEP ir aizsargāta ar spēcīgu šifrēšanas galveno atslēgu no lietotāja piekļuves koda, " sacīja Krstičs. "Uzbrukums bezsaistē nav iespējams. Tas apiet AP uzbrukuma virsmu pat tad, ja AP ir apdraudēts. Tas izšķir visu lietotāju piekļuvi un pārvalda savu šifrēto atmiņu. Pirmajā inicializācijā tas izmanto patiesu izlases numuru ģeneratoru, lai izveidotu unikālu procesora ierīces atslēgu. Tas nav eksportējams, un tas tiek saglabāts nemainīgā drošā ROM."
Krstic turpināja izskaidrot, kā ierīce izmanto četru veidu iekšējās drošības atslēgas ar atšķirīgām īpašībām. A tips pastāv tikai tad, kad ierīce ir atbloķēta. B tips ir vienmēr esošā publiskā atslēga, kā arī privātā atslēga, kas pastāv, kad ierīce tiek atbloķēta. C tips stājas spēkā pirmo reizi, kad ierīce tiek atbloķēta pēc sāknēšanas. Un D tips vienmēr ir pieejams.
Prezentācija pārcēlās uz vairākām nopietni sarežģītām diagrammām. Viens gāja cauri ierīces sāknēšanas un atbloķēšanas procesam, parādot, kā katrs taustiņu tips tika izveidots un saglabāts. Katram ierīces failam ir sava, unikāla šifrēšanas atslēga; citā diagrammā tika parādīta sarežģītā deja, kas ļauj SEP autentificēt un atšifrēt šo failu, saglabājot būtiskās drošības atslēgas sevī. Cits paskaidroja sarežģīto procesu, kas ļauj jums izvēlēties “Atjaunināt vēlāk”. Un vēl viens gāja cauri procesam, kas ļauj atbloķēt caur touch ID, nekādā gadījumā neļaujot galvenajai atslēgai būt redzamai.
Šajā sarunu daļā galvenais ir tas, ka Apple patiešām ir patiešām pārdomājis visu, kas nepieciešams, lai šifrēšanu pilnībā pārvaldītu drošā enklava procesora iekšienē, nepiespiežot lietotāju vispār sagādāt lielas problēmas. Ja vēlaties pats redzēt šīs diagrammas, apskatiet pilnu Krstic prezentāciju.
Noslēpumu sinhronizēšana
Tas ir šausmīgi ērti, jo jūs varat sinhronizēt savus datus starp vairākām Apple ierīcēm. HomeKit ļauj pārvaldīt IoT ierīces, AutoUnlock liek jūsu Mac atbloķēt, kad tuvumā atrodas Apple Watch, fotoattēli tiek sinhronizēti, izmantojot iCloud utt. Bet drošībā, sinhronizācija ir problēma.
"Tradicionālā pieeja nav laba, " sacīja Krstičs. "Viens no veidiem ir likt lietotājam visās ierīcēs ievadīt spēcīgu“ zeķu atvilktnes atslēgu ”; to pazaudēt un tiek zaudēta piekļuve noslēpumiem. Otrs veids ir ietīt datus atvasinātā atslēgā, atstājot datus pakļautus konta nodrošinātājs ".
"Mums šeit bija vairāki mērķi, " turpināja Krstičs. "Noslēpumiem jābūt pieejamiem visām ierīcēm, kuras aizsargā spēcīga šifrēšana. Lietotāji var atgūt noslēpumus pat tad, ja tiek pazaudētas visas savienotās ierīces. Dati netiek pakļauti Apple un nav iespējama brutāla spēka uzbrukums."
Autentifikācija iCloud Keychain pamata sistēmā ir vienkārša. Katrai ierīcei ir savs atslēgu pāris, un, lai sinhronizācijas lokam pievienotu jaunu ierīci, tā jāapstiprina no kādas no jūsu esošajām ierīcēm. Apple aizmugure nav iesaistīta; tai nav privilēģiju. Ja lietotājs zaudē piekļuvi visām ierīcēm, piekļuvi var atgūt, izmantojot gan iCloud drošības atslēgu, gan iCloud paroli.
Krstiks ļoti detalizēti paskaidroja, kā Apple pārvalda šo sistēmu, neatstājot ne mazāko iespēju, ka ikviens, ieskaitot ikvienu Apple, varētu piekļūt datiem no aizmugures. Sistēma ietver tā dēvētās admin kartes, kas izveidotas brīdī, kad tiek nodots ekspluatācijā jauns kripto serveru parks. "Administratora kartes tiek izveidotas drošā ceremonijā, kad flote tiek nodota ekspluatācijā, un tiek glabātas atsevišķos fiziskos seifos, kas atrodas trīs dažādu Apple organizāciju uzraudzībā, pret viltojumiem drošos pierādījumu maisos, " sacīja Krstičs.
Šī situācija ilgst tikai līdz flotes faktiskai nodošanai ekspluatācijā. Tajā laikā sacīja Krstičs: "Mēs ieviesām admin kartes, izmantojot jaunu vienvirziena hash funkciju." Izvelkot no pjedestāla skaidri lietotu blenderi, viņš turpināja: "Jā, brauciens caur blenderi." Kad šifrēšanas serveru parks ir aktīvs, to nekādā veidā nevar atjaunināt vai modificēt, pat ne Apple, jo admin kartes ir iznīcinātas. Ja gadās, ka atjauninājums patiešām ir nepieciešams, Apple ir jāizveido jauns autoparks un jāizsniedz programmatūras atjauninājums, kas liek lietotāju ierīcēm izveidot savienojumu ar jauno autoparku.
"Kāpēc mēs to darām, " sacīja Krstičs. "Kāpēc mēs speram šo pēdējo ārkārtīgi neparasto soli? Mēs ļoti cenšamies izveidot drošības sistēmas, lai nodrošinātu uzticēšanos. Kad dati tiek atstāti no ierīces, likmes ir vēl augstākas. Mums šī uzticība jāsaglabā. Ja mēs glabājam Šīs administratora kartes, iespējams, tā nav taisnība. Tieši tik nopietni mēs uztveram savu misiju par lietotāju datiem."
Vaicāts: "Vai jūs to izdarījāt FBI informācijas pieprasījumu dēļ?" Krstičs atbildēja: "Esmu inženieris. Es varu atbildēt tikai uz jautājumiem par to, kāpēc es šodien uzstājos." Labi, pietiekami godīgi. Bet es domāju, ka jautātājam bija taisnība. Patstāvīgas sistēmas izveidošana, kuru pat nevarat modificēt pats, ir diezgan labs veids, kā neļaut kādam citam veikt nevēlamas izmaiņas.
Es ceru, ka esmu nodevis Krstic sarunu detalizācijas pakāpi, nepieliekot jūsu acīm stiklu. Spriežot pēc pļāpāšanas, grupai izklīstot, patiesie baitu līmeņa drošības geeks telpā bija ļoti iespaidoti.