ios_security_cover

Most akkor biztonságos az iOS vagy nem?

#HÍREK
2014. 05. 20.
Volt már olyan adat a telefonodon amit jobb szerettél volna biztonságban tudni? Valós veszélynek vannak kitéve személyes dolgaink? Mégsem olyan biztonságos az alma? Nyugodtan hátradőlhetünk, szeretett iOS telefonunk nagyobb biztonságban van, mint gondolnánk.
A bizalom 6 pillére

Az Apple-nél hat kategóriába sorolják azokat a technológiákat, melyeket annak érdekében alkalmaznak, hogy az iOS biztonsági besorolása még az asztali operációs rendszerekhez mérten is kiemelkedő legyen.

A kategóriák a következők:

• Rendszer biztonság
• Titkosítás és adatbiztonság
• Alkalmazás biztonság
• Hálózati biztonság
• Internetes szolgáltatások
• Vállalati testreszabhatóság

Az Apple-nél gyakran szeretik ismételni, hogy a hardver és a szoftver szoros együttműködése garantálja a rendszerszíntű biztonságot az iPhone-ban a telefonindítástól kezdve az appok letöltéséig. Az iOS-ben a hardveres alapoktól kezdve egymásra épül minden. Mikor elindítod a telefonod, a gyártáskor a Boot ROM-ba égetett kód lefut, ellenőriz egy speciális harverkulcsot, és ha mindent rendben talál, elkezdi betölteni a kernelt. Ez az indítási lánc ellenőrzi, hogy nem babráltak-e a rendszerrel, és garantálja, hogy az iOS csak és kizárólag Apple álltal jóváhagyott készülékeken bootol.
Rendszeres iOS frissítések biztosítják, hogy a telefonod minden felmerülő fenyegetés ellen naprakész legyen. Az összes készülékre telepíthető szoftver, így a kiadott rendszerfrissítések is komoly ellenőrzésen esnek át mielőtt elindítaná őket a telefon. A rendszerfrissítés elején a készülék csatlakozik egy szerverhez és küld neki egy rakat adatot, főleg kernel és boot információkat, továbbá a telefon UID-jét. Ha a szerver rendben találta a kapott adatokat, “aláírja” a frissítéscsomagot, és kezdődhet a letöltés. A letöltött frissítéscsomag egyedi minden egyes telefonnál, hiába szerzi meg a támadó, nem tudja más készüléken használni. A mobilodon minden egyes fájl titkosítva van, minél fontosabb fájlról van szó, annál erősebb a titkosítás.

Titkok egy ujjnyira

A Secure Enclave egy kicsi, de annál nagyobb tudású processzor, ami az A7 chipbe van belépítve. Ez a processzor titkosított memóriát használ, saját UID-je van, és tartalmaz egy hardveres véletlenszám-generátort. Az UID-je elérhetetlen a rendszer számára és az Apple sem ismeri. Jól sejtitek: ez a processzor felel az iPhone 5S ujjlenyomat-olvasójától kapott adatok feldolgozásáért és biztonságos tárolásáért. Annak sem kell aggódnia akinek régebbi típusú iPhone-ja, netán iPad-ja van, ugyanis a jelkód is legalább annyira biztonságos mint a Touch ID. A jelkód-nak kettős a funkciója: feloldhatod vele a lezárt telefont, illetve hozzáférést ad olyan titkosított kulcsokhoz, melyek nem a készüléken vannak tárolva. Amikor bekapcsolod a jelkódot, egy kulcs készül, ami az álltalad beírt kódból, az UID-ből, és számtalan “véletlen” tényezőből, pl. a dátum/időből tevődik össze. Ez azt jelenti, hogy a támadónak a jelkód feltöréséhez fizikailag hozzá kell férnie a készülékhez. Hogy a Brute-force támadás értelmetlen legyen, a kód feldolgozása 80 miliszekundum körüli időbe telik, a kódbeírás közötti próbálkozások pedig késleltetve vannak, így egy hat karakteres alfanumerikus jelkód visszafejtése több mint 5 és fél évig tartana. Az A7 prociban a Secure Enclave minden sikertelen probálkozás után ezt az időt még megtoldja egy 5 másodperces késleltetéssel.

App anomália

Köztudott, hogy az Apple mennyire komolyan veszi az új appok felvételét az App Store-ba. Az iOS alacsonyabb szintjein is folytatódik a monitorozás. Az appok a “sandbox” elv alapján futhatnak, vagyis csak olyan rendszerfolyamatokhoz férhetnek hozzá, melyekre feltétlenül szükségük van. Miért is kéne a Safarinak hozzáférnie a kontaktjaidhoz? Ez a rendszerszíntű elkülönítés azért hatásos, mert ha a támadó talál is az egyik appban sebezhetőséget, nem feltétlenül fér hozzá minden folyamathoz. A sandboxing mellett érdemes még az ASLR-t megemlíteni, ami az Address Space Layout Randomization rövidítése. Ahogy a neve is mutatja, az ASLR minden indításkor a rendszer kulcsfontosságú részeit véletlenszerű memóriaterületre tölti be, megnehezítve az exploitok célzott memóriaszegmensbe való injektálását.

Érdemes még szótejteni az iMessage és a Facetime szolgáltatásokról. Mind a Facetime, mind az iMessage végtől-végig titkosít, vagyis a feladó kódolja az üzenetet, a fogadó fél pedig dekódolja. Mind a két app nagyon erős, 1280 bites RSA titkosítást használ. Ez olyannyira biztonságos, hogy a mai napig még senkinek sem sikerült feltörnie, köztük az FBI-nak sem. Nem is csoda, hogy az iMessage népszerű a drog miafia köreiben is.

De mi a helyzet a Jailbreakkel?

Mivel minden eddigi verzióhoz létezik Jailbreak, felmerülhet bennünk, hogy talán mégsem teljesen megbízható az iOS. Természetesen nem létezik tökletes szoftver, nem is állítja senki, hogy pont az iOS feltörhetetlen. Az iOS5-ig viszonylag hamar megkerülték a szakemberek a rendszer védelmi vonalait, de akkor még kezdetleges volt az iOS biztonságtechnológiailag. Az ötös verzió rengeteg újdonságot hozott, és ekkor vált a Jailbreakelés a hacker szakma csúcsává. Napjainkban ott tartunk, hogy egy maréknyi csapat hónapokig tartó kemény, összehangolt munkájából születik meg egy-egy Jailbreak. Összesen körübelül 10 ember van a világon, akik szakmailag elég felkészültek ahhoz, hogy feltörjék az iOS-t.

Természetesen rengeteg dologból áll össze az Apple kütyük biztonsági háttere, sajnos kevés egy cikk ahhoz mindent értintsek. Annyi talán a fentiekből kiderült, hogy az Apple mérnökei nagyon komolyan veszik a feladatukat, és a következő években szeretett készülékeink mégjobban védik majd féltett titkainkat. Azthiszem nyugodtan kijelenthetjük, hogy a távoli Cupertino-ban értik a dolgukat.

Szótár:

Boot ROM – kizárólag csak olvasható, felülírhatatlan memóriaterület, ahonnan indításkor az operációs rendszer elkezdi betölteni magát.
Kernel – az operációs rendszer magja, feladata az alacsonyszíntű kommunikáció a hardverrel
UID – az iPhone/iPad egyedi azonosítója, illetve a bennük lévő chip egyedi azonosítóját is így hívják
Brute-force – egy, a titkosító rendszerekkel szemben alkalmazott algoritmus, ami végigpróbálja egy karaktersor minden egyes kombinációját
Touch ID – az iPhone 5s ujjlenyomat-olvasója
RSA titkosítás – egy prímszámelméleti algoritmus, napjaink matematikai ismeretei alapján feltörhetetlen
Exploit – rosszindulatú rövid szoftverkód, kifejezetten egy adott sérülékenység kihasználására

Annak, aki jobban beleásná magát a témába: http://images.apple.com/ipad/business/docs/iOS_Security_Feb14.pdf