Ako chrániť svoj účet iCloud pred hackermi. Apple: Zdieľanie údajov iCloud urobí iPhone inteligentnejším? Správa o zmene kódu

  • 06.04.2019

Bezpečné ukladanie hesiel a ich synchronizácia medzi zariadeniami nie je jednoduchá úloha. Asi pred rokom Apple predstavil svetu iCloud Keychain, svoj centralizovaný sklad hesiel pre OS X a iOS. Pokúsme sa zistiť, kde a ako sú uložené heslá používateľov, aké potenciálne riziká to prináša a či je spoločnosť Apple technicky schopná získať prístup k dešifrovaným údajom uloženým na jej serveroch. Spoločnosť tvrdí, že takýto prístup je nemožný, ale aby sme to potvrdili alebo vyvrátili, je potrebné pochopiť, ako funguje iCloud Keychain.

iCloud 101

V skutočnosti iCloud nie je len jedna služba, je to všeobecný marketingový názov pre celý rad cloudových služieb Apple. Zahŕňa to synchronizáciu nastavení, dokumentov a fotografií a funkciu Nájsť môj telefón na nájdenie stratených alebo ukradnutých zariadení a zálohu iCloud na zálohovanie do cloudu a teraz je tu aj kľúčenka iCloud na bezpečnú synchronizáciu hesiel a čísel kreditných kariet medzi zariadeniami so systémom iOS a OS X...

Každá služba iCloud sa nachádza na vlastnej doméne tretej úrovne, ako je napríklad pXX-keyvalueservice.icloud.com, kde XX je číslo skupiny serverov zodpovednej za spracovanie požiadaviek od aktuálneho používateľa; toto číslo sa môže líšiť pre rôzne Apple ID; novšie účty majú zvyčajne vyššiu hodnotu tohto počítadla.

Bezpečnostný kód ICloud

Predtým, ako sa pustíme do analýzy iCloud Keychain, pozrime sa, ako je táto služba nakonfigurovaná. Keď je iCloud Kľúčenka zapnutá, používateľ je vyzvaný, aby vymyslel a zadal bezpečnostný kód iCloud (bezpečnostný kód iCloud, ďalej len iCSC). Vstupný formulár štandardne umožňuje použiť štvormiestny číselný kód, ale kliknutím na odkaz „Rozšírené možnosti“ môžete stále použiť zložitejší kód alebo dokonca nechať zariadenie vygenerovať silný náhodný kód.

Teraz vieme, že dáta v iCloud Keychain sú chránené iCSC. No, pokúsme sa zistiť, ako presne je táto ochrana implementovaná!

Zachytávanie premávky alebo man-in-the-middle

Prvým krokom pri analýze sieťových služieb je často získanie prístupu k sieťovej prevádzke medzi klientom a serverom. V prípade iCloud sú pre nás dve správy: dobrá a zlá. Zlé je, že všetka (no, alebo aspoň jej drvivá väčšina) prevádzka je chránená pomocou TLS / SSL, to znamená, že je šifrovaná a nedá sa „prečítať“ bežným pasívnym útokom. Dobrou správou je, že spoločnosť Apple dala každému, kto chce preskúmať iCloud, darček a nepoužíva pripínanie certifikátov, vďaka čomu je ľahké zorganizovať útok typu man-in-the-middle a dešifrovať zachytenú komunikáciu. Na to stačí:

  1. Umiestnite experimentálne zariadenie so systémom iOS na rovnakú sieť Wi-Fi s odpočúvacím počítačom.
  1. Nainštalujte do počítača zachytávací proxy server (napríklad Burp, Charles Proxy alebo iný).
  1. Importujte certifikát TLS / SSL nainštalovaného proxy servera do zariadenia so systémom iOS (podrobnosti v pomocníkovi konkrétneho proxy).
  1. V nastaveniach siete Wi-Fi na zariadení so systémom iOS (Nastavenia → Wi-Fi → Názov siete → HTTP Proxy) zadajte IP adresu zachytávajúceho počítača v sieti Wi-Fi a port, na ktorom proxy server počúva.

Ak je všetko vykonané správne, všetka prevádzka medzi zariadením a iCloud bude na prvý pohľad. A zo zachytenia tejto prevádzky bude jasne vidieť, že iCloud Keychain je postavený na báze dvoch služieb iCloud: com.apple.Dataclass.KeyValue a com.apple.Dataclass.KeychainSync - pri prvom aj opakovanom zapnutí na iných iOS zariadeniach si vymieňa údaje s týmito službami.

Prvá služba nie je nová a patrila medzi prvé funkcie iCloud; je široko používaný aplikáciami na synchronizáciu nastavení. Druhý je nový a bol vyvinutý, samozrejme, špeciálne pre iCloud Keychain (hoci jeho funkčnosť vám teoreticky umožňuje použiť ho na iné účely). Poďme sa na tieto služby pozrieť bližšie.

com.apple.Dataclass.KeyValue

Ako je uvedené vyššie, toto je jedna zo služieb, ktoré používa iCloud Keychain. Mnoho existujúcich aplikácií ho používa na synchronizáciu malého množstva údajov (nastavenia, záložky a podobne). Každý záznam uložený touto službou je spojený s ID balíka a názvom obchodu. V súlade s tým je pre príjem uložených údajov zo služby potrebné poskytnúť aj tieto identifikátory. V rámci iCloud Keychain sa táto služba používa na synchronizáciu záznamov Keychain v zašifrovanej forme. Tento proces je dostatočne podrobne popísaný v dokumente Zabezpečenie systému iOS v časti Synchronizácia kľúčenky a Ako funguje synchronizácia kľúčenky.

Synchronizácia kľúčenky

Keď používateľ prvýkrát zapne iCloud Keychain, zariadenie vytvorí kruh dôveryhodnosti a synchronizuje identitu (verejné a súkromné ​​kľúče) pre aktuálne zariadenie. Verejný kľúč tohto páru je umiestnený v „kruhu dôvery“ a tento „kruh“ je podpísaný dvakrát: najprv súkromným synchronizačným kľúčom zariadenia a potom asymetrickým kľúčom (založeným na eliptickej kryptografii) odvodeným z hesla používateľa iCloud. . V „kruhu“ sú uložené aj parametre na výpočet kľúča z hesla, ako je soľ a počet opakovaní.

Podpísaný "kruh" je uložený v pamäti kľúča / hodnoty. Nedá sa prečítať bez znalosti hesla používateľa iCloud a nedá sa zmeniť bez znalosti súkromného kľúča jedného zo zariadení pridaných do kruhu.

Keď používateľ zapne iCloud Keychain na inom zariadení, toto zariadenie pristúpi k úložisku kľúča/hodnoty v iCloude a všimne si, že používateľ už má „kruh dôvery“ a že nové zariadenie v ňom nie je zahrnuté. Zariadenie vygeneruje synchronizačné kľúče a potvrdenie o žiadosti o členstvo v kruhu. Potvrdenie obsahuje verejný synchronizačný kľúč zariadenia a je podpísané kľúčom získaným z hesla používateľa iCloud pomocou parametrov generovania kľúčov získaných z úložiska kľúča/hodnoty. Podpísaná účtenka sa potom umiestni do úložiska kľúča/hodnoty.

Prvé zariadenie uvidí nový doklad a používateľovi zobrazí správu, že nové zariadenie žiada o pridanie do kruhu dôveryhodnosti. Používateľ zadá heslo iCloud a skontroluje sa správnosť podpisu účtenky. To dokazuje, že používateľ, ktorý vygeneroval žiadosť o pridanie zariadenia, zadal pri vytváraní účtenky správne heslo.

Keď používateľ potvrdí pridanie zariadenia do kruhu, prvé zariadenie pridá verejný synchronizačný kľúč nového zariadenia do kruhu a dvakrát ho znova podpíše pomocou svojho súkromného synchronizačného kľúča a kľúča získaného z hesla používateľa iCloud. Nový „kruh“ sa uloží v iCloude a nové zariadenie ho podpíše rovnakým spôsobom.

Ako funguje synchronizácia kľúčenky

Teraz sú v „kruhu dôvery“ dve zariadenia a každé z nich pozná verejné kľúče na synchronizáciu iných zariadení. Začnú si vymieňať záznamy Keychain cez iCloud Key / Value storage. Ak je rovnaký záznam prítomný na oboch zariadeniach, prioritu bude mať úprava s neskorším časom. Ak je čas úpravy záznamu v iCloude a na zariadení rovnaký, záznam sa nesynchronizuje. Každý záznam synchronizácie je zašifrovaný špeciálne pre cieľové zariadenie; nedá sa dešifrovať inými zariadeniami ani spoločnosťou Apple. Nahrávka navyše nie je natrvalo uložená v iCloude – je prepísaná novými synchronizovanými nahrávkami.

Tento proces sa opakuje pre každé nové zariadenie pridané do kruhu dôvery. Ak sa napríklad do kruhu pridá tretie zariadenie, žiadosť o potvrdenie sa zobrazí na ďalších dvoch zariadeniach. Používateľ môže potvrdiť pridanie na ktoromkoľvek z nich. Pri pridávaní nových zariadení sa každé zariadenie v kruhu synchronizuje s novými, aby sa zaistilo, že sada záznamov bude na všetkých zariadeniach rovnaká.

Je potrebné poznamenať, že nie je synchronizovaná celá kľúčenka. Niektoré položky sú prepojené so zariadením (napríklad účty VPN) a nemali by opustiť zariadenie. Synchronizované sú len záznamy, ktoré majú atribút kSecAttrSynchronizable. Spoločnosť Apple nastavila tento atribút pre používateľské údaje Safari (vrátane používateľských mien, hesiel a čísel kreditných kariet) a pre heslá Wi-Fi.

V predvolenom nastavení sa tiež nesynchronizujú záznamy z aplikácií tretích strán. Na ich synchronizáciu musia vývojári pri pridávaní položky do kľúčenky explicitne nastaviť atribút kSecAttrSynchronizable.

iCloud Keychain funguje s dvoma úložiskami:

  • com.apple.security.cloudkeychainproxy3
– ID balíka: com.apple.security.cloudkeychainproxy3;
  • com.apple.sbd3
- Bundle ID: com.apple.sbd (SBD je skratka pre Secure Backup Daemon).

Prvý obchod sa údajne používa na udržiavanie zoznamu dôveryhodných zariadení (zariadenia v „kruhu dôvery“, medzi ktorými je povolená synchronizácia hesiel), na pridávanie nových zariadení do tohto zoznamu a na synchronizáciu záznamov medzi zariadeniami (v súlade s mechanizmom popísané vyššie).

Druhé úložisko je určené na zálohovanie a obnovu Keychain záznamov do nových zariadení (napríklad keď v „kruhu dôvery nie sú žiadne iné zariadenia“) a obsahuje zašifrované Keychain záznamy a súvisiace informácie.

Záznamy Keychain sú teda uložené v bežnom úložisku kľúča/hodnoty (com.apple.securebackup.record). Tieto záznamy sú šifrované pomocou sady kľúčov, ktoré sú tam uložené (BackupKeybag). Táto sada kľúčov je však chránená heslom. Odkiaľ pochádza toto heslo? Čo je služba úschovy hesiel spoločnosti Apple? Ďalej sa to pokúsime zistiť.

apple.Dataclass.KeychainSync

Ide o novú službu, ktorá vznikla pomerne nedávno: po prvýkrát sa jej podpora objavila v beta verziách iOS 7, potom chýbala v iOS 7.0–7.0.2 a bola znovu pridaná v iOS 7.0.3, ktorý bol vydané súčasne s vydaním OS X Mavericks. Toto je služba uloženia hesla uvedená vyššie (adresa služby je pXX-escrowproxy.icloud.com).

Služba je navrhnutá tak, aby bezpečne uchovávala používateľské tajomstvá a umožňuje používateľovi tieto tajomstvá po úspešnej autentifikácii obnoviť. Pre úspešnú autentifikáciu potrebujete nasledovné:

  • autentifikačný token iCloud získaný výmenou za Apple ID a heslo počas počiatočnej autentifikácie do iCloud (štandardná metóda autentifikácie pre väčšinu služieb iCloud);
  • Bezpečnostný kód iCloud (iCSC);
  • šesťmiestny číselný kód odoslaný servermi spoločnosti Apple na číslo mobilného telefónu spojeného s používateľom.

Teoreticky to vyzerá dobre, ale aby sme zistili, či je teória rovnaká ako prax, musíme vykonať audit klientskeho programu úschovy. V systémoch iOS a OS X sa tento program nazýva com.apple.lakitu. Popis procesu jeho reverzácie a auditu je nad rámec článku, poďme teda rovno k výsledkom.

Dostupné príkazy

Audit com.apple.lakitu vám umožňuje definovať zoznam príkazov implementovaných službou escrow. Príslušná snímka obrazovky zobrazuje príkazy a ich popis. Zvlášť by som sa chcel zastaviť pri poslednom príkaze - s jeho pomocou je možné zmeniť telefónne číslo spojené s bežným účtom. Prítomnosť tohto príkazu spôsobuje, že viacfaktorová autentifikácia používaná na obnovenie kľúčenky iCloud (heslo Apple ID + iCSC + zariadenie) je výrazne menej spoľahlivá, pretože eliminuje jeden z faktorov. Zaujímavé je, že používateľské rozhranie iOS neumožňuje vykonať tento príkaz – jednoducho takúto možnosť nemá (aspoň ja som ju nenašiel).

Zvláštnosťou tohto príkazu, ktorý ho odlišuje od všetkých ostatných, je, že vyžaduje autentifikáciu pomocou hesla Apple ID a nebude fungovať, ak sa na autentifikáciu použije iCloud token (iné príkazy fungujú s autentifikáciou tokenu). Slúži to ako dodatočná ochrana tímu a naznačuje, že dizajnéri systému podnikli kroky na zlepšenie jeho zabezpečenia. Nie je však celkom jasné, prečo je tento príkaz v systéme vôbec prítomný.

Obnova uložených údajov

Na prijatie uložených údajov sa vykoná nasledujúci protokol:

  1. Klient požaduje zoznam uložených záznamov (/ get_records).
  1. Klient požaduje priradené telefónne číslo, na ktoré mu server odošle potvrdzovací kód (/ get_sms_targets).
  1. Klient iniciuje vygenerovanie a doručenie potvrdzovacieho kódu (/ generation_sms_challenge).
  1. Po zadaní iCSC a SMS potvrdzovacieho kódu klient spustí pokus o autentifikáciu pomocou protokolu SRP-6a (/ srp_init).
  1. Po prijatí odpovede zo servera klient vykoná výpočty predpísané protokolom SRP-6a a vyžiada si uložené dáta (/obnoviť).
  1. Ak je klient úspešne overený, server vráti uložené údaje, ktoré predtým zašifroval pomocou kľúča vygenerovaného počas operácie protokolu SRP-6a (ak protokol fungoval úspešne, potom server aj klient vypočítali tento zdieľaný kľúč).

Je dôležité si uvedomiť, že telefónne číslo získané v kroku 2 slúži výlučne pre potreby používateľského rozhrania, teda na zobrazenie čísla, na ktoré bude používateľovi zaslaný potvrdzovací kód, a v kroku 3 klient neuvedie pošlite serveru číslo, na ktoré má byť zaslaný potvrdzovací kód.

Zabezpečené vzdialené heslo

V kroku 4 klient spustí protokol SRP-6a. Secure Remote Password (SRP) je protokol na overenie hesla, ktorý je chránený pred odpočúvaním a útokmi typu man-in-the-middle. Napríklad pri použití tohto protokolu nie je možné zachytiť hash hesla a potom sa ho pokúsiť obnoviť, jednoducho preto, že sa neprenáša žiadny hash.

Apple používa najpokročilejšiu verziu protokolu, SRP-6a. Táto možnosť dáva pokyn na ukončenie pripojenia, ak autentifikácia zlyhá. Apple navyše povoľuje len desať neúspešných pokusov o overenie danej služby, po ktorých sú všetky nasledujúce pokusy zablokované.

Podrobný popis protokolu SRP a jeho matematických základov presahuje rámec tohto článku, ale pre úplnosť nižšie uvádzame súkromnú verziu, ktorú používa služba com.apple.Dataclass.KeychainSync.

SHA-256 sa používa ako hašovacia funkcia H a 2048-bitová skupina z RFC 5054 „Using the Secure Remote Password (SRP) Protocol for TLS Authentication“ sa používa ako skupina (N, g). Protokol beží nasledovne:

  1. Zariadenie vygeneruje náhodnú hodnotu a, vypočíta A = g ^ a mod N, kde N a g sú parametre 2048-bitovej skupiny z RFC 5054, a odošle správu na server obsahujúcu ID používateľa, vypočítanú hodnotu A a potvrdzovací kód SMS. Ako identifikátor používateľa sa používa hodnota DsID, jedinečný číselný identifikátor používateľa.
  2. Po prijatí správy server vygeneruje náhodnú hodnotu b a vypočíta B = k * v + g ^ b mod N, kde k je faktor definovaný v SRP-6a ako k = H (N, g), v = g ^ H (Salt, iCSC) mod N je overovač hesla uložený na serveri (analóg hashu hesla), Salt je náhodná soľ vygenerovaná pri vytváraní účtu. Server odošle správu klientovi obsahujúcu B a soľ.
  3. Pomocou jednoduchých matematických transformácií klient a server vypočítajú spoločný kľúč relácie K. Tým sa dokončí prvá časť protokolu – vygenerovanie kľúča – a teraz sa klient a server musia uistiť, že dostanú rovnakú hodnotu K.
  4. Klient vypočíta M = H (H (N) XOR H (g) | H (ID) | Soľ | A | B | K), dôkaz, že pozná K, a odošle M a SMS potvrdzovací kód na server. Server tiež vypočíta M a porovnáva prijaté od klienta a vypočítanú hodnotu; ak sa nezhodujú, server ukončí vykonávanie protokolu a ukončí spojenie.
  5. Server klientovi preukáže znalosť K výpočtom a odoslaním H (A, M, K). Teraz obe strany protokolu nielen vypracovali spoločný kľúč, ale tiež zabezpečili, že tento kľúč je rovnaký pre obe strany. V prípade escrow služby server tiež vracia náhodný inicializačný vektor IV a escrow záznam zašifrovaný na zdieľanom kľúči K pomocou algoritmu AES v režime CBC.

Použitie SRP na dodatočnú ochranu používateľských údajov podľa môjho názoru výrazne zlepšuje bezpečnosť systému pred vonkajšími útokmi, už len preto, že vám umožňuje účinne odolávať pokusom o hrubú silu iCSC: môžete vyskúšať iba jedno heslo na pripojenie k službe . Po niekoľkých neúspešných pokusoch je účet (v rámci práce s escrow službou) prevedený do stavu soft lock a dočasne zablokovaný a po desiatich neúspešných pokusoch je účet zablokovaný úplne a ďalšia práca s escrow službou je možná len po resetovaní iCSC pre účet.

Zároveň používanie SRP žiadnym spôsobom nechráni pred internými hrozbami. Uložené heslo je uložené na serveroch Apple, takže sa dá predpokladať, že Apple k nemu v prípade potreby má prístup. V tomto prípade, ak heslo nebolo chránené (napríklad zašifrované) pred uložením do úschovy, môže to viesť k úplnej kompromitácii položiek Keychain uložených v iCloude, pretože uložené heslo umožní dešifrovanie šifrovacích kľúčov a - položky Keychain (pozri com. apple.Dataclass.KeyValue).

V dokumente iOS Security však Apple uvádza, že na ukladanie uložených záznamov sa používajú špecializované hardvérové ​​bezpečnostné moduly (HSM) a že k údajom uloženým u tretích osôb nie je možné pristupovať.

Zabezpečenie úschovy

iCloud poskytuje bezpečnú infraštruktúru pre úschovu kľúčov, ktorá zaisťuje, že kľúčenku môžu obnoviť iba autorizovaní používatelia a zariadenia. Klastre HSM chránia uložené záznamy. Každý klaster má svoj vlastný šifrovací kľúč, ktorý sa používa na ochranu záznamov.

Ak chcete obnoviť kľúčenku, používateľ sa musí overiť pomocou používateľského mena a hesla iCloud a odpovedať na odoslanú SMS. Keď to urobíte, používateľ musí zadať bezpečnostný kód iCloud (iCSC). HSM klaster overuje správnosť iCSC pomocou protokolu SRP; iCSC sa neprenáša na servery Apple. Každý uzol v klastri nezávisle od ostatných kontroluje, či používateľ neprekročil maximálny počet pokusov o načítanie údajov. Ak je overenie úspešné na väčšine uzlov, klaster dešifruje uložený záznam a vráti ho používateľovi.

Zariadenie potom použije iCSC na dešifrovanie uloženého záznamu a získanie hesla použitého na zašifrovanie záznamov Keychain. Pomocou tohto hesla sa kľúčenka získaná z úložiska kľúčov / hodnôt dešifruje a obnoví sa v zariadení. Povolených je iba desať pokusov na overenie a získanie uložených údajov. Po niekoľkých neúspešných pokusoch sa záznam zablokuje a používateľ musí kontaktovať podporu, aby ho odblokoval. Po desiatom neúspešnom pokuse klaster HSM zničí uložený záznam. To poskytuje ochranu pred útokmi hrubou silou zameranými na získanie záznamu.

Bohužiaľ nie je možné overiť, či sa HSM skutočne používajú. Ak je všetko pravda a HSM neumožňuje čítanie údajov v nich uložených, potom možno tvrdiť, že údaje iCloud Keychain sú chránené pred internými hrozbami. Ale opäť, žiaľ, nie je možné dokázať ani vyvrátiť použitie HSM a nemožnosť z nich vyčítať údaje.

Zostáva ešte jeden spôsob ochrany údajov pred internou hrozbou – ochrana uložených údajov v zariadení pred ich prenosom na servery spoločnosti Apple. Z popisu Apple vyplýva (a zvrat to potvrdzuje), že takáto ochrana je aplikovaná – uložené heslo je vopred zašifrované pomocou iCSC. Je zrejmé, že v tomto prípade úroveň zabezpečenia (pred internou hrozbou) priamo závisí od zložitosti iCSC a predvolený štvorznakový iCSC neposkytuje dostatočnú ochranu.

Prišli sme teda na to, ako fungujú jednotlivé prvky systému, a teraz je čas pozrieť sa na celý systém.

Dávať to všetko dokopy

Diagram ukazuje prácu iCloud Keychain z hľadiska ukladania a obnovovania záznamov Keychain. Systém funguje nasledovne:

  1. Zariadenie generuje sadu náhodných kľúčov (v Apple terminológii - keybag) na šifrovanie Keychain záznamov.
  2. Zariadenie zašifruje položky Keychain (s nastaveným atribútom kSecAttrSynchronizable) pomocou sady kľúčov vygenerovanej v predchádzajúcom kroku a zašifrované položky uloží do úložiska kľúčov/hodnoty com.apple.sbd3 (kľúč com.apple.securebackup.record).
  3. Zariadenie vygeneruje náhodné heslo pozostávajúce zo šiestich skupín po štyroch znakoch (entropia takéhoto hesla je približne 124 bitov), ​​zašifruje sadu kľúčov vygenerovaných v kroku 1 týmto heslom a zašifrovanú sadu kľúčov uloží do kľúča. / Ukladanie hodnoty com.apple. sbd3 (BackupKeybag).
  4. Zariadenie zašifruje náhodné heslo vygenerované v predchádzajúcom kroku pomocou kľúča získaného z bezpečnostného kódu iCloud používateľa a uloží zašifrované heslo do služby com.apple.Dataclass.KeychainSync.

Pri nastavovaní iCloud Keychain môže používateľ namiesto predvoleného štvormiestneho kódu použiť zložitý alebo náhodný iCSC. Ak sa použije zložitý kód, mechanizmus depozitného systému sa nemení; rozdiel je len v tom, že kľúč na zašifrovanie náhodného hesla sa nebude počítať zo štvormiestneho iCSC, ale zo zložitejšieho zadaného používateľom.

Pri náhodnom kóde sa subsystém escrow hesla vôbec nepoužíva. V tomto prípade je systémom vygenerované náhodné heslo iCSC a úlohou užívateľa je zapamätať si ho a bezpečne uložiť. Položky kľúčenky sú stále zašifrované a uložené v úložisku kľúčov / hodnôt com.apple.sbd3, ale služba com.apple.Dataclass.KeychainSync sa nepoužíva.

závery

Pokojne môžeme povedať, že z technického hľadiska (teda neuvažujeme so sociálnym inžinierstvom) a vo vzťahu k vonkajším hrozbám (teda nie Apple) je bezpečnosť escrow služby iCloud Keychain na dostatočnej úrovni: vďaka použitiu protokolu SRP, aj keď je heslo iCloud prezradené, útočník nebude mať prístup k záznamom Keychain, pretože to navyše vyžaduje bezpečnostný kód iCloud a iterácia tohto kódu je značne náročná.

Zároveň pomocou iného mechanizmu iCloud Keychain – synchronizácie hesla, môže útočník, ktorý prelomil heslo iCloud a má krátky fyzický prístup k jednému zo zariadení používateľa, úplne kompromitovať iCloud Keychain: na to stačí pridať útočníkovu kľúčenku. zariadenia do „kruhu dôvery“ zariadení používateľa a na to stačí poznať heslo iCloud a mať krátkodobý prístup k zariadeniu používateľa na potvrdenie žiadosti o pridanie nového zariadenia do „kruhu“.

Ak vezmeme do úvahy ochranu pred internými hrozbami (teda Apple alebo niekoho s prístupom na servery Apple), tak v tomto prípade bezpečnosť escrow služby nevyzerá až tak ružovo. Tvrdenia spoločnosti Apple o používaní HSM a neschopnosti čítať z nich údaje nemajú žiadne presvedčivé dôkazy a kryptografická ochrana uložených údajov je viazaná na bezpečnostný kód iCloud, pričom predvolené nastavenia sú extrémne slabé a umožňujú každému, kto je schopný výpis z uložených záznamov na serveroch Apple (alebo HSM), obnovte svoj štvormiestny bezpečnostný kód iCloud takmer okamžite.

V prípade zložitého alfanumerického kódu sa tento útok s pribúdajúcim počtom možných hesiel stáva náročnejším. Ak je iCloud Keychain nakonfigurovaný na používanie náhodného kódu, potom služba úschovy nie je vôbec zapojená, čo v skutočnosti znemožňuje tento vektor útoku.

Maximálna úroveň bezpečnosti (samozrejme nepočítajúc úplné vypnutie iCloud Keychain) je zabezpečená pri použití náhodného kódu – a to ani nie tak preto, že by sa takýto kód ťažšie hľadal, ale preto, že nie je zapojený subsystém úschovy hesiel. , a preto je plocha útoku znížená. Ale pohodlie tejto možnosti, samozrejme, ponecháva veľa želaní.

Myslím, že už každý vie, že v noci na 1. septembra sa na internete začali objavovať intímne fotografie z hacknutých účtov celebrít. Humbuk vzrástol, samozrejme, dosť veľký a všetky spravodajské kanály boli plné jasných titulkov a fotografií nahých dievčat. Z našej strany by sme chceli našim čitateľom sprostredkovať niekoľko jednoduchých tipov, ktoré pomôžu chrániť váš účet pred hackermi. Tieto metódy budú diskutované nižšie.

čo je to cloud?

Najprv sa pozrime na to, čo je iCloud. S najväčšou pravdepodobnosťou mnohí ani nepremýšľali o jeho účele (a niektorí dokonca o jeho existencii). iCloud je 5 GB voľného miesta na ukladanie vašich fotiek, videí, dokumentov, rôznych dát aplikácií a záloh, ktoré sa nachádza na serveroch Apple. Práve cez tento „cloud“ sa medzi vašimi zariadeniami Apple synchronizujú vaše poznámky, nastavenia aplikácií a mnoho ďalšieho. V tomto prípade je iCloud vaším osobným kúskom na pevnom disku v dátovom centre cupertinskej spoločnosti. Služba funguje na všetkých produktoch Apple (iOS, OS X) a Windows (obmedzene). iCloud sa trochu líši od iných cloudových riešení v tom, že vám neumožňuje priamo kopírovať informácie do konkrétneho priečinka na synchronizáciu súborov na zariadeniach, ale po niekoľkých týždňoch, s vydaním OS X Yosemite, sa situácia mierne zmení, pretože systém bude podporovať iCloud Drive - logické a vylepšené pokračovanie služby iCloud.

Bezpečnosť

Samozrejme, mnohí o tom môžu začať sarkasticky, ak sa však pozriete trochu späť a pozriete sa na vývoj cloudových technológií (a skutočne na vývoj bezpečnosti siete a osobných údajov používateľov), potom služba Apple prežila dosť dlho, ak vezmeme do úvahy jeho dlhoročný vzhľad. Vo všeobecnosti bola veľká väčšina rôznych služieb a projektov hacknutá. Pripomeňme si aspoň nedávny príbeh s twitterovým účtom ruského premiéra. A minulý týždeň bola hacknutá spoločnosť Sony (segment PlayStation Network). Našťastie sa nič vážne nestalo, no používatelia si stále pamätajú na veľký trik hackerov z roku 2011, keď po hacknutí serverov spoločnosti bolo z Japonska ukradnuté obrovské množstvo nielen údajov o používateľských účtoch, ale aj o kreditných kartách. Z čoho môžeme vyvodiť jednoduchý záver: hacknúť sa dá úplne všetko.

Ochrana účtu ICloud

Po prvé, stojí za to zopakovať hlavné spôsoby ochrany vášho účtu iCloud (a akéhokoľvek iného):
- prísť s dlhými a zložitými heslami;
- v heslách sa uistite, že používate písmená rôznych veľkých a malých písmen, čísla a symboly;
- nepoužívajte rovnaké heslo pre rôzne stránky. Jedna stránka – jedno heslo. Populárna aplikácia 1Password môže slúžiť ako asistent, ak si nepamätáte všetky svoje heslá. (Alebo nehovoriť)
- použiť dvojfaktorové overenie.
- z času na čas zmeňte svoje heslá pre stránky a služby.

Nastavenie dvojfaktorovej autentifikácie iCloud

Takže sme skončili s teóriou a pokračujeme priamo k nastaveniu účtu pre spoľahlivejšiu ochranu. Celý proces pozostáva len z niekoľkých jednoduchých krokov:
1. Prejdite na webovú stránku „My Apple ID“ na adrese https://appleid.apple.com/ru/account/home
2. Na pravej strane obrazovky kliknite na tlačidlo „Spravovať Apple ID“.
3. Zadajte svoje používateľské meno a heslo, ktoré zodpovedá vášmu Apple ID.
4. Vyberte „Heslo a zabezpečenie“ na ľavej strane obrazovky a kliknite na tlačidlo „Pokračovať“, aby ste mohli postupovať podľa pokynov na stránke. Pridajte záložnú e-mailovú adresu a odpovedzte na systémové otázky.
5. Počkajte. Nastavenie dvojfaktorového overenia bude dostupné až po 3 dňoch.

Čo ak vás hacknú?

Ak je váš účet vystavený útoku hackerov, keď si zmeníte heslo, dostanete správu na váš e-mail. Okamžite si zmeňte heslo k svojmu e-mailovému účtu, obnovte predchádzajúce heslo účtu, skontrolujte, či sa v smartfónoch so systémom Windows a Android nenachádzajú vírusy (možno aj Mac) a ak máte nejaké problémy, kontaktujte podporu spoločnosti Apple.

Výsledok

V každom prípade musíte pochopiť hlavnú vec: absolútne nikto nie je imúnny voči hackingu účtu. Aj keď dodržiavate všetky potrebné opatrenia, môžete nájsť medzeru na hackovanie, ak nie sami, tak na serveroch spoločností. Nikto nie je 100% chránený pred útokmi hackerov. Vymýšľajte si však zložité heslá, používajte dvojfaktorové overenie a nesynchronizujte svoje intímne fotografie s oblakmi. A nejde len o iCloud.

Ak máte čo pridať, neváhajte napísať svoje tipy do komentárov!

Šifrovanie

Šifrovanie chráni bilióny online transakcií denne. Zakaždým, keď si niečo kúpite alebo zaplatíte účet, pošlete textovú správu v iMessage alebo hovoríte cez FaceTime, vaše zariadenie zašifruje údaje. Zmenia sa na kódovanú znakovú sadu, ktorú nemožno prečítať bez špeciálneho kľúča. S vydaním FileVault pre macOS a Data Protection pre iOS sme jednou z prvých spoločností, ktoré zahrnuli šifrovanie diskov do základu natívnych operačných systémov. Okrem toho do našich produktov nikdy nebudeme vkladať prostriedky neoprávneného prístupu (zadné vrátka), ktoré vám umožnia dešifrovať údaje bez vášho vedomia.

iMessage a FaceTime

Vaše konverzácie iMessage a FaceTime sú chránené technológiou end-to-end šifrovania. Všetky správy zo zariadení watchOS a iOS sa odosielajú zašifrované, takže ich nemožno prečítať bez vášho hesla. Protokoly iMessage a FaceTime sú navrhnuté tak, aby ich nebolo možné dešifrovať pri prenose údajov medzi zariadeniami. Môžete si nastaviť automatické mazanie korešpondencie po 30 dňoch alebo roku, alebo si ju môžete ponechať natrvalo vo svojom zariadení.

Aplikácie tretích strán, ktoré pracujú s iMessage, nemajú prístup ku kontaktným informáciám a korešpondencii používateľov. Systém iOS vygeneruje pre každého používateľa náhodné ID, ktoré sa po odinštalovaní aplikácie vynuluje. Pre vaše pohodlie sa iMessage a SMS ukladajú do iCloudu a zálohovanie môžete kedykoľvek vypnúť. Okrem toho na našich serveroch nikdy neukladáme informácie o hovoroch FaceTime.

Zdravie a fitnes

Vývojári všetkých aplikácií v App Store sú povinní informovať používateľov o svojich zásadách ochrany osobných údajov. To platí aj pre aplikácie, ktoré spolupracujú s HealthKit. Vaše údaje v aplikácii Zdravie a údaje o aktivite na hodinkách Apple Watch sú šifrované špeciálnymi kľúčmi, ktoré sú chránené vaším heslom.

Ak sa rozhodnete už svoje údaje nezdieľať s iným používateľom, jeho zariadenie automaticky dostane príkaz na vymazanie celej vašej histórie aktivít. Svoju aktivitu môžete aj dočasne skryť – napríklad keď ste na dovolenke.

Analytics

Vaše zariadenie so systémom iOS môže zhromažďovať analýzy o svojom výkone a výkone vašich hodiniek Apple Watch a odosielať tieto údaje spoločnosti Apple na analýzu. Tieto informácie sú anonymizované a zverejnené iba s vaším výslovným súhlasom. Analýza môže obsahovať informácie o špecifikáciách hardvéru a operačného systému, štatistiky výkonu a informácie o tom, ako používate zariadenia a aplikácie. Osobné údaje sa pri tom buď nezaznamenávajú, alebo sa pred odoslaním spoločnosti Apple z prehľadov odstránia a sú chránené technológiami, ako je napríklad Differential Privacy.

Rozdielne údaje o ochrane osobných údajov nám pomáhajú zlepšovať naše služby bez toho, aby sme ohrozili súkromie vašich osobných údajov. Táto technológia napríklad zlepšuje návrhy QuickType a emoji, ako aj návrhy pri vyhľadávaní v aplikácii Poznámky.

Teraz môžeme identifikovať bežne používané údaje v aplikácii Zdravie a doménach v Safari, ktoré spôsobujú problémy s výkonom. Tieto informácie umožnia spoločnosti Apple a vývojárom aplikácií vylepšiť naše produkty bez toho, aby o vás prezradili akékoľvek informácie.

Ak s tým výslovne súhlasíte, spoločnosť Apple môže analyzovať vaše používanie iCloud a informácie o účte s cieľom zlepšiť Siri a ďalšie inteligentné funkcie. K samotnej analýze dôjde až po tom, čo údaje prejdú potrebnými postupmi týkajúcimi sa ochrany informácií, aby ich nebolo možné spájať s vami alebo s vaším účtom.

iCloud

Všetky vaše údaje iCloud – fotografie, kontakty, pripomienky a ďalšie – sú počas prenosu a pri ukladaní na naše servery šifrované. Šifrujeme aj informácie, ktoré putujú medzi vašou e-mailovou aplikáciou a e-mailovými servermi iCloud.

Dáta, ktoré sú šifrované v iCloude

  • Dokumenty
  • Kalendáre
  • Kontakty
  • Kľúčenka ICloud
  • Zálohovanie
  • Záložky
  • Pripomienky
  • Nájdite iPhone
  • Moji priatelia
  • Pošta (v tranzite)
  • Poznámky

Keď používate zdieľanie dokumentov iCloud, osobné informácie členov sa nikdy nezverejnia tým, ktorí nedostali alebo neprijali pozvanie. Každý, kto má prístup k odkazu, vrátane spoločnosti Apple, môže vidieť názvy súborov a meno a priezvisko spojené s vaším účtom iCloud.

Ak na ukladanie vašich informácií používame zdroje tretích strán, vždy ich zašifrujeme a kľúče nikdy neprezradíme. Apple ukladá tieto kľúče vo svojich vlastných dátových centrách, aby ste mohli kopírovať, synchronizovať alebo zálohovať svoje dokumenty do iCloud, kedykoľvek budete chcieť. ICloud Keychain tiež uchováva vaše heslá a informácie o kreditných kartách šifrované – Apple ich nemôže čítať ani k nim nemá prístup.

A v iOS 11, macOS High Sierra a novších systémoch sa vďaka end-to-end šifrovaniu v iCloud niektoré osobné údaje (napríklad údaje Siri) synchronizujú na všetkých zariadeniach takým spôsobom, že k nim Apple nemá prístup. .

CarPlay

Všetko, o čom sme hovorili o bezpečnostných mechanizmoch zabudovaných do iPhonov a aplikácií, platí aj pre CarPlay. Používame iba informácie, ktoré potrebujete o vašom vozidle na zlepšenie vášho zážitku z CarPlay. Údaje o polohe vášho auta môžu napríklad pomôcť iPhonu presnejšie získať trasu v Mapách. A vždy vyžadujeme, aby vám aplikácie tretích strán poskytli zásady ochrany osobných údajov na kontrolu.

Umožňuje spoľahlivo a bezpečne synchronizovať dôležité informácie medzi zariadeniami iOS, počítačmi Mac a PC, pretože sú uložené v šifrovanej forme. Chris Foresman sa spolu so svojimi kolegami z Ars Technica rozhodli zistiť, či sa dá Cupertinu dôverovať a viedli vlastné vyšetrovanie.

Servery Apple ukladajú fotografie z Photo Stream, akékoľvek dokumenty z aplikácií kompatibilných s iCloud, zálohy zariadení iOS, kontakty, kalendáre, záložky, pripomienky, e-maily @ me.com a poznámky. Všetky dáta sú prenášané do počítačov a mobilných zariadení pomocou Secure Sockets Layer (SSL) cez protokoly WebDAV, IMAP alebo HTTP. Okrem toho sú tieto informácie uložené zašifrované a na mobilných zariadeniach sú vytvorené overovacie tokeny potrebné na prístup k nim bez neustáleho odosielania hesla. Jedinou výnimkou sú e-maily a poznámky.

E-mail, ktorý nie je šifrovaný, môže byť spôsobený problémami s výkonom niektorých funkcií, ako je vyhľadávanie správ na serveri alebo čiastočné sťahovanie e-mailov s prílohami. Ako je známe redaktorom Ars Technica, v súčasnosti najväčší poskytovatelia IMAP nešifrujú správy na svojich serveroch pre potreby spotrebiteľov. Namiesto toho ponúkajú podporu pre štandard S/MIME, ktorý predpokladá, že poštový klient príjemcu dešifruje správu pomocou kľúča poskytnutého odosielateľom.

Poznámky tiež nie sú šifrované na serveroch iCloud, pretože na ich synchronizáciu sa používa rovnaký protokol IMAP a v dôsledku toho sú v systéme Mac OS X uložené v e-mailovom klientovi Mail.app. Toto leto bude k dispozícii samostatná aplikácia Notes a keďže v nej bude zabudované rozhranie API na synchronizáciu údajov s iCloud, poznámky budú musieť byť na serveroch Apple šifrované, rovnako ako všetky ostatné informácie.

Zdá sa, že jediná osoba, ktorá má momentálne prístup k vašim e-mailom a poznámkam, je bezohľadný zamestnanec dátového centra. Spoločnosť však vo svojich zásadách ochrany osobných údajov sľubuje, že „prijme všetky opatrenia vrátane administratívnych, technických a fyzických, aby ochránila vaše osobné údaje pred stratou, krádežou a zneužitím, ako aj pred neoprávneným prístupom, zverejnením, pozmenením a zničením“. Všetko vo všetkom, paranoidný a vládne tajomstvá by mali zvážiť bezpečnejšie alternatívy na ukladanie e-mailov a poznámok.

Apple však nepopisuje metódy, ktoré sa používajú na šifrovanie dát na disku, ale iba tvrdí, že používa priemyselné štandardy na zaistenie bezpečného uloženia používateľských informácií. Podľa konzultantov Ars Technica môže spoločnosť so sídlom v Cupertine využiť platformu Microsoft Azure na ukladanie dát pre svoju cloudovú službu. Pomocou klienta WebDAV získali autori zdrojov prístup k niektorým svojim údajom v iCloude po overení a správnom uhádnutí názvu servera a cesty k adresáru. To naznačuje, že spoločnosť používa na svojich serveroch šifrovanie súborového systému, ktoré sa dekóduje „za behu“ na žiadosť vášho smartfónu alebo počítača.

Mac OS X používa štandard odporúčaný Národným inštitútom pre štandardy a technológie (NIST) na generovanie šifrovacích kľúčov pre produkty ako FileVault a Keychain. To nám umožňuje urobiť ďalší predpoklad: pri vytváraní tokenov pre prístup do iCloud Apple uplatňuje rovnaký „priemyselný štandard“. Stojí za zmienku, že NIST považuje PBKDF2 za „dostatočne dobrý pre potreby vlády“ a americké ministerstvá ho používajú na šifrovanie svojich utajovaných údajov pomocou moci a hlavného. A ak Apple generuje kľúče dlhšie ako 64 bitov, potom šanca na uhádnutie kľúča a dešifrovanie údajov počas ľudského života hrubou silou je nulová.

Výsledkom je, že ak ste si pre svoje Apple ID zvolili heslo, ktoré je ťažké uhádnuť, vaše údaje sú v bezpečí pred hackermi alebo cudzími ľuďmi. E-maily a poznámky nemusia byť také bezpečné, ale podobnú úroveň zabezpečenia poskytujú aj iné obľúbené e-mailové služby, ktoré poskytujú prístup k vašej doručenej pošte prostredníctvom protokolu IMAP.