Življenje po Snowdnu
Široko prisluškovanje ameriške NSA že mesec dni vzdržuje zanimanje javnosti. Zdaj je, recimo, jasno tudi to, da NSA vsako leto nameni kar 250 milijonov dolarjev za slabljenje šifrirnih postopkov. Denar porabijo za vstavljanje ranljivosti v komercialne šifrirne sisteme ter vplivanje na specifikacije in standarde tehnologij za šifriranje na podlagi javnih ključev.
NSA in britanska GCHQ v sodelovanju z izdelovalci strojne in programske opreme poskrbita, 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 rešitve VPN, internetno 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 so danes tudi v rabi. Vsi algoritmi na koncu živijo v kakšnem čipu, pogosteje 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č velikanski superračunalniški center). Ali pa kar neposredno stopite do izdelovalca in ga s svojo avtoriteto prepričate, da vstavi stranska vrata za lov na teroriste v svoje izdelke.
Že slišim zmagoslavne krike zagovornikov odprte kode, češ rešitev je prav pri njih! Tam je izvirna koda na voljo za pregled prav vsem in programerska skupnost bo zato v njej hitro odkrila napake in podtaknjene pomanjkljivosti. Po tej logiki odprtokodni programski paketi skoraj ne bi imeli več razpok v sistemu varnosti, a to še zdaleč ni res. Kdo pravi, da so vsi programerji odprtokodnih projektov vrhunski? Poglejte samo zgodovino vrzeli 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 izvirno kodo ali boste zaradi vseh člankov o NSA zdaj imeli pomisleke ob namestitvi? Dobro – vzemimo za primer raje openssl, ki verjetno poganja večino šifriranja v spletu. Cjevske kode je okoli 350.000 vrstic. Med njimi so velike, skrbno sestavljene številčne tabele, ki so nujna sestavina uporabljenega šifrirnega algoritma. Pa zdaj najdite podtaknjeno spremembo entropije v njih, če znate.
Vsej šifrirni kolobociji se izognete, če znate priti do vira komunikacije, se naseliti v sam računalnik in tam prestreči 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, denimo, videli pri programu Stuxnet, ki je z okužbo nadzornih postaj Windows 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.
Nekateri bodo seveda rekli, da so to vseskozi vedeli in da je vse to normalno delo tajnih služb. Tem ljudem ne verjamem prav zares. Ja, vsi smo leta govorili o programu prisluškovanja Echelon in ugibali, kaj od šifriranja lahko NSA razbije in česa ne. A vse do Snowdna nihče ni prišel na plan z jasnimi dokazi, da je kaj takega mogoče. Njegova razkritja nam spreminjajo perspektivo pogleda na omrežje in naše komunikacije v njem. Če se je najprej začelo majati zaupanje v dobroto internetnih velikanov, ki nam tako rekoč zastonj ponujajo vse te lepe oblačne storitve, se zdaj maje naše zaupanje v same tehnološke temelje komunikacijskih protokolov, ki so prav ustvarjeni za to, da skrijemo podatke pred nezaželenim prisluškovanjem. Vedno bolj razločen je 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 lani na konferenci Def Con 20. Na okrogli mizi so ga vprašali, kaj si misli o vabljenem predavanju direktorja NSA Keitha B. Alexandra dan prej, ki je bilo nadvse prijazno do hekerjev in všečno. Odgovor je bil kratek: »Pa mu ja niste nasedli?!«