Zapisi in dokumenti iz področja prava, človekovih pravic in tehnologije.

In Memoriam – Kiberpipa (2000 – 2013)

Čeprav se danes sliši skorajda neverjetno, smo imeli pred dobrimi dvajsetimi leti realne možnosti, da se v Sloveniji razvije inovativno tehnološko podjetje, ki bi mu danes morda lahko rekli slovenski Apple (ali slovenski Samsung).

Podjetje, ki je imelo ta potencial, a je danes utonilo v pozabo (v času pisanja tega besedila nima niti slovenske strani na Wikipediji!), se je imenovalo Iskra Delta.

Podjetje je sprva prodajalo računalnike ameriškega proizvajalca DEC (Digital Equipment Corporation), kmalu pa je začelo razvijati lastne rešitve in na koncu so prodajali računalnike, ki so jih z izjemo procesorja in operacijskega sistema razvili in sestavili sami. Podjetje je imelo 2000 zaposlenih, polovica od teh je bila visoko izobraženih, imeli so lasten razvoj (razvili so celo zametke procesorske paralelizacije), lastne izobraževalne centre, razvejano prodajno in servisno mrežo, odlične povezave z univerzitetnim okoljem, v tedanjem socialističnem okolju so se obnašali skrajno podjetniško in tržno. Poslovali pa niso samo v tedanji Jugoslaviji, pač pa povsod po svetu. Med drugim so v rekordnem času in nadvse uspešno izvedli prvi večji tuji IT projekt na Kitajskem, posledično pa so pričela deževati naročila iz vsega sveta. Podjetje je postajalo pomemben igralec in močna konkurenca ameriškim podjetjem ne samo na področju širše regije, pač pa zlasti v državah, ki danes predstavljajo ene večjih trgov – Kitajska, Indija, Rusija.

A podjetje je imelo smolo. Bilo je ustanovljeno v Sloveniji, zato je bilo praktično ves čas svojega delovanja deležno nerazumevanja in celo aktivnega oviranja poslovanja s strani politike. Kar vključuje tako medijske napade, ovire pri pridobivanju kratkoročnih kreditov s strani bank, težave pri širitvi proizvodnih prostorov, itd. Nekdanji direktor podjetja Janez Škrubej v knjigi Hladna vojna in bitka za informacijsko tehnologijo sicer piše tudi o tem, da je bilo podjetje trn v peti zahodnim in vzhodnim tajnim službam, saj je prodajalo in kasneje tudi razvijalo tehnologijo, ki je bila pod ameriškim embargom. ZDA je namreč želela preprečiti izvoz informacijske tehnologije v tedanjo Sovjetsko zvezo, sovjetska tajna služba KGB pa je ameriški embargo na vso silo skušala izigrati preko Iskre Delte (kar ji sicer ni uspelo), zato so po mnenju nekdanjega direktorja Škrubeja za propad uspešnega podjetja zaslužni tudi interesi velesil. Svoje interese okrog Iskre Delte pa je imela tudi konkurenca. A dejstvo je, da je propadu enega najbolj inovativnih in uspešnih slovenskih podjetij tistega časa precej pripomogla zlasti slovenska politika in splošna družbena klima, ki ne samo da ni imela vizije razvoja lastne IT industrije, pač pa je tudi pritlehno skušala uničiti vse, kar je štrlelo iznad povprečja.

Iskra Delta je tako leta 1988 končala v stečaju v samo šestih mesecih po odstopu direktorja in celo ob pozitivnem stanju na transakcijskem računu. Priložnost, da bi Slovenija postala vidnejši igralec na področju visoke tehnologije, da bi steklo sodelovanje med univerzami in industrijo ter da bi Slovenci zaradi svoje pozicije in izkušenj pričeli z osvajanjem vzhodnih trgov tudi na področju informacijske tehnologije, je bila izgubljena.

Slovenska politika je sicer kasneje še nekajkrat skušala na področju informatike – tokrat državne – zastaviti nekoliko bolj resno razvojno strategijo. Tako je vlada leta 1993 ustanovila Center vlade za informatiko, ki naj bi med drugim skrbel za uvajanje informacijske tehnologije v delo državnih organov ter – zanimivo – celo razvoj programske opreme za potrebe javne uprave. Leta 2000 je bilo ustanovljeno še Ministrstvo za informacijsko družbo, ki je imelo nekoliko širše naloge, zlasti naj bi poskrbelo za spodbujanje elektronskega poslovanja javne uprave, celovit pravni okvir razvoja informatike in informacijske družbe v Sloveniji, nakazala pa se je tudi možnost, da se bo to ministrstvo vsaj zavedlo problema odvisnosti države od peščice IT podjetij in morda celo začelo spodbujati odprte standarde ter krepitev domačega razvoja.

Seveda tudi iz vsega tega ni bilo nič in ministrstvo je bilo kmalu ukinjeno. Res je, za ukinitev MID-a so obstajali raznovrstni razlogi, verjetno je bila za koga vsaj deloma problematična tudi kadrovska zasedba in skromen obseg aktivnosti, a dejstvo je, da so se z ukinitvijo MID-a možnosti za enotno in celovito strategijo razvoja IT sektorja in e-uprave v Sloveniji precej zmanjšale. Zato danes lahko precej prostodušno trdimo, da država resne strategije na področju informatizacije pravzaprav nima, razvoj državne informatike pa je razdrobljen po številnih ustanovah. Ena izmed posledic te razdrobljenosti je tudi naravnost žaljiva sprega odvisnosti države od nekaj “dvornih dobaviteljev” IT opreme in storitev po eni strani, ter visoka stopnja finančne odvisnosti teh podjetij od poslovanja z državo po drugi. Namesto pojmov “vizija” in “razvoj” se na področju državne informatike kar sam po sebi vsiljuje pojem “korupcijsko tveganje“.

V samo nekaj letih je tako Sloveniji uspelo zatreti razvojni potencial lastne IT industrije, kot tudi onemogočiti nastanek kakršnekoli resne strategije informatizacije lastne države. Zato ne čudi, da velik del slovenskega IT sektorja pravzaprav živi predvsem od prodaje in implementacije tujih rešitev, lastnega razvoja – v mislih imamo predvsem razvoj rešitev, ki bi bile inovativne v svetovnem merilu – pa skorajda ni.

In potem pridemo do Kiberpipe.

Multimedijski in kulturni center Kiberpipa je bil ustanovljen leta 2000. Kljub temu, da je v Kiberpipi delovala računalniška delavnica, muzej računalništva z nekaj v svetovnem merilu izjemnimi in še vedno delujočimi razstavnimi eksponati, galerija sodobne digitalne umetnosti, kljub temu, da je ekipa Kiberpipe, ki je bila sestavljena večinoma iz prostovoljcev, na leto priredila okrog 150 kulturnih, umetniških in zlasti visoko strokovno izobraževalnih dogodkov – je Kiberpipa delovala v komaj ustreznih kletnih prostorih z minimalnimi finančnimi sredstvi ter zastarelo opremo.

V Kiberpipi s(m)o se srečevali študentje računalništva in navdušenci nad informacijsko tehnologijo, uveljavljeni strokovnjaki iz področja IT-ja, podjetniki, razvijalci odprtokodnih aplikacij, umetniki in oblikovalci – in vsa ta mešanica je povzročala mreženje ter vrenje novih idej. Nekateri sodelavci Kiberpipe so tako razvili izredno zanimive in v svetovnem merilu inovativne IT rešitve, v tem okolju je nastalo kar nekaj inovativnih slovenskih podjetij, med njimi medijsko bolj prepoznavna Zemanta (ki je, mimogrede, uspela šele v tujini), iz tega okolja izhajajo tudi nekateri ključni kadri drugih uspešnih slovenskih IT podjetij. Skratka, Kiberpipa je spodbujala inovativnost slovenske mlajše populacije, pa tudi podjetniške procese, saj je mladim strokovnjakom in ustvarjalcem v okviru projekta VIP – Večer za inovativne in podjetne, kazala podjetniške priložnosti oziroma jih spodbujala k podjetniškim aktivnostim. Kar nedvomno prispeva k ekonomski rasti celotne države in nastajanju družbe znanja.

Po vsej logiki bi takšne ustanove za vsako normalno državo morale predstavljati nekaj, kar velja negovati in razvijati, saj spodbujajo inovativnost in podjetništvo mladih. A ne v Sloveniji.

Kiberpipa namreč v letošnjem letu zapira svoja vrata. Novo vodstvo študentske organizacije temu seveda uradno reče selitev v nove in bolj svetle prostore (in zamolči, da so le-ti povsem neprimerni za Kiberpipino dosedanjo dejavnost). Žal pri tem ne gre za enkraten dogodek. Kiberpipa je namreč podobnih oviranj deležna že nekaj let. Zato ne preseneča odziv Kiberpipine ekipe, ki ima tega počasi že dovolj. Leta in leta ignorance in aktivnega nagajanja pač opravijo svoje.

Kiberpipina ekipa prostovoljcev se bo verjetno skušala osamosvojiti. Treba bo poiskati nove prostore, neka osnovna finančna sredstva ter minimalno potrebno opremo za izvajanje predavanj. Marsikdo niti ne pričakuje, niti si ne želi podpore države ali paradržavnih organizacij – dovolj bo, da ekipo Kiberpipe pustijo pri miru, da nadaljuje s svojim delom.

V starih prostorih pa namerava študentska organizacija odpreti novo restavracijo. Zraven nje se bo gradila garažna hiša. Tipično slovensko dojemanje razvoja.

A nič hudega. Do jeseni se lahko obetamo kakšne nove razvojne strategije. Natisnjene na papirju.

 

Članek je bil 4. maja 2013 objavljen v Sobotni prilogi pod naslovom Kiberpipa: garažna hiša namesto valilnice inovacij.

Priporočamo tudi branje intervjuja z Janezom Škrubejem z naslovom “V krepljih politike in tajnih služb” z objavljenega 28. 6. 2011 v reviji Monitor Pro ter pogovor z Janezom Škrubejem v klepetalnici MMC RTV SLO iz 10. decembra 2008.

Varnost VoIP komunikacij (mala šola informacijske varnosti, 15. del)

Ker VoIP priključki oziroma VoIP telefonija v zadnjih letih čedalje bolj izpodriva klasično (PSTN in ISDN) telefonijo si bomo v tokratnem prispevku pogledali kako enostavno je mogoče prestrezati nezaščitene VoIP komunikacije.

Pri VoIP oziroma tim. IP telefoniji za prenos zvoka ne uporabljamo klasične telefonske povezave, pač pa podatkovni prenos. Gre torej za zvočno komunikacijo preko (računalniškega) omrežja, ki je v osnovi sestavljeno iz VoIP centrale in ustreznih telefonskih aparatov, ki jih povežemo v računalniško (LAN ali WAN) omrežje. Naj dodamo, da je za odjemalce namesto telefonskih aparatov mogoče uporabiti tudi ustrezne aplikacije, tim. programske telefone, ki tečejo tako na navadnih računalnikih, kot tudi na pametnih mobilnih telefonih.

VoIP telefonija najbolj pogosto poteka preko SIP ali H.323 standarda iz varnostnega stališča pa se je pomembno zavedati dejstva, da podatki pri VoIP telefoniji v osnovi niso šifrirani. VoIP promet je sicer mogoče zaščititi s šifriranjem (npr. TLS ali ZRTP), a če ponudnik VoIP telefonije zaščite ne vključi oziroma če nimamo ustreznega telefonskega aparata, ki bi šifriranje podpiral, se telefonski pogovori v VoIP omrežju prenašajo povsem nezaščiteno. In izkaže se, da je prestrezanje VoIP komunikacij v lokalnih omrežjih v pogostih primerih pravzaprav otročje lahko, kar si bomo ogledali na primeru prestrezanja SIP in H.323 prometa.

Dostop do omrežja

Prvi korak za uspešno prestrezanje VoIP prometa je (fizični) dostop do (lokalnega) telefonskega omrežja. Pridobimo ga lahko preprosto tako, da se z računalnikom fizično povežemo na omrežno stikalo (ang. switch) (ali omrežni koncetrator (ang. hub), če se še kje uporablja) VoIP omrežja ter nato v njem pridobimo lokalni IP naslov.

Proti temu sicer obstajajo nekatere zaščite. Najbolj osnovna zaščita je ta, da upravljalec VoIP omrežja iz glavnega stikala fizično izključi vse neuporabljene priključke. Ta ukrep je sicer zelo priporočljiv, vendar varnostnega problema v resnici ne rešuje, saj napadalec lahko iz VoIP omrežja odklopi obstoječo napravo (telefon) in namesto nje priklopi dodaten omrežni razdelilnik (npr. omrežni koncentrator), nakar se v omrežje poveže preko na novo vzpostavljenega priključka. Napadalec lahko v omrežje vključi tudi dodatno stikalo v tim. mostovnem načinu (ang. bridge mode) ter povsem povsem pasivno analizira omrežni promet, ali pa si v ta namen naredi poseben razdelilec. Poleg tega nekateri telefonski aparati vsebujejo dva omrežna priključka – eden je namenjen povezavi telefona v omrežje, drugi pa za povezavo dodatnih naprav v VoIP oz. LAN omrežje.

Nekatera omrežja imajo uveden dodaten varnostni ukrep, in sicer ta, da dovolijo povezavo v omrežje samo napravam z vnaprej definiranimi MAC naslovi. Na tak način izvaja avtentikacijo uporabnikov tudi večina slovenskih kabelskih ponudnikov dostopa do interneta. MAC (Media Access Control) naslovi so posebne oznake omrežne strojne opreme (nekakšne serijske številke omrežnih vmesnikov), gre za 48-bitna števila, prvi trije bajti MAC naslova pa predstavljajo identifikacijo izdelovalca strojne opreme (zakaj je to pomembno bomo videli kasneje).

Vendar pa tudi ta ukrep v resnici problema varnosti ne rešuje zadovoljivo, saj je MAC naslove omrežnih vmesnikov mogoče zelo enostavno spreminjati oz. ponarejati. V Linuxu je to mogoče storiti kar z ukazom ifconfig. Primer ukaza za spreminjanje MAC naslova omrežnega vmesnika z oznako eth0 na vrednost CA:FF:EE:BA:BE:01 je npr. naslednji:

ifconfig eth0 hw ether CA:FF:EE:BA:BE:01

Za operacijski sistem Linux obstaja tudi aplikacija macchanger, ki omogoča samodejno naključno spreminjanje MAC naslova omrežnega vmesnika, za operacijski sistem Windows pa obstaja podobna aplikacija MadMAC.

V ustrezno varnostno zasnovanih omrežjih se je sicer v omrežje mogoče povezati samo na podlagi ustrezne kriptografske overitve, s pomočjo 802.1X avtentikacije, ki je standardiziran overovitveni mehanizem za povezavo omrežnih naprav na LAN ali WLAN omrežja. Vendar pa v praksi v številnih VoIP omrežjih tovrstno overjanje ni vključeno (čeprav ga telefonski aparati podpirajo), še več, pogosto niso uporabljeni sploh nikakršni varnostni mehanizmi.

Tako v lokalnih VoIP omrežjih dodeljevanje IP naslovov pogosto poteka dinamično in povsem samodejno, preko mehanizma DHCP. Napadalec tako v praksi zgolj s fizičnim dostopom do omrežja enostavno pridobi tudi IP naslov. Od tam naprej do zlorabe pa je samo še nekaj preprostih korakov.

Pregled omrežja

Naslednji korak, ki ga bo izvedel napadalec je navadno aktiven pregled omrežja. S pomočjo le-tega napadalec hitro identificira telefonsko centralo in priključene telefone ter njihove IP naslove. Pregled omrežja je mogoče narediti s pomočjo orodja nmap, ki izvede pregled vseh aktivnih omrežnih naprav. Primer ukaza, ki preišče vse IP naslove v danem podomrežju:

nmap 192.168.1.0/24
Nmap je razkril spletni strežnik na telefonu.

Nmap je razkril spletni strežnik na telefonu.

S pomočjo stikala -O lahko napadalec ugotovi še kateri operacijski sistemi tečejo na aktivnih napravah in na podlagi tega podatka za te sisteme poizkuša poiskati ustrezne ranljivosti. Orodje nmap izpiše še katere storitve tečejo na napravah, napadalec pa se nato lahko poskuša povezati do posameznih storitev (npr. spletnih strežnikov, ssh storitve, itd.) in do naprave dostopati s pomočjo privzetih gesel ali s pomočjo napada z grobo silo (ang. bruteforce). Pri identifikaciji si lahko pomaga tudi s pregledom morebitnih SSL digitalnih potrdil, ki lahko razkrijejo tip naprave, posledično pa napadalec za to napravo poskuša poiskati privzeta gesla ali pa znane varnostne ranljivosti. Skratka, praktično katerakoli informacija, ki jo napadalec pridobi o odkriti napravi, mu lahko pomaga izvesti korak naprej v napadu.

Privzeta gesla je mogoče najti tudi v uporabniških priročnikih na spletu.

Privzeta gesla je mogoče najti tudi v uporabniških priročnikih na spletu.

Orodje nmap sicer z različnimi stikali omogoča uporabo številnih možnosti. Zgolj za hiter prikaz si poglejmo primera izpisov dveh skeniranj:

nmap 192.168.1.50 -A -T4
Starting Nmap 5.21 ( http://nmap.org ) at 2013-04-17 21:48 CEST
Nmap scan report for 192.168.1.50
Host is up (0.00027s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
445/tcp open netbios-ssn
MAC Address: 00:23:AE:B1:00:00 (Dell)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Microsoft Windows Vista|2008|7
OS details: Microsoft Windows Vista SP0 or SP1, Server 2008 SP1, or Windows 7
Network Distance: 1 hop
Service Info: OS: Windows

Host script results:
|_nbstat: NetBIOS name: MATEJ, NetBIOS user: , NetBIOS MAC: 00:23:ae:b1:00:00
| smb-os-discovery:
| OS: Windows 7 Professional 7601 Service Pack 1 (Windows 7 Professional 6.1)
| Name: TEST\MATEJ
|_ System time: 2013-04-17 21:49:49 UTC+2
|_smbv2-enabled: Server supports SMBv2 protocol

HOP RTT ADDRESS
1 0.27 ms 192.168.1.50

OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 52.29 seconds
nmap 192.168.1.51 -A -T4
Starting Nmap 5.21 ( http://nmap.org ) at 2013-04-17 21:50 CEST
Nmap scan report for 192.168.1.51
Host is up (0.00025s latency).
Not shown: 996 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.5p1 Debian 4ubuntu6 (protocol 2.0)
| ssh-hostkey: 1024 08:8c:00:21:b8:e3:bb:00:7f:fd:48:35:cc:3b:b6:ca (DSA)
|_2048 c8:00:52:ff:00:e9:2a:3a:5a:d4:20:cc:44:05:99:20 (RSA)
80/tcp open http nginx 0.7.67
| html-title: 301 Moved Permanently
|_Did not follow redirect to https://192.168.1.51/
443/tcp open http nginx 0.7.67
|_html-title: 400 The plain HTTP request was sent to HTTPS port
5432/tcp open postgresql PostgreSQL DB
MAC Address: 00:22:4D:37:00:00 (Mitac International)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose|firewall|WAP|router|specialized|webcam
Running (JUST GUESSING) : Linux 2.6.X|2.4.X (95%), Check Point Linux 2.4.X (93%), D-Link embedded (93%), Linksys embedded (93%), Peplink embedded (93%), Crestron 2-Series (90%), AXIS embedded (88%), AXIS Linux 2.6.X (88%)
Aggressive OS guesses: Linux 2.6.19 - 2.6.31 (95%), Linux 2.6.15 - 2.6.30 (94%), Check Point VPN-1 UTM appliance (93%), D-Link DSA-3100 or Linksys WRT54GL (DD-WRT v23) WAP, or Peplink Balance 30 router (93%), Linux 2.6.22 (91%), Crestron XPanel control system (90%), Linux 2.6.17 - 2.6.31 (89%), Linux 2.6.24 - 2.6.31 (89%), Linux 2.6.9 - 2.6.30 (89%), AXIS 207W Network Camera (88%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: OS: Linux

HOP RTT ADDRESS
1 0.25 ms 192.168.1.51

OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 14.84 seconds

Preusmerjanje in prestrezanje prometa

Na tej točki ima napadalec že razmeroma dober pregled nad omrežjem. A če želi prestrezati komunikacije, mora omrežni promet ostalih uporabnikov preusmeriti tako, da bo tekel preko napadalčevega omrežnega vmesnika.

To je mogoče storiti tako, da MAC naslov omrežnega vmesnika povežemo z IP naslovom neke druge točke v omrežju. To napadalcu omogoča prestrezanje prometa, spreminjanje prometa ali izvedbo DOS napada. Postopek se imenuje ARP preusmerjanje (Address Resolution Protocol), oziroma ARP spoofing, ARP flooding, ARP poisoning ali ARP Poison Routing (APR)).

Gre za tehniko preusmerjanja ARP paketov v ethernet omrežjih. Pri tem je potrebno poudariti, da omenjeni napad ne deluje na nivoju IP protokola (tim. internet nivoju), pač pa na nivoju ARP protokola (tim. nivo povezave, ang. link layer), torej en nivo nižje. Naprave v lokalnem omrežju bodo tako še vedno obdržale svoje IP naslove, spremenila se bo le prenosna pot po kateri bodo komunikacijski paketki potovali po (ethernet) omrežju.

Proti ARP preusmerjanju sicer obstajajo nekatere zaščite, kot npr. uporaba tim. statičnih ARP tabel, uporaba programske opreme, ki zaznava poiskuse ARP preusmerjanja ali uveljavitev sprememb ARP tabele šele po določenem času. Žal pa implementacija zaščitnih mehanizmov zahteva nekoliko več potrpljenja in je tudi neprimerna za uporabo v večjih in dinamičnih omrežjih, kjer se v omrežje z visoko frekvenco priklapljajo in iz njega odklapljajo različne naprave. Zato na tovrstne zaščite naletimo le poredko. Žal na tovrstne zaščite poredko naletimo tudi v VoIP omrežjih, ki so razmeroma statična v smislu, da se število naprav v njih ne spreminja preveč pogosto.

Prvi korak s katerim napadalec lahko ugotovi ali je omrežje ranljivo na ARP preusmeritvene napade je pregled ARP paketkov s pomočjo orodja tcpdump:

sudo tcpdump -i eth0 -n arp

Če rezultat pokaže veliko število ARP paketkov je to za napadalca dober znak, ki kaže na to, da je omrežje dokaj verjetno ranljivo na ARP preusmerjanje:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:51:08.068896 ARP, Request who-has 10.254.60.1 (c4:7a:81:00:c0:00) tell 10.254.60.27, length 46
11:51:25.685073 ARP, Request who-has 10.254.60.1 tell 10.254.60.45, length 46
11:52:07.346347 ARP, Request who-has 10.254.60.1 tell 10.254.60.12, length 28
11:52:07.346937 ARP, Reply 10.254.60.1 is-at 00:19:56:21:ef:80, length 46
11:52:08.478366 ARP, Request who-has 10.254.60.1 (b4:a4:81:00:c0:00) tell 10.254.60.28, length 46
11:52:16.568207 ARP, Request who-has 10.254.60.1 (13:6e:81:00:c0:00) tell 10.254.60.24, length 46
11:52:16.569510 ARP, Request who-has 10.254.60.1 (ba:ec:81:00:c0:00) tell 10.254.60.25, length 46
11:52:16.576901 ARP, Request who-has 10.254.60.1 tell 10.254.60.20, length 46
11:52:18.063650 ARP, Request who-has 10.254.60.1 tell 10.254.60.49, length 46

Sledi dejanska izvedba ARP preusmerjanja s pomočjo aplikacije arpspoof. A pred tem je potrebno poskrbeti še za to, da bo promet dejansko lahko tekel čez napadalčev računalnik, da ga torej ne bo oviral požarni zid ali na kakšen drug zaščitni mehanizem. Zato je najprej potrebno omogočiti tim. IP posredovanje (ang. IP forwarding), nato pa še onemogočiti delovanje požarnega zidu. Primer za Ubuntu Linux, ki za požarni zid uporablja ufw (in ne na primer iptables):

echo 1 > /proc/sys/net/ipv4/ip_forward
ufw disable

Če namreč ne omogočimo IP posredovanja, bodo omrežne naprave, katerih promet preusmerjamo, izgubile povezljivost v omrežje. S tem dejansko izvedemo DOS napad na napravo (onemogočanje njenega delovanja – tim. Denial of Service), oziroma povedano drugače, napravo “odklopimo” iz omrežja.

Napadalec bo nato izvedel preusmerjanje z ukazom arpspoof – primer za ARP preusmeritev komunikacijskih paketkov med napravo z IP naslovom 10.254.60.43 ter IP naslovom IP prehoda v omrežju (10.254.60.1):

sudo arpspoof -i eth0 -t 10.254.60.1 10.254.60.43
sudo arpspoof -i eth0 -t 10.254.60.43 10.254.60.1

Ukaza moramo zagnati ločeno in sočasno. Po zagonu ukaza izpisujeta naslednja obvestila:

0:11:15:cb:5:8c 0:19:56:e:ef:1c 0806 42: arp reply 10.254.60.10 is-at 0:11:15:97:aa:8c
0:11:15:cb:5:8c 0:4:d:f5:3:6b 0806 42: arp reply 10.254.60.1 is-at 0:11:15:97:aa:8c

S tem je napadalec dosegel, da se ves omrežni promet med navedenima IP naslovoma sedaj “pretaka” preko njegovega računalnika. Ta promet pa je sedaj mogoče enostavno prestreči z ukazom tcpdump ali aplikacijo Wireshark:

sudo tcpdump -i eth0 -n -vv -w telefonski_promet.pcap host 10.254.60.43

Ukaz do preklica (Ctrl-c) prestreza omrežni promet, ki izvira iz ali je namenjen na IP naslov 10.254.60.43 na omrežnem vmeniku eth0 ter ga zapisuje v datoteko telefonski_promet.pcap (za kasnejšo analizo).

Naj pri tem poudarimo, da žrtev takšnega prestrezanja brez posebne opreme nikakor ne more zaznati, saj pri tem prestrezanju ni prisotno nikakršno pokljanje ali šumenje, kot je to prikazano v kakšnih filmih… Edini način, da bi žrtev takšno prestrezanje zaznala, bi bila analiza ARP tabele na (njeni) omrežni napravi, za kar pa je potrebno uporabiti računalnik oz. ustrezno programsko opremo.

Če je promet nešifriran, je sedaj v novi ukazni vrstici z naslednjim ukazom mogoče zelo enostavno pregledovati binarnih podatkov “očiščeno” vsebino prestreženih komunikacijskih paketkov:

tail -f telefonski_promet.pcap | strings

Primer izpisa nam tako lahko že brez uporabe posebnih orodj razkrije neko osnovno dogajanje v telefonskem omrežju, med drugim tudi katera telefonska številka je bila klicana (v spodnjem primeru je 5711 interna telefonska številka):

PS_FMuvsqOM@S
gwp@10.254.255.231
5711
AVAYA_I55 VOIPSW81_rel_0339
RTCP_STOP_CONNECTION
gwp@10.254.255.231
5711
AVAYA_I55 VOIPSW81_rel_0339
RTCP_STOP_CONNECTION

Če .pcap datoteko odpremo v aplikaciji Wireshark in če VoIP omrežje uporablja SIP protokol, je prisluškovanje vsebini pogovorov otročje lahko. Wireshark ima namreč vgrajena orodja za podrobno analizo SIP protokola, ki pokažejo seznam vseh klicev, posamezen klic pa je mogoče tudi zvočno predvajati.

Analiza VoIP komunikacij z orodjem Wireshark.

Analiza VoIP komunikacij z orodjem Wireshark.

Preko menija Telephony preposto izberemo možnost VoIP Calls, Wireshark pa nam izpiše vse pogovore (vključno s prometnimi podatki). Nsto izberemo program in kliknemo na gumb Player, podatke deodiramo s klikom na gumb Decode, izberemo kateri zvočni kanal želimo predvajati (dohodni, odhodni ali oba) ter kliknemo gumb za predvajanje.

Da, tako preprosto je prestrezanje sodobnih digitalnih komunikacij.

Nekoliko bolj zapleteno je “izločanje” zvočnega zapisa iz prestreženih komunikacijskih paketov v primeru H.323 standarda (H.323 namreč ni protokol, pač pa standard za VoIP signalizacijo, prenos in nadzor multimedijskih vsebin ter nadzor pasovne širine, v Wiresharku pa lahko analiziramo protokola H245 in H225, ki sta del H.323). Napadalec si pri tem lahko pomaga z orodji kot npr. UCSniff, VoIPong, VideoSnarf  ter ACE VoIP Directory Tool ki podpirajo SIP, H323, Ciscotov Skinny Client Protocol, RTP, RTCP, analizo videotelefonije, omogočajo pridobitev lokalnih imenikov, itd.

Primer uporabe orodja VideoSnarf:

videosnarf -i telefonski_promet.pcap
Starting videosnarf 0.63
[+]Starting to snarf the media packets
[+] Please wait while decoding pcap file...
Protocol: Unsupported
added new stream. :10.254.255.231(20560) to 10.254.60.43(1722). codec is 08
Protocol: Unsupported
added new stream. :10.254.255.231(20560) to 10.254.60.43(1722). codec is 08
Protocol: Unsupported
added new stream. :10.254.255.231(20560) to 10.254.60.43(1722). codec is 08
Protocol: Unsupported
Protocol: Unsupported
[+]Stream saved to file G711ALAW-media-1.wav
[+]Stream saved to file G711ALAW-media-2.wav
[+]Stream saved to file G711ALAW-media-3.wav
[+]Number of streams found are 3
[+]Snarfing Completed

V danem primeru smo v datoteko telefonski_promet.pcap posneli tri telefonske pogovore, ki jih je orodje VideoSnarf zaznalo in njihove zvočne zapise shranilo v tri .wav datoteke.

Uporaba orodja UCSniff, namenjenega analizi varnosti VoIP omrežij.

Uporaba orodja UCSniff, namenjenega analizi varnosti VoIP omrežij.

Na tej točki je napadalec dejansko uspel skoraj popolnoma kompromitirati VoIP omrežje. Na podoben način je mogoče prestrezati podatke tudi v neustrezno zavarovanih računalniških lokalnih (LAN) omrežjih. Manjšo “težavo” za napadalca sicer predstavljajo med odjemalcem in strežnikom šifrirane komunikacije, vendar napadalec lahko na SSL/TLS šifrirane seje izvaja napad s posrednikom (npr. z orodjem MITMproxy).

V VoIP omrežjih je mogoče z orodjem TFTP Theft preiskati še lokalni TFTP strežnik. TFTP strežniki so večinoma namenjeni prenosu konfiguracijskih in zagonskih datotek (ang. boot file) med napravami v lokalnem omrežju s pomočjo protokola TFTP (Trivial File Transfer Protocol). V VoIP omrežjih se pogosto uporabljajo za prenos zagonskih ali konfiguracijskih datotek za telefone v VoIP omrežju – telefon ob zagonu od TFTP strežnika pridobi zagonsko datoteko s pomočjo katere se zažene (VoIP telefoni so v bistvu neke vrste namenski računalniki, na katerih teče posebej prilagojen operacijski sistem).

Glavna težava TFTP protokola iz stališča varnosti pa je, da ne omogoča nikakšne overovitve uporabnika. Zato lahko napadalec od TFTP strežnika pridobi konfiguracijsko ali zagonsko datoteko, nato pa postavi lažen TFTP strežnik in telefonom v VoIP omrežju “popravi” nastavitve. Kakšne posledice ima to na varnost VoIP omrežja pa si ni težko zamisliti.

Na voljo so še številna druga orodja za preverjanje varnosti VoIP omrežij, npr. sipcrack, Offline SIP Cracker, SIPVicious, itd. ki omogočajo tudi napade na SIP avtentikacijo. Primer uporabe orodja SIP Viciuos je prikazan na video demonstraciji.

Naj še omenimo, da napadalec lahko v primeru, da kakšna naprava namenjena administraciji omrežja ne uporablja privzetih gesel, s pomočjo omenjenega prestrezanja geslo za dostop do naprave vseeno lahko prestreže. Primer scenarija napada:

  • Napadalec v prvem koraku izvede ARP preusmeritev prometa do ciljne naprave npr. lokalne telefonske centrale.
  • Če ciljna naprava uporablja šifriran dostop (npr. preko protokola HTTPS) izvede napad s posrednikom. Uporabnik, ki bo skušal dostopati do naprave bo sicer dobil opozorilo, da se je spremenilo digitalno potrdilo na napravi, vendar večina omrežnih naprav uporablja samopodpisana digitalna potrdila, zato napadalec brez težav ustvari in uporabi lastno (lažno) potrdilo.
  • Napadalec v omrežju sproži neko napako in počaka, da uporabniki o težavi obvestijo tehnično pomoč.
  • Ko se nekdo iz tehnične pomoči poveže v omrežje in na napravo z namenom odkriti težavo, napadalec prestreže dostopno geslo. Cilj napada je s tem dosežen.

Oddaljeni dostop do lokalnega VoIP omrežja

Za konec si poglejmo še kako bi napadalec lahko pridobil oddaljeni dostop do VoIP omrežja in si s tem olajšal prestrezanje ter hkrati tudi otežil svojo izsleditev.

Kljub temu, da so VoIP omrežja v različnih organizacijah praviloma zaprta omrežja z onemogočenim zunanjim dostopom, namreč obstaja kar nekaj možnosti, s katerimi napadalec lahko pridobi oddaljeni dostop. Ena bolj elegantnih možnosti je, če napadalec odkrije, da sta VoIP in računalniško omrežje neustrezno ločeni. To pomeni, da je iz enega omrežja mogoče dostopati do drugega, ali pa, da omrežni požarni zid iz enega omrežja v drugo prepušča določene komunikacijske paketke, npr. ICMP. Protokol ICMP (Internet Control Message Protocol) se namreč uporablja za pošiljanje nadzornih sporočil in sporočil o stanju omrežja. ICMP protokol je uporabljen v ukazu ping, ki omogoča preverjanje dosegljivosti omrežnih naprav. Zato omrežni administratorji v nekaterih omrežjih v in iz VoIP omrežja prepuščajo ICMP paketke, saj na tak način najlažje preverjajo osnovno odzivnost VoIP sistemov.

Takšno bližnjico pa lahko izkoristi napadalec, ki uporabi tim. TCP tuneliranje preko ICMP, DNS ali katerega drugega protokola. Pri tem gre za “zavijanje” TCP paketkov v drug protokol oziroma za vzpostavitev posebnega tunela preko komunikacijskega protokola, ki v omrežju ni blokiran. Za to je na voljo več zanimivih rešitev, npr. aplikacija Iodine (IP-over-DNS), ki omogoča vzpostavitev IP tunela preko DNS (na voljo je celo dodatek za Linuxov Upravitelj omrežij), ICMPTX (IP-over-ICMP), ki omogoča vzpostavitev IP tunela preko ICMP protokola, na voljo je celo aplikacija za Android, ki omogoča vzpostavitev VPN tunela preko DNS protokola,…

Seveda je za poganjanje takšne aplikacije v lokalnem VoIP omrežju potrebno namestiti ustrezno napravo, na kateri bodo tekle aplikacije za prestrezanje elektronskih komunikacij ter aplikacija za posredovanje podatkov izven omrežja oziroma oddaljeni dostop. Napadalec si pri tem lahko pomaga z namestitvijo manjšega računalnika v VoIP omrežje. Uporabi lahko Raspbery PI, The PlugBot ali podobno manjšo napravo, ki jo je mogoče povezati v lokalno omrežje in z nekaj malega spretnosti skriti praktično kamorkoli v organizacijo. Nekatere naprave imajo vgrajen tudi Wi-fi ali Bluetooth vmesnik, oziroma mobilni dostop do interneta (preko 3G omrežja). Na tak način lahko napadalec pridobi oddaljeni dostop do lokalnega VoIP omrežja tudi, če je omrežje povsem fizično ločeno od zunanjega sveta.

Zaključek

V tokratnem prispevku smo videli nekaj načinov s katerimi napadalec lahko ogrozi varnost elektronskih komunikacij v VoIP omrežjih. Izkušnje kažejo, da se upravljalci VoIP omrežij problematike varnosti pogosto ne zavedajo dovolj, zlasti v lokalnih VoIP omrežjih in predvsem v tistih, ki so fizično povsem ločena od interneta.

Seveda je proti opisanim napadom mogočih nekaj zaščitnih ukrepov.

Pomembno je, da se zavedamo pomena fizične varnosti. To pomeni, da je potrebno je poskrbeti za varovanje opreme tudi znotraj internega omrežja, kontrolo dostopov v prostore, pregled in popis ožičenja ter fizično izključitev neuporabljenih omrežnih priključkov. Na nivoju omrežja je priporočljivo uporabljati statične ARP tabele na omrežnih stikalih ter 801.x overitev naprav (npr. s pomočjo FreeRADIUS strežnika), preveriti dizajn oz. segmentacijo omrežja (razdelitev omrežja na podomrežja (ang. subnet) in VLAN-e, preveriti ali se uporabljajo omrežni mostovi (ang. bridge), itd.).

Občasno je smiselno izvesti tudi varnostno preverjanje omrežja. Takšno preverjanje je smiselno zaupati neodvisnim zunanjim varnostnim strokovnjakom, saj bodo le-ti v varnostni pregled prinesli svež pogled in morda našli tisto, kar so načrtovalci omrežja spregledali. V omrežju je smisleno tudi uporabljati šifrirane povezave med telefonsko centralo in telefoni.

A najboljši ukrep za zagotovitev varnosti telefonskih komunikacij je uporaba šifriranja med končnima odjemalcema (oz. odjemalcem v našem VoIP omrežju in prehodom v druga omrežja), npr. s pomočjo ZRTP standarda, o čemer smo podrobneje že pisali v prejšnjem prispevku, s čimer z eno potezo rešimo praktično vse navedene varnostne težave. Žal tega ukrepa, pa tudi kakšnega drugega, bolj osnovnega, v večini VoIP omrežij ne srečamo prav pogosto.

VoIP telefonija sama po sebi ni varna.

VoIP telefonija vsebuje številne ranljivosti.

Za konec pa si lahko ogledate predstavitev o varnosti VoIP telefonije z naslovom Network busters, ki smo jo varnostni raziskovalci Matej Kovačič, Ferdinand Šteharnik in Gorazd Žagar pripravili v letu 2011.

Predstavitev temelji na rezultatih varnostnega pregleda VoIP omrežja slovenske ustanove v letu 2010. Ustanova je imela v uporabi VoIP omrežje podjetja Avaya, ki celo vsebuje nekatere mehanizme za preprečevanje ARP zastrupljanja. Nekateri telefoni (npr. Cisco Unified IP Phones ter nekateri telefoni podjetja Avaya) namreč med vzpostavljanjem klica s pomočjo SCCP signalnega protokola svojemu RTP partnerju (ang. peer) pošljejo ARP zahtevek ter s tem popravijo svojo okvarjeno ARP tabelo. Vendar pa je v omrežju mogoče prestreči StartMediaTransmission SCCP paket, z njegovo pomočjo ugotoviti da bo telefon poslal ARP zahtevek ter ustvariti množico lažnih unicast ARP odgovorov. S tem telefon zasujemo z lažnimi paketki in “preglasimo” pravi ARP odgovor ter na ta način onesposobimo zaščito pred ARP prestrezanjem (zanimivo: opisana varnostna ranljivost je na spletni strani Internet Security Systems označena z nizko stopnjo tveganja).

Kar pa je spet samo še en dokaz, da polovične varnostne rešitve v resnici ne delujejo.

Varnost telefonskih komunikacij (mala šola informacijske varnosti, 14. del)

O varnosti telefonije smo na teh straneh že večkrat pisali, prav tako smo že tudi predstavili nekatere aplikacije za varno komuniciranje preko IM in SMS sporočil. V tokratnem prispevku pa si bomo pogledali kako pred prestrezanjem zaščititi svoje telefonske klice oziroma vsebino naših zvočnih komunikacij. Pri tem je potrebno poudariti, da v nadaljevanju opisan način onemogoči vsakršno prestrezanje telefonskih pogovorov (prisluškovanje) – tako nezakonito, kot tudi tim. zakonito, ki bi se ga skušalo izvajati s pomočjo operaterja.

Zgodovina šifriranja zvočnih komunikacij sega v obdobje 2. svetovne vojne, ko je (za današnje razmere) preprosto zvočnih šifriranje radijskih komunikacij pričela uporabljati ameriška vojska. V ta namen so uporabljali napravo SIGSALY, ki je tehtala 55 ton in je napolnila srednje veliko sobo. Za šifriranje telefonskih pogovorov so se kasneje uporabljali posebni telefonski aparati (z vgrajenim modulom za šifriranje in dešifriranje pogovorov), pogosto pa tudi tim. scramblerji – samostojne naprave, ki jih je bilo mogoče položiti na telefonsko slušalko, kjer so z vgrajenim mikrofonom “prebrale” vhodni (kodiran) signal, ga dekodirale in nato nekodiranega predvajale na zvočniku (in obratno za mikrofonski del slušalke). Scrambler je sicer naprava, ki omogoča spreminjanje (navadno analognih) signalov, izraz scrambler pa se uporablja tudi za naprave, ki omogočajo šifriranje analognih signalov. A pomemben pospešek šifriranju telefonskim pogovorom je prinesla digitalna tehnologija.

Eno prvih aplikacij, ki je omogočala šifriranje pogovorov preko navadne telefonske (modemske) povezave ali preko interneta je bila aplikacija PGPfone, ki jo je leta 1995 razvil legendarni Phillip Zimmermann. Za uporabo aplikacije smo na vsaki strani potrebovali računalnik z modemom ali dostopom do interneta. S pomočjo modema smo se nato povezali na modem drugega uporabnika (oziroma preko internetne povezave na drug, v internet povezan računalnik; ne pozabimo, da je bil v tistih časih internet še zelo slabo razširjen), obe aplikaciji pa sta si nato izmenjali šifrirne ključe in preko povezave začeli prenašati digitaliziran zvok. Seveda je vsak uporabnik potreboval zvočno kartico s slušalkami (kar v tistih časih ni bilo tako samoumevno kot danes), z nekaj malega spretnosti pa je bilo mogoče izdelati celo priključek, s katerim smo na računalnik namesto slušalk in zvočnika priključili kar telefonsko slušalko. O tem sem leta 1998 napisal celo kratek prispevek, ki je še vedno dosegljiv na internetu…

Šifriranje telefonskih pogovorov s PGPfone leta 1998.

Šifriranje telefonskih pogovorov s PGPfone leta 1998.

Kljub temu, da je bila uporaba takšne naprave (računalnik z modemom in slušalkami) razmeroma nepraktična (ne pozabimo, da so bili tedanji računalniki precej večji in težji od današnjih), pa je napredek od druge svetovne vojne v tem primeru lepo viden. A razvoj je šel dalje in s pojavom pametnih telefonov sanje o vsem dosegljivem šifriranju telefonskih pogovorov postajajo realnost.

VoIP omrežje

Kot omenjeno, je ena možnost, da zvočne pogovore šifriramo na ravni (zvočnega) signala. Ta možnost v resnici danes ni preveč uporabna, saj praviloma zahteva namensko strojno opremo ali zajem in obdelavo zvočnega signala neposredno na mikrofonu (v ta namen za Android obstajajo celo nekatere aplikacije). Poleg tega je takšen način šifriranja praviloma precej občutljiv na motnje pri prenosu oziroma je tudi omejen z zmogljivostjo prenosnih poti (komunikacijske infrastrukture). Druga možnost pa je šifriranje digitalnih komunikacij oziroma digitaliziranega zvočnega pogovora. Ta možnost je še posebej privlačna zato, ker danes pravzaprav vse komunikacije postajajo digitalne oziroma kmalu ne bomo več govorili o prenosu zvočnih, SMS in drugih komunikacij, pač pa zgolj o prenosu podatkov. V nadaljevanju si bomo ogledali kateri so ključni gradniki infrastrukture, ki nam omogoča šifriranje telefonskih pogovorov.

Kot rečeno, v osnovi za prenos zvoka ne uporabljamo klasične telefonske povezave, pač pa podatkovni prenos. Gre torej za zvočno komunikacijo preko VoIP omrežja, za kar praviloma potrebujemo ustrezno infrastrukturo (nekatere rešitve delujejo tudi povsem samostojno, brez strežniškega dela).

Za uporabo VoIP telefonije obstaja kar nekaj različnih protokolov (SIP, H.323,…). Za signalni protokol je najbolj smiselno uporabiti SIP (Session Initiation Protocol), ki je odprtokoden, ni obremenjen z lastniškimi licencami, zanj pa je na voljo precej različnih strežniških aplikacij in odjemalcev. Kar nekaj SIP strežniških aplikacij omogoča tudi TLS šifriranje povezave med strežnikom in SIP odjemalcem, vendar je za zagotovitev zares varnega komuniciranja pomembno, da je povezava šifrirana od enega odjemalca do drugega (tim. end-to-end šifriranje). Za šifriranje je ravno tako na voljo kar nekaj različnih metod, najbolj znan in pravzaprav de facto standard na tem področju pa je ZRTP protokol.

Na tem mestu naj omenimo, da izmenjava šifrirnih ključev in šifriranje s pomočjo ZRTP poteka med končnima napravama. SIP centrala zato služi zgolj kot posrednik pri prenosu podatkov. Iz tega razloga je za SIP centralo potrebno uporabiti takšno aplikacijo, ki ne posega v VoIP promet in torej ne ovira izmenjave ključev in šifriranja med dvema končnima komunikacijskima točkama.

Če torej na kratko povzamemo, za centralno infrastrukturo potrebujemo telefonsko centralo (ustrezno SIP aplikacijo, ki teče na strežniku), ki ne posega v VoIP promet in torej dopušča ZRTP ali drugo šifriranje. Zaradi čim bolj zanesljivega delovanja pa je pomembno, da je SIP centrala povezana v omrežje s čim bolj kvalitetno omrežno povezavo.

Šifriranje klicev z ZRTP protokolom

ZRTP – Zimmermann Real-time Transport Protocol je sistem, ki omogoča varno izmenjavo šifrirnih ključev med dvema komunikacijskima partnerjema (s pomočjo tim. Diffie-Hellmanove izmenjave šifrirnih ključev), povezava med njima pa je nato šifrirana z SRTP protokolom (Secure Real-time Transport Protocol). ZRTP je leta 2006 razvil Phil Zimmermann (skupaj z Bryceom Wilcox-O’Hearnom, Colinom Plumbom, Jonom Callasom in Alanom Johnstonom).

Pomemben del procesa šifriranja zvočnih komunikacij je preverjanje istovetnosti šifrirnih ključev. S preverjanjem šifrirnih ključev namreč preprečujemo napad s posrednikom (tim. man-in-the-middle napad), kjer bi se napadalec enemu in drugemu komunikacijskemu partnerju lažno predstavljal in na ta način izvajal prestrezanje njunih šifriranih komunikacij.

Načeloma preverjanje javnih ključev poteka tako, da komunikacijska partnetja primerjata zgoščene vrednosti (ang. hash) svojih ključev. Na ta način lahko posameznik preveri ali je šifrirni ključ, ki ga poseduje on res enak kot tisti, ki se nahaja v partnerjevem telefonu (torej, da ni bil zamenjan med prenosom). Težava pa je v tem, da je preverjanje “klasičnih” zgoščenih vrednosti zamudno opravilo.

Poglejmo si to na primeru. Recimo, da je MD5 zgoščena vrednost našega šifrirnega ključa naslednji niz: “047125717b59e25646c48f056fe101db“. Preverjanje bi potekalo tako, da bi najprej vsak komunikacijski partner izračunal MD5 zgoščeno vrednost svojega ključa, nato pa bi se obe vrednosti (vrednost pri nas in vrednost pri partnerju) primerjali, in če se vrednosti ujemata vemo, da šifrini ključ pri prenosu ni bil spremenjen.

Primerjanje takšnih dolgih in zapletenih nizov je zamudno in nehvaležno opravilo. Zato je Zimmermann s sodelavci razvil za človeška bitja precej bolj enostavno metodo, ki se imenuje tim. Short Authentication String (SAS). Metoda temelji na tem, da prej omenjene zgoščene vrednosti preslika v krajši niz (npr. “5nhd“) ali besede v človeškem jeziku (npr. “stagnate typewriter“). Tako namesto preverjanja niza znakov “047125717b59e25646c48f056fe101db” lahko izvedemo preverjanje dveh besed (npr. “stormy aftermath“), kar je precej bolj enostavno in razumljivo. Besedi namreč ravno tako kot prej navedena zgoščena vrednost predstavljata digitalni prstni odtis šifrirnega ključa. Če se digitalna prstna odtisa šifrirnega ključa na obeh straneh ujemata, smo lahko prepričani, da posedujeta oba komunikacijska partnerja isti šifrirni ključ oziroma, da se le-ta med prenosom ni spremenil (oziroma, da se vmes ni vrinil napadalec). Besede sicer izvirajo seznama PGP Word List, ki omogoča nedvoumen prenos podatkovnih zlogov prek zvočnega (telefonskega) kanala.

Iz navedenih razlogov je zelo pomembno, da VoIP odjemalci omogočajo eno izmed metod preverjanja istovetnosti šifrirnih ključev. Odjemalci, ki podpirajo ZRTP, imajo preverjanje s SAS metodo že vgrajeno.

ZRTP podpira tim. oportunistično šifriranje, kar pomeni, da VoIP odjemalec sam ugotovi ali VoIP odjemalec na drugi strani podpira ZRTP šifriranje ali ne. Če šifriranje podpira, skuša vzpostaviti šifrirano povezavo, v nasprotnem primeru pa vzpostavi nešifrirano povezavo. To je sicer zelo koristno iz stališča zagotavljanja povezljivosti, problem pa je, če nam je osnovni cilj zagotavljanje varne povezave. V primeru motenj (naključnih ali namernih), bo namreč komunikacijski kanal vzpostavljen, vendar povezava ne bo šifrirana.

Kodeki

Pri prenosu zvok preko omrežja je smiselno zvok kompresirati, saj s tem prihranimo na pasovni širiti. Kompresijo zvoka izvajajo kodeki. Za kvaliteten prenos zvoka je torej potrebno uporabiti ustrezne kodeke. Kodeki namreč po eni strani v primeru slabše omrežne povezave (višja latenca, slabša prepustnost omrežja) omogočajo ustrezno kvaliteto zvoka in s tem boljšo uporabniško izkušnjo, izbira neustreznih kodekov pa lahko predstavlja tudi resno varnostno tveganje.

Uporaba napačnega kodeka namreč lahko povzroči tim. uhajanje informacij oziroma napadalcu omogoči prisluškovanje tudi v primeru, da uporabljamo šifrirane prenose podatkov. Problematični so VBR (variable bit-rate) kodeki, ki različno kompresirajo različne tipe zvokov. Težava ni v tem, če kodek spreminja bitno hitrost kodiranja (ang. bit rate) glede na razpoložljivo pasovno širino oz. prepustnost (ang. channel bandwidth); težava je, če spreminja bitno hitrost kodiranja glede na tip zvoka, ki ga kompresira (torej, da so določeni tipi zvoka različno kompresirani).

Raziskovalci iz Johns Hopkins University so namreč leta 2008 ugotovili, da je pri uporabi VBR kodekov mogoče z merjenjem velikosti kompresiranih in šifriranih podatkovnih z visoko zaneslivostjo identificirati dele besed ali celotne besede paketov brez dešifriranja. Raziskave so pokazale, da je na tak način mogoče v povprečju identificirati 50% besed v pogovoru, za nekatere besede, pa je verjetnost prepoznave kar 90%. To velja ne glede na uporabljeni šifrirni algoritem.

Iz tega razloga je se uporabi VBR kodekov pri šifriranih VoIP komunikacijah potrebno izogibati. Pri tem je potrebno vedeti, da nekateri kodeki uporabljajo VBR in ne-VBR način. Primeri nekaterih ne-VBR kodekov so GSM 6.10, iLBC, G.711 (A-LAW, u-LAW in PCMU), G.722 in G.726.

VBR kodeki, ki omogočajo opisano uhajanje informacij pa so med drugim iSAC, ki ga uporabljajo Skype, Google Talk in Gizmo ter Microsoftov RT Audio, ki se uporablja v aplikaciji Microsoft Office Communicator.

Problematična je tudi uporaba tehnologije zaznavanja aktivnosti glasu (ang. voice activity detection – VAD; gre za tehnologijo, ki zazna tišino in s tem zmanjša nepotrebno kodiranje oz. prenašanje “tišine” preko omrežja), vendar pa je uhajanje informacij tam bistveno manjše kot pri uporabi VBR kodekov. Kodeka, ki uporabljata VAD sta npr. AMR in G.722.2, je pa mogoče uhajanje informacij zmanjšati z nastavljanjem ustreznih parametrov v sami VoIP aplikaciji, vendar to praviloma ni nekaj, kar bi bilo v domeni končnega uporabnika.

Problem zakasnitve

Zakasnitev oz. latenca je po definiciji čas, ki preteče od uporabniške zahteve do odziva sistema, od katerega odziv pričakujemo. Za čim bolj nemoteno komunikacijo je seveda zaželjena čim manjša latenca oz. zakasnitev.

Zakasnitev je problematična zlasti zato, ker zakasnitev pri prenosu glasu med sogovornikoma močno upočasni komunikacijo oz. jo oteži, saj si sogovornika med pogovorom “skačeta v besedo”, zakasnitev povzoča odmev (tim. echo efekt), v primeru uporabe videokonferenčne povezave pa slika in zvok nista sinhronizirana, kar je ravno tako moteče za komunikacijo. Odmev postane problem, kadar je povratna zakasnitev med komunikacijskima partnerjema dolga več kot 50 milisekund, do prekrivanja sogovornikov oz. skakanja v besedo pa pride pri zamikih večjih od 250 milisekund.

VoIP komunikacije sicer poleg čim nižje zakasnitve potrebujejo tudi ustrezno prepustnost. Posamezen govorni kanal namreč za nemoteno delovanje potrebuje določeno omrežno prepustnost (ang. bandwith). A to je ob današnjemu razvoju tehnologije, zlasti pa z uporabo ustreznih kodekov (takih, ki imajo čim višjo stopnjo kompresije podatkov) precej bolj obvladljiv problem kot problem zakasnitve. Omeniti velja še problem izgube podatkovnih paketkov (v paketnih, torej IP omrežjih) – načeloma velja, da je za VoIP komunikacije sprejemljivih do 3% oziroma največ 5% izgube podatkovnih paketkov (idealno je do največ 1%).

Obstajajo tri vrste zakasnitve:

  • zakasnitev razširjanja (ang. propagation delay), gre za čas, ki je potreben za prenos signala v omrežju;
  • serializacijska zakasnitev (ang. serialization delay), ki je čas, potreben, da se posamezen bit pošlje (omrežnemu) vmesniku; ta zakasnitev je minimalna in za področje VoIP komunikacij v splošnem ni relevantna;
  • zakasnitev procesiranja (ang. handling delay, processing delay) – to zakasnitev povzročajo naprave, ki omrežni paketek pošiljajo po omrežju. V to zakasnitev se šteje tudi kompresija podatkov ter paketno preklapljanje oz. paketna komutacija (ang. packet switching). Različni kodeki tako lahko k zamiku prispevajo do nekaj milisekund (oziroma največ nekaj deset milisekund).

Na nekatere vrste zakasnitev lahko vplivamo z ustrezno infrastrukturo omrežja, nekatere vrste zakasnitev pa so fiksne in jih ne moremo zmanjšati. Več o problematiki zakasnitve si je mogoče prebrati v članku Understanding Delay in Packet Voice Networks objavljenem na spletni strani podjetja Cisco.

Načeloma velja, da čim manjše so zakasnitve, boljša je komunikacija. Glede na smernice ITU-T G.114 so sprejemljive zakasnitve do 150 ms (ob uporabi preprečevanja odmeva (ang. echo cancellation)). Pogojno so sprejemljive tudi zakasnitve med 150 in 300 ms, zakasnitve večje od 300 oziroma 400 ms pa že onemogočajo sočasno dvosmerno komunikacijo. Idealne zakasnitve pa naj bi bile največ do 100 ms.

Pomemben del zakasnitev je tim. ping čas (ang. ping time, čas potreben za potovanje podatkovnih paketov od izvornega do ciljnega strežnika in nazaj) in seveda naj bi bil ta čim krajši (na to lahko vplivamo z zasnovo omrežne infrastrukture oziroma izbiro lokacije strežnika na katerem teče SIP centrala). A kot rečeno ping čas ni edini izvor zakasnitve. Po nekaterih ocenah naj bi bil ping največ 90 do 100 ms.

Trepetanje sporočil (ang. jitter)

Trepetanje sporočil je spreminjanje časovnega razmika med podatkovnimi paketi sporočila (ang. jitter). Gre za časovno spreminjanje (variabilnost) latence pri prenosu podatkovnih paketkov preko omrežja. Problem trepetanja obstaja samo v paketnih omrežjih, do njega pa prihaja zato, ker podatkovni paketki ne potujejo vedno po isti poti od pošiljatelja do prejemnika, oziroma se omrežni pogoji v času trajanja komunikacije spreminjajo (latenca ni stalna, v omrežju prihaja do občasnih zastojev). Omrežje s kontantno latenco torej nima trepetanja sporočil.

Za VoIP komunikacije je pomembno, da je trepetanja čim manj, torej da zaporedni VoIP podatkovni paketki prihajajo na cilj v rednih časovnih intervalih. Zakasnitev trepetanja pri VoIP komunikacijah naj bi bila načeloma največ 75 milisekund, optimalna vrednost pa je pod 30 oziroma 40 milisekund. Posledica trepetanja je v praksi “zatikanje” pogovora in nerazločna komunikacija, včasih so določeni glasovi ali celo zlogi besed pomešani.

Rešitev za problem trepetanja je uporaba posebnega predpomnilnika (ang. jitter buffer), kjer hitrejši paketki počakajo počasnejše, seveda pa taka rešitev še poveča že opisani splošni problem zakasnitve. Indikator, da pri VoIP komunikaciji prihaja do trepetanja je nihanje ping-a oz. nekonsistentni rezultati v ping časih. Več o problematiki trepetanja si je mogoče prerati v članku Quality of Service for Voice over IP na spletni strani podjetja Cisco ter na spletni strani VoIP trobleshooter.

VoIP odjemalci

Na strani uporabnikov je za povezovanje na SIP centralo potrebno uporabljati ustreznega SIP odjemalca. Ta aplikacija mora podpirati ZRTP protokol, saj želimo uporabiti šifriranje pogovora med dvema končnima komunikacijskima točkama, hkrati pa mora podpirati tudi ustrezne kodeke, z predpomnilnikom skrbeti za čim bolj gladek prenos zvoka, itd. Iz tega razloga je VoIP odjemalec pravzaprav ključni del (varnega) telefonskega omrežja. V nadaljevanju si bomo zato pogledali nekaj odjemalcev za mobilne telefone (SIP odjemalci z ZRTP podporo so na voljo tudi za osebne računalnike), pri čemer pa so nekateri odjemalci pravzaprav tesno povezani z namensko infrastrukturo za šifriranje VoIP komunikacij in jih ne moremo uporabiti kot splošno namenske SIP odjemalce.

V nadaljevanju predstavljeni VoIP odjemalci so sicer brezplačni, kljub temu pa njihova uporaba za posameznika ni brezplačna. V nekaterih primerih je potrebno plačati za uporabo VoIP infrastrukture, v vsakem primeru pa za prenos podatkov (razen če za prenos podatkov uporabljamo brezplačno Wi-fi povezavo), saj VoIP komunikacije potekajo preko podatkovne povezave.

CSipSimple

Ena izmed bolj znanih SIP aplikacij za Android, ki podpirajo ZRTP šifriranje je CSipSimple. Aplikacija je odprtokodna in brezplačna, omogoča pa številne zmožnosti (SIP preko TLS, ZRTP in SRTP šifriranje, uporabo številnih kodekov – dodatne kodeke lahko namestimo s pomočjo aplikacije CSipSimple Codecs Pack), uporaba STUN (Session Traversal Utilities for NAT), ICE (Interactive Connectivity Establishment) in TURN (Traversal Using Relays around NAT) strežnikov, itd.

Šifriran klic v Ostel omrežju.

Šifriran klic v Ostel omrežju.

CSipSimple ima toliko funkcij, da bi bilo ročno nastavljanje SIP računa in varnostnih nastavitev za povprečnega uporabnika lahko precej zapleteno opravilo, vendar pa aplikacija vsebuje tudi zmogljivega čarovnika za nastavljanje računov, ki vsebuje prednastavitve za številne VoIP ponudnike, med drugim tudi za OSTN – Open Secure Telephone Network, o čemer nekoliko več kasneje. Zato je nastavljanje VoIP računa pravzaprav zelo enostavno opravilo.

Preverjanje SAS v CSipSimple.

Preverjanje SAS v CSipSimple.

Po drugi strani pa aplikaciji lahko očitamo to, da je aplikacija nekoliko slabo oblikovana – tako je na primer SAS avtentikacijski napis premalo jasno prikazan, prav tako je premalo jasno razvidno ali se je vzpostavila šifrirana ali nešifrirana povezava. Iz stališča varnosti pa pogrešamo možnost izklopa tim. oportunističnega šifriranja, torej možnost, da aplikacija v primeru motenj pri izmenjavi šifrirnih ključev omogoča vzpostavitev nešifrirane povezave.

Dohodni klic v CSipSimple.

Dohodni klic v CSipSimple.

CryptoCall

Nekoliko drugačen pristop je ubrala aplikacija CryptoCall. Gre za predelan klon CSipSimple (obeh aplikacij na telefonu ne moremo zaganjati hkrati), ki za šifriranje uporablja OpenPGP. Aplikacija za prenos pogovora sicer ne uporablja klasičnih VoIP ponudnikov, pač pa omogoča neposredne (ang. peer-to-peer) povezave. Odjemalca si svoja javna IP naslova (in komunikacijska vrata) izmenjata preko SMS sporočil, zato ni potrebna nikakršna registracija pri VoIP ponudniku. (Če je eden izmed odjemalcev za NAT-om, izvede klic na javni IP drugega odjemalca tisti odjemalec, ki ni neposredno dostopen).

CryptoCall

CryptoCall

Nastavljanje aplikacije CryptoCall.

Nastavljanje aplikacije CryptoCall.

Aplikacija je sicer namenjena zgolj kot prikaz, da je takšen pristop k šifriranju zvočnih komunikacij mogoč (aplikacija je sicer delo  nemških študentov Sergeja Dechanda in Dominika Schürmanna), v praksi zaenkrat ni širše uporabna, zlasti zato, ker pametni telefoni pogosto nimajo javnega IP naslova (so skriti za NAT-om) in neposredna peer-to-peer komunikacija pogosto ni mogoča. A avtorja v prihodnosti načrtujeta uporabo mehanizmov za prehod NAT sistemov, zato se bo pristop v prihodnosti morda izkazal kot učinkovit.

CryptoCall.

CryptoCall.

Red Phone

Druga razmeroma znana aplikacija, ki omogoča šifriranje telefonskih pogovorov je Red Phone, avtorja Moxieja Marlinspikeja (njegovo pravo ime je Mike Benham), ki je sicer tudi razvijalec odlične brezplačne in odprtokodne aplikacije za šifriranje SMS sporočil, TextSecure. Aplikacija je bila sicer razvita z namenom zagotavljanja varnih komunikacij ljudem v represivnih režimih, prvenstveno kot pomoč protestnikom v Egiptu.

Aplikacija je ravno tako odprtkodna in brezplačna, na voljo samo za Android in zelo preprosta za uporabo. Vendar pa je ne moremo uporabljati samostojno (s katerimkoli VoIP ponudnikom), pač pa samo v Red Phone omrežju. Gre za omrežje strežnikov, ki zagotavljajo delovanje VoIP omrežja. Arhitektura omrežja je nekoliko bolj zapletena, saj Red Phone sistem za posredovanje zvočne komunikacije uporablja tim. glavne in tim. relacijske strežnike (ang. master server, relay server), prav tako je nekoliko bolj zapletena signalizacija klicev, saj se zahteve za vzpostavitev klica posredujejo preko SMS sporočil oziroma Google Cloud Messaging (GCM) ter Android Cloud to Device Messaging (C2DM) sistema.

Red Phone jasno prikaže status povezave. Na sliki poteka izmenjava šifrirnih ključev.

Red Phone jasno prikaže status povezave. Na sliki poteka izmenjava šifrirnih ključev.

V praksi to pomeni, da je na začetek zvonenja Red Phone telefona na drugi strani včasih potrebno počakati nekoliko dlje (v ekstremnih primerih to lahko traja tudi več deset sekund). Med pomanjkljivosti lahko štejemo tudi dejstvo, da Red Phone avtentikacijo šifrirnih ključev zahteva za vsak klic posebej (ne uporablja algoritma za zagotavljanje kontinuitete šifrirnega ključa – ang. key continuity algorithm), kar pomeni, da morata sogovornika ob vsakem klicu na začetku prebrati in preveriti SAS niz. Zato lahko utemeljeno pričakujemo, da bodo po določenem obdobju sogovorniki preprosto pozabili na verifikacijo ključev, njihovo nepozornost pa bo lahko izkoristil napadalec.

Aplikacija je sicer zelo enostavna za uporabo, zasnovana je minimalistično, SAS nizi so jasno razvidni, uporabnik je jasno obveščen o vseh korakih vzpostavljanja zveze (tudi z zvočnimi signali), kvaliteta zvoka v Red Phone omrežju pa je povsem zadovoljiva. Uporabnost aplikacije se v zadnjem času še izboljšuje (zelo verjetno so se Red Phone strežniki namnožili tudi v Evropi).

RedPhone prikaže ljudem razumljiv SAS niz.

RedPhone prikaže ljudem razumljiv SAS niz.

Aplikacijo Red Phone je avtor najprej razvijal v okviru svojega podjetja Whisper Systems. 28. novembra 2011 pa je podjetje oziroma njegovega lastnika in avtorja Red Phone aplikacije prevzel Twitter in Red Phone omrežje ugasnil (aplikaciji Red Phone in Text Secure do takrat nista bili odprtokodni). To je sprožilo val protestov in kasneje so storitev ponovno vključili, omenjeni aplikaciji sta postali odprtokodni, podjetje Whisper Systems pa se je sedaj preimenovalo v Open Whisper Systems. Kljub temu, da je Red Phone odlična aplikacija pa dogodek jasno kaže, da ne smemo biti preveč oziroma življenjsko odvisni od enega samega ponudnika.

Silent Phone

Tretja znana aplikacija oziroma kar celovita storitev za zagotavljanje varnosti elektronskih komunikacij pa je Silent Circle v okviru katere deluje aplikacija Silent Phone. Gre za komercialno storitev podjetja katerega ustanovitelj in predsednik je Philip Zimmermann.

Silent Phone je na voljo za Android in iPhone za VoIP pa se uporablja infrastruktura podjetja (aplikacije ni mogoče uporabiti z drugimi ponudniki). Sama aplikacija je sicer brezplačna, mesečna naročnina na storitev pa stane 20 USD (storitev vključuje šifriranje telefonskih klicev, šifrirane video komunikacije, pošiljanje šifriranih SMS sporočil in šifrirane e-pošte).

Pri SilentPhone uporabnik dobi ameriško številko kamor ga nato pokličemo.

Pri SilentPhone uporabnik dobi ameriško številko kamor ga nato pokličemo.

SilentPhone je v osnovi zelo enostaven za uporabo, uporablja izboljšano različico SAS preverjanja (izgovorljive besede namesto znakov), obvestila o statusu povezave (izmenjava ključev, šifrirana povezava, itd.) so zelo jasna. Kvaliteta zvoka je zelo dobra, tudi na slabših podatkovnih povezavah (npr. EDGE), kvaliteta zvoka na iPhone napravah pa je naravnost odlična (VoIP strežnike imajo v Kanadi in Švici), zagotavljajo tudi kontinuiteto šifrirnega ključa. Pred kratkim je aplikacija postala odprtokodna.

SilentPhone jasno pokaže status povezave in SAS.

SilentPhone jasno pokaže status povezave in SAS.

Aplikacija je naravnost odlična, edini očitek je, da je cena 20 USD mesečno za običajne posameznike nekoliko previsok strošek, zlasti še zato, ker je treba upoštevati dejstvo, da nakup samo ene naročnine ni uporaben, pač pa mora storitev uporabljati tudi posameznikov socialni krog (prijatelji, sodelavci,…).

Pogled v prihodnost – uporaba VoIP komunikacij preko omrežja Tor

Z ZRTP šifriranjem VoIP prometa dobimo zaščito pred prestrezanjem vsebine naših zvočnih komunikacij, a napadalec še vedno lahko beleži prometne podatke (kdo je klical koga in kdaj). Temu se je načeloma mogoče izogniti z anonimizacijo, torej z uporabo Tor omrežja. Vendar pa je zasnova Tor omrežja taka, da v zameno za anonimizacijo dobimo visoko latenco omrežja. Visoka latenca Tor omrežja v praksi onemogoča kvalitetne VoIP komunikacije. Hkrati pa VoIP komunikacije praviloma potekajo s pomočjo UDP protokola, Tor omrežje pa trenutno podpira samo TCP protokol.

Naj poudarimo, da popolnoma uporabnih rešitev za zagotavljanje varne, zanesljive in anonimne VoIP komunikacije trenutno še ni, zato si bomo na hitro ogledali le v katero smer trenutno poteka ravoj na tem področju. Na tem mestu lahko omenimo, da je testiranje Skype komunikacije preko Tor omrežja dalo razmeroma zadovoljive rezultate, saj Skype uporablja kvalitetno kompresijo podatkov, vendar se uporabe Skypa preko Tor omrežja ne priporoča, saj Skype uporablja ranljive VBR kodeke.

Varnostni raziskovalci se namreč v zadnjem času ukvarjajo z različnimi pristopi k reševanju anonimizacije VoIP komunikacij. Prvi ukrep, ki ga je potrebno zagotoviti je, da zagotovimo, da VoIP promet poteka samo preko TCP povezave. To je mogoče storiti z ustrezno konfiguracijo VoIP infrastrukture ali pa s tuneliranjem VoIP povezav (npr. s pomočjo VPN ali OnionCat).

Naslednji problem, ki se ga trenutno zelo intenzivno raziskuje pa je problem visoke latence Tor omrežja. Vsak korak anonimizacije (prehod TCP paketokov preko različnih anonimizacijskih točk) namreč že po definiciji poveča latenco v omrežju, poleg tega zaradi razmeroma nizke zmogljivosti Tor omrežja v njem prihaja do zastojev. Nekatera testiranja so pokazala, ima pri prehodu čez tri anonimizacijske točke sprejemljivo kvaliteto le 21 od 100 testnih klicev, pri uporabi samo dveh anonimizacijskih točk pa število zadovoljivih klicev naraste na 36.

Eden izmed pristopov k reševanju tega problema je uporaba tim. polovične hkratne komunikacije (ang. half-duplex). Za razliko od običajne telefonije, ki uporablja polno hkratno komunikacijo (ang. full-duplex), se tim. polovično hkratno komunikacijo uporablja pri klasični radijski komunikaciji (UKV, CB, PMR oz. tim. “walkie-talkie” radijske postaje). Pri tem gre za to, da sogovornika ne govorita hkrati, pač pa komunikacija poteka izmenično, s prekinitvami.

To pa je mogoče implementirati v Tor omrežju. Pri tem so raziskovalci testno uporabili aplikacijo Mumble. Mumble je VoIP aplikacija, ki omogoča konferenčne pogovore po sistemu “pritisni in govori” (ang. push-to-talk, PTT). Večinoma jo za komunikacijo uporabljajo igralci on-line iger, aplikacija pa slovi po dobri kvaliteti glasu, nizkih zakasnitvah, VoIP komunikacije pa so tudi šifrirane (od odjemalca do strežnika). Poleg tega Mumble uporablja samo TCP protokol, strežniška aplikacija je odprtokodna in brezplačna, na voljo pa so številni odjemalci za različne operacijske sisteme in tudi pametne telefone. Testiranje, ki so ga izvedli v okviru The Guardian Projecta je pokazalo, da je tovrstna komunikacija preko Tor omrežja mogoča, je pa potrebno rešiti še določene druge probleme povezane s šifriranjem med več končnimi točkami hkrati (ang. multiple end-to-end encryption).

Drugi pristop pa se osredotoča k podvojevanju komunikacijskih povezav med VoIP odjemalcem in strežnikom. Tako naj bi se odjemalec na strežnik povezal preko dveh ali treh podatkovnih vrat (ang. port), vsaka povezava pa bi potekala preko druge Tor poti. Strežnik bi uporabil prvi prejeti podatkovni paketek (ostale pa bi zavrgel), aplikacija v ozadju pa bi najpočasnejšo povezavo po nekaj minutah samodejno zaprla in jo ponovno vzpostavila po drugi (hitrejši) poti (gre v bistvu za samodejno iskanje najhitrejše in najzanesljiveljše poti). Ta pristop sicer v osnovi rešuje zlasti problem izgubljenih podatkovnih paketkov in problem trepetanja, po predvidevanjih pa naj bi se s tem precej izboljšala povprečna latenca. Ob uporabi nepotratnih kodekov, kot je npr. Codec2, ki “porabi” zgolj 1200 oziroma 2400 bitov na sekundo ob zadovoljivi kvaliteti zvoka, se ideja zdi izvedljiva.

Zaključek

V tokratnem prispevku smo predstavili teoretične temelje zagotavljanja varnih telefonskih komunikacij. Kot je bilo prikazano, je pri zagotavljanju varnih in uporabnih VoIP komunikacij potrebno upoštevati številne dejavnike – od izbire ustrezne in dovolj kvalitetne strežniške infrastrukture, do kodekov in metod za zmanjšanje negativnih vplivov zakasnitev pri komunikaciji pa tudi reševanju problema posredne dostopnosti mobilnega odjemalca (če se nahaja za NAT-om ali agresivno nastavljenim požarnim zidom). Hkrati mora biti VoIP odjemalec za končnega uporabnika dovolj enostaven za uporabo ter zasnovan tako, da uporabniku jasno sporoča kdaj je povezava varna in kdaj ne, oziroma po možnosti kar najbolj zmanjša možnost uporabe ne-varnih komunikacij.

Na srečo o večini teh težav uporabniku ni potrebno kaj dosti vedeti, saj so nekatere (komercialne) rešitve zasnovane tako, da uporabnik vidi samo končno aplikacijo, ki sama skrbi za vse ustrezne nastavitve, uporabnika pa obremenjujejo minimalno (preveriti mora le SAS avtentikacijski niz). Ob dobrih podatkovnih povezavah take rešitve danes delujejo presenetljivo dobro in zanesljivo, s tem pa varne telefonske komunikacije postajajo dostopne širokemu krogu navadnih posameznikov.

Še več, sodobna odprtokodna tehnologija že danes omogoča vzpostavitev povsem lastne infrastrukture za zagotavljanje varnih VoIP komunikacij. V enem naslednjih prispevkov si bomo zato podrobneje pogledali odprtokodni projekt OSTN – Open Secure Telephone Network, ki nam omogoča, da z uveljavljenimi tehnologijami zgradimo lastno telefonsko omrežje, v katerega se je mogoče povezovati tako iz Linux, Windows in Mac osebnih računalnikov kot tudi iz Android, iPhone in BlackBerry pametnih mobilnikov.

V osnovi strežniške infrastrukture je odprtokodna SIP centrala Freeswitch, na strani Android odjemalcev CSipSimple (odjemalci za ostale sisteme so nekateri brezplačni, nekateri pa plačljivi). Trenutno skupina razvijalcev zbranih okrog The Guardian Projecta upravlja OSTN storitev ostel.me, ki pa je iz Slovenije nekoliko slabše dostopna (strežnik se nahaja v Amazon oblaku na vzhodni obali ZDA in ima občasno kar velike zamike), kvaliteta telefonske povezave pa zato nizka. Predstavili pa bomo tudi svojo lastno rešitev, ki je trenutno še v fazi začetnega testiranja. A kot rečeno, o tem nekoliko podrobneje v enem prihodnjih prispevkov, kjer si bomo tudi pogledali kako enostavno je prestrezanje nešifriranih VoIP komunikacij.