SIMke končno heknjene
Mandi
22. jul 2013 ob 10:25:28
Tam okoli začetka avgusta se v Las Vegasu vsako leto zbere nebroj varnostnih raziskovalcev (in policajev), seveda zaradi soslednih konferenc Black Hat in Defcon. Temu primerno se julija vidno poveča tudi število najavljenih visokoprofiliranih varnostnih pomanjkljivosti. Ena bolj zanimivih iz letošnje bere, sploh za bralce tega časopisa, bo najbrž najava nemškega kriptoanalitika Karstena Nohla, da je končno uspel vdreti v tisti kos plastike in silicija, ki ga imamo v žepu domala vsi: SIM kartice.
Nohl je dobro znano ime v svetu mobilne telefonije - leta 2009 je bil del ekipe, ki je zlomila mobilni šifrirni algoritem A5/1 - ki so ga nekateri naši operaterji kljub temu prešerno uporabljali še lansko leto, ko se v to poglobili Hudoklin, Kovačič in Rupnik. Posledice tokratnega napada so lahko precej hude - namestitev sovražnega programja v vašo SIMko, s tem pa kraja denarja skozi pošiljanje SMS-ov na plačljive storitve, zloraba mobilnih plačil, izdelava duplikata vaše SIMke, in tako dalje.
Najprej dobro - niso vse kartice ranljive, pravzaprav jih je le kaka osmina. Vdor namreč poteka v dveh delih. Najprej je potrebno dobiti kartičin 128-bitni simetrični šifrirni ključ (Ka). Telefonu se pošlje tihi SMS - take sorte kot tisti, s katerim pri operaterju magično odklenejo vaš telefon oz. tisti, s katerim policisti prožijo javljanje telefona centrali za potrebe pritajenega sledenja. V SMS-u je (provizorični) zahtevek za namestitev nove programske opreme, a brez veljavnega digitalnega podpisa. Za izdelavo slednjega je namreč potrebno imeti kartičin ključ, tega pa naj bi (poleg kartice) imel samo operater. Kartica bo po preverbi podpisa zahtevek seveda zavrnila, do sem vse prav, žal pa nekatere od njih - nekje četrtina - to zavrnitev tudi podpišejo, seveda s svojim ključem. Napadalec tako dobi primer kriptoteksta, narejenega s kartico (aka a bad idea). Potem, če gre za kartico, ki uporablja že zelo dotrajani šifrirni algoritem DES (enojnega), bo Nohl s pomočjo mavričnih tabel uspel v manj kot minuti ven dobiti ključ.
A imate vi tako kartico? Zelo odvisno od vašega operaterja. AT&T in večji nemški operaterji naj bi bili varni (uporabljajo 3DES), pravi Nohl, pri ostalih pa se stvar spreminja od seta do seta kartic. Od 100 SIMk, ki jih je uspel dobiti v roke, jih je uspešno zlomil nekje 25.
Ko se napadalec uspe priti do ključa, je že skoraj zmagal. Zdaj lahko kartici pošlje nov SMS z veljavno podpisanim zahtevkom za namestitev svojega programja. Programja ni pretirano zahtevno spisati - ker vse SIMke vključujejo podporo za standard JavaCard, ki je v bistvu nekoliko okrnjena Java. Napadalec tako namesti in požene novo aplikacijo, s čimer lahko počne že marsikaj. Za popolno kontrolo nad telefonom pa se mora še izviti iz omejenega okolja (chroot), v katerem tečejo SIMkine JavaCard aplikacije, pač z rabo standardnih tehnik (buffer overflow, idr.). Potem lahko napadalec pošteno zagode imetniku telefona. In kot rečeno, lahko vse to stori lepo na daljavo, čez mobilno omrežje.
Nohl je napako že vnaprej posredoval mobilnim operaterjem oz. njihovemu združenju CTIA. Na njih je namreč, da identificirajo potencialno ogrožene SIMke, ter jih sami popravijo s pomočjo omenjenih tihih SMS-ov, oz. z vpoklicem telefonov, če bo že nujno. Ali bodo to res storili, je drugo vprašanje. Nohl ocenjuje, da bodo prvi exploiti na voljo čez recimo pol leta.
Nohl je ob tem opozoril še na to, da se na naših SIMkah često nahajajo tudi third party programi, npr. od Vise ali PayPala, ki bodo postali aktualni z razmahom mobilnega plačevanja. Operaterji seveda zaračunajo za njihovo prisotnost v našem žepu. Ti programi zmorejo enostransko in nevidno komunicirati s svojo centralo. Kaj to pomeni za našo zasebnost, bo morda kmalu precej zanimivo vprašanje.