Locked History Actions

iOS saugumas

iOS saugumas

Įvadas

Be vidinių apsaugos priemonių naudojamų Apple, kurios saugo informaciją patalpintą iOS prietaisuose, taip pat yra daug tinklo apsaugos priemonių, jog naudotojai galėtų laikyti informaciją apsaugotą kai ji keliauja į arba iš iOS prietaisų. Mobilieji vartotojai turi turėti galimybę naudotis privačiais tinklais iš bet kurios pasaulio vietos, todėl yra svarbu užtikrinti, kad jie yra autorizuoti ir jų duomenys yra saugomi perdavimo metu. iOS naudoja ir suteikia prieigą prie standartinių tinklo protokolų patvirtintam, autorizuotam ir šifruotam ryšiui. Atlikti šioms saugumo užduotims, iOS integruoja patikrintas technologijas ir naujausius standartus tiek Wi-Fi, tiek mobilaus duomenų perdavimo tinklams. Kitose platformose yra reikalingos ugniasienės, jog apsaugotų atvirus ryšio prievadus nuo įsibrovimo. Kadangi iOS pavyko sumažinti pažeidžiamas vietas, limituodama laukimo prievadus ir panaikindama nereikalingas tinklo paslaugas, tokias kaip Telnet (programa, naudojama prisijungti prie nutolusio Internet tinklo kompiuterio per kompiuterinius tinklus), shell (serverio aplinkos) ir žiniatinklio serverio, dėl šios priežasties papildoma ugniasienė tapo nebereikalinga iOS prietaisuose.

TLS

iOS palaiko TLS (angl. Transport Layer Security) - transporto lygmens saugumą . Tai yra kriptografinis protokolas, skirtas saugiai keistis internetu perduodamais duomenims. TLS išplėtimai apibrėžti AES (angl. Advanced Encryption Standard). Šis TLS palaiko abu AES-128 bitų ir AES-256 bitų šifravimo algoritmus. Safari, kalendorius, paštas ir kitos internetinės aplikacijos automatiškai naudoja šį protokolą, jog leistų šifruotą ryšio kanalą tarp prietaiso ir tinklo paslaugų. Aukšto lygio API (angl. aplikacijų programavimo sąsaja) leidžia aplikacijų kūrėjams lengvai įdiegti TLS į jų sukurtas programas, pvz. CFNetwork – sistema, kuri teikia abstrakcijų biblioteką tinklo protokolams. CFNetwork blokuoja SSLv3 – technologija, kurią kai kurios svetainės naudoja jungimuisi prie serverio. Ji yra pasenusi ir nebesaugi, todėl leidžia programišiams perimti vartotojo asmeninę informaciją prisijungimo metu. Nuo iOS 11 ir macOS High Sierra, TLS ryšiui yra nebeleidžiamas SHA-1 sertifikatas, nebent vartotojas duoda sustikimą (angl. Secure Hash Algorithm – Saugus Maišos algoritmas) tai algoritmas kuris apskaičiuoja 160 bitų parašą, naudojamas įvairiose programose ir protokoluose. Tačiau nuo nuo 2005 metais atrastų pažeidžiamumų šis algoritmas tapo nerekomenduotinu. Dėl to, jog rasti kriptoanalitiniai būdai, leidžiantys sumažinti sudėtingumą tiek. Toliau sertifikatai su RSA raktais trumpesniais nei 2048 bitai taip pat yra uždrausti. RSA (angl. Rivest-Shamir-Adleman) – viešojo rakto kriptosistema. RC4 srautinis simetrinis algoritmas nebėra aktualus jau nuo 10 iOS versijos ir macOS Sierra. RC4 – srautinis simetrinis algoritmas, pagrįstas OFB(angl. Output feedback ). Pagal nutylėjimą, TLS klientai arba serveriai yra paleidžiami su SecureTransport API, kurie nepraleidžia RC4 šifravimo ir neleidžia jungtis prie tinklo. Aplikacijos ir paslaugos kurios reikalauja RC4 turi būti atnaujintos naudoti naujesnius ir saugesnius šifravimo algoritmus.

VPN

Apsaugotos tinklo paslaugos, kaip virtualus privatus tinklas tipiškai reikalauja minimalaus paruošimo ir konfiguracijos, jog galėtų dirbti su iOS prietaisais. iOS prieataisai veikia su VPN serveriais kurie palaiko šiuos protokolus ir autentifikavimo metodus:

• IKEv2/IPSec, RSA sertifikatai, ECDSA sertifikatai, EAP-MSCHAPv2 ar EAP-TLS • SSL-VPN naudojant tinkama aplikaciją iš App Store • Cisco IPSec su vartotojo autentifikacija slaptažodžiu, RSA SecurID arba CRYPTOCard • L2TP/IPSec su vartotojo autentifikacija MS-CHAPV2 slaptažodžiu, RSA SecurID arba CRYPTOCard

iOS palaiko:

• VPN pagal reikalavimą, tinklams kurie naudoja sertifikatu paremtą autentifikaciją. IT politiką nurodo kuris domenas reikalauja VPN prisijungimo naudojant VPN nustatymų profilį. • Per aplikacinį VPN, palengvinti VPN prisijungimus. MDM (angl. Mobile Device Management) gali nurodyti prisijungimą kiekvienai valdomai aplikacijai ir specifiniam domenui Safari naršyklėje. Tai padeda užtikrinti , jog apsaugoti duomenys visada keliauja į arba iš tinklo, o vartotojo asmeninė informacija ne. • Visada per VPN, gali būti nustatytį prietaisams valdomiems per MDM ir prižiūrimi naudojant AppleConfigurator2, prietaisų ragistravimo programa (Device Enrollment Program) arba Apple mokyklos valdytojas ( Apple School Manager). Tai pašalina poreikį vartotojams įjunginėti VPN, jog paleistų apsaugą mobiliems duomenims ar Wi-Fi tinklams. Visada per VPN suteikia pilną IP srauto kontroliavimą atsakingoms organizacijoms.

Aplikacijų saugumas

iOS operacinė sistemos saugumo architektūra užtikrina, jog naudotojų parsisiunčiamos aplikacijos yra užšifruotos, nemodifikuotos ir jos veikia savo konteinerio (angl. Sandbox) ribose. Nuo veikimo pradžios iOS branduolys kontroliuoja kokiems naudotojo procesams ir aplikacijoms leidžiama veikti. Tam, kad užtikrinti, jog parsisiųsti produktai yra sukurti patikimų šaltinių, iOS sistemoje yra privaloma, jog vykdomas kodas būtų pasirašytas Apple išduodamu sertifikatu. Aplikacijos, kurios įrašomos kartu su operacine sistema (pvz. Safari arba Mail), yra pasirašytos pačios Apple [App17b]. Trečiųjų šalių sukurti produktai pasirašomi kūrėjams Apple suteikiamu sertifikatu. Privalomas kodo pasirašymo mechanizmas išplečia vykdomo pasitikėjimo zoną nuo operacinės sistemos iki programėlių, užkirsdamas galimybę trečiųjų šalių produktams vykdyti neverifikuotą kodą ir resursus. iOS programėlių kūrėjams, kurie nori platinti savo kurtus produktus, reikalinga turėti paskyrą Apple Developer Program portale. Prieš suteikiant kūrimo sertifikatą yra patvirtinama fizinio ar juridinio asmens tapatybė. Tai reiškia, jog kiekviena aplikacija App Store platformoje yra sukurta identifikuojamo asmens. Kenksmingų produktų plitimo atveju tai padeda atrasti atsakingas organizacijas ar asmenis. App Store programėlių parduotuvėje esantys produktai prieš viešo platinimo pradžią yra patikrinti tinkamumo proceso (angl. vetting process). Taip užtikrinama platinamų programų kokybė ir atitikimas aprašymui.11 iOS programėlių kūrimo metu leidžiama į projektą įterpti (angl. Embed) įvairų funkcionalumą suteikiančius trečiųjų šalių karkasus [HC11]. Tam, kad apsaugoti iOS ir kitas veikiančias aplikacijas nuo kodo įkrovimo į atmintį veikimo metu, sistema, visoms į aplikaciją įterptoms dinaminėms bibliotekoms (karkasams) atlieka kodo parašų validaciją [App17b]. Ši verifikacija įgalinama naudojant komandos identifikatorių, kuris gaunamas iš Apple suteikto sertifikato. Komandos identifikatorius yra 10-ties simbolių ilgumo skaičių ir raidžių eilutė, pvz. 1A2B3C4D5F. Trečiosios šalies sukurta programa gali naudoti bet kurią viešai iOS platformoje prieinamą biblioteką arba biblioteką su tokiu pačiu komandos identifikatoriumi [HC11]. Kadangi sisteminiai vykdomieji failai neturi komandos identifikatorių, juose naudojamos bibliotekos, kurios yra operacinės sistemos dalis. iOS kodo pasirašymo mechanizmas apsaugo sistemą nuo potencialiai kenksmingų neverifikuotų programėlių instaliavimo ir kodo vykdymo. Vykdomųjų atminties sektorių (angl. Executable memory pages) įkrovimo metu yra vykdomi kodo parašų patikrinimai, užtikrinantys, jog programėlė nebuvo modifikuota nuo jos instaliavimo ar atnaujinimo laiko.

Literatūra

https://www.apple.com/business/docs/iOS_Security_Guide.pdf

https://tools.ietf.org/html/rfc5246

https://developer.apple.com/library/content/documentation/Networking/Conceptual/CFNetwork/Introduction/Introduction.html