GSM Attack (IMSI Catch and Fake SMS) Arif Wicaksono & Tri Sumarno
[email protected] ,
[email protected] Pendahuluan Pada kesempatan ini , saya bersama rekan akan memaparkan tentang serangan pada sebuah BTS dan bagaimana cara melakukannya. GSM ? Sebelumnya kami akan menjelaskan sedikit tentang apa itu GSM, dan berikut ini adalah penjelasan dari situs Wikipedia. “GSM adalah sebuah teknologi komunikasi selular yang bersifat digital. Teknologi GSM banyak diterapkan pada komunikasi bergerak, khususnya telepon genggam. Teknologi ini memanfaatkan gelombang mikro dan pengiriman sinyal yang dibagi berdasarkan waktu, sehingga sinyal informasi yang dikirim akan sampai pada tujuan. GSM dijadikan standar global untuk komunikasi selular sekaligus sebagai teknologi selular yang paling banyak digunakan orang di seluruh dunia.” Biasanya arsitektur jaringan GSM dibagi menjadi 4: 1. Mobile Station (MS) 2. Base Station Sub-system (BSS) 3. Network Sub-system (NSS), Dan seluruh network elemen di atas akan membentuk sebuah PLMN (Public Land Mobile Network), seperti gambar di bawah:
Mobile Station atau MS merupakan perangkat yang digunakan oleh pelanggan untuk melakukan pembicaraan, terdiri atas: •
Mobile Equipment (ME) atau handset, merupakan perangkat GSM yang berada di sisi pengguna atau pelanggan yang berfungsi sebagai terminal transceiver (pengirim dan penerima sinyal) untuk berkomunikasi dengan perangkat GSM lainnya.
•
Subscriber Identity Module (SIM) atau SIM Card, merupakan kartu yang berisi seluruh informasi pelanggan dan beberapa informasi pelayanan. ME tidak akan dapat digunakan tanpa SIM didalamnya, kecuali untuk panggilan darurat. Data yang disimpan dalam SIM secara umum, adalah: • •
IMSI (International Mobile Subscriber Identity), merupakan penomoran pelanggan. MSISDN (Mobile Subscriber ISDN), nomor yang merupakan nomor panggil pelanggan.
Base Station System atau BSS, terdiri atas: • •
BTS Base Transceiver Station, perangkat GSM yang berhubungan langsung dengan MS dan berfungsi sebagai pengirim dan penerima sinyal. BSC Base Station Controller, perangkat yang mengontrol kerja BTS-BTS yang berada di bawahnya dan sebagai penghubung BTS dan MSC
Network Sub System atau NSS, terdiri atas: •
• • •
•
Mobile Switching Center atau MSC, merupakan sebuah network element central dalam sebuah jaringan GSM. MSC sebagai inti dari jaringan seluler, dimana MSC berperan untuk interkoneksi hubungan pembicaraan, baik antar selular maupun dengan jaringan kabel PSTN, ataupun dengan jaringan data. Home Location Register atau HLR, yang berfungsi sebagai sebuah database untuk menyimpan semua data dan informasi mengenai pelanggan agar tersimpan secara permanen. Visitor Location Register atau VLR, yang berfungsi untuk menyimpan data dan informasi pelanggan. Authentication Center atau AuC, yang diperlukan untuk menyimpan semua data yang dibutuhkan untuk memeriksa keabsahaan pelanggan. Sehingga pembicaraan pelanggan yang tidak sah dapat dihindarkan. Equipment Identity Registration atau EIR, yang memuat data-data pelanggan.
Latar Belakang Permasalahan Adapun latar belakang permasalahannya adalah, sebuah BTS bisa diserang dan dimanipulasi menggunakan alat tertentu, karena adanya celah pada protocol GSM itu sendiri. Untuk memulai prakteknya di sini saya menggunakan USRP. Dan untuk PoC (Proof of Concept) di sini kami tidak mencoba langsung ke BTS provider, dikarenakan ke-paranoid-an saya untuk berurusan dengan providernya.
Mengapa USRP ? Di sini saya menggunakan USRP yang diproduksi oleh Ettus Research. Karena USRP harganya tidak begitu mahal jika dibandingkan dengan BTS versi komersil dan aplikasi yang digunakan usrp juga opensource. dan ini adalah list hardware dan software yang saya gunakan. Hardware : 1. USRP1 + Board rfx900 + Antena 2. USRPN200 + Board wbx + Antena 3. 2 buah laptop Software : 1. 2. 3. 4.
GnuRadio OpenBts Asterisk OS (Ubuntu 10.10)
Instalasi USRP Sebelum lanjut ke PoC, mari kita lakukan instalasi pada ke 2 USRP tersebut dan dicoba apakah sudah berjalan dengan baik. (Untuk cara instalasi bisa dilihat pada bagian referensi). Berikut ini adalah gambaran bagaimana cara kerja sebuah GSM menggunakan USRP:
Dari gambar di atas, terlihat bahwa USRP bisa menghandle aplikasi GNUradio, OpenBTS , dan Asterisk sekaligus. PoC (Proof of Concept) Untuk kasus ini, kami mencontohkan pada jaringan GSM kami yang telah kami install sebelumnya menggunakan USRP. Biar lebih gampang, kami ilustrasikan USRP1 adalah sebuah jaringan GSM bernama YOI, dan kami akan melakukan penyerangan menggunakan USRPN200 ke jaringan GSM YOI. Pertama, kita menjalankan GSM YOI terlebih dahulu. Prosesnya kurang lebih seperti di bawah ini: MS → BTS / Antena → GSM YOI → Laptop
Serangan pertama yaitu melakukan scanning frekuensi terhadap GSM YOI menggunakan USRPN200. Di sini saya melakukan scanning terhadap BTS nya saja menggunakan aplikasi yang terdapat di GnuRadio yaitu usrp_fft.py . Berikut ini adalah gambar dari serangan yang dilakukan:
n.b: Biasanya frekuensi GSM itu antara 800-900Mhz Gambar di atas adalah proses scanning menggunakan USRPN200 di frekuensi 900 MHz, bisa dilihat di frekuensi 900 MHz terdapat sebuah signal yang broadcast. Saya menganalisanya dari gambar naik turun yang seperti air itu, karena di frekuensi 900 MHz pada gambar hampir mendekati -10 dB. Untuk lebih jelasnya bisa membaca beberapa buku / referensi mengenai cara menganalisa signal. Dari informasi yang kita dapat di atas yaitu frekuensi berapa yang digunakan oleh GSM YOI, kita dapat merubah frekuensi USRPN200 kita dan menghidupkan aplikasi OpenBTS dan Asterisk untuk membuat fake GSM, sehingga MS / handphone yang berada di sekitar GSM YOI menjadi bingung karena ada 2 buah BTS yang aktif di sekitar dia. Dan apabila kita menguatkan signal dari BTS fake GSM tersebut, maka MS / handphone akan mempercayai bahwa fake GSM adalah GSM yang dia gunakan. Gambarannya kurang lebih seperti di bawah ini: MS → BTS / Antena → GSM YOI → Laptop \ \ \ → BTS / Antena → Fake GSM (USRPN200 + Laptop) Apabila MS/handphone sudah terhubung ke fake GSM, dia akan melakukan registrasi kepada GSM tersebut dan memberikan nomor IMSI. Contohnya seperti gambar di bawah ini (IMSI disensor):
Dan di bawah ini adalah gambar proses dimana MS melakukan registrasi kepada BTS dan proses IMSI catchnya.
Dan kalau sudah memiliki IMSI dari sebuah MS/handphone, kita bisa saja mengirimkan fake SMS seperti “mama sedang ada dikantor polisi, tolong isikan di nomor baru mama” dan tentunya dengan nomor sesuai keinginan Anda. PoC dapat dilihat pada gambar berikut ini:
Setelah melalui proses scanning frekuensi dan membuat fake GSM, dan apabila fake GSM mempunyai signal lebih kuat dari GSM YOI, maka MS/handphone yang berada di sekitar GSM YOI akan mengira fake GSM adalah GSM sebenarnya . Kesimpulan Dengan adanya teknik-teknik baru pada keamanan GSM setidaknya akan membuka mata para network engineer BTS untuk lebih sering memperhatikan ke arah sisi keamanannya. Setidaknya menghindari penggunaan password default pada BTS yang aktif. Karena dari beberapa network engineer BTS yang saya temui pada umumnya masih menggunakan password default. Dan semoga untuk kedepannya semakin banyak yang melakukan riset keamanan GSM, dan bukan hanya melakukan instalasi OpenBTS lalu teriak “w0w kk w0w”.
Referensi • • • •
http://id.wikipedia.org/wiki/Global_System_for_Mobile_Communications http://rndc.or.id/wiki/index.php/Installasi_OpenBTS_2.8_di_Gentoo_(_Experimental_) OpenBTS for dummies - Axelle Apvrille, Fortinet Witte, Robert A., Spectrum and Network Measurements, Prentice Hall, Inc., 1993