Pár napja kérdezte egy kedves ismerősöm, hogy mégis mennyire kell komolyan venni ezt az NSA-s telefonfeltörős parát, én pedig természetesen próbáltam csillapítani a kedélyeket, mondván, nem eszik olyan forrón a kását. Aztán nem sokkal később végre volt alkalmam megnézni a Security Research Labs SMS hackelős előadását, és sajnos be kell ismernem, hogy tévedtem.
A fenti előadás egyrészt bemutatja egy, a THC által már 2011-ben körvonalazott kriptográfiai támadás gyakorlati megvalósítáhatóságát, másrészt szépen körbejárja, hogy kellő háttértudás hiányában milyen könnyű rossz megoldásokat gyártani viszonylag egyszerű kriptográfiai sérülékenységekre.
A probléma azonban nem ez: bár Karsten Nohl megjegyzése arról, hogy senki nem tudott választ adni arra, miért is került be a szabványba a DES a '90-es évek végén jól illeszkedik az NSA hátsókapu-projektjébe, a problémát maguk az OTA (Over-The-Air) szoftverfirssítések jelentik.
Ez a sokszor figyelmen kívül hagyott lehetőség lehetővé teszi, hogy speciális SMS-ek formájában a szolgáltató lényegében Java szoftvereket telepítsen az ügyfelek készülékeire. Az SMS-ről a felhasználó az esetek túlnyomó részében (Nohl kivételként említ néhány régi Nokiát) nem tájékoztatja a felhasználót, hanem - amennyiben az SMS a megfelelő szolgáltatói kulccsal hitelesített - azonnal telepíti azt. Innentől kezdve egy titkosszolgálat lehetőségei szélesek:
- A szolgálat egyszerűen elkérheti a hitelesítő kulcsot a szolgáltatóktól
- A szolgálat "alternatív utakon" megszerezheti a kulcsokat a nem baráti szolgáltatóktól.
A SIM-hez tartozó kulcs birtokában a támadó lényegében távolról bepoloskázhatja a telefont (pl. felhív egy számot, amíg a zsebedben van a készülék), de a SIM->OS támadások nagyrészt még kutatásra szoluló területnek számítanak, legalábbis a civil nyilvánosság számára.
Hogy néhány szót ejtsünk a Security Research Labs munkájáról is: a csapat rájött, hogy egyes SIM kártyák a helyes kulccsal aláírt/titkosított hibaüzenettel válaszolnak érvénytelen OTA SMS-ekre. Mivel a titkosítás sok esetben (akár kikényszeríthető módon) DES-el történik, egy ~50.000 dolláros GPU cluster, vagy egy néhány hónap alatt néhány ezer dollárból összeállított szivárványtábla birtokában egy támadó ismert-nyílt szövegen alapuló támadással megszerezheti a kulcsot. A kutatócsoport ezen kívül azt is feltárta, hogy a SIM kártya Java virtuális gépének sandboxa könnyen kijátszható. A poén az, hogy több szolgáltató éppen ezt a biztonsági problémát kihasználva frissíti a forgalomban lévő kártyákat frissebb kriptográfiai eljárások (3DES vagy AES) használatára: mivel a szabvány eredetileg nem teszi lehetővé a biztonsági konfiguráció módosítását, ez csak egy biztonsági hiba kihasználásával lehetséges.