Interceptarea semnalelor GSM poate fi realizată prin partajarea posturilor de radio USRP și GNU. Periferia radio universală programabilă (USRP) este un dispozitiv deschis dezvoltat de Matt Ettas, care poate fi comandat prin intermediul companiei sale Ettus Research [11]. Este un transmițător care poate fi conectat la un calculator și adaptat la anumite frecvențe datorită adăugării de carduri de extensie. USRP conține un programabil FPGA (FPGA), care poate fi utilizat pentru a efectua anumite tipuri de procesare a semnalului. Într-o configurație standard, USRP creează eșantioane pe 16 biți I și Q atunci când primește o frecvență specificată. Aceste probe complexe cu partea reală (Q) descriu cosinusul semnalului, iar partea imaginară (I) descrie sinusul semnalului plus 90 de grade. Astfel, o probă are o lungime de 32 de biți și poate fi trimisă la calculatorul gazdă prin intermediul portului de comunicație pentru prelucrare ulterioară.
În prezent există două tipuri de echipamente: USRP și USRP2. USRP (sau USRP1) poate recepționa semnale în domeniul de 32 MHz și transmite în domeniul de frecvențe de 64 MHz. Transmite probele către computerul gazdă printr-o conexiune USB2.0, care are o viteză maximă de 32 MB / s. USRP2 poate primi pe o lățime de 50MHz și transmite pe o lățime de 200 MHz. În comparație cu USRP1, USRP2 conține de asemenea un FPGA mai rapid (FPGA) și un port Ethernet Gigabit în loc de o conexiune USB.
GNU Radio [12] este un utilitar gratuit de software sub licența GPL pentru crearea de programe radio. A fost pornit de Eric Blossom. Funcționează pentru o varietate de tipuri diferite de echipamente radio, inclusiv plăci de sunet, dar este mai frecvent utilizat în combinație cu USRP. Practic, GNU Radio este o bibliotecă care conține multe funcții standard de procesare a semnalului, cum ar fi filtrele și (modulatoarele) modulatoare.
I. Permiteți USRP să urmeze frecvența de bouncing.
II. Interceptați toate frecvențele posibile și încercați să urmați secvența mai târziu.
Prima soluție necesită calcule multiple în interiorul USPP FPGA. Toți parametrii pentru frecvența de sărituri trebuie să fie obținuți din anumite impulsuri de date, apoi trebuie calculată următoarea frecvență de hop pentru fiecare impuls de date ulterior. Există trei configurații posibile de rețele mobile în legătură cu transmiterea parametrilor secvenței de alunecare a frecvenței. În unul dintre ele, toți parametrii sunt transmiși în mod clar. În celelalte două configurații, acești parametri sunt transmiși după ce criptarea este activată. In experimentele noastre, am observat întotdeauna turnuri doar celulare, care folosesc așa-numitele „cesiune timpurie“, în care a transmis criptate parametrii țopăit. În plus, rețeaua poate trimite întotdeauna o comandă la o nouă frecvență hop în criptare, indiferent de configurația folosită. Acest lucru necesită o rupere foarte rapidă a criptării pentru a obține valorile frecvențelor de hopping în timp real. Până acum, acest lucru este imposibil. USRP FPGA poate să probeze frecvențe individuale cu o lățime de bandă specifică și să le trimită la calculator. Aceasta este posibilitatea de a avea un FPGA (FPGA), pentru decodare și interpretarea impulsurilor de date în scopul de a urmări secvențe de salt de frecvență necesită numeroase lucrări privind crearea unei astfel de decizii. Rămâne în discuție chiar că mult mai rapid FPGA USRP2 capabil să decripteze mesajul și, astfel, pentru a calcula secvența de salt în timp real. O astfel de sarcină poate necesita FPGA suplimentare, ceea ce va crește costul. Întârzieri în stabilirea hardware-ului USRP (timpul scurs între comando „tonul“ și probele atunci când USRP este folosit de frecvența dorită) arata foarte bine în acest moment și ar trebui să fie redusă. Cu toate acestea, cu o astfel de afirmație a problemei, totul ar trebui să funcționeze pentru orice turn celular și indiferent de volumul traficului.
A doua soluție va necesita captarea unei cantități mari de date, și anume înregistrarea tuturor canalelor și determinarea ulterioară a frecvenței de salt. Problema aici este reducerea cantității de date trimise de la USRP la computer. Frecvența de alunecare poate face saltul maxim între 64 de frecvențe purtătoare. Toți acești transportatori au o lățime de 200 kHz și pot fi distribuite uniform pe întreg spectrul GSM. Deci, în cel mai rău caz, atacatorul va trebui să intercepteze întreaga gamă GSM (pentru GSM900 este de 25 MHz pentru legătura înainte și înapoi). Problema este performanța calculatorului în ceea ce privește prelucrarea datelor. Fiecare mostră USRP este reprezentată de două numere de 16 biți. Pentru conexiunea USRP1 cu conexiune USB 2.0, acest lucru înseamnă că fluxul maxim de date care poate fi trimis către computer este de aproximativ 8 MHz (8 MHz x 2 x 16 = 256 Mbps). În USRP2, o conexiune GBE poate transmite 100 MB de date (25 MHz × 2 × 16 = 800 Mbps) și chiar 200 MB / s pentru direct și feedback, ceea ce este prea mult pentru majoritatea PC-urilor.
Desigur, sunt posibile unele optimizări. Un singur turn celular nu servește niciodată întreaga gamă de frecvențe GSM. Aceasta înseamnă că puteți să eliminați imediat toate frecvențele din partea superioară și inferioară pentru un anumit turn de celule. Cu toate acestea, această soluție nu funcționează pentru majoritatea situațiilor, deoarece numărul maxim de suporturi (64) pentru un singur turn celular este încă prea mare pentru USRP. De asemenea, deoarece USRP poate accepta doar o gamă continuă de frecvențe, frecvențele superioare și inferioare sunt prea îndepărtate și această tehnică nu funcționează.
Cu toate acestea, obiecțiile de mai sus nu constituie o problemă în cazul în care turnul mobil atacat nu sare în canale sau transmite doar pe un număr mic de frecvențe și într-o porțiune îngustă a spectrului. Pe astfel de turnuri celulare care asculta cu USRP arata cu adevarat posibil. Nu este clar cât de multe, de fapt, dacă există, turnuri celulare lucrează pe acest principiu. Acest lucru face dificilă evaluarea riscului în situația actuală. În cursul acestui studiu, doar un număr mic de turnuri au fost examinate și niciunul dintre aceștia nu îndeplinea condiții care să permită audiția cu USRP.
În prezent, a doua soluție este considerată cea mai corectă de majoritatea comunității AirProbe. Cel puțin, producția se așteaptă să aibă mai multe șanse de succes (cel puțin pentru unele turnuri celulare), deși programarea FPGA nu înseamnă o sarcină simplă. O astfel de soluție probabil că nu va funcționa în toate situațiile, creând probleme cu transferul de date pe PC, dar unele sisteme de operare pentru unele turnuri celulare sunt deja suficiente pentru a permite comunității AirProbe să demonstreze capacitatea de a asculta GSM.