Kitą kartą naršydami Tinkle
atidžiau pasižiūrėkite, kokius
tinklapius atidarinėjate. Išvaizda gali būti
labai apgaulinga. Iš pažiūros nekaltai
atrodantis tinklapis jums nieko nenujaučiant gali pradėti siurbti jūsų
kompiuterio resursus ir kažkas kitas
pradės pelnytis jūsų sąskaita.
Taip atsitikti gali dėl paskutiniojo "blogiuko" iš didelio
kibernetinės erdvės nenaudėlių būrio. Pirmieji
buvo hakeriai, skaitmeniniai vagys, kurie įsilauždavo į svetimus
kompiuterius, vogdavo ten surastus duomenis ir palikdavo betvarkę. Po to
pasirodė virusai ir kirminai, nedidelės
programos atkarpėlės, galinčios
paversti kompiuterį beverčiu laužu. O
dabar atsirado dar ir parazitai.
Parazitai nevaginėja duomenų
ir nesugadina kompiuterio; parazitai piktnaudžiauja Interneto
suteikiama visuotinio sujungimo galimybe, kuri milijardus Tinklo kompiuterių
paverčia viena milžiniška skaičiavimo
mašina, sugebančia spręsti pačius
sudėtingiausius uždavinius.
Tinklo kompiuterių sujungimo
į vieną didžiulį skaičiavimo įrenginį
idėjos vaisingumas jau sulaukė visiškai
legalaus patvirtinimo. Pavyzdžiui, kai pernai Jungtinių Valstijų pašto
siuntose buvo aptiktos juodligės sporos, biologai visame pasaulyje
mobilizavo didelį savanorių, padedančių jiems
surasti priešnuodžius, būrį. Jie
susitarė į kompiuterius instaliuoti
specialias programas, kurios, kompiuterių
procesoriui nedirbant padėtų biologams perrūšiuoti 3,5 milijardo įvairių
priešnuodžiu galinčių būti cheminių
medžiagų. Vos per 24 dienas šis
"paskirstytasis" kompiuteris atidirbo
5436 kompiuterinio laiko metus, aptiko 12 000 tinkamų priešnuodžiui
medžiagų ir dar 375 000 medžiagų, kurios
gali būti perspektyvios tokiems taikymams.
Paskirstytieji skaičiavimai yra labai patrauklūs, kad kiekvienas gali
nebrangiai ir operatyviai sutelkti stulbinančiai didelę kompiuterių galią.
Yra, pavyzdžiui, paskaičiuota, kad
juodligės projektas leido sutrumpinti vakcinos paieškų trukmę beveik
aštuoneriais metais, o kainavo ne kiek daugiau kaip vienos programos
sukūrimas.
TCP kontrolinės sumos panaudojimas pasitelkiant internetinius skaičiavimo resursus.
Toks didelis potencialas neliko nepastebėtas. Internete klesti
daug pačių įvairiausių paskirstytojo
skaičiavimo projektų: šiuo metu yra
vykdoma daugiau kaip 100 tokių
projektų. Kadangi parsisiųsdintoji įranga
veikia netrikdydama kompiuterio veiklos, dažniausiai kaip ekraną
tausojanti programa, savanoriai jos darbo beveik nepastebi. Jūs galite tikrinti
gautąjį elektroninį paštą ar rašyti eilinę
ataskaitą, o kompiuteris tuo tarpu tikrins įvairius vaistus nuo vėžio,
modeliuos elementariųjų dalelių
greitintuve vykstančius procesus arba,
ieškodamas nežemiškųjų civilizacijų
pėdsakų, rūšiuos Žemę pasiekiančius radijo
signalus.
Verslo bendruomenė irgi nepaliko paskirstytojo skaičiavimo be
dėmesio. Pasak kompanijos United Devices iš Teksaso kuriančios
programas, leidžiančias tinklui dirbti lyg
vienas kompiuteris, tokių programų
paklausa tarp naftos kompanijų, bankų ir
farmacijos firmų auga eksponentiškai. Programos analizuoja sudėtingus
duomenis, apskaičiuoja finansinę riziką
ir ieško naujų vaistų formulės.
Jeigu projektams kovai su vėžiu savanorių netrūksta, tai
kompiuterinės bendruomenės dėmesį
projektui, kurio pagrindinis tikslas tėra
komercinė nauda, patraukti yra kur kas sunkiau. Šiuo atveju savanorius
galima prisimasinti nebent pasiūlius jiems
užmokestį arba patyliukais
prikabinant paskirstytojo skaičiavimo
programas prie kitos programinės įrangos.
Pasirodo, jog yra dar vienas kelias. Kas būtų, jeigu kas nors,
kuriam reikia išnagrinėti su daug
skaičiavimų uždavinį, imtų ir prisijungtų prie
savojo paskirstytojo skaičiavimo tinklo daugybę kompiuterių, bet tų
kompiuterių savininkams nieko
nemokėtų, nesistengtų jų įtikinti savojo
projekto svarba ir darytų visa tai tiems
savininkams nieko nežinant.
Žmonės apie tokią galimybę
kalbėjo jau senokai, tačiau niekam
nepavyko įrodyti, jog tai yra įmanoma
padaryti praktiškai. Praėjusiais metais dviems Notre Dame
universiteto (JAV) mokslininkams gimė nauja
idėja. Fizikas Albertas Laszlo-Barabasi ir kompiuterininkas Vincentas
Freeh suprato, kad esmė slypi paties Interneto telekomunikacijų
sistemoje, Transporto valdymo protokole (TCP).
TCP (Transport Control Protocol) yra tarptautiniu mastu pripažintas
būdas, leidžiantis kompiuteriams siuntinėti Tinkle pirmyn atgal
duomenis. Tą daryti leidžia TCP instrukcijų ir
paprogramių rinkinys, padedantis kompiuteriams atpažinti vieno kitam
siunčiamus signalus ir apsikeisti informacija. Viena iš tų instrukcijų yra
vadinama TCP kontrolinė suma (TCP
checksum) Ji leidžia nustatyti, ar skaitmeninė žinutė nebuvo apgadinta
ją siunčiant (žr. pav.).
Prieš pat pasiunčiant žinutę
kitam kompiuteriui TCP paverčia ją
16 bitų ilgio "žodžių" seka. Po to
protokolas sudeda visus žinutėje
esančius bitus ir gautąją kontrolinę sumą
prikabina žinutės pradžioje. Kai
adresato kompiuteris žinutę priima, bitai
yra dar kartą susumuojami. Jeigu gautasis atsakymas atitinka siuntėjo
nurodytą kontrolinę sumą, gavėjas
laiko, kad žinutė yra teisinga, ir
patvirtina jos gavimą. Tačiau, jei kontrolinės
sumos nesutampa, gavėjas nusprendžia, kad žinutė buvo kažkur pakeliui
apgadinta, ir nekreipia į ją dėmesio.
Jeigu siuntėjas kurį laiką nesulaukia
atsakymo iš gavėjo, jis žino, kad
reikia žinutę pasiųsti dar kartą.
Freeh sugalvojo sudaryti tokias žinutes, kurių kontrolinė suma
būtų galiojanti, o siunčiamasis žinutės
gavimo patvirtinimas signalizuotų, kad yra surastas teisingas
nagrinėjamos problemos sprendimas. Jis
įpakavo galimą sprendimą į kiekvieną iš
kelių kompiuterinių žinučių
sudarydamas kiekvienos žinutės bitų seką taip,
kad kontrolinė suma nesikeistų tiktai
tada, kai kompiuterio gautas atsakymas yra neteisingas. Kai konkreti
mašina nesiųsdavo jokio atsakymo, jis
žinojo, kad tai mašinai pasiųstas
potencialaus sprendinio variantas yra neteisingas. Palyginęs atėjusius gavimo
patvirtinimus su kompiuteriams išsiųstais
galimais sprendinių variantais, Freeh galėdavo nustatyti, kuris iš jų yra
teisingas.
Perėjimas prie globalių mastelių
Sėkmingai išbandę naująją
procedūrą savo universitete, Freeh ir
Barabasi pasitelkė didesnio masto bandymams kolegas Azijoje, Europoje
ir Šiaurės Amerikoje. Mokslininkai sutiko leisti Barabasi grupei
pakvailinti savo kompiuterius verčiant juos
spręsti "keliaujančio prekiautojo" tipo
problemas, kurių teisingas atsakymas greičiau randamas ne sudarant
specialius algoritmus, o bandant ir lyginant įvairius sprendinius.
Eksperimentas ne tik sėkmingai veikė, bet ir jame
dalyvaujančiuose kompiuteriuose nepaliko jokių
ženklų, nes jie buvo valdomi iš šalies.
Freeh sako, kad teoriškai tai reiškia, jog tą galima pakartoti su kiekvienu
prie Tinklo prijungtu kompiuteriu.
Pernai metais žurnale
"Nature" paskelbtame straipsnyje
mokslininkai pakrikštijo savąjį metodą
"parazitiniais kompiuteriniais
skaičiavimais". "Tai nėra nei įsilaužimas, nei
informacijos naikinimas", pabrėžė
Barabasi. "Mes tiktai pasinaudojome tais
resursais, kurie pasidarė visiems prieinami jums prisijungus prie Interneto".
Visa tai, mokslininkų nuomone, nėra taip grėsminga, kaip tai gali
atrodyti. Pats savaime TCP nėra pakankamai sudėtingas, kad leistų
atlikinėti didesnes kompiuterines programas. "Naudojant TCP negalima
priversti kompiuterio atlikti skaičiavimų
ciklų", - aiškina Barabasi. "Todėl šis
metodas yra nelabai efektyvus rimtesniems kompiuteriniams skaičiavimams."
Tačiau jis neatmeta galimybės, jog kas nors kitas suras išeitį ir iš šios
padėties. "Mes tiktai pamanėme, kad
Interneto bendruomenei derėtų aptarti tokias galimybes dar iki
pasirodant efektyvesniems svetimų
kompiuterių panaudojimo būdams", sako jis.
Anot Philo Frisbie, jie jau pasirodė. Patyręs programuotojas
Frisbie, kuriam priklauso kompanija Hawksoft.com, seniai domisi, kaip
paskirstytajam skaičiavimui panaudoti internetinius tinklapius. Vieną dieną jis
suprato, kad tam reikia panaudoti "Java" ir "JavaScript" - programas,
naudojamas kuriant tinklapius.
Tinklapiai yra kimšte prikimšti kompiuterinių kodų ir įvairiausių
duomenų, pradedant animacijomis ir baigiant nuorodomis į kitus tinklapius,
o dauguma tinklapių yra sukurti naudojant "Java". Frisbie toptelėjo į
galvą, kad šioje duomenų gausybėje
galima nesudėtingai paslėpti keletą
instrukcijų ir duomenų, kuriuos
lankytojas, užėjęs į tinklapį, persikeltų į
savąjį kompiuterį. Galiausiai, tas yra
daroma ir dabar: kai paleidžiamas tinklapyje esantis garso ar vaizdo klipas,
tinklapis jūsų kompiuteriui
nusiunčia tam reikalingas programas.
Daugelis tinklapių perspėja,
kada į jūsų kompiuterį gali
atkeliauti siunčiamos programos. O kas bus,
jeigu tinklapis nesuks dėl to galvos? Paprasčiausias tinklapio aplankymas
pavers jūsų asmeninį kompiuterį
nesąmoningu kažkieno tarnu.
Jums paliepus
"Jūs apie tai net nenutuokiate, kad ir kodas, ir duomenys gali
užimti nemažai vietos," sako Frisbie.
"Visa tai įmanoma padaryti rašant Java
programas lygiai taip pat, kaip tai yra daroma dabar." Java gali perspėti,
kada lankytojas ruošis palikti tinklapį, ir
privers atsiųsti skaičiavimo rezultatus
į serverį dar iki vartotojui
atsijungiant. Kiekvieną kartą lankantis tame
tinklapyje kompiuteris bus verčiamas analizuoti vis daugiau duomenų.
Freeh tvirtina įrodęs, kad
Frisbie idėja yra gyvybinga. Praėjusiais
metais jo grupė sukūrė tinklapį, kuris
naudojosi jį aplankiusių internautų
kompiuteriniais resursais ir skaičiavo
pirminius skaičius. "Mes įrodėme, kad
šis metodas gali būti gana efektyvus",
sako Freeh.
Gobšieji tuos žodžius tikrai
įsidėmėjo. Kiekvienas tinklapio
savininkas gali laisvai užsidirbti pinigų, jei
taps kurio nors paskirstytojo skaičiavimo projekto dalininku. Tinklapį
užpildžius keliomis "Java" programos
eilutėmis, kiekvienas jame apsilankęs bus, jam nežinant, įvergintas ir
pildys tinklapio savininko kišenes.
Frisbie netgi mano, kad lankytojų kompiuterius galima priversti
bombarduoti kitas svetaines neegzistuojančių tinklapių užklausomis.
"Gali būti, kad jūsų konkurentas
pristatys savo naują gaminį", - svarsto jis.
"Jūs galite padaryti taip, kad kiekvienas
jūsų svetainę aplankęs kompiuteris
automatiškai pradėtų siųsti tam
konkurentui neegzistuojančių tinklapių
užklausas. Vartotojai savo
kompiuterių darbe nepastebės nieko neįprasto,
o konkurento svetainė bus suparalyžiuota. Tai yra daug paprasčiau,
negu imtis hakerio darbo", sako Frisbie. "Kiekvienas gali prirašyti keletą
papildomų kodo eilučių ir prireikus
jas greitai ištrinti. Tokius nenaudėlius
bus labai sunku pagauti."
Frisbie pristačius šią idėją
internetiniame leidinyje "Slashdot", jo skaitytojai paprieštaravo, kad esą
negalima nepastebėti, kai Tinklo naršyklė netikėtai pradeda naudoti visą
šimtaprocentinę procesoriaus galią.
Frisbie į tai atsakė, kad "JavaScript"
sugeba paskirstyti darbo krūvį ir
saikingai naudoti procesoriaus resursus. Jis papasakojo girdėjęs apie vieną
britų programuotoją, sukūrusį tinklapį
su paslėpta Java programėle, kuri pakraudavo slaptą failą ir
priversdavo tinklapį aplankiusių kompiuterių
procesorius skaičiuoti tolesnius p skaitmenis. "Niekas tam
programuotojui nesiskundė, kad jo kompiuteris
dirba pernelyg lėtai, ar prisipažino žinąs,
ką jis jam padarė", - sakė Frisbie.
Pro šias Java atvertas duris į
svetimus kompiuterius užeiti gali panorėti daug kas. Tai norinčių
padaryti lauks nelabai daug techninių
kliūčių; ar atsiras teisinio pobūdžio
barjerų, dar pamatysime.
Lee Tienas, teisininkas, dirbąs Interneto laisve besirūpinančiai
organizacijai "Electronic Frontier Foundation", sako, jog daugelyje JAV
valstijų galiojančios naudojimosi
kompiuteriais taisyklės yra gerokai
pasenusios. Kai kurios jų parašytos taip
neaiškiai, tad galima bausti net ir už
įprastinius internetinius sandorius.
Pavyzdžiui, Interneto prekiautojas, padėjęs
svetimame kompiuteryje "cookie" (duomenų paketėlį, leidžiantį atsekti,
ar vartotojas jau lankėsi prekiautojo serveryje), gali atsidurti kalėjime.
Britanijoje, anot Lydso universiteto Kibernetinės teisės tyrimų
centro direktoriaus Davido Wallo, situacija yra panaši. 1990 m. priimtas
Žalingo kompiuterių naudojimo aktas kovai su hakeriais negalios, jeigu
nebus neteisėto failų ar kompiuterio konfigūracijos pakeitimo. Wallas
sako, jog pats prisijungimo prie tinklo faktas jau reiškia, sutikimą keistis
duomenimis. Kompiuterių parazitus galima būtų apkaltinti nebent
elektros energijos vagyste, bet dar
neaišku, kaip tą vagystę įrodyti.
Netgi jei tai ir pavyktų, daug pinigų iš to vargu ar būtų laimima.
2000 m. Džordžijos valstija iškėlė bylą
DeKalb techninės kolegijos tinklų administratoriui Davidui McOwenui,
kuris pažeidė neteisėtą kompiuterių
naudojamą reguliuojančius
įstatymus. 1998 m. McOwenas instaliavo
kolegijos tinkle programinę įrangą, kuri
buvo naudojama jungiant tinklo kompiuterius prie visiškai legalaus
paskirstytojo skaičiavimo projekto, skirto
sudėtingo šifro atskleidimui. Kai kolegijos vadovybė tai sužinojo, ji
atleido McOweną iš darbo ir pareikalavo
sumokėti už sunaudotąjį
kompiuterių darbo laiką po 59 centus už
minutę. Visą skolą, kolegijos vadų
nuomone, sudarė 415 951 doleris. Bet po pusantrų metų prokuroras sumažino šią
skolą iki 2100 dolerių. Faktiškai
kiekviena pavogta kompiuterio minutė buvo įvertinta vos trimis
tūkstantosiomis cento dalimis.
Iš to matyti, kad nepanaudoto vidutinio kompiuterio procesoriaus
darbo laiko vertė yra mažesnė nei 5
doleriai per metus - to neužtenka netgi sumokėti už kompiuterio įjungimui
sunaudotą elektros energiją.
Daugelis teisininkų yra vieningos
nuomonės, kad kiekvieno vartotojo patirti
nuostoliai yra labai maži ir bylos kelti tikrai neverta. Todėl atskirų
Interneto vartotojų svarbiausiu ginklu
kovojant su parazitais tikriausiai dar ilgai liks viešoji nuomonė.
Daugelis kompiuterininkų labai jautriai reaguoja į panašaus tipo
grėsmę. Pavyzdžiui, pranešimai apie
Barabasi grupės eksperimentus
sukėlė tikrą pasipiktinimo bangą. "Po to,
kai spaudoje pasirodė straipsniai apie mūsų bandymus, sulaukėme
daugybės piktų elektroninių laiškų, kuriuose
rašoma: "Neliesk mano kompiuterio", sako Barabasi.
Kai kas gali pasakyti, kad reiktų daugiau galvoti apie šios
problemos sprendimą ir apie tai, ko reikia
imtis saugantis nuo parazitų. Tačiau,
kol techninės galimybės tobulėja kur
kas sparčiau nei teisinė bazė, šis
klausimas, kaip ir daugelis kitų su Internetu susijusių problemų, gali būti
išspręstas tiktai tuomet, kai aiškią
poziciją užims daugelis vartotojų.