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?
Š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.
Ž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:
1. Turi būti lengva naudotis
Java 8: Optional prieš null