Življenje po Snowdenu

Široko prisluškovanje ameriške NSA že mesec dni vzdržuje zanimanje javnosti. Sedaj je recimo jasno tudi to, da NSA letno nameni kar 250 milijonov dolarjev za slabljenje šifrirnih postopkov. Denar je namenjen vstavljanju ranljivosti v komercialne šifrirne sisteme, ter vplivanju na specifikacije in standarde tehnologij za šifriranje na osnovi javnih ključev. V sodelovanju s proizvajalci strojne in programske opreme NSA in britanska GCHQ poskrbijo, da imajo odprta stranska vrata v razširjene protokole za šifrirano izmenjavo podatkov. Tiste, ki jih vsak dan uporabljamo tudi za nakupovanje po spletu in e-bančništvo. V dokumentih je navedeno, da gre za TLS/SSL, SSH, IPSec in različne VPN rešitve, internet telefonijo, “in še več.” Kako je to mogoče?

Najprej lahko izdelate šibke šifrirne postopke, ki jih znate že vnaprej razbiti ali zaobiti. To je težko, saj so ti algoritmi ponavadi javno znani in izpostavljeni presoji matematikov po vsem svetu, zato vas lahko razkrinkajo. Po drugi strani je res, da je NSA dolga leta veljala za močno avtoriteto na področju kriptografije in je tudi sama predlagala številne standarde, ki jih je sprejel ameriški inštitut NIST in se danes tudi uporabljajo. Vsi algoritmi na koncu živijo v kakšnem čipu, bolj pogosto pa so implementirani v programski opremi. Tu je druga točka napada. Prispevate lahko svoj del kode, ki je ravno prav pokvarjen. Toliko, da vam bistveno skrajša čas, potreben za dešifriranje sporočila (če ste NSA, imate doma namreč ogromen superračunalniški center). Ali pa kar neposredno stopite do proizvajalca in ga s svojo avtoriteto prepričate, da vstavi stranska vrata za lov teroristov v svoje produkte.

Že slišim zmagoslavne krike zagovornikov odprte kode, češ da je rešitev prav pri njih! Tam je izvorna koda na voljo za pregled prav vsem in programerska skupnost bo zato v njej hitro odkrila napake in podtaknjene pomanjkljivosti. Po tej logiji odprtokodni programski paketi skoraj ne bi imeli več varnostnih lukenj, vendar to še zdaleč ni res. Kdo pravi, da so vsi programerji na odprtokodnih projektih vrhunski? Poglejte samo zgodovino lukenj v PHP ali Joomli! Odprtokodni projekt je recimo tudi selinux, modul varnostnih izboljšav za jedro linuxa, kjer je glavni razvijalec prav NSA. Se boste zakopali v izvorno kodo, ali pa boste v luči vseh člankov o NSA sedaj imeli pomisleke pri njegovi namestitvi? Dobro – vzemimo za primer raje openssl, ki verjetno poganja večino šifriranja na spletu. C-jevske kode je okoli 350.000 vrstic. Med njimi so velike, skrbno sestavljene številčne tabele, ki so nujna sestavina uporabljenega šifrirnega algoritma. Pa sedaj najdite podtaknjeno spremembo entropije v njih, če znate.

openssl-1.0.1e/crypto/seed/seed.c

openssl-1.0.1e/crypto/seed/seed.c

Vsej šifrirni kolobociji se izognete, če znate priti do vira komunikacije, se naseliti v sam računalnik in tam prestrežete ključe. To boste naredili s posebno zlonamerno kodo, virusom, ki bo tarčo okužil. Če ga prej podpišete z ukradenim razvijalskim certifikatom, je vaš dostop do tarče še lažji, saj se bo virus recimo predstavil kot nadgradnja gonilnika.

Kaže, da so v omenjenih tajnih službah počeli prav vse od naštetega. To zadnje smo recimo videli pri Stuxnet programu, ki je z okužbo Windows nadzornih postaj za leta 2010 uspešno izvedel fizične sabotaže Siemensovih centrifug za bogatenje urana v iranskem jedrskem programu. Virus je bil podpisan z veljavnima digitalnima certifikatoma podjetij Realtek in JMicron.

Eni bodo seveda rekli, da so to vseskozi vedeli in da je vse to itak normalno delo tajnih služb. Tem ljudem ne verjamem prav zares. Ja, vsi smo leta govorili o Echelon programu prisluškovanja in ugibali, kaj od šifriranja lahko NSA razbije in česa ne. Vendar pa vse do Snowdena nihče ni prišel na plan z jasnimi dokazi, da je kaj takšnega mogoče. Njegova razkritja nam menjajo perspektivo pogleda na omrežje in naše komunikacije v njem. Če se je najprej začelo majati zaupanje v dobroto internet velikanov, ki nam takorekoč zastonj ponujajo vse te lepe oblačne storitve, se sedaj maje naše zaupanje v same tehnološke osnove komunikacijskih protokolov, ki so ustvarjeni ravno za to, da skrijemo podatke pred neželenim prisluškovanjem. Vedno bolj je razločen občutek, da je za boj proti terorizmu sprejemljiva cena zloraba vseh nas. Sam pa sem se to poletje spominjal odgovora kriptografa in guruja informacijske varnosti Bruca Schneierja, lansko leto na konferenci Def Con 20. Na okrogli mizi je dobil vprašanje, kaj si misli o do hekerjev nadvse prijaznem in všečnem vabljenem predavanju direktorja NSA Keitha B. Alexandra dan prej. Odgovor je bil zelo kratek: “Pa mu ja niste nasedli?!”

Kolumna je bila objavljena v oktobrski številki revije Monitor.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

Komentirate prijavljeni s svojim WordPress.com računom. Log Out / Spremeni )

Twitter picture

Komentirate prijavljeni s svojim Twitter računom. Log Out / Spremeni )

Facebook photo

Komentirate prijavljeni s svojim Facebook računom. Log Out / Spremeni )

Google+ photo

Komentirate prijavljeni s svojim Google+ računom. Log Out / Spremeni )

Connecting to %s