Heker pridobil zasebne ključe za Apple AirPlay
N/A
11. apr 2011 ob 17:32:17
Programer James Laird je minuli teden na githubu objavil odprtokodno različico strežnika za Applov protokol AirPlay, ki omogoča streamanje glasbe iz iTunesov in iNapravic na domači hi-fi.
Dela se je lotil potem, ko se je njegova punca preselila v novo stanovanje in se njen AirPort Express (na sliki, na sredini) ni hotel priklopiti na tamkajšnje brezžično omrežje. Namesto preproste spremembe wi-fi kanala se je James, as hackers do, odločil, da bo napravo preprosto zamenjal s svojim Linux strežnikom.
Streamanje po protokolu AirPlay, nekoč znanem pod imenom AirTunes, poteka tako, da uporabnik v svojem iTunes programu oz. na iNapravici vklopi deljenje glasbene knjižnice z napravo AirPort Express. Na slednjo priklopi Hi-Fi komponento, nakar lahko glasbo posluša kar na komponenti, v dobri kvaliteti in brez potrebe po vlačenju kablovja čez celo sobo. Komunikacija med iTunes in AirPortom poteka po wi-fi omrežju, z uporabo dobro standardiziranega protokola RTSP preko UDP-ja. Apple je seveda dodal svoj sloj DRM-ja, in sicer tako, da se glasbeni stream šifrira z asimetričnim AES ključem. S tem je streamanje na strani klienta omejeno na Applove naprave, na strani strežnika pa na AirPort komponento oz. na high-end Hi-Fi komponente proizvajalcev Marantz, Bowers & Wilkins, Denon, ki jim je Apple licenciral tehnologijo.
Hekerji so že ob izidu prvega AirPorta (2004) delali na reverznem inženiringu protokola. Iz iTunesov so potegnili AirPortov javni ključ, kar jim je omogočilo stremanje še iz česa drugega kot iTunesov (npr. iz XBMC playerja na XBox-u). Laird se je lotil druge strani enačbe - pridobitve zasebnega ključa, ki ga je Apple dobro skril in obfoskiral znotraj ROM pomnilnika v AirPortu. Razstavil je ohišje, si pri tem pošteno popraskal roke, vzel ven ROM chip in njegovo vsebino prenesel na računalnik. Nato je v memory dumpu našel sicer močno obfuskiran zasebni ključ, vendar to ni bil problem, saj je bila zraven priložena precej jasna in preprosta koda za deobfuskiranje (to nas spomni na Geohotovo delo s PS3). Ko je dobil ključ, je v perlu spisal svoj AirPlay strežnik in ga pognal. Zadnja naloga je bila še konfiguracija Avahi strežnika, ki omogoča, da se Linux naprava preko prokola Bonjour iTunesom predstavi kot AirPlay strežnik.
Pomen rešitve zna biti precej velik, če bo AirPlay postal standard v hi-fi komponentah, saj bo potem le-te mogoče krmiliti kar z odprtokodnim programjem na android mobilcu, domačem PVR-u ali Linux/Windows računalniku.