1. UTICAJ MOBILNIH SOFTVERSKIH AGENATA NA BEZBEDNOST RAÄŒUNARSKIH SISTEMA
INFLUENCE OF MOBILE SOFTWARE AGENTS ON COMPUTER SYSTEMS SECURITY
Boriša JovanoviČ
Centar za primenjenu matematiku i elektroniku
Sadržaj: Ubrzani razvoj tehnologije, kako u pogledu hardvera tako u pogledu
softvera u mnogome otežavaju celokupni sistem bezbednog upravljanja
informacijama. Svakog dana podaci i informacije su sve ranjiviji i neophodno je
postojanje sveobuhvatnog, odbrambeno orijentisanog mehanizma zaštite i
oÄŒuvanja bezbednosti raÄŒunarskih sistema.
Abstract: Rapid development of technology, both in terms of hardware and
software, makes the whole system of secure information management heavy. Every
day, data and information are more and more vulnerable and, the existence of a
comprehensive, defense-oriented mechanism for protecting and preserving the
security of computer systems is necessarly.
1. UVOD
Razvoj raÄŒunarskih sistema kroz istoriju tekao je od centralizovanih monolitnih
raČunarskih ureČaja koji podržavaju statiČke aplikacije, do savremenih
klijent- server okruženja koja pružaju vema složene forme distribuiranog
izvršavanja. U toku ovakvog razvoja postojale su razliČite forme mobilnosti
(pokretnosti) koda koji se izvršava: najraniji su bili terminali za unos
programa koji Če se izvršavati na centralnom raČunaru dok su u poslednje
vreme zastupljeni JAVA apleti koje se preuzimaju sa Web servera i izvršavaju u
Web pretraživaČima. Nova faza u evoluciji ide korak dalje i omoguČava potpunu
mobilnost kooperantskih aplikacija izmeČu platformi koje ih podržavaju kako bi
formirali veliki, usko povezani distribuirani sistem.
Glavni predstavnik poslednje faze evolutivnog razvoja raÄŒunarskog softvera
su mobilni softverski agenti ⌌ programi koji su ciljano usmereni i namenjeni
da prekinu svoje izvršavanje na jednoj platformi, pokrenu se i preČu na neku
drugu platformu i na njoj nastave izvršavanje. Preciznije, softverski agent je
program koji može upotrebiti ovlašČenja pojedinaca ili organizacije da
autonomno radi na izvršenju postavljenog cilja i da u svom radu sreČe i
da uzajamno deluje sa ostalim agentima. MoguÄŒe interakcije izmeÄŒu agenata
su razliÄŒita ugovaranja i dogovaranje servisa kroz aukciono nadmetanje i
razmenu podataka. Agenti mogu biti ili stacionarni, da se stalno nalaze na
jednoj platformi ili mogu biti i mobilni ÄŒija je glavna osobina da mogu da se
pokrenu i prebace sa jedne platforme na drugu u razliÄŒitim vremenski
intervalima[1].
ÄŒitav spektar razliÄŒitih nijansi mobilnosti postoji, u zavisnosti od
razliČitih varijacija premeštanja koda i informacija vezanih za stanje agenta
ukljuÄŒujuÄŒi vrednosti
instanciranih promenljivih, vrednost instrukcijskog registra kao i stanje
izvršnog steka itd [2]. Na primer jedan jednostavan softverski agent
napisan kao JAVA aplet ima osobinu prenosivosti koda u postupku preuzimanja
koda apleta sa Web servera i njegovo izvršavanje na Web pretraživaČu.
MeČutim, kod JAVA apleta nema prenošenja informacija o trenutnom stanju
apleta. Sa druge strane, tehnologija Agleta (Aglets)[3], koju je razvio IBM u
Japanu, oslanja se takoÄŒe na Java programski jezik i dozvoljava da se u toku
operacija prelazaka sa jedne platforme na drugu prenose vrednosti instanciranih
promenljivih ali ne i instrukcijski registar i izvršni stek. JaČa forma
mobilnosti, Sumatra[4], razvijena je na Univerzitetu Merilend i dozvoljava Java
nitima da se prenose sa platforme na platformu. U ovom radu razmatrani su
mobilni softverski agenti koji imaju moguÄŒnost da prenose i kod i informacije
vezane za stanje agenta.
2. BEZBEDONOSNE PRETNJE
2. Pretnje po bezbednost raÄŒunarskih sistema koje izazivaju mobilni softverski
agenti mogu se podeliti u tri veČ poznate kategorije: razotkrivanje
(oticanje, kompromitacija) informacija, onemoguČavanje servisa, i ošteČenje
(uništavanje) informacija. Ovaj rad ima za cilj da, uz korišČenje komponenata
jednog agentskog sistema, kategorizuje bezbedonosne pretnje kako bi se
identifikovali moguÄŒi izvori i ciljevi jednog napada. Treba napomenuti da mnoge
od pretnji koje ÄŒe ovde biti pomenute imaju svoje parnjake u
konvencionalnim klijent-server sistemima i postojale su u
razliČitim oblicima u prošlosti. Mobilni softverski agenti jednostavno
pružaju široke moguČnosti za zloupotrebe i pogrešno korišČenje tako da se
skala potencijalnih pretnji znaČajno proširuje.
Postoji veliki broj modela za opisivanje agentskih sistema[2, 5, 6], meÄŒutim za
diskusije o bezbedonosnim problemima dovoljno je koristiti jedan uprošČeni
model koji se sastoji od svega dve glavne komponente: softverskog agenta i
platforme na kojoj se on izvršava. Ovako posmatrano, jedan agent se sastoji od
programskog koda i informacija koje opisuju stanje agenta, potrebne da se
izvrši odreČeno izraČunavanje. Osobina mobilnosti omoguČava agentu da se
seli, ili da skaÄŒe, sa platforme na platformu. Platforma na kojoj softverski
mobilni agent nastaje i sa koje polazi na svoj ⌌put⌌ oznaČava se kao
poČetna platforma, i normalno je da predstavlja okruženje u koje softverski
agent ima najviše poverenja. Platforma na kojoj se izvršava jedan softverski
agent može se sastojati od jednog ili više raČunara i može se sastojati od
506
jednog ili više izvršivih okruženja, ili mesta za sastanke, u kojima agenti
mogu da meÄŒusobno interaguju i komuniciraju. Na slici 1. prikazan je ovakav
model agentskog sistema.
Slika 1. UprošČeni model agentskog sistema
Sa slike se mogu identifikovati ÄŒetiri kategorije pretnji: pretnje koje dolaze
od mobilnog softverskog agenta koji napada platformu (raÄŒunarski sistem) na
kojoj se izvršava, softverska platforma napada mobilnog agenta, mobilni agent
napada drugog mobinog agenta na platfromi na kojoj se istovremeno
izvršavaju i pretnje koje dolaze od ostalih entiteta a usmerene su na
celokupni agentski sistem. Poslednja kategorija podrazumeva situaciju kada
jedan agent ugrožva bezbednost drugog softverskog mobilnog agenta na drugoj
platformi i kada jedna platforma ugružava bezbednost druge agentske platforme.
Ova vrsta napada se fokusira na komunikacione karakteristike raÄŒunarskih
sistema koji predstavljaju platforme na kojima se agenti izvršavaju i
eksploatiše njihove ranjivosti i slabosti. TakoČe, ova kategorija napada
eksploatiše konvencionale vrste napada koje su usmerene na operativni sistem na
kome se agentska platforma izvršava.
Uticaj softverskog agenta na agentsku platformu
Ova kategorija pretnji podrazumeva skup pretnji u kojima agent eksploatiše
bezbedonosne slabosti agentske platforme ili pokreÄŒe napade na agentsku
platformu. Ovaj skup pretnji obuhvata:
 Lažno predstavljanje ⌌ podrazumeva situaciju kada se jedan
neautorizovani agent predstavlja kao neki drugi agent. Agent koji se lažno
predstavio može nastupati sa aspekta autorizovanog agenta i može dobiti
pristup servisima i resursima za koje nije ovlašČen. TakoČe, lažno
predstavljeni agen može takvu situaciju da iskorsiti i izvrši neku
operaciju (razliÄŒite bezbedonosno osetljive operacije, promena ili brisanje
podataka, malverzacije sa bankovnim raÄŒunima itd.) i na taj naÄŒin u log
fajlovima sakrije svoj pravi identitet.
 OnemoguČavanje servisa ⌌ mobilni agent može pokrenuti napad
3. onemoguÄŒavanja servisa na taj naÄŒin Å¡to on prekomerno koristi veliku
koliČinu resursa platforme na kojoj se izvršava. Ovakav napad onemoguČavanjem
servisa može biti pokrenut namerno, pokretanjem skripta koji
eksploatiše
ranjivost sistema ili nenamerno što je posledica grešaka i
programiranju. Paradigma mobilnog izraČunavanja i izvršavanja, meČutim,
zahteva od agentske platforme da prihvati i da izvrši mobilnog softverskog
agenta ÄŒiji je kod razvijen izvan organizacije i nije bio predmet nijedne
prethodne revizije. Neki zlonamerni softverski agent može da nosi zlonamerni
kod u sebi koji je dizajniran da prekine ili onemoguÄŒi servise koje
agentska platforma nudi, da degradira performanse agentske platforme ili da
ekstraktuje-izdvoji informacije za koje sam agent nije ovlašČen da im pristupa
niti da ih koristi i pošalje ih potencijalnom napadaČu. U zavisnosti od nivoa
pristupa, mobilni softverski agent može biti u moguČnosti da kompletno
iskljuČi i prekine izvršavanje agentske platforme.
 Neautorizovani pristup ⌌ Mehanizmi kontrole pristupa se koriste kako bi
odvratili neautorizovane korisnike ili procese od pristupa servisima ili
resursima za koje oni nemaju bezbedonosnim politkama definisana prava
pristupa. Svaki agent koji pristupa platformi mora biti subjekat bezbedonosne
politike same platforme. Da bi primenila ispravne mehanizme kontrole pristupa,
agentska platforma ili sam agent moraju da autentikuju identitet mobilnog
softverskog agenta pre nego Å¡to softverski agent bude instanciran na agentskoj
platformi. Agent koji pristupa agentskoj platformi, njenim resursima i
servisima, bez valjane autorizacije može oštetiti druge agente ali i agentsku
platformu. Agentska platforma na kojoj razliÄŒiti agenti predstavljaju korisnike
ili organizacije mora osigurati da agenti nemaju dozvole za ÄŒitanje,
izmenu ili brisanje trajno saÄŒuvanih podataka za koje nisu autorizovani,
ukljuÄŒujuÄŒi i podatke koji se nalaze u privremenim memorijama.
Uticaj agentske platforme na softverskog agenta
Ova kategorija pretnji podrazumeva skup pretnji u kojima agentska platforma
kompromituje bezbednost mobilnog softverskog agenta. Ovaj skup pretnji obuhvata:
 Lažno predstavljanje ⌌ situacija kada se jedna agentska
platforma lažno predstavlja sa ciljem da obmane mobilnog agenta da je ona prava
destinacija i odgovarajuČi bezbednosni domen. Agentska platforma koja se lažno
predstavila kao treČa strana od poverenja može namamiti bezazlenog agenta na
platformu i iz njega izvuČi osetljive informacije. Platforma koja se lažno
predstavila može oštetiti i agenta koji je posetio i platformu Čiji je
identitet preuzela.
 OnemoguČavanje servisa ⌌ mobilni agent kada stigne na agentsku
platformu oČekuje od paltforme da izvršava njegove zahteve verno,
obezbeČujuČi ravnopravnu alokaciju resursa i pridržavajuČi se dogovorenih
kvaliteta servisa. Zlonamerna agentska platforma, meČutim, može ignorisati
zahteve za servisima koje dobija od agenta, da uvodi neprihvatljiva kašnjenja
za vremenski kritiČne zadatke, da ne izvršava kod mobilnog agenta ili Čak
da prekine izvršavanje softverskog agenta bez ikakvog
507
obaveštenja o uzroku. Agenti na drugim platformama ČekajuČi rezultat
blokiranog agenta sa zlonamerne platforme moraju biti pažljivi kako bi izbegli
potpuni prekid sopstvenog izvršavanja. Softverski agent se takoČe može
naČi u stanju blokade ukoliko zlonamerna platforma, ili loš programski
kod, kreiraju situaciju u kojoj se kritiČna faza u izvršavanju agentskih
zadataka nemože završiti zato što agent stalno iznova dobija nove zadatke.
Ovako blokirani agent Čeka da se završi akcija Čije se završavanje odlaže
novim zadacima.
 Prisluškivanje ⌌ u klasiČnom znaČenju prisluškivanje podrazumeva
da potencijalni napadaČ snima i nadgleda bezbedonosno osetljive
4. komunikacije. Ova pretnja, u agentskim sistemima, dobija novu dimenziju i
pogoršava se buduČi da agentska platforma može ne samo da nadgleda
komunikaciju veČ može da nadgleda izvršavanje svake instrukcije agenta,
može da nadgleda sve nešifrovane ili javne podatke koje je agent doneo sa
sobom kao i sve podatke koji su generisani u toku izršavanja na platformi.
Pošto platforma ima pristup agentskom kodu, stanju i podacima, agent koji je
posetio platformu mora da bude oprezan i svestan Činjenice da može otkriti ili
izložiti neki znaČajen podatke, poslovnu tajnu, strategiju pregovaranja ili
druge osetljive informacije. Čak iako softverski agent možda ne iznosi
direktno osetljive informacije, agentska platforma može da izvodi zakljuČke
na osnovu tipa servisa koje agent zahteva i na osnovu identiteta agenta sa
kojim komunicira.
 Izmena koda i ponašanja mobilnog agenta ⌌ mobilna paradigma
izvršavanja podrazumeva da kada agent stigne na agentsku platformu on sa sobom
donese svoj kod, stanje i podatke. Pošto softverski agent, u svom životnom
veku, može da poseti nekoliko platformi u okviru razliČith bezbedonosnih
domena, neophodno je postojanje mehanizama koji ÄŒe obezbediti oÄŒuvanje
integriteta koda, stanja i podataka mobilnog softverskog agenta. Modifikacija
koda mobilnog agenta, i samim tim kasnije neispravno ponašanje agenta na nekoj
drugoj platformi, može biti detektovano digitalnim potpisivanjem programskog
koda mobilnog agenta od strane njegovog tvorca. Problem detektovanja zlonamernih
promena u stanju agenta u toku njegovog izvršavanja ili promena u podacima koje
je agent izraČunao i proizveo na zlonamernoj platformi još uvek nema opšte
rešenje. Agentska platforma može da izvršava modifikovanu virtuelnu mašinu,
bez znanja agenta, i da ta modifikovana virtuelna mašina može uzrokovati i
proizvoditi pogrešne rezultate.
Mobilni agenti koji poseČuju nekoliko platformi na svom životnom putu se
izlažu novim rizicima svaki put kada su u fazi prenošenja (pokreta sa jedne na
drugu platformu) kao i svaki put kada se oni instanciraju na novoj
platformi. Ukoliko se entitet koji je odgovoran za izmenu koda, stanja ili
podataka mobilnog agenta ne detektuje odmah, na samom poÄŒetku izmena, jako
ga je teško (skoro i nemoguČe) locirati nakon što agent poseti druge
platforme i izmena stanja agenta i podataka bude prikrivena novim promenama.
Mada je tehnologija kontrolnih taČaka i ponovnog izvršavanja lako ostvarljiva
u tradicionalnim okruženjima, okruženje agentskih sistema ovu tehniku
Čini jako teškom zato što finalno stanje agenta i podaci mogu biti
rezultat serije nedeterministiČkih dogaČaja koji zavise od ponašanja
autonomnog agenta Čije prethodno ponašanje i stanje nemože biti ponovo
kreirano.
Agentska platforma takoČe može grešiti u komunikaciji sa agentom. Greške u
komunikaicji sa agentom, na primer, mogu ukljuČiti promišljenu promenu polja
podataka u finansijskim transakcijama ili ÄŒak promene polja tipa poruke iz
⌌kupi⌌ u ⌌prodaj⌌. Ovakav tip promišljene i ciljane promene podataka je
mnogo teže realizovati od prostog ošteČenja poruke, ali se ipak
izvodi jer potencijalni napadaČ ima jasan podsticaj i nagradu.
3. MERE ZAÅ TITE U AGENTSKIM SISTEMIMA
Mnoge konvencionalne bezbedonosne tehnike koje se koriste u savremenim
distribuiranim aplikacijama (tj. klijent-server aplikacijama) takoÄŒe imaju
svoju primenu u okviru savremene paradigme mobilnog izvršavanja i mobilnih
agenata. Pored toga, postoje mnoga proširenja konvencionalnih tehnika i tehnikE
koje su izmišljene specifiČno za kontrolisanje mobilnog koda i izvršivog
sadržaja koje su primenljive na bezbednost agentskih sistema. U daljem tekstu
se na konzistentan naÄŒin prikazuje pregled protivmera koje se koriste za
zaštitu platforme na kojoj se agent izvršava.
Mnogi agentski sistemi se oslanjaju na opšti skup pretpostavki koje se tiČu
bezbednosti. Prva takva pretpostavka je da agent veruje poÄŒetnoj
platformi na kojoj je prvi put instanciran i poČeo svoje izvršavanje. Druga
pretpostavka je da su poÄŒetna platforma i druge jednako poverljive platforme
5. implementirane bezbedno, bez grešaka i trapdoor-ova koje se mogu eksploatisati,
i koje se ne ponašaju zlonamerno. TreČa pretpostavka se odnosi na upotrebu
infrastrukture sa javnim kljuČevima (engl. PKI ⌌ Public Key Infrastructure)
prvenstveno u formi digitalnih sertifikata, lista opozvanih sertifikata i
tehnologije digitalnog potpisa za potpisivanje koda mobilnog softverskog agenta.
Zaštita agentske platforme
Jedna od glavnih briga oko implementacije agentskih sistema je obezbediti da
agenti nisu u moguÄŒnosti da se sukobljavaju meÄŒusobno kao i da se sukobljavaju
sa agentskom platformom na kojoj se izvršavaju. Opšti pristup kojim se to
postiže je uspostavljanje zasebnih izolovanih domena za svakog agenta i
platformu ali i stroga kontrola pristupa i korenspodencije izmeÄŒu
domena. U tradicionalnom smislu ovaj koncept se naziva nadgledanje izvora (engl.
reference monitor). Jedna implementacija koncepta nadgledanja izvora ima
sledeÄŒe karakteristike:
 Uvek je aktivan i ne može se zaobiČi, posreduje kod svakog pristupa
resursima
508
 Nije podložan kvarovima
 Dovoljno je mali da se analizira i testira
Implementacija koncepta nadgledanje izvora datira negde oko ranih devedesetih
godina prošlog veka i upotrebljava Čitav niz konvencionalnih bezbedonosnihi
tehnika, koje su primenljive na agentsko okruženje. Te konvencionalne tehnike
ukljuÄŒuju sledeÄŒe:
 Mehanizme meČusobnog izolovanja procesa kao i izolovanja korisniČkih od
upravljaÄŒkih procesa.
 Mehanizme za kontrolu pristupa raČunarskim resursima.
 Kriptografske metode kojima se postiže zaštita tajnosti informacija koje
se razmenjuju.
 Kriptografske metode kojima se identifikuju i autentikuju korisnici, agenti
i platforme.
 Mehanizme koji omoguČavaju ponovno pregledanje dogaČaja vezanih za
bezbednosne probleme koji se dešavaju ili su se desili na agentskoj platformi.
Tehnike razvijene u novije vreme odnose se pre svega na mobilni kod i bezbednost
mobilnih agenata a razvijene su po uzoru na tradicionalne tehnike. Za zaštitu
agentskih platformi razvijene su sledeÄŒe tehnike:
 Softverski bazirana izolacija grešaka ⌌ kako samo ime kaže, metoda
koja softverski izdvaja module razliČitih aplikacija i smešta ih u odvojene
domene koji su otporni na greške. Ova tehnika omoguČava nekom nepoverljivom
softveru napisanom u nepouzdanom programskom jeziku, kao što je ⌌C⌌, da se
izvršava oukviru jedinstvenog virtuelnog adresnog prostora aplikacije. Pristup
sistemskim resursima se takoČe može kontrolisati putem jedinstvenog
identifikatora koji se pridružije svakom domenu. Ova tehnika, poznata pod
opštim imenom sandboxing, je veoma efikasna u poreČenju sa hardverskim
tabelama strana koje održavaju odvojene adresne prostore za module, kada ti
moduli Često komuniciraju meČusobno u okviru domena otpornih na greške.
TakoÄŒe je idealan za situacije gde veÄŒina koda spada u jedan domen od
poverenja, jer moduli u okviru domena od poverenja nemaju dodatnog optereÄŒenja
pri izvršavanju.
6.  Sigurna interpretacija programskog koda ⌌ mobilni softverski agenti se
ÄŒesto razvijaju upotrebom nekog skript ili programskog jezika koje se
interpretira. Glavna motivacija i ideja vodilja je želja da se postigne
nezavisnost mobilnog agenta od platforme, operativnog sitstema na kome se
izvršava. Osim toga, viši konceptualni nivo apstrakcije koji obezbeČuje
okruženje interpretera može olakšati razvoj koda mobilnog agenta[7]. U osnovi
metode zaštite primenom sigurne interpretatcije programskog koda leži ideja
da komande koje se smatraju potencijalno Å¡tetnim mogu ili uÄŒiniti sigurnim ili
da se potpuno onemoguČi njihovo izvršavanje. Na primer, dobar primer za
onemoguČavanje može biti komanda koja izvršava proizvoljan znakvni niz
podataka kao segment programa.
 Digitalno potpisani kod ⌌ fundamentalna tehnika zaštite agentskih
sistema koja podrazumeva digitalno potpisivanje koda mobilnog agenta. Digitalnim
potpisivanjem postiže se autentiČnost objekta koji je potpisan i autentiČnost
entiteta koji je izvršio digitalno potpisivanje, kao i integritet digitalno
potpisanog koda. TipiÄŒno, digitalno potpisivanje koda mobilnog agenta obavlja
sam kreator mobilnog agenta ili entitet koji je ovlašČen da izvrši reviziju i
pregled koda mobilnog agenta.
 Procene stanja mobilnih agenata ⌌ tehnika zaštite mobilnih agenta koja
ima za cilj da utvrdi da mobilni agent nije, na neki naÄŒin, doveden u
zlonamerno stanje izmenom podataka njegovog stanja. Uspešnost ove tehnike
zasniva se na procenama kojima se Å¡tetne promene stanja mobilnog agenta
mogu predvideti, tako da se protivmere u obliku funkcija koje
procenjuju stanje agenta mogu izvršiti pre pokretanja samog agenta. Funkcije
procene stanja se koriste za odreÄŒivanje koja prava pristupa treba dodeliti
agentu.
 Istorija putanja ⌌ ima za cilj da se održava zapis[8, 9] koji
predstavlja spisak svih platformi koje je agent posetio u svom životnom veku.
Neophodan uslov ove metode zaštite mobilnih agenata je da se lako može
verifikovati autentiČnost i integritet tako kreiranog zapisa ⌌ istorije
putanje softverskog agenta. Na osnovu tog zapisa, nova agentska platforma na
koju agent stigne može odluČiti da li i na koji naČin Če izvršavati agenta
i koja ograniÄŒenja po pitanju resursa ÄŒe mu postaviti.
 Dokaz o pouzdanosti koda mobilnog agenta ⌌ podrazumeva da je tvorac
softverskog agenta obavezan da formalno dokaže da programski kod poseduje
bezbedonosna svojstva koja su unapred dogovorena sa potencijalnim korisnicima
softverskih agenata[10]. U najveČem broju sluČajeva tražena bezbedonosna
svojstva se poklapaju sa bezbedonosnim politikama agentskih platformi na
kojima Če se on izvršavati. Ovakav mehanizam zaštite ima pre svega
preventivnu ulogu.
4. ZAKLJUÄŒAK
Bezbednosni probelmi vezani za mobilne agente, barem u teoriji, u velikoj meri
se rešavaju kroz postojeČe sigurnosne tehnologije i protokole. Pitanja vezana
za autentikaciju i autorizaciju u multiagentskim sistemima nije lako rešiti.
OÄŒigledno da infrastruktura sistema sa javnim kljuÄŒevima predstavlja jedan
važan deo rešenja problema bezbednosti mobilnih agenata, sami agenti moraju
biti u moguÄŒnosti da rezonuju i donose odluke na osnovu razliÄŒitih
bezbednosnih parametara. Izvršavanje mobilnog softverskog agenta na platformi u
koju se ne može imati poverenja je još jedan faktor koji bezbednost agentskih
sistema Čini složenijim a posebno sa aspekta pouzdanosti izvršavanja mobilnog
softverskog agenta i oÄŒivanja tajnosti podataka mobilnog agenta.
Ne postoji jedinstveno rešenje bezbednosnih problema koje je razvoj mobilnih
softveskih agenata doneo sa sobom osim uvoÄŒenja pouzdanog hardvera, koji je
veÄŒini aplikacija
509
nedostupan zbog svoje cene. Rešenje problema se može postiČi razvojem malih
7. mehanizama kojima bi se rešavali pojedinaČni, partikularni problemi. Tako su
razvijani mehanizmi koji se odnose na agente koji se izvršavaju na veČem broju
agentskih platformi, mehanizmi i protokoli koji omoguČavaju agentu dokaže svoj
identitet i da utvrdi identitet platforme kao i mehanizmi kojima se zapisuju i
pamte akcije agenta na agentskoj platfomi kako bi se mogle koristiti u
sluÄŒaju odreÄŒenih sporova. Neki problemi nemaju univerzalno i
opšteprihvaČeno rešenje tako da je oblast bezbednosti mobilnih softverskih
agenata veoma aktivna i bogata novim istraživaČkim poduhvatima.
Sadašnji nivo istraživaČkih aktivnosti i veliki broj projekata
koji se razvija predstavlja znaÄŒajan pokazatelj da
Programs," in J. Vitek and C. Tschudin (Eds.), Mobile Object Systems: Towards
the Programmable Internet, Springer-Verlag, Lecture Notes in Computer Science
No.
1222, pp. 111-130, April 1997.
[5] "Agent Management," FIPA 1997 Specification, part
1, version 2.0, Foundation for Intelligent Physical Agents, October 1998.
[6] "Mobile Agent System Interoperability Facilities Specification," Object
Management Group (OMG) Technical Committee (TC) Document orbos/97-10- 05,
November 1997
[7] John K. Ousterhout, ⌌Scripting: Higher-Level
st
tehnologija mobilnih softverskih agenata ima blistavu buduÄŒnost.
Programming for the 21
March 1998, pp. 23-30.
Century,⌌ IEEE Computer,
LITERATURA
[1] "Mobile Agents White Paper," General Magic, 1998. dostupno na:
http://www.genmagic.com/technology/techwhitepaper.ht ml
[2] A. Fuggetta, G.P. Picco, and G. Vigna, "Understanding Code
Mobility," IEEE Transactions on Software Engineering, 24(5), May 1998.
[3] Danny Lange and Mitsuru Oshima, Programming and Deploying Java Mobile Agents
with Aglets, Addison- Wesley, 1998.
[4] Anurag Acharya, M. Ranganathan, Joel Salz, "Sumatra: A Language for
Resource-aware Mobile
[8] Joann J. Ordille, "When Agents Roam, Who Can You Trust?" Proceedings of the
First Conference on Emerging Technologies and Applications in Communications,
Portland, Oregon, May 1996
[9] Nayeem Islam, et al., ⌌A Flexible Security System for Using Internet
Content, IEEE Software, September 1997, pp. 52-59.
[10] G. Necula and P. Lee, "Safe Kernel Extensions Without Run-Time Checking,"
Proceedings of the 2nd Symposium on Operating System Design and Implementation
(OSDI '96), Seattle, Washington, October
1996, pp. 229-243.