» »

Spreminjanje klicne identifikacije 101

Konec leta 2011 je več slovenskih medijev poročalo, da naj bi poslanka Državnega zbora Melita Župevc iz enega svojega mobilnega telefona prejela klic na svoj drugi mobilni telefon, javil pa naj bi se neznan moški glas.

Na novinarska vprašanja so mobilni operaterji pojasnili, da takih primerov še niso zasledili, predstavnik Telekoma Slovenije pa je izjavil, da "vdor v sistem telefonskih povezav oziroma klic s prikazom kličoče številke, ki ne pripada v mobilni telefon vstavljeni SIM kartici, v Mobitelovem omrežju ni mogoč".

Podoben je bil tudi odziv poslanca in trenutno ministra za notranje zadeve Vinka Gorenaka, ki je na svojem blogu zapisal, da "tehnično res ni mogoče, da te nekdo kliče iz tvoje lastne prve telefonske številke na tvojo lastno drugo telefonsko številko, brez tvoje vednosti seveda".

Kljub temu pa pozorno branje odgovora Telekoma Slovenije kaže, da bi bilo klicanje s spremenjeno klicno identifikacijo morda le mogoče, saj so zapisali, da "na svetovni ravni ni enotne rešitve, ki bi neizpodbitno zagotovila, da v Mobitelovo omrežje pride klic s pravo in nepopačeno identifikacijo".

Pa si nekoliko podrobneje poglejmo tehnične možnosti za kaj takega.

Phone phreaking - manipulacija telefonskih sistemov


Phone phreaking, friking oz. "telefonsko hekanje" je skupek postopkov, s katerimi opisujemo varnostne analize in zlasti zlorabe telefonskih sistemov. Tim. friking je bil sicer zelo aktalen v ZDA konec 1970-tih let, kasneje pa so tim. frikerji (ang. phreaker) praktično izginili. Postopki frikinga so kasneje znova postali aktualni konec 1990-tih let s pojavom internetne (VoIP) telefonije. Sam izraz phone phreaking sicer zelo dobro definira in opiše Gorazd Žagar v svojem diplomskem delu Metode in tehnike napadov na informacijsko-komunikacijske sisteme (stran 16 in 17):
"Phone phreak (poslovenjeno friker) je oseba, ki se intenzivno, skoraj obsedeno ukvarja s proučevanjem telefonskih sistemov z namenom poznati vse njegove razsežnosti. Pogosto znanje teh oseb presega znanje poklicnih vzdrževalcev in ostalih zaposlenih na tem področju. Svoje znanje nekateri tudi zlorabijo z namenom doseganja brezplačnih telefonskih klicev in ostalih plačljivih storitev telefonskega omrežja. Jih je težko izslediti, kajti svoje znanje uporabljajo tudi za učinkovito zakrivanje svoje identitete (t.j. klicne številke). Frikerji so predhodniki hekerjev, ker v času njihovega nastanka (konec 60. let v Združenih državah), računalniški sistemi še niso bili tako množično omreženi in heking v današnjem pomenu besede še ni bil poznan. Telefonski sistemi so bili takrat (predvsem oz. samo v Združenih državah) razviti že do stopnje, ki je omogočala "vsakemu" uporabniku telefonskega omrežja njegovo manipulacijo iz navadnega telefonskega priključka. Eden izmed znanih frikerjev je bil Steve Wozniak, znan tudi kot Woz, soustanovitelj podjetja Apple. Za očeta vseh frikerjev pa velja Joe Engressia, znan tudi kot "piskač". Dejavnost frikerjev imenujemo ang. phone phreaking ali phone hacking, poslovenjeno friking. Frikerji so bili prvi, ki so v svojo dejavnost vključili tudi socialno inženirstvo (ang. social engineering)."

(Žagar, 2006: 16 in 17)



Znani frikerji poleg Joeja Engressia so bili sicer tudi Denny Teresi ter John T. Draper (njegov vzdevek je bil Captain Crunch), ki je iznašel tim. modro škatlico (ang. blue box).

Verjetno je manj znano, da telefonski friking ni bil omejen samo na ZDA, pač pa smo imeli frikersko skupino tudi v Sloveniji. Med leti 1999 in 2004 je namreč v Sloveniji delovala hekersko-frikerska skupina Phone Losers of Slovenia. Skupina je imela spletno stran (najprej v slovenščini, nato pa pretežno v angleščini), kjer so objavljali informacije o svojih hekersko in frikerskih dosežkih, ki so jih pridobili skozi raziskovanje telefonskih in računalniških sistemov. Ob 5-letnici obstoja so na svoji spletni strani zapisali: "smo zagotovo zadnja generacija pravih telefonskih hekerjev stare šole, ki so bili in so še zaljubljeni v analogno telefonsko tehnologijo. Naš cilj, ki je bil dosežen le delno, je bil vzpostavitev telefonske phreakerske skupnosti v Sloveniji, kjer bi ljudje lahko delili informacije o naših telefonskih sistemih. Žal smo ugotovili pomankanje interesa mladine na tem področju. Vprašanje je, ali je bilo telefonsko hekanje sploh kdaj aktivno v naši državi? Danes je vsako telefonsko hekanje izvedeno s pomočjo hekanja računalnikov. Telefonsko hekanje včasih vključuje računalniško hekanje, a prava čarovnija je v klikih in pokih, zvoku, ki pritegne tvojo pozornost.".

Skupina je bila odgovorna za kar nekaj vdorov in na svoji spletni strani so objavili precej občutljivih informacij. Pri vseh objavah je bilo zapisano takšno ali drugačno opozorilo, da so informacije objavljene zgolj v izobraževalne namene in pozivi naj jih obiskovalci ne zlorabljajo, kljub temu pa je - razumljivo in pričakovano - do zlorab prihajalo. Vseeno pa je bil osnovni namen članov skupine verjetno predvsem raziskovanje in učenje in ne namerno povzročanje škode.

Člani PLS so se med drugim ukvarjali z ranljivostmi v telefonskih tajnicah in objavili seznam telefonskih številk odvetnikov in podjetij, ki so uporabjala telefonske tajnice s privzetimi dostopnimi kodami, ki so omogočale poslušanje posnetih sporočil, v nekaterih primerih pa tudi prisluškovanje pogovorom v prostoru. Objavili so nekaj datotek z navodili za vzdrževanje ADSL priključkov (kar naj bi bila posledica vdora v domači računalnik nekega uslužbenca Telekoma Slovenije, ki je imel doma shranjene službene datoteke), nekaj novic je bilo posvečenih tudi vprašanju kako zaobiti zaščito v Telefonskem imeniku Slovenije. Objavili tudi program SMS bomber, ki je omogočal masovno pošiljanje SMS sporočil na telefonsko številko žrtve. Najbolj sistematično in izčrpno pa je bil opisan vdor v sistem glasovne pošte večjega slovenskega proizvodnega podjetja, kjer so opisali tudi kako poslušati sporočila v poštnih predalih in kako zasesti prosti zvočni predal. Med drugim so opisali tudi funkcijo "takojšen klic osebe", ki je omogočala klicanje na stroške podjetja. Mimogrede, tovrstne zlorabe so aktualne še danes, gre za tim. podaljšano izbiranje preko GSM vmesnikov. Gradivo o skupini Phone Losers of Slovenija in pogovori s člani so bili zbrani v okviru ciljnega raziskovalnega projekta "Računalniška/kibernetična kriminaliteta v Sloveniji", ki ga je v letu 2006 izvajal Inštitut za kriminologijo pri Pravni fakulteti v Ljubljani (vodja projekta je bila dr. Nina Peršak, sodelavci P. Gorkič, M. Kovačič in A. Završnik).

Spletna stran Phone Losers of Slovenia iz leta 2001. Danes stran ni več dostopna.



Poleg možnosti raziskovanja različnih zmožnosti telefonskih sistemov ter možnosti brezplačnega klicanja je eden izmed bolj pomembnih delov (zlasti sodobnega) frikinga tudi spreminjanje klicne identifikacije. Klicna identifikacija oz. v angleščini Caller ID (zanjo se uporabljajo tudi kratice CID, CLID, CND, CNID in CLIP) je posebna storitev telefonskega omrežja, ki omogoča prenos klicne identitete klicatelja na terminalno opremo klicanega. V praksi to pomeni, da s pomočjo klicne identifikacije lahko vidimo kdo nas kliče, klice pa lahko tudi blokiramo ali pa izsledimo. Vsaj v teoriji. Kot bomo namreč pokazali, je klicna identifikacija v resnici precej nezanesljiv podatek, spreminjanje klicne identifikacije, tim. Caller ID spoofing pa razmeroma enostaven postopek. Potrebno je le nekaj malega znanja in opreme. Podrobnosti v nadaljevanju, a za začetek si poglejmo kako enostavno je pošiljanje "ponarejenih" SMS sporočil.

Pošiljanje SMS sporočil s poljubno identifikacijo pošiljatelja


Pošiljanje SMS sporočil iz "poljubne številke" - v resnici gre za pošiljanje SMS sporočil s spremenjeno identifikacijo pošiljatelja - je pravzaprav otročje lahko, saj za to ni potrebno praktično nikakršno poznavanje tehnologije. Vse, kar mora potencialni napadalec narediti je le, da na internetu poišče ustreznega ponudnika pošiljanja SMS sporočil.

Na spletu je mogoče najti ponudnike, ki oglašujejo pošiljanje tim. ponarejenih SMS sporočil, vendar je cena pošiljanja teh sporočil lahko kar visoka - tudi nekaj EUR na poslano sporočilo. Z malo brskanja po spletu pa lahko najdemo večje ponudnike pošiljanja SMS sporočil, ki svojim strankam omogočajo avtomatizirano pošiljanje velikega števila SMS sporočil preko preprostega spletnega servisa. Te storitve praviloma uporabljajo podjetja, ki preko SMS sporočil svojim strankam pošiljajo različna obvestila, spletne strani, ki svojim uporabnikom preko SMS sporočil posredujejo gesla, itd. Skratka vsi, ki ponujajo različne SMS storitve. Gre za povsem komercialno storitev, ki omogoča avtomatizirano pošiljanje (in tudi sprejemanje) velikega števila SMS sporočil. Cene za poslano SMS sporočilo se seveda razlikujejo, prav tako kvaliteta storitve (predvsem zmogljivost oz. hitrost pošiljanja večje količine SMS sporočil), praviloma pa so cene največ nekaj centov za poslano SMS sporočilo v Slovenijo.

Tako smo na spletu hitro našli ponudnika, ki omogoča pošiljanje SMS sporočil v Slovenijo po ceni 1 cent na sporočilo, ponudnik pa ob brezplačni registraciji vsakemu svojemu uporabniku naloži 2 EUR dobroimetja. Za registracijo je potrebno vpisati veljaven elektronski naslov, kamor nato ponudnik pošlje podatke za aktivacijo računa. To v praksi pomeni, da si potencialni napadalec lahko najprej ustvari anonimen elektronski naslov (in pri tem pazi, da ne razkrije svojega pravega IP naslova), z njim pa se nato registrira pri navedenem ponudniku s čimer pridobi možnost pošiljanja 200 brezplačnih SMS sporočil na mobilne številke slovenskih operaterjev. Za pošiljanje dodatnih SMS sporočil je seveda potrebno na svoj račun nakazati dodatna finančna sredstva, vendar že možnost pošiljanja 200 SMS sporočil napadalcu lahko povsem zadostuje.

Pošiljanje SMS poročil je sicer mogoče na več načinov, najbolj enostaven način pa je pošiljanje preko spletnega API vmesnika. V URL vrstico poljubnega spletnega brskalnika je potrebno vpisati URL naslov, v katerem je "zakodirano" SMS sporočilo, ki ga želimo poslati. Primer (nekoliko zabrisanega) URL naslova je naslednji:
http://ponudnik.com/sms/json?username=x...

Navedeni URL naslov vsebuje naslednje parametre (ločene z znakom &):

  • username=xxxxxxxx - gre z uporabniško ime našega uporabniškega računa pri ponudniku za pošiljanje SMS sporočil

  • password=xxxxxxxxx - geslo za dostop do našega uporabniškega računa

  • from=040111222 - telefonska številka, ki se bo izpisala prejemniku kot pošiljatelj SMS sporočila

  • to=38631123456 - telefonska številka prejemnika v mednarodni obliki

  • text=To%20je%20SMS%20sporocilo. - vsebina SMS sporočila. Namesto presledkov vpišemo %20.


Z dodatnimi parametri lahko nastavimo tudi tip SMS sporočila in nekatere dodatne možnosti, kot številko pošiljatelja pa lahko vpišemo poljuben niz znakov - torej tudi besedilo. Tako je mogoče poslati SMS sporočilo pri katerem se kot telefonska "številka" pošiljatelja izpiše npr. "DedekMraz" ali "Phreaker".

SMS sporočilo z lažno identiteto pošiljatelja.



Pošiljanje SMS sporočil s poljubno identifikacijo pošiljatelja je torej povsem enostavno, z malce truda pa ga je mogoče izvesti tudi povsem anonimno. Kako pa vse skupaj v resnici poteka po tehnični plati, pa bomo prikazali na primeru vzpostavljanja govornih klicev s poljubno klicno identifikacijo. Ponudnikov, ki bi omogočali poljubno spreminjanje klicne identifikacije za govorne klice namreč ni mogoče enostavno najti, saj gre - kot bomo pokazali v nadaljevanju - za storitev, ki omogoča resne goljufije.

Kljub temu je potrebno poudariti, da spreminjanje klicne identifikacije samo po sebi ni prepovedano in v praksi se ta tehnologija tudi razmeroma pogosto uporablja. Tipičen primer so različni klicni centri, kjer so telefoni posameznih operaterjev v klicnem centru nastavljeni tako, da se kot njihova klicna identifikacija prikazuje telefonska številka centrale ali npr. vodje centra.

Podoben primer so tudi različne storitve ponudnikov telefonije preko interneta, npr. Vox.io, Skype in podobnih podjetij, ki svojim uporabnikom omogočajo klicanje iz njihove obstoječe mobilne številke preko spleta. Vendar pa omenjena podjetja pred vklopom klicanja s spremenjeno klicno identifikacijo preverijo lastništvo mobilne številke, ki jo uporabnik vpiše kot svojo. To preverjanje poteka npr. tako, da na vpisano številko uporabniku najprej pošljejo SMS z aktivacijsko kodo, ki jo mora uporabnik nato preko spletnega vmesnika prepisati v svoj uporabniški račun. Na ta način ponudniki teh storitev zagotovijo, da telefonska številka, ki se bo prikazovala kot klicna identifikacija pri klicih preko interneta, res pripada njihovemu uporabniku (oziroma, če smo bolj natančni, da je imel v času registracije njihov uporabnik dostop do mobilnega aparata s to številko).

Priprava tehnologije za klicanje s poljubno klicno identifikacijo


Za spreminjanje klicne identifikacije v primeru govornih klicev tako potrebujemo dostop do interneta, ustrezno programsko opremo (programsko telefonsko centralo ter programski telefon) ter povezavo do telefonskega omrežja. Najbolje je, če pridobimo tim. medoperaterski dostop, lahko pa uporabimo kar obstoječi SIP račun pri kakšnem ponudniku internetne telefonije, ki ne filtrira vnosov klicne identifikacije. Edini realni strošek je torej le strošek dostopa do telefonskega omrežja, pa še to ni nujno, saj napadalec lahko vdre v centralo ponudnika telefonije ali pa ukrade SIP račun, npr. z orodjem SIPViciuos. Vsa programska oprema, ki jo bomo uporabili v nadaljevanju pa je na voljo brezplačno.

V nadaljevanju si bomo pogledali nekoliko bolj zapleteno povezavo v telefonsko omrežje, saj želimo spreminjanje klicne identifikacije izvajati čim bolj mobilno (torej iz prenosnega računalnika) in neodvisno od vrste povezave v internet, hkrati pa si želimo zagotoviti anonimnost oz. neizsledjivost.

Za programsko telefonsko centralo lahko izberemo Linux distribucijo Trixbox. Gre za posebej prilagojeno Linux distribucijo v osnovi katere je operacijski sistem Centos 5.5, na katerem teče programska oprema za internetno telefonijo Asterisk ter ustrezni podporni programi za enostavno konfiguracijo in upravljanje telefonske centrale. Vsi programi so odprtokodni in na voljo brezplačno.

Trixbox lahko namestimo v virtualni računalnik. V našem primeru smo za virtualizacijsko okolje izbrali brezplačni in odprtokodni VirtualBox. Gre za posebno programsko opremo, ki znotraj računalnika ustvari virtualni računalnik, na katerega nato lahko namestimo poljuben operacijski sistem.

V našem primeru smo v VirtualBoxu ustvarili računalnik s 512 Mb pomnilnika RAM, 3 GB velikim navideznim trdim diskom in dvema omrežnima vmesnikoma - eden je tipa NAT, drugi pa Host-only Adapter. Razlog zakaj smo uporabili dva omrežna vmesnika je v tem, da na ta način dosežemo, da se virtualni računalnik preko enega vmesnika povezuje v internet, preko drugega pa se lahko v virtualni računalnik povezujemo iz fizičnega računalnika na katerem ta virtualni računalnik teče.

Nastavitve virtualnih omrežnih vmesnikov v Virtualboxu.



Ko v virtualni računalnik namestimo Trixbox je potrebno poskrbeti za povezavo do telefonskega omrežja. Kakšno povezavo do interneta mora imeti naša centrala je odvisno od tipa povezave do našega operaterja telefonije. Če uporabljamo SIP povezavo, je najbolj enostavno imeti statičen in po možnosti neposreden dostop do interneta. Če želimo svojo programsko telefonsko centralo uporabljati čim bolj mobilno (torej se hočemo iz nje do telefonskega omrežja povezovati iz različnih omrežij), jo je v primeru SIP povezave potrebno preko VPN povezave povezati do VPN strežnika, ki ima stalen IP naslov (lahko pa uporabimo tudi STUN strežnik). Prednost VPN povezave je v tem, da jo lahko uporabimo za skrivanje svoje prave identitete, hkrati pa se tudi izognemo prestrezanju naših komunikacij v lokalnem omrežju ali pri našem ponudniku dostopa do interneta. Če uporabljamo IAX2 (Inter-Asterisk eXchange) povezavo, uporaba VPN sicer ni potrebna, razen, če želimo z uporabo VPN dodatno zakriti svojo pravo identiteto.

Če se odločimo za uporabo VPN povezave, lahko uporabimo odprtokodni OpenVPN. Manjša težava je le v tem, da za Trixbox ni na voljo namestitvenega paketa za OpenVPN odjemalca. To pomeni, da je OpenVPN potrebno prevesti in namestiti ročno. Z nekaj malega poznavanja operacijskega sistema Linux je to stvar nekaj (deset) minut. Hkrati je seveda na drugi strani potrebno postaviti (ali uporabiti že obstoječ) OpenVPN strežnik. Za postavitev OpenVPN strežnika svetujemo uporabo Linux distribucije Ubuntu ali Debian, postavitev in konfiguracija strežnika ter odjemalcev pa je mogoča v manj kot eni uri. V našem primeru smo sicer postavili OpenVPN strežnik na zakupljenem virtualnem računalniku, ki ima popolnoma šifrirane trde diske, prav tako ima šifrirane trde diske tudi prenosni računalnik na katerem teče virtualni Trixbox (zakaj je to lahko pomembno bomo videli kasneje v poglavju o sledenju lažnih klicev).

Pri uporabi VPN je smiselno, da VPN povezavo nastavimo tako, da se povezava vzpostavi samodejno ob zagonu Trixboxa. Če uporabljamo SIP povezavo do operaterja, je potrebno v Trixbox-u v nastavitveni datoteki sip_nat.conf nastaviti še naš zunanji (fiksni) IP naslov. Datoteko lahko uredimo preko spletnega vmesnika za upravljanje s Trixbox centralo. V primeru IAX2 povezave to ni potrebno.

Nastavitve Trixboxa pri uporabi prevajalnika omrežnih naslovov (ang. Network Address Translator, NAT) in SIP povezave do operaterja.



Sledi vzpostavljanje povezave do telefonskega omrežja. Vrsta povezave do do telefonskega omrežja je seveda odvisna od tega, kakšno vrsto povezave nam sploh omogoča naš operater internetne telefonije. Pri tem je pomembno, da poiščemo operaterja, ki ne filtrira tim CID vnosov oz. kakorkoli drugače omejuje naše povezave v telefonsko omrežje. Čeprav se to morda na prvi pogled zdi težko, je take operaterje mogoče najti tako v tujini (zlasti v kakšnih azijskih državah), kot tudi v Evropi. V Sloveniji je (bilo) mogoče najti tudi operaterje, ki ne filtrirajo klicne identifikacije niti za svoje končne uporabnike SIP telefonije. V našem primeru smo se do operaterja povezali preko IAX2 povezave.

Povezavo v naši Trixbox centrali vzpostavimo tako, da nastavimo tim. trunk. Med nastavitve je potrebno vpisati IP naslov našega ponudnika medoperaterskega dostopa (tim. host), naše uporabniško ime (username) in geslo (secret).

Nastavitve povezave do našega operaterja.



V naslednjem koraku nastavimo še tim. izhodno povezavo (ang. outbound route), ki določa, da gredo vsi klici iz naše centrale do našega operaterja. Naj dodamo, da v našem primeru nismo nastavljali vhodne povezave, saj dohodnih klicev ne potrebujemo.

Nastavitve izhodne povezave v Trixboxu.



Na koncu na naši virtualni telefonski centrali nastavimo še lokalne telefonske številke (tim. extensions). V našem primeru je lokalna telefonska številka 1000. Na to telefonsko številko se bomo kasneje "povezali" s pomočjo programskega telefona preko SIP protokola.

Sledi konfiguracija programskega telefona SIP. V našem primeru smo uporabili odprtokodni in brezplačni SFL Phone in vanj vpisali nastavitve iz naše virtualne Trixbox centrale.

Ko vse skupaj zaženemo torej povezava poteka takole. Fizični računalnik se v internet povezuje preko žične, brezžične ali mobilne povezave. Virtualna telefonska centrala Trixbox se preko te internetne povezve poveže na VPN strežnik, od tam pa preko našega operaterja preko IAX2 povezave v telefonsko omrežje. Programski telefon SFL Phone pa se preko SIP protokola iz fizičnega računalnika lokalno poveže na virtualno Trixbox centralo.

Shema naše povezave: (1) programski telefon SFL Phone, (2) vmesnik za nastavljanje telefonske centrale, (3) telefonska centrala v virtualnem stroju, (4) šifriran VPN strežnik preko katerega se povezujemo v telefonsko omrežje.



Status povezave telefonske centrale lahko preverimo preko spletnega vmesnika in če je povezava uspešna lahko skušamo opraviti prvi klic. V programskem telefonu SFL Phone vpišemo telefonsko številko v mednarodni obliki (če npr. želimo klicati na mobilno številko 040/123-456 v programski telefon vtipkamo 38640123456) in kliknemo gumb za klicanje. Če se klic vzpostavi, je postavitev telefonske centrale in povezave do operaterja uspešna. Odpremo šampanjec.

Status virtualne telefonske centrale.


Izvedba klicanja s spremenjeno klicno identifikacijo


Če sedaj želimo opraviti klic s spremenjeno klicno identifikacijo, v nastavitvah telefonske centrale med nastavitvami lokalne telefonske številke (ang. extension) kot izhodno klicno identifikacijo (Outbound CID) vpišemo poljubno telefonsko številko v mednarodnem formatu.

Nastavitve prikaza klicne identifikacije za lokalno telefonsko številko.



Če bi se torej klicanemu radi predstavili s klicno identifikacijo npr. 040/999-999, je kot izhodno klicno identifikacijo potrebno vpisati "38640999999" <38640999999>. Nastavitve shranimo in (pomembno!) uveljavimo spremembe na telefonski centrali. Ko bomo naslednjič poklicali na poljubno zunanjo telefonsko številko, se bo kot klicna identifikacija klicatelja izpisala telefonska številka 040999999.

Prikaz prejetih klicev na mobilnem telefonu. V ozadju vmesnik za spreminjanje nastavitev telefonske centrale in programski telefon SFL Phone.



Postopek se sicer da še nekoliko poenostaviti, saj je Trixbox centralo mogoče nastaviti tako, da sprejema dohodne klice, uporabnikom pa omogoča, da s pomočjo telefonskega aparata najprej nastavijo želeno klicno identifikacijo (vtipkajo številko, ki naj se prikaže pri izhodnem klicu), nato pa vnesejo izhodno številko kamor se klic s spremenjeno klicno identifikacijo preusmeri. Na ta način bi bilo mogoče klicanje s spremenjeno klicno identifikacijo izvajati zgolj s telefonskim aparatom, seveda pa bi nekje nekje v ozadju potrebovali ustrezno nastavljeno telefonsko centralo ter vso prej opisano infrastrukturo.

Možnosti napadov


Kot smo torej videli, je klicanje s spremenjeno klicno identifikacijo tehnično povsem mogoče. Kličemo lahko iz poljubne številke, tudi iz lastne ali pa celo povsem izmišljene, npr. 1116.

Dejstvo je, da računalniško generirane podatke ljudje praviloma dojemamo kot zaupanja vredne same po sebi (tim. inherentno zaupanje) in praviloma ne pomislimo na možnost, da so podatki spremenjeni oz. ponarejeni. Ker pa na tej predpostavki pravilnosti in točnosti takšnih podatkov slonijo naše domneve o identiteti klicatelja, ima spreminjanje klicne identifikacije lahko resne posledice.

Poleg različnih možnosti lažnega predstavljanja (v kombinaciji s kakšnimi imitatorji znanih osebnosti bi znalo biti prav zabavno) se je po letu 2002 v ZDA pojavil tudi tim. swatting. V tem primeru gre za to, da napadalci s ponarejeno klicno identifikacijo kličejo na številko za klic v sili oziroma policijo (v ZDA na številko 911) in grozijo, da zadržujejo talce. Policija pa se nato odzove s prihodom specialne enote tim. SWAT (Special Weapons and Tactics), kar seveda povzroči nevšečnosti nič hudega slutečim pravim lastnikom telefonske številke. Od tu tudi izvira izraz swatting.

Na spletni strani Dispatch Magazine On-Line je navedeno nekaj več podatkov o swattingu. Kot pravilno ugotavljajo avtorji prispevka, tehnični ukrepi proti spreminjanju klicne identifikacije niso mogoči, je pa včasih mogoče naknadno ugotavljati izvor klica.

Drugo možnost zlorabe na svojem blogu opisuje Brian Krebs. Napadalci najprej pridobijo dostop do bančnega računa žrtve, nato pa med tem, ko izvajajo bančne transakcije, žrtev zasujejo s klici iz naključno generiranih telefonskih številk. S tem preprečijo, da bi banka, ki zazna sumljive transakcije uspela priklicati svojo stranko ter preveriti veljavnost sumljivih transakcij. Ker so telefonske številke naključno generirane, jih žrtev tudi ne more blokirati. Kot poroča Brian Krebs, je tako storitev na črnem trgu mogoče naročiti za 5 USD na uro oz. za 40 USD na dan.

Znan je tudi primer iz Velike Britanije, kjer so pred kratkim neznani napadalci s pomočjo spremenjene klicne identifikacije izvajali masovno klicanje posameznikov (tudi do 1000 klicev na uro). Napadalci so uporabljali klicne identifikacije obstoječih podjetij ter klicne identifikacije neobstoječih številk (kar je številne klicane osebe prestrašilo), zvezo pa so vzpostavili le do točke, da je klicana številka pozvonila, nato pa prekinili. Domnevno naj bi bil razlog takega početja preverjanje katere telefonske številke sploh obstajajo (tim. pinging), te podatke pa bi napadalci nato lahko prodali marketinškim podjetjem za potrebe nelegalnega oglaševanja.

Kaj pa...?


V nadaljevanju si poglejmo še nekaj podrobnejših pojasnil o sami tehniki spreminjanja klicne identifikacije.

Kaj se zgodi, če pokličemo nazaj?


Kot smo torej videli, je klicanje s spremenjeno klicno identifikacijo povsem mogoče. Kaj pa se zgodi, če klicana oseba pokliče nazaj na to številko (torej na številko, ki jo telefonski aparat pridobi iz spremenjene klicne identifikacije)?

Preprosto - klic se bo zaključil pri pravem lastniku telefonske številke, torej pri osebi, ki je pravi lastnik te telefonske številke. Če številka ne obstaja, bo omrežje seveda javilo, da številka ne obstaja. Prav tako strošek klica s spremenjeno klicno identifikacjo v nobenem ne bremeni pravega lastnika telefonske številke, niti se klicana številka ne zabeleži med njegovimi odhodnimi klici. V primeru, da torej sumimo, da smo žrtev lažne klicne identifikacije, lahko preprosto prekinemo klicno zvezo in pokličemo nazaj - dobili bomo pravega lastnika telefonske številke.

Ali je tak klic mogoče izslediti?


Na kratko: teoretično da, a tudi to ne vedno, v praksi pa zelo težko. Napadalec se namreč z nekaj triki lahko dobro prikrije. Klic je namreč potrebno najprej izslediti do izvornega operaterja, ki je napadalcu omogočil medoperaterski dostop, nato pa še preko interneta do dejanskega napadalca. Sledenje izvornemu operaterju je mogoče izvesti tako, da se pri končnem operaterju (torej operaterju žrtve napada) skuša ugotoviti od kje (od katerega operaterja) je prišel originalen klic.

Posredovanje klicev med operaterji lahko poteka na dva načina. V prvem primeru, npr. neki manjši operater A pri večjem ponudniku telefonije B zakupi nek nabor telefonskih številk, posredovanje klicev pa nato poteka preko tega večjega operaterja. V primeru klica od operaterja A preko B do končnega operaterja C, bi končni operater C videl, da je klic prišel od operaterja B. Preiskovalci bi nato morali iti do operaterja B in pri njem pridobiti podatke od kje so prišli klici iz njegovega omrežja. Pri tem je potrebno vedeti, da ni nujno, da operater B hrani prometne podatke o klicih, ki jih posreduje, saj za te klice hramba prometnih podatkov ni obvezna.

Druga možnost je, da ponudnik telefonije sklene neposredno pogodbo z mednarodnimi ponudniki (tim. agregatorji). V tem primeru končni operater vidi le, da je klic prišel iz tujine, ne pa tudi od katerega konkretnega operaterja. Podatke za sledenje je torej potrebno iskati pri agregatorju. Poleg tega gredo pri kakšnih "sivih" ponudnikih telefonije povezave pogosto preko različnih posredniških operaterjev, zato je sledenje izvora takega klica zelo težavno, če že ne povsem nemogoče. Ponudniki na mednarodnem trgu namreč ponujajo povezave različnih kvalitet in povezave, ki so zelo poceni so navadno preusmerjene preko različnih držav in različnih ponudnikov.

Podatki o klicu pri končnem operaterju izgledajo približno takole (primer izpisa iz Asterisk telefonske centrale):
From: "031xxxxxx" <sip:031xxxxxx@91.xxx.xxx.xxx>;tag=epKK8N443v7Hg
To: <sip:386xxxxxxxx@77.xxx.xxx.xxx:5060>
Call-ID: e34e06b6-b7c7-122f-bf9c-00163e62e8ec
CSeq: 22852192 INVITE
Contact: <sip:mod_sofia@91.xxx.xxx.xxx:5070>
User-Agent: MegaTel
P-Asserted-Identity: "031xxxxxx" <sip:031xxxxxx@91.xxx.xxx.xxx>

V prikazanem primeru med podatki o klicu lahko zasledimo več polj. Kot smo pokazali, je polje From mogoče enostavno ponarediti. Eno izmed polj, ki nam omogoča ugotavljanje prave identitete klicatelja pa je polje P-Asserted-Identity. Gre za polje, ki vsebuje podatek o originalnem klicatelju in na podlagi tega podatka bi bilo mogoče relativno hitro identificirati izvornega operaterja. Vendar pa se je potrebno zavedati, da se ta podatek med posredovanjem klica praviloma ne pošilja končnemu operaterju - uporablja se namreč samo med tim. zaupanja vrednimi omrežnimi vrstniki (ang. trusted peer). Poleg tega ga posredniški operaterji lahko tudi odstranijo ali spremenijo.

Če smo torej uspeli izslediti klic do izvornega operaterja, pa s tem še nismo na cilju. V drugem koraku je namreč potrebno izslediti klicatelja, torej osebo, ki se je preko internetne povezave do izvornega operaterja povezala v telefonsko omrežje. To je mogoče storiti preko denarnih nakazil ali preko IP naslova preko katerega se je napadalec povezal na svojega ponudnika telefonije.

Napadalec se sledenju denarnega nakazila lahko izogne tako, da storitve svojemu ponudniku telefonije ne plača s pomočjo kreditne kartice, pač pa preko poštne nakaznice, PayPala ali celo s pomočjo virtualnega denarja BitCoin. Ali pa preprosto uporabi ukradeno kreditno kartico.

Ostane torej še sledenje na podlagi IP naslova. V našem primeru bi preiskovalci uspeli ugotoviti, da je bila IAX2 povezava vzpostavljena iz IP naslova našega VPN strežnika. Kot smo omenili na začetku, ima lahko VPN strežnik šifrirane diske. Forenzična analiza vsebine strežnika torej ni mogoča, v primeru, da napadalec za VPN povezavo uporablja posredniške strežnike ali anonimizacijsko omrežje Tor, pa tudi ni mogoče izslediti pravega IP naslova napadalca. Napadalec sicer lahko za skrivanje svoje identitete uporablja dodatne trike, kot npr. anonimni zakup lastnega bloka IP naslovov in spreminjanje serijske številke svojega omrežnega vmesnika, o čemer pa morda v kakšnem prihodnjih prispevkov. Prav tako je tudi zakup VPN strežnika mogoče plačati anonimno.

Zaključimo torej lahko, da se napadalec z nekaj znanja in spretnosti lahko dobro prikrije pred preiskovalci in posledično popolnoma anonimno izvaja telefonske klice s spremenjeno klicno identifikacijo. Ostane pa še vprašanje, kateri podatki o takšnih klicih se na podlagi obvezne hrambe prometnih podatkov hranijo v zbirki prometnih podatkov, ki jo za potrebe preiskovanja kaznivih dejanj vzdržujejo operaterji.

Kaj pa obvezna hramba prometnih podatkov?


Vsako komunikacijo lahko delimo na dva dela - vsebino komunikacije in prometne podatke. Pri telefonskem pogovoru je vsebina komunikacije sam zvočni zapis pogovora, prometni podatki (ali dejstva o okoliščinah komunikacije) pa so telefonska številka klicočega, telefonska številka klicanega, čas začetka in konca pogovora, v primeru mobilne telefonije morda še lokacija obeh udeležencev, itd.

Leta 2006 sprejeta Direktiva o obvezni hrambi prometnih podatkov 2006/24/ES od operaterjev zahteva obvezno hrambo prometnih podatkov telefonskih in internetnih komunikacij. V Sloveniji je direktivo implementiral Zakon o elektronskih komunikacijah (ZeKOM) s katero je bila uveljavljena obvezna hramba prometnih podatkov tudi pri nas.

Hramba prometnih podatkov je vsekakor sporna iz stališča človekovih pravic - zlasti zasebnosti - kritiki pa s(m)o opozarjali tudi na pravno spornost tega ukrepa ter na dejstvo, da je ta ukrep razmeroma neučinkovit.

Nemški inštitut Max Planck je namreč v študiji, ki so jo leta 2011 opravili po naročilu nemškega pravosodnega ministrstva ugotovil, da hramba prometnih podatkov ne pripomore k večji preiskanosti kaznivih dejanj, niti nima preventivnih učinkov. Vprašanje je torej ali je obvezna hramba prometnih podatkov smiselna tako iz vidika učinkovitosti boja proti kriminalu kot tudi iz stališča varstva človekovih pravic.

Ker torej mobilni operaterji hranijo prometne podatke svojih strank, sem 27. februarja 2012 Simobil zaprosil za izpis lastnih prometnih podatkov (seznam odhodnih, dohodnih in neuspešnih dohodnih in neuspešnih odhodnih klicev) za obdobje od 13. februarja 2012 do 28. februarja 2012 - torej v času, ko se je izvajalo testiranje klicanja s spremenjeno klicno identifikacijo.

Po ZeKOM-u morajo operaterji komunikacij hraniti naslednje prometne podatke:

  • podatke, potrebne za odkritje in prepoznanje vira komunikacije (telefonsko številko kličočega ter ime in naslov naročnika ali registriranega uporabnika);

  • podatke, potrebne za prepoznanje cilja komunikacije (klicano telefonsko številko in v primerih, ki vključujejo dodatne storitve, kot je preusmeritev ali predaja klica, številko ali številke, na katere je klic preusmerjen, ime in naslov naročnika ali registriranega uporabnika);

  • podatke, potrebne za ugotovitev datuma, časa in trajanja komunikacije (datum ter čas začetka in trajanje ali čas konca komunikacije);

  • podatke, potrebne za ugotovitev vrste komunikacije (vrsto uporabljene telefonske storitve);

  • podatke, potrebne za razpoznavo komunikacijske opreme uporabnikov (kličočo in klicano telefonsko številko, mednarodno identiteto mobilnega naročnika kličoče in klicane stranke, mednarodno identiteto mobilnega terminala kličoče in klicane stranke, v primeru predplačniških anonimnih storitev pa datum in čas začetka uporabe storitve ter ID celice, kjer je bila storitev izvedena).


Hraniti je potrebno tudi podatke o neuspešnih klicih.

Podatki iz te zbirke so na podlagi 107.č člena ZEKom dostopni preiskovalnim organom na podlagi sodne odredbe. Vendar pa posameznik v skladu s 30. členom Zakona o varstvu osebnih podatkov (ZVOP-1) od upravljavca zbirke osebnih podatkov lahko zahteva izpis svojih lastnih osebnih podatkov. Konec koncev gre pri pravici do vpogleda v lastne osebne podatke tudi za ustavno pravico, saj 38. člen Ustave RS določa, da ima vsakdo pravico seznaniti se z zbranimi osebnimi podatki, ki se nanašajo nanj. Ker 6. člen ZVOP-1 določa, da je osebni podatek katerikoli podatek, ki se nanaša na posameznika, ne glede na obliko, v kateri je izražen, so torej prometni podatki o klicih tudi osebni podatki.

Seveda je pri posredovanju osebnih podatkov potrebno biti pozoren tudi na varstvo pravic tretjih oseb, kar pomeni, da je potrebno poskrbeti za ustrezno anonimizacijo klicočih številk. Direktiva 2002/58/ES Evropskega parlamenta in Sveta z dne 12. julija 2002 o obdelavi osebnih podatkov in varstvu zasebnosti na področju elektronskih komunikacij v 33. členu določa, da lahko države članice od izvajalcev zahtevajo, da ponudijo svojim naročnikom takšno obliko razčlenjenega računa, v katerem je izbrisano določeno število števk klicane številke. Zato slovenski operaterji številke na razčlenjenem računu naročnikom posredujejo na voljo v obliki, ki ne vsebuje prikaza zadnjih treh števk klicanih številk. In po isti logiki lahko operaterji na enak način zabrišejo tudi podatke o klicočih številkah iz zbirke prometnih podatkov, ki jih na podlagi ZVOP-1 posredujejo posameznikom.

Na podlagi zahteve za izpis prometnih podatkov mi je Simobil 8. marca 2012 posredoval izpispodatkov o dohodnih in odhodnih klicih. Na izpisku se nahaja samo seznam klicev, kjer je bila zveza vzpostavljena, saj naj Simobil po ustnem zagotovilu zaposlenih na naročniškem odelku ne bi beležil podatkov o neuspešnih klicih. Pri tem se sicer postavlja vprašanje ali to morda ni v nasprotju s 3. odstavkom 107.a člena ZeKOM, ki določa tudi hranjenje "podatkov o neuspešnih klicih, kjer jih operater ustvari ali obdela ter hrani ali beleži pri zagotavljanju z njimi povezanih javnih komunikacijskih storitev, ne vključuje pa hrambe podatkov o povezavah, ki niso bile uspešno vzpostavljene" (torej o klicih, kjer telefon klicane osebe zvoni, vendar klicana oseba ne sprejme klica).

Kakorkoli že, pri testiranju klicanja s spremenjeno klicno identifikacijo sem 25. februarja 2012 zvečer večkrat zaposredno klical na svoj mobilni telefon s spremenjenimi klicnimi identifikacijamo: 040/111-111, 040/222-222, 040/333-333, 040/444-444, 040/555-555, 040/666-666, 040/777-777, 040/888-888 in 040/999-999. Pri klicih identifikacijo 222-222, 444-444, 666-666 ter 888-888 pa sem tudi vzpostavil zvezo za nekaj sekund.

 

Izpisek prometnih podatkov iz Simobila.



 

Iz Simobilovega izpiska se - kljub temu, da so zadnje tri števke klicoče številke zabrisane - jasno vidijo vzpostavljeni klici iz navedenih dohodnih številk v času od 23:41 do 23:46. To torej pomeni, da operater dejansko zabeleži klicno identifikacijo, ki jo nastavimo sami in ne prave klicne identifikacije.

Izpisek seznama dohodnih klicev 25. februarja zvečer.


Sklep


Če torej zaključimo, smo lahko videli, da klicanje s pomočjo spremenjene klicne identifikacije tehnično in v praksi vsekakor je mogoče, prav tako je mogoče na mobilne telefone pošiljati SMS sporočila s spremenjeno identifikacijo pošiljatelja. Postopek smo preizkusili pri več slovenskih operaterjih fiksne, mobilne in internetne (VoIP) telefonije in postopek vsekakor deluje.

Prikaz prejetih klicev na telefonu v omrežju slovenskega VoIP operaterja. Postopek preverjeno deluje pri več različnih slovenskih operaterjih mobilne, VoIP in fiksne telefonije.



Še več. Kot smo prikazali, je klicanje in pošiljanje SMS sporočil z uporabo spremenjene klicne identifikacije mogoče izvajati povsem anonimno oziroma neizsledljivo, sama izvedba opisanih postopkov pa ni preveč tehnično zahtevna, predvsem pa ne zahteva kakšnih večjih finančnih sredstev.

Kljub temu je potrebno poudariti, da v resnici ne gre za kakšno veliko odkritje. Tehnologija spreminjanja klicne identifikacije je v uporabi že desetletja, seveda za legitimne namene in v razmeroma kontroliranih okoliščinah (ko npr. klicno identiteto nastavi operater za svoje stranke oz. to storitev ponujajo ponudniki telefonije preko interneta).

Tehnologija klicne identifikacije je v tem smislu pravzaprav zelo analogna tehnologiji identifikacije pošiljatelja pri pošiljanju elektronske pošte. Tudi pri pošiljanju elektronske pošte preko SMTP protokola je mogoče poljubno nastavljati poštno identiteto pošiljatelja (tim. from address). Res pa je, da mnogo sodobnih poštnih strežnikov takih sprememb ne dopušča, saj je bila možnost poljubnega nastavljanja identitete pošiljatelja elektronske pošte v preteklosti pogostokrat zlorabljena za pošiljanje nezaželene elektronske pošte (tim. spam). Poleg tega se med spremljevalne podatke elektronskega sporočila zapišejo tudi IP naslovi vseh posredniških poštnih strežnikov, zato je sledenje izvoru elektronskega sporočila nekoliko enostavnejše kot sledenje klicev med centralami.

Kljub temu, da ne gre za kakšno posebno odkritje, pa so posledice možnosti, ki jih omogoča spreminjanje klicne identifikacije lahko zelo resne. Kot smo namreč prikazali, končni operater beleži spremenjeno klicno identifikacijo in to tudi v zbirki prometnih podatkov. Zato se zastavlja povsem legitimno vprašanje: kaj vse skupaj pomeni za kazenski postopek, obvezno hrambo prometnih podatkov in boj proti kriminalu?
Zakoniti nadzor v Sloveniji (2.del)

Zakoniti nadzor v Sloveniji (2.del)

V soboto, 2. oktobra 2004, je v zgodnjih jutranjih urah, v času predvolilnega molka, več kot 70.000 uporabnikov Mobitela prejelo nezaželena in nenaročena sporočila SMS s politično vsebino. Iz fotografije spornega SMS sporočila, objavljene v Mladini, je razvidno, ...

Preberi cel članek »

Pravica do pozabe in izbris zgodovine

Pravica do pozabe in izbris zgodovine

Pred nekaj tedni je Matej Kovačič objavil zanimiv sestavek o potvarjanju številke klicočega v telefonskih omrežjih. Prikazal je metode, ki omogočajo pošiljanje SMS sporočil in izvedbo klicev iz poljubne telefonske številke. Čeprav so te metode strokovnjakom znane že kar nekaj časa, jih je lepo povzel ...

Preberi cel članek »

Varnost slovenskih GSM omrežij

Varnost slovenskih GSM omrežij

V Älanku so predstavljeni rezultati varnostne analize slovenskih GSM omreĹžij, ki smo jo opravili v prvi polovici leta 2012. Namen Älanka je opozoriti na varnostne ranljivosti v slovenskih GSM omreĹžjih z namenom, da se varnostne ranljivosti odpravijo, poslediÄno pa se poveÄa stopnja varnosti ...

Preberi cel članek »

Varnost slovenskih GSM omrežij II

Varnost slovenskih GSM omrežij II

Članek je dopolnitev predhodno objavljenega članka. Ker se je izkazalo, da nekateri mobilni operaterji skrbijo za zaupnost komunikacije v svojih omrežjih z več mehanizmi zaščite (in domnevno ne samo s kodiranjem z zastarelim algoritmom), s katerimi je zagotovljena visoka stopnja zaščite, smo se tovrstne ...

Preberi cel članek »

Varnost slovenskih GSM omrežij III

Varnost slovenskih GSM omrežij III

del I, del II V torek smo pisali tudi o tem, da Si.Mobil v svojem omrežju dovoli uporabo A5/0 (nešifriranega prenosa podatkov). Tudi njih smo poprosili za komentar. Med čakanjem na odgovor so se razmere rahlo spremenite, a najprej nekaj uvoda. V okviru projekta OsmocomBB je bila razvita aplikacija ...

Preberi cel članek »