Įplyšęs Netscape patikimumas

Praeitų metų vienas žymesnių įvykių buvo pranešimas rugpjūčio mėnesį, kad pralaužta populiariausios peržiūros programos, t.y. "Netscape Navigator" saugumo sistema. Šio įvykio esmė žymiai giliau, nei paskleidė masinės informacijos priemonės. Ir į tai turėtų geriau įsiklausyti visi, kurie "Internet'e" daro biznį.

"Navigator" tranzakcijų saugumo pagrindas yra SSL (Secure Sockects Layer) protokolas. Nardant po "Web'us" naudojamas HTTP protokolas, pvz., norėdamas gauti HTML failą, aprašantį puslapį, peržiūros programa serveriui siunčia HTTP komandą GET. Pati ši komanda ir tekstas, kuris bus gaunamas, keliauja per sąsajas, vadinamas "sockets", kurios suteikia galimybę dviem toli esantiems kompiuteriams keistis duomenimis.

"Netscape" sukūrė SSL, kad apsaugotų iš "Web" keliaujančią informaciją. Kadangi pats "Web" serveris nieko nešifruoja ir kitaip neslepia duomenų, bet kuris "blogietis", perėmęs tranzakciją, gali netrukdomas paimti jos metu siunčiamus duomenis. O JEIGU TAI KREDITO KORTELĖS NUMERIS? "Internet" tinklu perduodama nemaža komercinės informacijos, kurią reikia slėpti.

SSL šį pavojų bando šalinti šifruodama perduodamus HTTP duomenis, įsiterpdama tarp taikomosios programos lygio ir TCP/IP protokolų lygio. Duomenys automatiškai šifruojami prieš juos perduodant ir dešifruojami, gavus juos. Kelyje jie saugūs. Ar tikrai?

Atrodė taip, nes šifro naudojosi RC4 algoritmu, kurį sukūrė legendinė asmenybė Ron Rivest. Ir visi įtikėjo, kad tai nepaprastai saugi spyna. Darbo sąnaudos reikalingos surasti raktui labai priklauso nuo rakto ilgio. "Navigator" versijos, skirtos JAV, naudojo 128 bitų ilgio raktus (o tai reiškia, kad galimų kombinacijų skaičius yra 2 laipsniu 128, kas neįkandama jokiam superkompiuteriui). Tiesa, "kitoms šalims" (pagal JAV įstatymus) buvo tiekiamos versijos, naudojančios 40 bitų ilgio raktus (tokį raktą JAV saugumas gali atgaminti per kelias dienas, o gal net valandas - kur čia kalbėti apie visų tautų lygybę ir vienodas teises).

Birželio 14 d. toks Hal Finney pasiuntė į "Internet" šifruotą laišką, kviesdamas pranešti jam, kas jame parašyta. Iššūkis buvo priimtas ir prancūzų studentas Damien Doligez rugpjūčio 15d., privertęs 8 dienas birbti vasaros atostogų metu nenaudojamų 200 darbo stočių, paskelbė, kas Babelės bokštas krito.

Ir nors tai buvo daugiau puiki lygiagretaus kelių kompiuterių darbo iliustracija, ne vieno širdyje atsirado nerimas. Ir "Netscape" ramino, kad jau 100 bitų kodas tai tikrai saugus, o 40-ies - reikalauja per daug pastangų vienai vienintelei tranzakcijai dešifruoti (net nežinant, ar joje yra vertingos informacijos). Tas sąnaudas "Netscape" įvertino 10 tūkst. dolerių.

Tai tikriausiai tiesa, tačiau juk žinoma, kad grandinės stiprumas priklauso nuo silpniausios grandies - kokia nauda, jei grandinė neįveikiama, tačiau viena grandis visiškai surūdijusi. "Netscape" atlaikė pirmąjį grubios jėgos antpuolį, tačiau neatsilaikė prieš smūgį iš užnugurio.

Kokia nauda iš spynos, jei ji gali turėti milijardus raktų, tačiau naudojami tik penki iš jų. Tereikia sužinoti, kokie jie - ir durys atviros.

Tai rugsėjo 17 d. įrodė du Berkli universiteto studentai Ian Goldberg ir Davis Wagner, "pablusinėję" "Navigator" programos kodą. Jie įrodė, kad pakanka kelių paprasto PC darbo valandų rakto sužinojimui - ir visai nesvarbu ar jis 40 ar 128 bitų ilgio.

"Navigator", kurdamas naują raktą, naudoja atsitiktinių skaičių generatorių. Tačiau beveik kiekvienas žino, kaip sunku surasti atsitiktinį skaičių - juk kompiuteryje tiek maža atsitiktinių dalykų. Vieni algoritmai geresni, kiti - prastesni, tačiau tikrai atsitiktinio skaičiaus nepavyksta sukurti.

Ir tie studentai ištyrė, kad "Navigator" atsitiktinių skaičių generatoriaus pradinių reikšmių aibė labai ribota (programos identifikatoriaus reikšmė ir laikas). tokios žinios leidžia nepaprastai susiaurinti paieškos ratą - iš tikro net 128 bitų ilgio raktas "sutrumpėja" iki 47 "saugių" bitų. Rakto suradinas pasidarė juokų darbas.

"Netscape" iškart ėmėsi darbo, kad pridėtų daugiau "atsitiktinumų". Na o ko išmokė šie prasilaužimai?

Pirma, kad jei yra silpna vieta, kas nors anksčiau ar vėliau ją ims ir suras. Ir nors "Netscape" naudojamas algoritmas tikrai yra geras, jo blogas panaudojimas viską nuneša šuniui ant uodegos.

Antra, nežinojimas nėra saugumo garantas. Tik viešai apskelbtas ir iš visų pusių kelis metus čiupinėta spyna gali būti laikoma saugia. Likimo ironija, - mes net negalim žinoti, ar naudojamas metodas yra saugus, - MES TUO GALIME ARBA TIKĖTI ARBA NETIKĖTI. Tol, kol koks nors 'gudruolis' mums tą parodys pirštu.

Kuo visa tai skiriasi nuo Dievo?



Ką reikia paimti, einant į WEB?

Šiais laikais žmogus, neturintis modemo ir negalintis plaukioti po "Web" turi jaustis nepilnavertis. Apie jį kalba visi. Storame žurnale jau sunku surasti straipsnį, kuriame neminima "Internet". Toks spaudimas gali išvesti iš proto. Bet iš to kiti "daro pinigus".

"Web" pasaulis milžiniškas ir jo egzistavimas tampa gyvybiškai būtinas. Kodėl jau sunku netikėti, kad tai ATEITIS. Bet iš pradžių pažiūrėkime, kaip mūsų darbai įauga į jį. Ir pastebėsite, kad kai ką reikia patobulinti.


1. Turi būti lengva naudotis

Žmonės nelygina ir netyrinėja skirtingų firmų produktų. Ir jie neskaito, kaip ir aš, programų aprašymų. JAs naudoti turi būti taip pat paprasta, kaip paimti ir skaityti "Lietuvos rytą" - koks storas jis bebūtų (t.y., kad ir kiek galimybių būtų realizuota). Niekam tikusi ta programa, kurios negalima pradėti naudoti per 10 sekundžių.

2. Greičio, greičio!

Tiek Gamtą, tiek kompiuterių rinką valdo nematomi dėsniai, kuriuos ne mūsų jėgoms pakeisti. Ir mąstydami apie ateitį, neužmirškite jų. Kaip žinote, seni kompiuteriai nemiršta. Ir net daugiau, jie puikuojasi ofisuose, ant sekretorių ir valdininkų stalų. Ir jeigu nepagreitinsite programų, - prarasite šią rinkos dalį.

O gal manote, kad visuose $500 kainuojančiuose "Web" kompiuteriuose paslėpti "Pentium"? Nė velnio! Ir vėl, per penketą metų apibėgę ratą spirale, pradedame susivokti, kad programų kodo optimizacija vėl bus svarbi. Kitaip galima prarasti rinką.

3. Kuo mažesnė!

Tai būtina! Jau dabar diskai išsipūtę ir braška per visas siūles. O kiekviena nauja programa įbruka ne mažiau 30 MB naują mėšlo porciją. Ar įsivaizduojate 30 MB persiuntimą "Internet" tinkle? Mažesnės apimties programų mažesnė ir savikaina. Pavyzdžiui, ASAP leidžia 75% to, ką gali "Microsoft PowerPoint", tačiau sutelpa į du diskelius, o "galingasis taškelis" vien į SYSTEM katalogą prirašo per 16 MB DLL failų. Todėl progresas yra ASAP!

Papildomai skaitykite:
Java 8: Optional prieš null
Pirmasis „Java“ įskiepis Lietuvoje
Lyginant su gimtąja kalba