Sie sind auf Seite 1von 46

JUNI, 2018

RAČUNARSKE MREŽE
SKRIPTA ZA IV RAZRED TEHNIČARA RAČUNARSTVA

JU TEHNIČKA ŠKOLA M.PUPIN


Bijeljina
1

Sadržaj
1 Mrežni operativni sistemi ..................................................................................... 2
2 Sloj aplikacije ..................................................................................................... 7
Uvod ................................................................................................................. 7
2.1 Web servis ................................................................................................... 9
2.1.1 Adresovanje, protokoli i kodovanje podataka .............................................10
2.2 Servis elektronske pošte ...............................................................................22
2.2.1 Arhitektura ............................................................................................22
2.2.2 SMTP ....................................................................................................23
2.2.3 POP3 .....................................................................................................24
2.3 Servisi za prenos fajlova FTP .........................................................................24
2.3.1 Sigurni FTP ............................................................................................25
2.3.2 NFS ......................................................................................................25
2.3.3 CIFS .....................................................................................................25
2.4 Servisi adresovanja ......................................................................................26
2.4.1 DHCP ....................................................................................................26
2.4.2 DNS ......................................................................................................27
2.5 Multimedijalni servisi ....................................................................................30
2.5.1 Telefonija ..............................................................................................30
2.5.2 Video konferencija ..................................................................................30
3 Osnove bezbednosti u računarskim mrežama ........................................................32
Uvod ................................................................................................................32
3.1 Tipovi napada ..............................................................................................32
3.1.1 Kriptoanaliza ..........................................................................................33
3.1.2 Razbijanje šifrata primenom sirove sile......................................................33
3.1.3 Napad posredovanjem u komunikaciji .......................................................34
3.1.4 Napad uskraćivanjem usluge ....................................................................35
3.2 Sistemi za zaštitu .........................................................................................36
3.2.1 Zaštita na nivou aplikativnog protokola .....................................................37
3.2.2 Zaštita na nivou transportnog protokola ....................................................37
3.2.3 Zaštita na nivou mrežnog protokola ..........................................................38
3.2.4 Firewall .................................................................................................40
3.2.5 Standardni šifarski algoritmi.....................................................................42
3.2.6 Trendovi ................................................................................................44
1 Network Programming in the .NET Framework .......................................................45
2

I POLUGODIŠTE
1 Mrežni operativni sistemi
Kao što računar ne može da radi bez operativnog sistema, mreža računara ne može da
funkcioniše bez mrežnog operativnog sistema. To znači da nije moguće deliti resurse
posmatranog računara, odnosno korisnici drugih računara neće biti u stanju da koriste
resurse posmatranog računara. Ponekad se kao skraćenica za mrežne operativne sisteme
koristi NOS.

Ciljevi ovog poglavlja su sticanje znanja za:


Identifikaciju esencijalnih NOS komponenti,
Definisanje preemptive i nonpreemptive multitasking-a,
Opis elemenata klijentskog softvera,
Opis elemenata serverskog softvera,
Definisanje mrežnih servisa.

Ukratko
Zavisno od proizvođača NOS-a, mrežni softver desktop računara može biti naknadno dodat
operativnom sistemu računara ili integrisan u njega.
Novell NetWare je najpoznatiji primer NOS-a kod koga se klijentski mrežni softver
naknadno dodaje (instalira). On se uklapa u postojeći operativni sistem tako da desktop
računar može obrađivati stand-alone i mrežne operacije.
S druge strane Windows je primer NOS-a u koji je integrisan mrežni softver.

Hardver i softver
Operativni sistem u računaru koordiniše interakciju između računara i programa—aplikacija
koje se izvršavaju. Upravlja alokacijom i upotrebom hardverskih resursa kao što su:
- Memorija,
- Procesorsko vreme,
- Prostor na disku,
- Periferni uređaji.
U mrežnom okruženju, serveri obezbeđuju resurse mrežnim klijentima, a klijentski mrežni
softver čini te resurse dostupnim klijentskom računaru.

Multitasking

Multitasking operativni sistem, kao što i ime nagoveštava, omogućava računaru da


procesira više od jednog zadatka (task) istovremeno. Pravi Multitasking operativni sistem
može izvršavati istovremeno onoliko zadataka koliko je procesora. Prividni multitasking
sistemi ne izvršavaju zadatke doslovce istovremeno već se privid stvara tako što se svakom
pokrenutom zadatku procesor dodeljuje naizmenično kratko vreme, dok se svi zadaci ne
obave. Dve osnovne forme multitasking-a su:

Preemptive – operativni sistem može preuzeti upravljanje nad procesorom bez pitanja i
dozvole zadtaka koji se izvršava.
Nonpreemptive (cooperative) – u ovakvim sistemima zadatak odlučuje kada će
osloboditi procesor. Programi pisani za nonpreemptive multitasking sisteme moraju
uključivati procedure za upravljanje procesorom. Nijedan drugi program se ne može
izvršavati dok nonpreemptive program ne prepusti kontrolu nad procesorom.
3

Zbog interakcije između stand-alone operativnog sistema i NOS-a, preemptive sistemi su


efikasniji. Na primer, kada situacija zahteva, preemptive sistem može CPU aktivnost
preusmeriti sa lokalnog zadatka na mrežni.

Softverske komponente

Kod računara sa operativnim sistemom koji ne uključuje mrežne funkcije, mrežni klijent
softver mora biti instaliran kao dodatak postojećem operativnom sistemu. Drugi operativni
sistemi kao što je Windows, integrišu mrežne funkcije u postojeći operativni sistem. Pored
mrežnih komponenti za „svoj“ NOS, Windows uključuje i mrežne komponente za druge
NOS. Kada se podešava mrežno okruženje u kome su prisutni proizvodi različitih
proizvođača, važno je razmotriti pitanje interoperabilnosti (interoperability). Elementi ili
komponenete operativnog sistema računara, kaže se "interoperišu" kada su u stanju da
funkcionišu u različitim računarskim okruženjima. NetWare server, na primer, može
interoperisati sa drugim serverima kao što je Windows, a korisnici Apple računara mogu
interoperisati i sa (tj, pristupati resursima) NetWare i sa Windows serverima.
NOS kao što je prikazan na slici 1:
- Povezuje sve računare i periferale,
- Koordiniše funkcijama svih računara i periferala,
- Pruža bezbednost kontrolisanjem prava pristupa podacima i periferalima.

Slika 1

Dve osnovne komponente mrežnog softvera su:


- Mrežni softver instaliran na klijentu,
- Mrežni softver instaliran na serveru.

Klijentski softver

Kod stand-alone sistema, kada korisnik zada komandu koja zahteva da računar izvede
zadatak, zahtev preko lokalne magistrale stiže do CPU-a ( slika 2). Na primer, ako želimo
videti sadržaj direktorijuma (foldera) na lokalnom disku, CPU interpretira i izvršava
komandu i prikazuje listu.

Slika 2

U mrežnom okruženju, kada korisnik inicira zahtev za upotrebom resursa koji se nalazi na
serveru negde u mreži, zahtev se mora proslediti, tj redirektovati (preusmeriti), sa lokalne
4

magistrale na mrežu, a odatle ka serveru na kome se nalazi zahtevani resurs. Ovo


preusmerenje izvodi redirector.

Redirector

Redirector obrađuje (preusmerene) zahteve. Zavisno od mrežnog softvera, redirector se


ponekad naziva "shell" ili "requester." Ovo je mali deo koda NOS-a koji:
- Presreće zahteve u računaru,
- Utvrđuje da li zahtev treba da nastavi ka lokalnoj magistrali ili da se preusmeri
preko mreže ka drugom računaru.

Slika 3

Slika 3 prikazuje preusmerenje zahteva. Korisnički računar je klijent jer traži uslugu od
servera. Server obrađuje zahtev klijenta i daje mu pristup ka resursu koji je zahtevan.
Drugim rečima, server servira tj uslužuje zahtev klijenta.

Designators (obeleživač)

Ako je potreban pristup deljenom folderu, i postoji pravo pristupa, operativni sistem će
obično ponuditi nekoliko izbora za način pristupa folderu. Na primer, u Windows-u može
se koristiti Windows Explorer za povezivanje na mrežni drive koristeći Network
(Neighborhood) ikonu. Takođe se može mapirati drive. (Drive mapping je dodeljivanje
slova ili imena disk drive-u tako da ga operativni sistem ili mrežni server mogu
identifikovati i locirati) Redirector čuva način na koji se pristupalo (drive designators) kom
mrežnom resursu.

Peripherals

Redirektori mogu poslati zahtev periferalima kao i deljenim folderima. Slika 4 opisuje takav
zahtev (zahtev ka serveru štampe). Zahtev je preusmeren od računara u kome je nastao
i poslat preko mreže do cilja. Cilj je u ovom slučaju, print server jer se zahtev odnosi na
štampu. Preko redirektora, LPT1 ili COM1 mogu pokazivati na mrežne štampače umesto
lokalnih. Redirektor će presresti bilo koji print job koji ide ka LPT1 i preusmeriti ga izvan
lokalne mašine ka specifičnom računaru u mreži.

Slika 4

Posredstvom redirektora, korisnik ne mora da brine o tome gde je tačna kolacija podataka
ili periferala, ili o kompleksnosti uspostavljanja veze. Da bi pristupio podacima na mrežnom
5

računaru, na primer, korisnik jedino treba da zada drive designator pridružen (dodeljen)
lokaciji resursa a redirektor utvrđuje stvarnu rutu.

Server Software

Pomoću server softvera, korisnici računara, mogu deliti podatke i periferale kao što su
štampači, crtači, modemi, folderi i sl. Na slici 5, korisnik zahteva sadržaj foldera na
deljenom udaljenom hard disku. Zahtev se prosleđuje posredstvom redirektora ka mreži,
a onda ka file and print server-u na kome je deljeni folder. Zahtev je odobren (granted), i
listing (sadržaj) foldera se vraća.

Slika 5

Deljenje resursa (Resource Sharing)

Sharing je termin koji se koristi da opiše resurse postavljene da budu javno (publicly)
dostupni za pristup na mreži. Skoro svi NOS ne samo da omogućavaju deljenje, već imaju
mogućnost da se ta deljivost dodatno definiše. Te dodatne mogućnosti su:
- Ratličiti korisnici – različite dozvole pristupa,
- Koordinisanje pristupa radi osiguranja da dva korisnika ne koriste ekskluzivni resurs
istovremeno.
Različite dozvole pristupa označavaju da pristup može biti takav da:
- Nekim korisnicima će biti dozvoljeno samo čitanje.
- Nekim korisnicima će biti dozvoljeno čitanje ali i menjanje sadržaja.

Upravljanje korisnicima (Managing Users)

NOS omogućava mrežnom administratoru da definiše kojim korisnicima ili grupama


korisnika, će biti dozvoljen pristup mrežnom resursu. Administrator može iskoristiti NOS
da:
- Kreira privilegije, kojima se definiše čemu i kako se može pristupati,
- Daje ili ukida (grant or deny) privilegije korisnicima/grupama,
- Uređuje način praćenja aktivnosti korisnika od strane NOSa.

Radi olakšanja procesa upravljanja korisnicima u velikoj mreži, NOS koristi koncept grupe.
Dodavanjem pojedinaca u grupu, taj korisnik automatski nasleđuje privilegije definisane
za tu grupu.

Upravljanje mrežom (Managing the Network)

Neki napredni NOS uključuju alate koji pomažu administratoru da prati dešavanja u mreži.
Ako se javi problem u mreži, ovi alati mogu detektovati znake problema i prikazati ih u
obliku grafikona, ili drugom formatu. Posredstvom ovih alata, mogu se preduzeti
korektivne aktivnosti u cilju stabilnog rada mreže.

Izbor NOS

U planiranju mreže, izbor NOS može biti znatno sužen ako se prvo utvrdi koja mrežna
arhitektura — client/server ili peer-to-peer — će se implementirati. Ovaj izbor može takođe
6

da se olakša utvrđivanjem vrste bezbednosti koja se zahteva. Server-bazirano


umrežavanje pruža značajno viši nivo bezbednosti. Ako bezbednost nije primarno važna,
peer-to-peer umrežavanje može biti prikladno.
Sledeći korak je utvrđivanje vrsta interoperabilnosti koja se mogu javiti u mreži. Svaki
NOS drugačije tretira interoperabilnost, pa treba sagledati sopstvene zahteve u tom
pogledu. Ako je izabrana peer-to-peer mreža, opcije vezane za bezbednost i
interoperabilnost će biti umanjene zbog ograničenja same arhitekture. Ako je izbor server-
bazirana mreža, dalje procenjivanje je potrebno da se utvrdi da li će se interoperabilnost
dešavati na nivou servisa na mrežnom serveru ili na nivou klijent aplikacije na svakom
umreženom računaru. Server-bazirana interoperabilnost je lakša za upravljanje jer, kao i
drugi servisi, locirana je centralizovano; klijent-bazirana interoperabilnost zahteva
instalaciju i konfiguraciju na svakom računaru, što je značajno komplikovanije.
Nije neuobičajeno sresti obe metode — u jednoj mreži. Na primer, NetWare server je često
implementiran sa servisima za Apple računare, dok se Microsoft Windows mrežna
interoperabilnost postiže instaliranjem mrežne klijent aplikacije na svakom pojedinačnom
računaru.
Prilikom izbora NOS, prvo treba utvrditi mrežne servise koji će se koristiti. Standardni
servisi uključuju bezbednost, file sharing, štampu i messaging; dodatni servisi uključuju
podršku interoperabilnosti u cilju konekcije računara sa drugačijim operativnim sistemom.
Za svaki NOS, utvrditi koji interoperabilni servisi ili mrežni klijenti su najbolje
implementirani za zadovoljavanje iskazanih potreba.
Najzastupljeniji server-bazirani NOS su Microsoft Windows Server i Novell NetWare 3.x,
4.x and 5.x. Glavni peer-to-peer NOS su AppleTalk, Windows i UNIX (uključujući Linux).

Ukratko

Bez NOS-a, pojedinačni računari ne mogu deliti resurse.


NOS može biti deo operativnog sistema računara ili posebna aplikacija koja se izvršva on
top of the computer operating system.
Windows je primer OS-a koji integriše mrežne komponente.
Pomoću multitasking-a, računari izvršavaju više zadataka istovremeno.
Multitasking može biti preemptive ili nonpreemptive.
Server softver je sredstvo kojim NOS omogućava usluge (servise) drugim računarima na
mreži.
Redirektor se koristi za usmeravanje zahteva klijenata ka mreži.
Pomoću redirektora, korisnici mogu pristupati mrežnim uređajima kao da su priključeni na
lokalni računar.
Prvi korak u izboru NOSa je odluka koja će se arhitektura primeniti—server-based ili peer-
to-peer; ovaj izbor najviše zavisi od novoa bezbednosti koji treba implementirati.
7

2 Sloj aplikacije
Uvod
Sa korisničke tačke gledišta računarske mreže predstavljaju samo infrastrukturu kojom
putem odgovarajućih aplikacija šalju i primaju podatke. Dva osnovna tipa softvera na sloju
aplikacije jesu korisničke aplikacije i servisi.

Aplikacije predstavljaju oblik realizacije softvera namenjen za neposredno korišćenje od


strane korisnika. U skladu sa tim aplikacije poseduju odgovarajući (grafički, alfanumerički
ili neki drugi) korisnički interfejs.

Servisi, nasuprot aplikacijama, predstavljaju realizaciju kod koje se softverski procesi


izvršavaju „u pozadini“ računarskog sistema, odnosno ne poseduju korisnički interfejs.
Korisnik se o ovim procesima može informisati samo posredno (na primer, korišćenjem
naredbe top na Linuks operativnom sistemu) a njihova uloga jeste podrška ostalim
softverskim procesima na lokalnom ili udaljenim računarima. Na primer, Veb servis
podrazumeva postojanje korisničke aplikacije (Veb brauzer) i serverskog softvera (Veb
server).
8

Popularno ime za servise na UNIX operativnim sistemima je demoni (engl. daemon). Ovaj
termin se u računarstvu prvi put pojavio 1963. godine, a upotrebili su ga učesnici na
projektu MAC kompanije IBM. Kao inspiraciju za uvođenje ovog termina učesnici projekta
navode Maksvelove demone iz oblasti fizike i termodinamike. Nazivi servisnih procesa na
UNIX operativnim sistemima se najčešće završavaju slovom d, na primer httpd, mysqld...
U praksi se često inficirajući deo „trojanskih konja“ (tip malicioznog softvera) realizuje u
vidu servisa koji od klijentske komponente – aplikacije koju koristi napadač - dobija
instrukcije. Rootkit alati na UNIX operativnom sistemu primer su navedenog softvera a
teško se otkrivaju jer se na specifičan način skrivaju od sistemskih alata za listanje aktivnih
procesa.

Klijent-server arhitektura predstavlja jedan od danas najčešće korišćenih pristupa kod


distribuirane obrade podataka. Koreni ove arhitekture nalaze se kod mejnfrejm računara i
na njih priključenih terminala. Sličnost sa ovom arhitekturom jeste postojanje jednog člana
sposobnog za izvršavanje zadataka koji su van mogućnosti ostalih članova mreže. Postoje,
međutim, bitne razlike između ove dve arhitekture. Kod mejn-frejm arhitekture terminali
nemaju nikakvu mogućnost obrade podataka, dok kod klijent-server arhitekture klijenti od
servera dobijaju podatke koje, zatim, koriste u lokalnom procesu obrade. Zatim, mejn-
frejm računari predstavljaju autonomne članove mreže koji za proces obrade podataka
koriste lokalne resurse. Nasuprot tome, server se u vidu klijenta može obratiti drugim
serverima u mreži za određeni resurs ili distribuiranu obradu.

Osnovna klijent-server arhitektura podrazumeva postojanje dva sloja – sloja klijenta i sloja
servera. Kod dvoslojne klijent-server arhitekture softversko rešenje se razlaže na jednu
isključivo klijentsku, i jednu isključivo serversku komponentu. Primer osnovne, dvosjlojne
klijent-server arhitekture jeste mreža u kojoj korisnici putem aplikacija na svojim
računarima pristupaju centralnoj bazi podataka. U praksi su česte i klijent-server
arhitekture sa tri sloja jer se njima lakše rešavaju pitanja zaštite podataka i kontrole
pristupa. Na primer, Veb aplikacije najčešće koriste troslojnu klijent-server arhitekturu na
takav način da osnovni klijentski deo čini Veb brauzer, srednji sloj čini aplikativni Veb
server, a server baze podataka čini treći, serverski sloj. U takvoj organizaciji srednji sloj je
9

realizovan kao serverska komponenta, gledano sa aspekta Veb brauzera, odnosno kao
klijentska komponenta, gledano sa aspekta servera baze podataka.

Na primeru troslojne arhitekture jasno se može steći uvid da se pojmovi „klijent“ i „server“
ne odnose na hardverske karakteristike računara, već na tipove procesa, ili čak njihove
procedure, koji se na tim računarima izvršavaju. Ukoliko neki proces, ili jedan njegov deo,
zahteva uslugu od drugog procesa (bilo na lokalnom ili na udaljenom računaru) njegovo
ponašanje se spada u klijentski deo klijent-server arhitekture. I obrnuto, ukoliko neki
proces čeka na zahteve drugih procesa, njegovo ponašanje spada u serverski deo klijent-
server arhitekture. Opšte pravilo za određivanje uloge kod klijent-server arhitekture
definiše da je klijentska strana ona koja od druge strane zahteva uslugu, a da je serverska
strana ona koja čeka na zahtev od druge strane i isporučuje odgovor na njega.

2.1 Web servis


Veb servis (engl. World Wide Web) predstavlja najpopularniji servis Interneta. Nastao je
1991. godine na osnovu idejnog projekta Timoti Berners Lija iz Serna, laboratorije za
atomsku fiziku u Švajcarskoj. Tema projekta je bila sistem za hipertekst, odnosno metod
pronalaženja dokumenata na Internetu pomoću hiperveza (engl. hyperlink) koje upućuju
na mesta gde se dokumenti nalaze.
10

Veb ujedno predstavlja i servis koji je najviše evoluirao od svog nastanka. Takođe, bez
obzira na broj uvedenih funkcionalnosti, tehnologije na kojima se Veb zasniva još uvek su
u fokusu mnogobrojnih razvojnih timova jer se smatra da one predstavljaju primarnu
platformu za rad i razvoj aplikativnog softvera u budućnosti. Danas postoje značajne
kompanije koje svoje poslovanje kompletno zasnivaju na Vebu, a umnožavaju se i profesije
i discipline koje su usmerene ka njemu (Veb kopirajting, Internet marketing, optimizacija
za pretraživače...).

Inicijalno, Veb je razvijan kao sistem za povezivanje različitih dokumenata. Takav Veb je
danas poznat pod nazivom „Veb prve generacije“ (Veb 1.0). Međutim, potencijali ovog
servisa ubrzo su omogućili njegovo korišćenje u vidu potpuno funkcionalnih korisničkih
aplikacija. Razvojem pridruženih servisa višeg nivoa, Veb se od svoje projektovane
konačne funkcije sve više transformisao u infrastrukturni servis. Danas, se pod nazivom
„Veb druge generacije“ podrazumevaju upotreba i tehnologije Veba koje omogućavaju
razmenu informacija, kolaboraciju i socijalizaciju korisnika.

2.1.1 Adresovanje, protokoli i kodovanje podataka

Za adresovanje podataka na Vebu koriste se uniformni lokatori resursa sa namenskim


šemama. Osnovne šeme uniformnih lokatora na Vebu jesu http i https, s tim da se se u
praksi često koriste hiperveze sa uniformnim lokatorima koji koriste i ostale šeme - mailto,
ftp, rtsp...
Osnovni protokol za distriburanje sadržaja na Vebu je protokol za prenos hiperteksta -
HTTP. S obzirom na to da ovaj protokol ne poseduje funkcije za zaštitu podataka za prenos
osetljivih sadržaja koristi se SSL proširenje. Sam protokol za prenos hiperteksta čini osnovu
za rad različitih servisnih protokola kao što su SOAP, XML-RPC, i drugi. S obzirom na
raznolikost sadržaja na Vebu, za potrebe njihovog distribuiranja koristi se više različitih
jezika i sistema kodovanja. Primarni tip dokumenata na Vebu jeste hipertekstualni, a za
njegovo kreiranje koristi se jezik za označavanje hiperteksta - HTML. U praksi je česta
primena i ostalih jezika i sistema kodovanja za potrebe kodovanja dokumenata i sa njima
povezanih resursa, kao i poruka različitih servisnih protokola.
11

2.1.1.1 Uniformni lokator resursa

Uniformni lokator resursa (engl. Uniform Resource Locator, URL) definiše način kodovanja
informacija za lociranje i pristup resursima na Internetu. U pitanju je Internet standard
koji se zbog pogodnosti koje nudi, osim za resurse na Internetu, često koristi i u lokalnim
mrežama, kao i u softverskim sistemima koji ne podrazumevaju distribuiranu obradu
podataka. Tipovi resursa koji se ovim načinom adresovanja lociraju nisu ograničeni, a
mogu biti elektronski dokumenti, njihove grafičke i multimedijalne komponente, softverske
komponente i stanja aplikacija, i t.d.
Za potrebe pristupa različitim resursima definisano je više šema za opisivanje lokacije.
Sama šema predstavlja prvi deo lokatora i najčešće se odnosi na aplikativni protokol kojim
se pristupa resursu. Ostali deo lokatora čini adresa specifična za tu šemu i od nje je
odvojena sa dve tačke. Specifikacija šema koje se koriste na Internetu podrazumeva
postojanje dve kose crte nakon separatora između šeme i za nju specifične adrese. Pored
ovog, lokator resursa može posedovati i više separatora koji određuju njegove različite
delove.

Kada je u pitanju Veb, zahtevani delovi uniformnog lokatora resursa na njemu su šema
(HTTP ili HTTPS protokol) i adresa domaćina (simbolička ili logička). Ovako jednostavni
lokatori se uglavnom koriste za inicijalni pristup Veb sajtovima. Port je takođe neophodan
deo uniformnog lokatora resursa ali se on u savremenim Veb brauzerima ne prikazuje
ukoliko se koriste podrazumevane vrednosti za protokol (port 80 za HTTP protokol i port
443 za HTTPS protokol).
Osim zahtevanih delova u praksi se često koristi i putanja, upit i identifikator fragmenta.
Pod putanjom se podrazumeva hijerarhijska putanja do resursa na samom domaćinu a ona
može biti putanja na fajl-sistemu ili se može dinamički obrađivati od strane Veb servera
(primer: mod_rewrite modul Apache Veb servera). Upit, kao deo lokatora, najčešće se
koristi kod Veb aplikacija za prosleđivanje parametara serveru putem GET metoda HTTP
protokola. Podrazumevana uloga identifikatora fragmenta je skakanje na određeni deo
dokumenta nakon njegovog učitavanja, s tim da određene Veb tehnologije na strani
klijenta mogu iskoristiti ovaj parametar i za druge funkcionalnosti. Inače, sam identifikator
fragmenta se ne šalje serveru već isključivo služi za lokalnu upotrebu unutar Veb brauzera.
Neki resursi na Internetu i u ostalim računarskim mrežama javno su dostupni, dok se za
pristup nekima zahteva potvrđivanje identiteta korisnika kome je pristup odobren. Različiti
protokoli nude različite sisteme za utvrđivanje identiteta korisnika a sam HTTP protokol
nudi jednostavan sistem za autorizaciju korišćenjem korisničkog imena i lozinke.
Ovi pristupni parametri se takođe mogu uključiti u uniformni lokator zaštićenog resursa,
od domaćina odvojeni znakom „@“, a međusobno odvojeni dvema tačkama
(korisnik:lozinka@domaćin). Pri korišćenju sistema autentifikaciju HTTP protokola treba
imati u vidu da on samostalno ne nudi ozbiljan nivo zaštite, a da uključivanje korisničkog
imena i lozinke u uniformni lokator resursa takođe može dovesti do bezbednosnih
problema.
12

Putanje resursa prate njihovu hijerarhijsku organizaciju. U praksi, dokumenti na Vebu


često sadrže veze ka svojim izdvojenim sadržajima i drugim dokumentima u obliku
relativnih putanja koje prate ovu hijerarhijsku organizaciju. Pri učitavanju takvih veza Veb
brauzer izračunava njihove kompletne uniformne lokatore na osnovu njihovih relativnih
putanja i uniformnog lokatora dokumenta u okviru koga su one definisane. Uniformni
lokator resursa definiše lokaciju resursa ali ne sadrži informaciju o tome da li je resurs
trenutno dostupan, niti garantuje da mu se (u svakom ili u bilo kom trenutku, kao i sa
svake ili sa bilo koje lokacije) može pristupiti. U praksi je očekivano povećanje broja
neuspešnih pokušaja pristupa resursu, kao i potpuna nedostupnost, u skladu sa njegovim
zastarevanjem.
Lokacija resursa predstavlja jednu od njegovih mogućih identifikacija, dok je uniformni
lokator resursa jedan od tipova uniformnog identifikatora resursa (engl. Uniform Resource
Identified, URI). Drugi popularni tip uniformnog identifikatora resursa jeste uniformni naziv
resursa (engl. Uniform Resource Name, URN).

2.1.1.2 HTTP - protokol za prenos hiperteksta

Protokol za prenos hiperteksta (engl. HyperText Transfer Protokol, HTTP) je osnovni


protokol za distribuciju sadržaja na Vebu. Osnovne funkcionalnosti ovog protokola čine
prenos zahteva za hipertekstualnim dokumentima – od klijenta ka serveru - i prenos
sadržaja hipertekstualnih dokumenata – od servera ka klijentu. Iako sam naziv protokola
ukazuje da je njegova namena prenos hiperteksta, njime se mogu prenositi i ostali
tekstualni i binarni sadržaji. Protokol za prenos hiperteksta je protokol aplikativnog nivoa.
Kao podrazumevani transportni protokol on koristi protokol za kontrolu prenosa (TCP) s
tim da je u teoriji moguće koristiti bilo koji protokol koji nudi pouzdan prenos podataka.
Podrazumevani port protokola za prenos hiperteksta je 80, s tim da se mogu koristiti i
ostali protokoli, dok se za zaštićenu varijantu (HTTPS) ovog protokola koristi port 443.

2.1.1.3 Upravljanje vezom

Protokol za prenos hiperteksta ne definiše stanje veza (engl. stateless), niti se to zahteva
od strane klijentske i serverske implementacije. To u praksi znači da server na svaki zahtev
gleda van konteksta, odnosno da se za svaki novi zahtev (od strane istog klijenta ka istom
serveru, čak i ka istom ili direktno referenciranom resursu) ostvaruje potpuno nova veza.
Ovakav pristup se mogao smatrati optimalnim (po pogledu jednostavnosti protokola i
njegove implementacije) u ranim fazama razvoja Veba kada se on uglavnom koristio za
pristum jednostavnim, statičnim dokumentima. Međutim, pojavom Veb aplikacija kontekst
sesije je postao zahtevana funkcija protokola za prenos hiperteksta. Kontekst sesije kod
Veb aplikacija je značajan jer samoj aplikaciji pruža informacije o tome da li se korisnik
uspešno autorizovao, da li se nalazi u nekom od koraka složene aktivnosti, i tome slično.
Podrška za sesiju nije ugrađena direktno u protokol za prenos hiperteksta već je
realizovana u vidu specifikacije funkcija klijentske i serverske implementacije. Serverska
implementacija je proširena posebnim funkcijama koje omogućavaju kontekst sesije kroz
rezervisanje namenskog, trajnijeg memorijskog prostora za svakog pojedinačnog klijenta.
Sa druge strane, zadatak klijenta jeste čuvanje i dostavljanje identifikatora sesije pri
svakom zahtevu ka serveru.
13

Identifikator sesije generiše server poštujući određena funkcionalna i bezbednosna pravila.


Nakon generisanja identifikatora potrebno ga je dostaviti klijentu, a zatim navoditi pri
svakom zahtevu u toku te sesije. U praksi su popularna dva načina čuvanja i prosleđivanja
identifikatora sesije serveru. Prvi način podrazumeva automatizovano dodavanje
identifikatora sesije delu rezervisanom za upit svih uniformnih lokatora resursa u
dokumentima koji se šalju klijentu. Lošu stranu ovakvog pristupa čine problemi koji
proizilaze iz potrebe za izmenom svih hipertekstualnih dokumenata koji se šalju klijentu.
Drugi pristup, koji se danas najčešće sreće u praksi, podrazumeva razmenu identifikatora
sesije u vidu kolačića protokola za prenos hiperteksta.
Kolačići (engl. cookies) protokola za prenos hiperteksta predstavljaju mehanizam za
definisanje stanja veze ostvarene protokolom za prenos hiperteksta. Oni se razmenjuju u
okviru zaglavlja poruka protokola za prenos hiperteksta, a definisani su nazivom i
vrednošću (sadržajem). Kolačići se inicijalno kreiraju na strani servera i šalju se klijentu
koji ih, zatim, šalje serveru u okviru narednih zahteva. Za slanje kolačića od klijenta ka
serveru dodaje se Set-Cookie polje u zaglavlje poruke, a za slanje od klijenta ka serveru
polje Cookie. U okviru jedne poruke može se poslati više kolačića. Pored naziva i sadržaja
kolačića, za svaki od njih se definiše i njegov domet - koji je period važenja kolačića i na
koje domene i šeme uniformnih identifikatora resursa se on primenjuje. Vrednost kolačića
je moguće menjati u toku sesije jednostavnim ponovnim zadavanjem njegove nove
vrednosti. U situacijama kada je potrebno ukinuti određeni kolačić (na primer, u situaciji
kada je potrebno prekinuti sesiju) to se čini tako da server ponovo zadaje kolačić sa istim
parametrima (nazivom kolačića, domenima i šemama), ali sa vremenom isticanja u
prošlosti. Kolačići sami po sebi ne predstavljaju bezbednosnu pretnju za klijenta i server,
s tim da su se zbog određenih propusta u implementacijama za njih ranije vezivali
bezbednosni i privatnosni problemi.

2.1.1.4 HTML

Jezik za označavanje hiperteksta (engl. Hyper Text Markup Languagem, HTML) je jezik iz
porodice jezika za označavanje (engl. markup language). Jezici za označavanje se ponekad
svrstavaju u programske jezike, što je pogrešno. Uloga jezika za označavanje je da označe
delove dokumenta. Na primer:

Ovo je <u>jezik za označavanje</u>.

predstavlja deo hipertekstualnog dokumenta u kome je označeno da se reči uokvirene <u>


i </u> oznakama (eng. tag) prikažu podvučene. Za sam prikaz hipertekstualnih
dokumenata koristi se namenska aplikacija - Veb brauzer.
Hipertekstualni dokumenti nisu predviđeni da sadrže binarne podatke (mada je moguće
zaobilaženje ovog ograničenja) s tim da mogu imati reference prema binarnim resursima
(npr. slici). Klasičan hipertekstualni dokument sastoji se od dve celine: zaglavlja
dokumenta i tela dokumenta. Podaci u zaglavlju su namenjeni Veb brauzeru i sadrže
informacije o naslovu dokumenta, ključnim rečima, datumu isticanja, načinu kodovanja i
slično. Telo dokumenta je deo koji je namenjen za predstavljanje korisnicima (koje može
biti prikaz na ekranu ali i zvučni izlaz).

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<html>
<head>
<title>Наслов документа</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Садржај документа.
</body>
</html>
14

Sadržaj hipertekstualnih dokumenata se ne prikazuje direktno korisnicima već se pre toga


vrši njegovo interpretiranje u okviru odgovarajućih komponenata Veb brauzera.

Sam jezik za označavanje hiperteksta često se koristi u kombinaciji sa drugim


tehnologijama - binarno kodovanim zapisom slika, i audio/video zapisa, kaskadnim
stilovima, aktivnim klijentskim komponentama i slično.

2.1.1.5 XML

Proširivi jezik za označavanje (engl. Extensible Markup Language, XML) predstavlja


izuzetno značajnu tehnologiju kod savremenih softverskih sistema za distribuiranu obradu
podataka. Ovo je jezik za označavanje opšte namene, izgrađen sa osnovnom idejom da
omogući razmenu podataka između raznorodnih sistema a putem računarskih mreža.
Korišćenje XML-a je slobodno, a kao standard je preporučen od strane W3 konzorcijuma.
Osim za njegovu osnovnu namenu - razmenu podataka - XML je moguće koristiti i za
mnoge druge primene - interno skladištenje podataka, definisanje struktura, modela,
grafičkih elemenata i t.d. Jedna od glavnih primena XML-a danas jeste povezivanje
različitih informacionih sistema putem računarskih mreža. Za osnovu se mogu koristiti
protokoli svih slojeva OSI i TCP/IP modela, ali se najčešće koriste protokoli aplikativnog
nivoa, prvenstveno HTTP protokol. Osim za prenos podataka putem mreže između različitih
softverskih sistema, korišćenjem XML-a može se obuhvatiti ceo proces distribuirane obrade
podataka. Uzmimo za primer sledeću korisnički definisanu funkciju u C programskom
jeziku:

int sabiranje (int a, int b) { return a+b; }

Iz deklaracije funkcije vidi se da je njen naziv „sabiranje“, da kao argumente prihvata dva
cela broja i da vraća celobrojnu vrednost. Ovu funkciju je jednostavno pozvati iz programa
u kome se ona nalazi:

c = sabiranje(2, 3);

XML omogućava definisanje poziva funkcije u obliku pogodnom za prenos putem mreže
(naravno, uz postojanje adekvatnih interfejsa na obe strane):

<naredba>
<pokrenuti>sabiranje</pokrenuti>
<argument tip='int'>2</argument>
<argument tip='int'>3</argument>
</naredba>

Dakle, uz postojanje adekvatnog softverskog interfejsa (koji se, inače, sa današnjim


tehnologijama relativno lako realizuje) čija bi uloga bila parsiranje XML poruke i pravljenje
poziva ka internoj, ranije opisanoj C funkciji, sistem (koji vrši poziv, tj. šalje XML poruku)
bi mogao da dobije kao rezultat takođe XML poruku:

<odgovor>
<rezultat tip='int'>5</rezultat>
</odgovor>
15

Iako jednostavan, ovaj primer jasno pokazuje kako je putem poruka u XML formatu
moguće distribuirati pozive funkcija a samim tim i obradu podataka. U nastavku su
analizirane tri tehnologije (protokola) - XML-RPC, SOAP i WDDX - koje omogućavaju
povezivanje softverskih sistema putem XML-a.

XML-RPC protokol omogućava pozivanje procedure na udaljenom računaru (engl. Remote


Procedure Call, RPC) putem poruka u XML formatu koje se distribuiraju HTTP protokolom.
Ovaj protokol omogućava definisanje naredbi i podržani su sledeći tipovi podataka:
- array - niz vrednosti, ne podržava ključeve
- base64 - kodirani binarni podaci
- boolean - logička vrednost
- date/time - vrednosti vezane za datum i vreme
- double - realni brojevi
- integer - celobrojne vrednosti
- string - niz karaktera u kodnoj stranici XML poruke
- struct - niz vrednosti sa podržanim ključevima
- nil null - vrednost (XML-RPC ekstenzija)
Iako jednostavan, XML-RPC protokol predstavlja izuzetno efikasno rešenje tako da je često
u upotrebi i pored naprednijeg SOAP protokola.

2.1.1.6 SOAP

SOAP (Service Oriented Arhitecture Protocol ili Simple Object Access Protocol) protokol
omogućava razmenu XML poruka putem računarskih mreža (najčešće HTTP protokola).
Ovaj protokol predstavlja osnovni sloj grupe protokola koja se koristi za definisanje,
lociranje i korišćenje Veb servisa (engl. Web services stack) i kao takav čini osnovu
frejmvorka za razmenu poruka kao apstraktnog sloja OSI i TCP/IP modela. Osim što
omogućava pozivanje procedura na udaljenim računarima (engl. Remote Procedure Call,
RPC), SOAP protokol omogućava i druge tipove poruka. SOAP protokol je naslednik
XMLRPC protokola i koristi ista pravila za transport ali se razlikuje po načinu formatiranja
(struktuiranja) poruka. Primer SOAP zahteva bi izgledao ovako:

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getStudentData xmlns="http://studenti.unis.local/ws">
<Student_ID>2704</Student_ID>
</getStudentData>
</soap:Body>
</soap:Envelope>

Ovim zahtevom se poziva metoda getStudentData sa parametrom Student_ID 2704. Na


ovakav zahtev server student.unis.local obavlja internu obradu (npr. Pristupa bazi
podataka i iščitava parametre sloga sa identifikacionim brojem 4837). Odgovor servera bi
izgledao:

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getStudentDataResponse xmlns="http://studenti.unis.local/ws">
<getStudentDataResult>
<ID>2704</ID>
<Ime>Petar</Ime>
<Prezime>Petrović</Prezime>
<BrojIndeksa>III-8/2004</BrojIndeksa>
<Fakultet_ID>2</Fakultet_ID>
<Fakultet_Kod>FPI</Fakultet_Kod>
16

</getStudentDataResult>
</getStudentDataResponse>
</soap:Body>
</soap:Envelope>

SOAP protokol predstavlja odličnu osnovu za uvođenje servisno orijentisane arhitekture u Veb
aplikacije ali i način da se pristup određenim podacima i procedurama omogući svim hardverskim
i softverskim uređajima koji imaju podršku za njega.

2.1.1.7 WDDX

Razmena podataka putem Veba (engl. Web Distributed Data eXchange, WDDX) tehnologija
omogućava razmenu podataka između raznorodnih softverskih okruženja putem
prevođenja osnovnih tipova podataka u XML format. U podržane tipove podataka spadaju
brojevi, stringovi, strukture, nizovi, itd. S obzirom da većina programskih jezika koristi iste
ili slične tipove podataka, WDDX je podržan od strane više programskih jezika među kojima
su
i PHP, Ruby, Python, Java, C++, .Net, Flash, Lisp, Haskell ... Prevođenjem interne strukture
u WDDX paket dobija se paket kojim može da izgleda ovako:

<wddxPacket version='1.0'>
<header comment='UNIS'/>
<data>
<struct>
<var name='ID'>
<number>2704</number>
</var>
<var name='Ime'>
<string>Petar</string>
</var>
<var name='Fakultet'>
<array length='2'>
<number>2</number>
<string>FPI</string>
</array>
</var>
</struct>
</data>
</wddxPacket>

WDDX predstavlja odlično rešenje za razmenu podataka između udaljenih, odnosno


raznorodnih okruženja. Glavni razlog da SOAP postane popularnije rešenje jeste pre svega
mogućnost pozivanja udaljenih procedura (što nije osnovna funkcionalnost WDDX-a), ali i
činjenica da je u prvoj fazi svog postojanja WDDX bio zatvoren za javnost što je ograničilo
širenje usled nemogućnosti programera da pristupe izvornom kodu rešenja. Inače, WDDX
je
prvi put predstavljen 1998. godine (isto kao i XML-RPC) od strane autora Simeona
Simeonova (Allaire korporacija).

2.1.1.8 JSON - objektni zapis JavaScript jezika

Jedna od glavnih zamerki vezanih za tehnologije bazirane na XML-u jeste „preopširnost“


njegovih poruka, odnosno veliki procenat kontrolnih bajtova potrebnih za definisanje
poruke i uključenih podataka. Takođe, za korišćenje XML-a je potreban parser koji zahteva
dodatne procesorske i memorijske resurse. Ovi nedostaci se, međutim, u današnje vreme
(s obzirom na mogućnosti savremenih procesora računara) ne mogu smatrati ozbiljnim s
obzirom na dodatne pogodnosti i mogućnosti koje nudi kroz platformsku nezavisnost.
17

JSON (JavaScript Object Notation) format podrazumeva tekstualno predstavljanje objekata


i ostalih tipova podataka u cilju razmene podataka između udaljenih, odnosno raznorodnih
sistema. Osnovni princip na kome se bazira JSON jeste serijalizacija - prevođenje internih
struktura podataka u format koji je moguće snimiti na spoljnu memoriju ili preneti putem
mreže.

{
"ID": 2704,
"Ime": "Petar",
"Prezime": "Petrović",
"BrojIndeksa": "III-8/2004",
"Fakultet": {
"ID": 2,
"Kod": "FPI"
}
}

Bez obzira na pominjanje JavaScript tehnologije u nazivu JSON-a, ovaj format se može
koristiti i u većini aktuelnih programskih jezika, kao što su ActionScript, C, C++, C#, Java,
Perl, PHP, Python, Ruby, i drugi.

2.1.2 Serverska strana

Osnovne funkcije serverske strane Veb servisa čine osluškivanje na zadatom portu na
zahtev klijenta, obrada zahteva i slanje rezultata obrade. Zahtevi i odgovori na njih se
podrazumevano razmenjuju korišćenjem protokola za prenos teksta i u njime definisanom
formatu poruka.
Složenost realizacije serverske strane Veb servisa varira od jednostavnih skriptova koji
koriste biblioteke sa implementacijom protokola za prenos hiperteksta, pa sve do složenih
farmi servera sa ogromnim diverzitetom primenjenih programskih jezika, modela
realizacije, softverskih arhitektura, sistema za upravljanje bazama podataka, inteligentnim
algoritmima, i tako dalje. U praksi se najčešće sreće dvoslojna klijent-server arhitektura
(za potrebe isporuke statičnih Veb prezentacija) i troslojna klijent-server arhitektura (za
potrebe isporuke dinamičnih Veb prezentacija i aplikacija).
18

Danas postoji više različitih serverskih implementacija protokola za prenos hiperteksta.


Neke od njih su komercijalne, a neke slobodne za korišćenje. Daleko najpopularnija
serverska implementacija danas, a počev još od 1996. godine, jeste Apač Veb server (engl.
Apache Web server) iza koga stoji Apač softverska fondacija. Apač Veb server je nastao
1995. godine na osnovu HTTP servera američkog Nacionalnog centra za super-računarske
aplikacije (engl. National Center for Supercomputing Applications ) pri Univerzitetu Ilionis.
Izvorni kod ovog softvera javno je dostupan, a licenca dozvoljava slobodnu upotrebu u
privatne i komercijalne svrhe. Apač Veb server je realizovan modularno tako da se njegove
funkcije mogu relativno lako proširivati. Pored osnovne varijante u praksi se često koristi i
Apač Tomket (engl. Apache Tomcat), najpopularniji server za Java Servlet i JavaServer
Pages (JSP) tehnolgije.
Pored Apač Veb servera u ostale popularne implementacije spadaju IIS kompanije
Majkrosoft, iPlanet kompanije Orakl (ranije poznat pod nazivom Sun ONE kompanije San
Majkrosistems), endžin-eks (engl. engine x, nginx) ruskog autora Igora Sisojeva, kao i
sopstveni server kompanije Gugl (o kome, iako pokreće preko četiri procenta sajtova na
Internetu, kompanija Gugl nije objavila nikakve informacije). Pored navedenih
implementacija postoji i veći broj implementacija koje se primenjuju u manjem obimu -
lighttpd, Hiawatha, Jetty, tHTTPd, Zeus i drugi. Jedna od specifičnih implementacija je i
Tuks Veb server koji je realizovan u vidu modula jezgra Linuks operativnog sistema. U
pitanju je, međutim, prvenstveno istraživački projekat koji nikada nije doživeo široku
primenu u produkcionim okruženjima.
19

2.1.3 Klijentska strana

Ulogu klijenta kod Veb servisa mogu preuzimati različite softverske komponente. Međutim,
u praksi se kao klijenti najčešće identifikuju Veb brauzeri (korisničke desktop aplikacije) i
roboti (automatizovani agenti Veb pretraživača).
Veb brauzer predstavlja složenu korisničku aplikaciju, sastavljenu od više različitih
komponenata. Primarnu komponentu Veb brauzera čini sama implementacija protokola za
prenos hiperteksta. Na osnovu podrške za ovaj protokol vrši se preuzimanje
hipertekstualnih dokumenata. Međutim, sadržaj
hipertekstualnih dokumenata se nakon preuzimanja interpretira, a zatim prikazuje
korisniku.
20

Određeni elementi hipertekstualnih dokumenata mogu inicirati nova preuzimanja resursa


putem protokola za prenos hiperteksta ili nekog drugog protokola. U ove elemente spadaju
referencirane slike, fajlovi sa kaskadnim stilovima, biblioteke JavaScript i drugih
programskih jezika i drugo.
Aktivirane hiperveze u dokumentima iniciraju preuzimanje novih dokumenata na koje se
odnose. Inicijalno preuzimanje dokumenta inicira se unosom njegovog uniformnog
lokatora u za to predviđeno polje u Veb brauzeru. U najpopularnije Veb brauzere danas
spadaju Internet Eksplorer kompanije
Majkrosoft, Fajerfoks fondacije Mozila (softverska osnova nekada popularan Veb bruazer
Navigator kompanije Netskejp), Hrom kompanije Gugl i Veb brauzer Opera istoimene
norveške kompanije. Trenutno aktuelne razlike između navedenih brauzera odnose se na
bezbednost korisnika, podršku za treću verziju tehnologije kaskadnih stilova i brzinu
interpretiranja JavaScript programskog jezika.

2.1.4 Web aplikacije

U praksi se najčešće koriste dva termina koji opisuju tip sadržaja na nekom Veb sajtu -
Veb prezentacija i Veb aplikacija. U ranim fazama razvoja Veb tehnologija razlika između
Veb prezentacija i aplikacija određivana je na osnovu dinamičnosti sadržaja - da li je
sadržaj generisan korišćenjem programskog jezika na serveru ili je zahtevani resurs
jednostavno učitan sa fajl-sistema. U skladu sa tim, u Veb prezentacije su spadali sajtovi
koje su činili statični hipertekstualni dokumenti, dok su Veb aplikacijama smatrani sajtovi
čiji je sadržaj dinamički generisan za svaki pojedinačni zahtev.
Razvojem i intenzivnijom primenom Veb tehnologija navedena terminološka razlika između
Veb prezentacija i aplikacija počela je da se više odnosi na tip informacija kojima se
pristupa i način interakcije sa Veb sadržajem, a manje na tehnolgije koje su korišćene za
njegovu isporuku. Omogućavanje korišćenja programskih jezika na strani servera
omogućilo je i korišćenje sadržaja iz baza podataka za generisanje hipertekstualnih
dokumenata. Danas veoma popularan tip Veb aplikacija za dinamički razvoj Veb
prezentacija jesu sistemi za upravljanje sadržajem (engl. Content Management
System, CMS). Pod ovim nazivom se podrazumeva kompletno rešenje, iako se on odnosi
samo na administratorsku komponentu, odnosno komponentu koju koriste urednici
sadržaja. Nasuprot komponente za uređivanje sadržaja stoji komponenta koju koriste
posetioci, odnosno komponenta koja na osnovu sadržaja i parametara zahteva generiše
odgovarajuće hipertekstualne dokumente.
21

Osim uloga urednika sadržaja i posetilaca, sistemi za upravljanje sadržajem obično


podrazumevaju i sledeće uloge:

1. administratorska uloga - ne podrazumeva funkciju upravljanja sadržajem već


prvenstveno upravljanje korisničkim nalozima, pravljenje kopija sadržaja i slično;
2. uloga razvoja - odnosi se na članove tima koji razvijaju nove i prilagođavaju postojeće
funkcionalnosti sistema aktuelnim potrebama organizacije;
3. uloga Veb dizajnera - često veoma složena uloga čiji nosioci razvijaju šablone prikaza
sadržaja korisnicima u cilju obezbeđivanja što kvalitetnijeg sveukupnog iskustva posetilaca
u korišćenju sajta;

Danas postoji veliki broj već razvijenih sistema za upravljanje sadržaja od kojih je veliki
broj slobodno dostupan, čak i za komercijalno korišćenje. Najveći broj besplatnih sistema
za upravljanje sadržajima realizovan je u PHP programskom jeziku i podrazumevano koristi
MySQL sistem za upravljanje bazama podataka. U najpopularnije besplatne sisteme za
upravljanje sadržajem danas spadaju Džumla, Vordpres i Drupal. Nasuprot njima stoje
komercijalna rešenja kompanije Majkrosoft, Orakl i drugih.

Bez obzira na postojanje velikog broja već razvijenih rešenja mnoge organizacije se
odlučuju na samostalan razvoj sistema za upravljanje sadržajem, prvenstveno zbog
potrebe za specifičnim funkcionalnostima i višim nivoom bezbednosti.
22

2.2 Servis elektronske pošte


Servis elektronske pošte, pored Veb servisa, predstavlja najpopularniji servis na Internetu.
Koreni ovog servisa nalaze se još u šezdesetim godinama prošloga veka (u host-based
periodu računarstva), u programima koji su omogućavali razmenu poruka između različitih
terminalskih korisnika jednog mejn-frejm računara. Kasnije su ovakvi izolovani sistemi
umrežavani a softver za elektronsku poštu proširivan funkcijama za razmenu poruka
između sistema različitih organizacija.
Procenjuje se1 da je u toku 2010. godine servis elektronske pošte koristilo oko 1,88
milijarde ljudi, da je svakoga dana u proseku slato oko 294 milijardi elektronskih pisama,
odnosno da ih je u toku te godine ukupno poslato oko 107 hiljada milijardi. Takođe se
procenjuje da su tri četvrtine naloga za elektronsku poštu namenjene za ličnu, a samo
jedna četvrtina za poslovnu upotrebu. Danas servis elektronske pošte predstavlja moćan
poslovni i marketinški alat koji se, međutim, često nenamenski koristi - 89,1 procenata
elektronskih pisama u 2010. godini prepoznato je kao spem (engl. spam).

2.2.1 Arhitektura

Servis elektronske pošte danas u potpunosti je definisan odgovarajućim softverskim


komponentama i protokolima. Sam servis elektronske pošte je organizovan po klijent-
server arhitekturi unutar koje postoje sledeći tipovi agenata u vidu softverskih
komponenata:

korisnički agent,
agent za podnošenje poruka,
agent za prenos poruka i
agent za isporuku poruka.

Pored navedenih pomponenata značajnu ulogu kod ovog servisa igra i skladište poruka
(engl. Message Store, MS) kao komponenta korisničkog agenta. Zadatak ove komponente
je da pravi arhivske kopije poruka koja se šalju ili preuzimaju u cilju omogućavanja
naknadnog pristupa korisnika njima. Kod većine popularnih klijenata za elektronsku poštu
poruke su organizovane u direktorijume.
Korisnički agent za elektronsku poštu (engl. Message User Agent, MUA) je interfejs između
korisnika i ostalog dela servisa elektronske pošte.
Najčešće realizacije ovog softvera su u vidu desktop ili Veb aplikacije. Zadatak korisničkog
agenta je da korisniku omogući slanje elektronskih poruka drugim korisnicima, kao i
pregled elektronskih poruka poslatih od strane njih.

Agent za podnošenje poruka (engl. Message Submission Agent, MSA) prihvata poruku od
korisničkog agenta, stavlja je u format propisan odgovarajućim standardima i prosleđuje
agentu za prenos poruka. Ovaj proces obavlja klijentsku ulogu protokola za prenos poruka
elektronske pošte. Agent za prenos poruka (engl. Message Transfer Agent) predstavlja
serversku implementaciju protokola za prenos poruka elektronske pošte. Ovaj proces
23

prihvata poruke od strane korisničkih agenata za podnošenje poruka ili od drugih agenata
za prenos poruka. U zavisnosti od da li predstavlja konačno odredište primljene poruke
ovaj agent poruke prosleđuje lokalnom agentu za isporuku poruka ili narednom agentu za
prenos poruka.
Agent za isporuku poruka (engl. Message Delivery Agent) zadužen je za smeštanje poruke,
primljene od poslednjeg agenta za prenos poruka, u elektronsko poštansko sanduče
primaoca (koje može biti realizovano putem fajl-sistema, SUBP-a ili na neki drugi način).
Isporuka poruke u sanduče korisnika ne znači da je korisnik nju istog trenutka pročitao,
već da je njegovom korisničkom agentu omogućen pristup poruci.
Dva osnovna tipa protokola koje koristi servis elektronske pošte jesu protokoli za slanje
poruka i protokol za pristup porukama u sandučetu. Kada su u pitanju protokoli za slanje
elektronske pošte, u praksi se gotovo uvek koristi jednostavan protokol za prenos
elektronske pošte (engl. Simple Mail
Transfer Protocol, SMTP). Sa druge strane, kada je u pitanju pristup korisničkog agenta
sandučetu sa elektronskom poštom u praksi se koriste relativno jednostavan protokol za
elektronsku poštu treće verzije (engl. Post Office Protocol version 3, POP3) i nešto složeniji
Internet protokol za pristup porukama (engl. Internet Message Access Protocol, IMAP).
Neke od osnovnih funkcija servisa elektronske pošte direktno zavise od sistema domenskih
imena. U ove funkcije spadaju pronalaženje naziva domaćina zaduženog za razmenu
elektronske pošte sa određenom organizacijom i prevođenje tog naziva u odgovarajuću
adresu Internet protokola. U slučaju da server domenskih naziva zadužen za određeni
Internet domen ne poseduje informaciju o tome koji server je zadužen za prijem i slanje
elektronske pošte, njena razmena sa adresama pri tom domenu neće biti moguća.

U poslednjih nekoliko godina znatno se popularizovalo korišćenje elektronske pošte putem klijenata u
vidu Veb aplikacija (engl. Webmail). Razlog tome je jednostavnije korišćenje kroz eliminisanje procesa
instalacije desktop aplikacije za elektronsku poštu, kao i mogućnost korišćenja aplikacije i
poruka sa bilo kog računara koji ima pristup Vebu. Uglavnom najkvalitetniji klijenti za
elektronsku poštu u vidu Veb aplikacija se korisnicima nude zajedno sa kompletnom
uslugom elektronske pošte (Google Mail, Hotmail, Yahoo), s tim da postoji i veliki broj
besplatnih Veb aplikacija ove namene (Roundcube, Horde/IMP, Squirrel Mail, AtMail i
druge).

2.2.2 SMTP

Osnovni zadatak jednostavnog protokola za prenos elektronske pošte (engl. Simple Mail
Transfer Protocol, SMTP) jeste da omogući pouzdan i efikasan prenos poruka ovog servisa.
Iako ovaj protokol nije direktno vezan za protokole nižeg nivoa već samo zahteva pouzdan
kanal za prenos podataka, on se uglavnom koristi u kombinaciji sa protokolom za kontrolu
prenosa, TCP.
Pre samog slanja elektronske pošte potrebno je uspostaviti dvosmerni komunikacioni kanal
između klijenta i servera. U slučaju da je poruka adresovana na višestruke primaoce koji
se nalaze na različitim domenima, zadatak je klijenta da uspostavi veze sa serverima za
elektronsku poštu svakog od njih. U slučaju da je jedna poruka adresovana na višestruke
primaoce za čije je domene zadužen isti server, klijent samo jedan put vrši slanje poruke.
24

Nakon uspostavljanja veze sa serverom klijent vrši slanje poruke putem niza naredbi.
Nakon što je prenos poruke izvršen klijent može zahtevati raskid uspostavljene veze ili
započeti slanje naredne poruke. Osim za slanje poruke, veza sa serverom elektronske
može se uspostavljati i za druge potrebe, kao što su provera ispravnosti adrese primaoca
ili preuzimanje adresa članova liste za elektronsku poštu.
Značajnu karakteristiku SMTP protokola predstavlja i njegova mogućnost da prenosi
poruke kroz višestruke mreže. To znači da server koji prima poruku može biti njeno
konačno odredište ili samo posrednik (relej) u dostavljanju poruke do njega, odnosno da
dostavljanje poruke primaocu može biti izvršeno unutar jedne direktne veze ili putem više
veza između različitih servera.

2.2.3 POP3

Protokol za elektronsku porštu (engl. Post Office Protocol version 3, POP3) namenjen je da
korisničkim aplikacijama omogući preuzimanje i upravljanje porukama u sandučetu
elektronske pošte na serveru. U pitanju je jednostavan, ali i veoma popularan protokol
navedene namene.
Protokol za elektronsku poštu definiše tri stanja veze: stanje autorizacije, stanje
transakcija i stanje ažuriranja. Stanje autorizacije počinje odmah nakon uspostavljanja
veze sa serverom. U okviru ovog stanja vrši se utvrđivanje identiteta korisnika na osnovu
korisničkog imena i lozinke koje on dostavlja.
Dve osnovne naredbe u stanju autorizacije su USER i PASS kojima klijent zadaje svoje
korisničko ime i lozinku.
Nakon uspešnog utvrđivanja identiteta korisnika prelazi se u stanje transakcija. Prelaskom
u ovo stanje zaključava se poštansko sanduče identifikovanog korisnika, odnosno
onemogućava mu se pristup iz paralelnih sesija. Unutar stanja transakcije klijent može
zadavati sledeće naredbe:
• STAT - zahteva se ispisivanje trenutnog statusa poštanskog sandučeta, odnosno broja
poruka u njemu i njihove veličine u bajtovima;
• LIST - zahteva se preuzimanje zaglavlja poruka u poštanskom sandučetu;
• RETR - zahteva se preuzimanje kompletne poruke čiji je redni broj naveden nakon
naredbe;
• DELE - zahteva se označavanje za uklanjanje poruke čiji je redni broj naveden nakon
naredbe; ovako označene poruke se uklanjaju nakon prelaska veze u stanje ažuriranja;
• RSET - zahteva se poništavanje označavanja poruka za uklanjanje;
• NOOP - ova naredba nema nikakvu drugu namenu osim da se potvrdi veza između
klijenta i servera da ne bi došlo do njenog automatskog prekida nakon određenog perioda
nekativnosti;
• QUIT - zahteva se prekid sesije, odnosno prelazak u stanje ažuriranja.

Veza prelazi u stanje ažuriranja samo ukoliko je u stanju transakcija regularno


zahtevan prekid veze. U toku ovog stanja se uklanjaju za to označene poruke,
otključava se poštansko sanduče i prekida se veza.

2.3 Servisi za prenos fajlova FTP


Protokol za prenos fajlova (engl. File Transfer Protokol, FTP) je protokol namenjen razmeni
fajlova između računara koji imaju podršku za TCP/IP protokol. FTP je klijent-server
protokol što znači da se njegova primena vrši putem serverskog programa na serveru i
klijentske aplikacije na klijentu.
Postoji veliki broj serverskih i klijentskih realizacija za različite operativne sisteme i
uglavnom su besplatne.
Osnovni ciljevi FTP protokola su:

• omogućavanje razmene fajlova između računara


25

• omogućavanje indirektnog korišćenja udaljenih računara


• zaštita korisnika od različitih varijacija kod skladištenja fajlova
na različitim sistemima pouzdan i efikasan prenos fajlova

Osnovne mane FTP protokola su:


• Pristupne lozinke i sadržaj fajlova se mrežom prenosi u izvornom
obliku što ga čini nebezbednim.
• Za svaku operaciju (povezivanje, preuzimanje fajlova, listanje
sadržaja, postavljanje fajlova) se koristi zasebna TCP/IP konekcija što
može izazvati probleme ukoliko se prenos obavlja posredstvom
računara sa firewall-om.
• Postoji mogućnost "uznemiravanja" 3. računara pri određenim
zahtevima preko proxy servera.
• FTP je veoma latentan protokol usled velikog broja komandi potrebnih
za iniciranje transfera.
• Ne postoji ugrađena mogućnost provere integriteta prenešenog fajla
tako da se ovo najčešće obavlja zasebno preko md5 fajla.

2.3.1 Sigurni FTP

Glavni bezbednosni nedostaci FTP protokola su:

1. Korisničko ime i lozinka se preko mreže prenose u izvornom obliku.


2. Podaci koji se prenose protokolom prenose se u izvornom obliku.

Ovi nedostaci ne predstavljaju problem kod lokalnih mreža čiji se komunikacioni kanali
najčešće smatraju bezbednim. Međutim, korišćenje FTP protokola putem mreže čije je
kanale moguće prisluškivati (npr. Internet) otvara sledeće bezbednosne rizike:

1. Napadač može utvrditi koje operacije je korisnik izveo na serveru.


2. Napadač može utvrditi sadržaj fajlova koji su prenešeni FTP
prokotokolom (u oba smera).
3. Napadač može utvrditi korisničko ime i lozinku korisnika.

Usled pomenutih bezbednosnih rizika pri korišćenju FTP-a, pojavile su se dve različite
implementacije sigurnog FTP-a:

1. SFTP (SSH File Transfer Protocol) - FTP baziran na SSH (Secure SHell) protokolu.
2. FTPS (File Transfer Protocol over SSL) - FTP sa korišćenjem SSL ili TLS enkripcije.

2.3.2 NFS

Mrežni fajl-sistem (engl. Network File System, NFS) najčešće je korišćeni fajl-sistem ovog
tipa na UNIX operativnim sistemima. Razvila ga je kompanija San Majkrosistems. Mrežni
fajl-sistem je realizovan na klijent-server arhitekturi. To znači da računar na kome se
nalaze putem mreže dostupni fajlovi poseduje serversku softversku komponentu, a
računari koji tim fajlovima pristupaju putem mreže
klijentske softverske komponente.

2.3.3 CIFS

SMB (Server Messages Block) je protokol aplikativnog sloja OSI modela i najčešće se koristi
za razmenu fajlova, deljenje štampača i serijskih portova između računara na mreži.
Uglavnom se koristi na računarima pod MS Windows operativnim sistemima. SMB je
originalno predstavljen od strane IBM-a sa ciljem da od DOS-ovog "Interrupt 33" lokalnog
pristupa fajlovima napravi mrežni fajl sistem. Međutim, opšte rasprostranjena varijanta
26

SMB-a je prilično izmenjena od strane kompanije Majkrosoft. Ova kompanija je 1998.


godine lansirala inicijativu za promenu imena SMB-a u CIFS (Common Internet File
System) jer je u SMB dodato mnoštvo novih mogućnosti: simbolički i tvrdi linkovi, veća
veličina fajlova i pokušaj da se komunikacija ostvaruje direktno, bez korišćenja NetBios-a.
SMB je originalno dizajniran da radi na NetBios protokolu (koji radi na NetBEUI, IPX/SPX
ili NBT protokolu) a od MS Windows 2000 operativnog sistema SMB može da radi i na
TCP/IP protokolu. Usled neophodnosti za komunikacijom sa sistemima pod MS Windows
operativnim sistemima, SMB je portovan i na Unix operativne sisteme u okviru Samba
projekta. Takođe, postoje i druge, manje popularne implementacije SMB protokola
namenjene različitim operativnim sistemima.
CIFS (Common Internet File System) predstavlja noviju verziju SMB-a koja podržava meko
i tvrdo linkovanje, nudi funkcionalnosti koje nisu dostupne u SMB-u i radi na TCP/IP umesto
NetBios protokolu. Kompanija Majkrosoft je 1996. godine nakon uvođenja pomenutih
novina u SMB protokol pokrenula inicijativu za preimenovanje SMB protokola u CIFS.
Specifikacija 1.0 verzije CIFS protokola je dostavljena IETF grupi za standardizaciju a
Majkrosoft takođe sarađuje na primeni ovog protokola i sa ostalim zainteresovanim
stranama. Prevođenje sa NetBios na TCP/IP protokol omogućava CIFS protokolu rad na
Internet mreži uz korišćenje DNS sistema za adresovanje članova. U mrežama sa više
klijenata problem konkurentnog pristupa fajlovima CIFS rešava internim sistemima
zaključavanja.

2.4 Servisi adresovanja


Pojavljivanjem velikih lokalnih računarskih mreža - mreža od više stotina, pa i hiljada
članova - kao i globalne Internet mreže, ručno označavanje članova postalo je praktično
nemoguće, posebno u uslovima dinamičnih mreža, odnosno mreža kod kojih se stalno
pojavljuju novi članovi. Iz tog razloga, razvijeno je više sistema za automatsko adresovanje
članova u računarskim mrežama.
U ovom delu udžbenika obrađena su dva osnovna servisa za automatizovano adresovanje
članova računarskih mreža. Prvi servis se odnosi na adresovanje na mrežnom sloju u
lokalnim mrežama. Ovaj servis je zasnovan na protokolu za dinamičko podešavanje
domaćina (engl. Dynamic Host Configuration Protocol, DHCP). Drugi servis ima globalnu
namenu i odnosi se na prevođenje simboličkih adresa u logičke i obrnuto. Ovaj servis je
realizovan sistemom domenskih imena (engl. Domain Name System, DNS).

2.4.1 DHCP

Protokol za dinamičko podešavanje domaćina (engl. Dynamic Host Configuration Protocol,


DHCP) koristi se u lokalnim računarskim mrežama za automatizovano dodeljivanje adresa
Internet protokola članovima. Princip rada ovog protokola je jednostavan:

• članovi računarske mreže podese se za automatsko dobijanje adrese korišćenjem ovog


protokola;
• pri inicijalizaciji mrežnih interfejsa računar šalje emisioni upit (korišćenjem tehnologije
na sloju veze) da li u mreži postoji DHCP server;
• serveri odgovaraju na zahtev nudeći mrežnu konfiguraciju (koja obuhvata mrežnu
adresu, mrežnu masku i opciono adresu podrazumevanog mrežnog prolaza, adrese DNS
servera i slično) na određeni period;
• klijent se odlučuje za jednu od ponuda i o svojoj odluci obaveštava sve servere;
• server čija je ponuda prihvaćena potvrđuje „iznajmljivanje“ ponuđene konfiguracije na
zadati period;
• nakon isticanja perioda iznajmljivanja konfiguracije ona se daje drugim klijentima ili
klijent opisanim procesom obnavlja ugovor za njeno korišćenje.
Osim u lokalnim računarskim mrežama ovaj servis se često koristi i na Internetu, od strane
Internet provajdera. Treba imati u vidu da postoji i nekoliko tipova napada na računarske
27

mreže koji se baziraju na zloupotrebi ovog servisa - zauzimanje svih mrežnih adresa na
serveru, umetanje napadača
kao podrazumevani mrežni prolaz.

2.4.2 DNS

Sistem domenskih imena (engl. Domain Name System, DNS) je sistem koji čuva
informacije vezane za imena domena u vidu distribuirane baze podataka, a realizovan je
kao klijent-server servis. Najvažnija funkcionalnost DNS-a je prevođenje domenskih imena
u adrese Internet protokola i obrnuto. Većina ostalih mrežnih servisa (Veb, elektronska
pošta, prenos fajlova itd.) koristi ili ima mogućnost da koristi DNS servis. Na primer, jedna
od funkcionalnosti DNS-a je i obezbeđivanje informacije o tome koji serveri su zaduženi za
razmenu elektronske pošte za određeni domen. Bez ove funkcionalnosti DNS-a servis za
razmenu elektronske pošte ne bi mogao da funkcioniše.

2.4.2.1 Istorijat problema i rešenja

Sistem domenskih imena razvijen je kao odgovor na porast veličine računarskih mreža,
porast broja računarskih mreža (i pojave Interneta) i potrebu za jednostavnijim
adresovanjem računara na mreži. Pod jednostavnijim adresovanjem se misli na
prilagođavanje mrežnog adresovanja karakteristici ljudi da lakše pamte simbolička imena
od brojeva (na primer, lakše je zapamtiti www.dir.singidunum.ac.rs od 212.62.45.222).
Problem je u početku bio rešen putem hosts fajlova na svakom od računara na mreži.
Međutim, porastom broja računara u računarskim mrežama nedostaci ovakvog rešenja su
postali ozbiljan problem:
1. Uzmimo za primer računarsku mrežu od N članova.
2. N računara čuva informaciju o N članova te mreže u lokalnim hosts fajlovima:
1. 192.168.1.1 računar1.lokalna-mreža
2. 192.168.1.2 računar2.lokalna-mreža
3. 192.168.1.N računarN.lokalna-mreža
3. Problem 1: dodavanjem novog računara u mrežu potrebno je na N računara dodati novi
zapis u hosts fajl i na novom računaru uneti kompletan hosts fajl
4. Problem 2: izmenom postojećeg računara u mreži potrebno je na N računara izmeniti
postojeći zapis u hosts fajlu
5. Problem 3: uklanjanjem postojećeg računara iz mreže potrebno je na N-1 računara
dodati ili ukloniti zapis iz hosts fajla
Iz navedenog se jasno vidi da kod malih mreža hosts fajlovi mogu biti jednostavnije rešenje
od DNS-a jer nema potrebe za postavljanjem DNS servera. Međutim, kod velikih mreža
administracija se znatno otežava jer se pri svakoj izmeni mreže ona odnosi na sve računare
u mreži. Prvi korak ka rešavanju navedenih problema bio je distribuirani hosts fajl (jedan
hosts fajl u mreži kome mogu da pristupaju svi članovi mreže) a problem je u potpunosti
rešen 1983. godine kada je Pol Mokapetris izumeo sistem domenskih imena.
Hosts fajlovi se mogu koristiti u kombinaciji sa DNS-om. U tom slučaju oni imaju prioritet
nad DNS-om tj. pri razrešavanju nekog imena prvo se proverava sadržaj hosts fajla a tek
ukoliko on ne sadrži informaciju o traženom imenu upit se šalje DNS serveru. Ovakav
redosled u razrešavanju imena ima svoje dobre strane. Na primer, moguće je “zaobići”
DNS tj. moguće je zameniti adresu nekog računara pri lokalnom razrešavanju imena –
unosom zapisa “0.0.0.0 ad.doubleclick.net” u hosts fajl lokalnog računara on neće biti u
mogućnosti da pristupi stvarnoj adresi “ad.doubleclick.net”. Posledica ovoga je da pri
surfovanju Internetom nijedan sadržaj sa pomenute adrese neće biti dostupan. Međutim,
kako sa pomenute adrese najčešće dolaze samo reklame, one neće biti dosupne tako da
će se to odraziti većom brzinom učitavanja ostalih sadržaja u kojima se one prikazuju. Sa
druge strane, zaobilaženje DNS-a moguće je kao posledica inficiranja sistema malicioznim
softverom. Na primer:
1. Napadač kreira Veb stranicu na sopstvenoj adresi Internet protokola - X.X.X.X - koja je
različita od adrese na kojoj se nalazi domen www.google.com - Y.Y.Y.Y.
28

2. Veb stranica na adresi X.X.X.X je takva da vizuelno u potpunosti odgovara originalnoj


stranici na www.google.com ali su logika i baza podataka pretraživača koji stoji iza te
stranice potpuno drugačije od onih na stvarnoj adresi pretraživača www.google.com.
3. Lažni www.google.com na adresi Y.Y.Y.Y namenjen je za promociju klijenata koji
napadaču za uzvrat daju novčanu nadoknadu.
4. Napadač zatim kreira maliciozni softver koji se širi putem nterneta i u hosts fajl
zaraženih računara unosi zapis: X.X.X.X www.google.com.
Na ovaj način, svaki od zaraženih računara pri zahtevu za stranicom www.google.com
pristupa lažnoj adresi X.X.X.X umesto Y.Y.Y.Y a korisnici dobijaju pogrešne informacije u
korist napadača.

2.4.2.2 Teorija rada sistema domenskih imena

Prostor domenskih imena je stablo za čiji svaki čvor postoji zapis u DNS-u nadležnom za
tu zonu. U nadležnom DNS serveru (engl. authoritative DNS nameserver) moguće je za
određenu zonu deklarisati podzone putem deklarisanja odgovarajućih DNS pod-servera.
Za razumevanje sistema domenskih imena i načina njegovog funkcionisanja potrebno je
razumeti samu strukturu imena domena (engl. domain name). Naziv domena se sastoji od
dva ili više delova razdvojenih tačkama. Uzmimo za primer domen dir.singidunum.ac.rs:

• Prva oznaka sa desne strane predstavlja domen najvišeg nivoa (engl. top level domain),
u ovom slučaju rs.
• Svaka naredna oznaka gledano sa desne strane - ac, singidunum i dir - predstavlja
poddomen. Maksimalan broj poddomena je 127 a svaki od članova može imati maksimalnu
dužinu od 63 karaktera, s tim da celokupna dužina naziva (uključujući sve poddomene i
tačke kojim su razdvojeni) ne sme preći 255 karaktera.

Domen može imati definisanih jedan ili više imena domaćina (engl. hostname) kojima su
pridružene adrese Internet protokola. U navedenom slučaju, domen je
dir.singidunum.ac.rs a ime domaćina bi moglo da bude www.dir.singidunum.ac.rs sa
odgovajućom adresom Internet protokola 212.62.45.222

Servis sistema domenskih imena čine hijerarhijski povezani serveri. Za svaki od domena
mora da postoji deklarisan jedan ili više nadležnih DNS servera koji su zaduženi za čuvanje
i davanje informacija o njemu. Jedan DNS server može biti zadužen i za veći broj potpuno
nezavisnih domena. U korenu stabla postoje specijalni DNS serveri koji se zovu koreni
serveri (engl. Root servers) i oni su zaduženi za domene najvišeg nivoa - domene na
29

samom korenu stabla. Bez pomenutih korenih servera rad Interneta ne bi bio moguć jer
oni čine osnovu svakog domenskog imenovanja na njemu. Trenutno postoji 13 korenih
servera i njihova imena su [A-M]. root-servers.net.

Domen najvišeg nivoa je prva s desna oznaka u svakom imenu domena - u domenu
dir.singidunum.ac.rs domen najvišeg nivoa je rs. Postoje tri kategorije domena najvišeg
nivoa:

1. domeni najvišeg nivoa vezani za države - domeni dužine dva slova vezani za zemlju ili
određeni geografski prostor: rs – Republika Srbija, ru - Ruska Federacija, cn - Narodna
Republika Kina i tako dalje;
2. generički domeni najvišeg nivoa - domeni koji se koriste za određenu klasu organizacija:
com - komercijalni sistemi, org - neprofitne organizacije, edu - obrazovne ustanove i tako
dalje;
3. infrastrukturni domeni najvišeg nivoa - jedini u ovoj grupi je arpa domen.

Za našu državu, kao i za sve države čije pismo sadrži i druge znakove sem engleskog
alfabeta, značajna je od skora dostupna mogućnost korišćenja i međunarodnih znakova u
nazivu domena. U skladu sa njom, definisano je i više domena najvišeg domena za
navedeni tip država. Kada je su u pitanju ćirilični domeni najvišeg nivoa, Republika Srbija
je, prvenstveno zahvaljujući profesionalnom i efikasnom radu RNIDS-a, obezbedila srb
domen najvišeg nivoa, odmah nakon Ruske federacije. Početak javne upotrebe ovog
domena planiran je za kraj 2011. godine.
Klijentska komponenta DNS sistema naziva se razrešivač (engl. resolver). Ova
komponenta se obraća DNS serveru da bi od njega dobila adresu Internet protokola za
zadato ime domena. Razrešivač je sistemska komponenta koja se koristi posredno,
odnosno putem programa kojima je ova usluga potrebna.
Razrešivači domenskih imena koriste sistemske mrežne parametre koji najčešće sadrže
logičku adresu jednog ili dva DNS servera. Primer korišćenja DNS usluge:

1. Aplikacija (na primer, Veb brauzer) dobija uniformni lokator resursa


http://www.dir.singidunum.ac.rs/index.php od strane korisnika i raščlanjuje ga na protokol
(http), ime domaćina (www.dir.singidunum.ac.rs) i lokalnu adresu resursa (/index.php).
2. Aplikacija se obraća razrešivaču domenskih imena u cilju dobijanja adresa Interent
protokola za traženo ime domaćina.
3. Razrešivač domenskih imena se obraća DNS serveru iz mrežne konfiguracije računara
pitanjem: "Da li znaš koja je adresa Internet protokola domenskog imena
www.dir.singidunum.ac.rs?"
4. Ukoliko DNS kome se razrešivač obratio nije nadležan za domen u kome se traženi
domaćin nalazi (dir.singidunum.ac.rs) on se obraća jednom od korenih DNS servera
pitanjem: "Koji je DNS server nadležan za rs domen?"
5. Koreni server vraća odgovor: "147.91.8.6".
6. DNS server se obraća serveru 147.91.8.6 pitanjem: "Koji je DNS server nadležan za
ac.rs domen?".
7. DNS server na adresi 147.91.8.6 vraća odgovor: "147.91.8.21".
8. DNS server se obraća serveru na adresi 147.91.8.21 pitanjem: "Koji je DNS server
nadležan za domen singidunum.ac.rs?"
9. Server na adresi 147.91.8.21 vraća odgovor: "212.62.48.42".
10. DNS server se obraća serveru na adresi 212.62.48.42 sa pitanjem: "Koji je DNS server
nadležan za domen dir.singidunum.ac.rs?".
11. Server na adresi 212.62.48.42 vraća odgovor: "212.62.45.222".
12. DNS server se obraća serveru na adresi 212.62.45.222 pitanjem: "Koja je adresa
domaćina www.dir.singidunum.ac.rs?".
13. Server na adresi 212.62.48.222 vraća odgovor: "212.62.45.222"
14. DNS server vraća odgovor klijentu čiji mu se razrešivač obratio:
"adresa Internet protokola za domaćina www.dir.singidunum.ac.rs je 212.62.45.222".
30

Na ovaj način aplikacija na klijentskom računaru dobija adresu Internet protokola Veb
servera i putem te adrese prosleđuje zahtev za Veb stranicom /index.php. Ovaj primer
objašnjava rekurziju u radu DNS-a. Treba imati u vidu da jedan DNS server može čuvati
informacije o više različitih domena kao i da više DNS servera mogu pružati informaciju o
jednom domenu.

2.5 Multimedijalni servisi

Ubrzan razvoj računarskih tehnologija doveo je do mogućnosti korišćenja i obrade


multimedijalnih sadržaja na računarima. Dodatno, paralelan razvoj računarskih i
telekomunikacionih tehnologija omogućio je kapacitete komunikacionih kanala dovoljne za
prenos multimedijalnih sadržaja visoke rezolucije, čak i u realnom vremenu. U ovom
poglavlju su predstavljena dva osnovna servisa za udaljenu komunikaciju korišćenjem
računarskih mreža - Internet telefonija i video konferencije.

2.5.1 Telefonija

Internet telefonija predstavlja jedan od servisa koji se mogu koristiti putem Internet mreže
i mreža zasnovanih na Internet tehnologijama. Ovaj servis se često sreće i pod nazivom
„glas preko Internet protokola“ (engl. Voice over IP, VoIP). Osnovni zadatak Internet
telefonije je da omogući migraciju popularnih servisa sa javne telefonske mreže (prenos
glasa i faksimila) na Internet tehnologije.
Internet telefonija se realizuje korišćenjem više različitih zatvorenih i otvorenih protokola.
Istorijski najznačajniji set protokola za realizaciju Internet telefonije je H.323, kao ITU-T
preporuka iz 1996. godine. Ovaj set protokola omogućuju prenos glasa i video signala a
podržan je u većini sistema za Internet telefoniju i video-konferencije. Pored H.323
protokola u praksi se sve češće sreće i Session Initiation Protocol (SIP) kao protokol za
uspostavljanje i kontrolu sesija Internet telefonije.
Jedna od za ovaj rad najznačajnijih karakteristika Internet telefonije je korišćenje IP
protokola od strane protokola koji se koriste za njenu realizaciju. To znači da se
realizacijom sistema zaštite na nivou IP protokola mogu štititi i podaci komunikacionih
sesija Internet telefonije.

2.5.2 Video konferencija

Servis video-konferencija omogućava prenos audio i video materijala u realnom vremenu


sa ciljem omogućavanja održavanja sastanaka između osoba koje se nalaze na dve ili više
udaljenih lokacija. Svi učesnici video-konferencija su opremljeni displejima sa zvučnicima
za reprezentovanje materijala koji druga strana šalje kao i kamerama sa mikrofonima za
slanje poruka drugoj strani. Učesnici video konferencija mogu biti pojedinci sa ličnom
opremom ali i grupe u specijalno opremljenim salama. Oprema i softver koji se koriste za
videokonferencije kreću se u rasponu od ispod sto pa do nekoliko hiljada dolara u zavisnosti
od kvaliteta i mogućnosti koje nude. Najveću korist od video konferencija imaju poslovne
organizacije koje na ovaj način mogu ostvariti značajnu uštedu štedeći novac i vreme
potrebno za putovanje na lokaciju na kojoj bi se održala standardna konferencija.
Za korišćenje usluge video konferencije je osim adekvatnog hadvera i softvera potrebno
imati i vezu sa drugom stranom (ili drugim stranama) koja poseduje kapacitet potreban za
prenos audio i video poruka u realnom vremenu. Softver i uređaji koji se koriste kod video
konferencija uglavnom podržavaju kompresovanje i dekompresovanje audio i video
materijala u cilju što efikasnijeg iskorišćenja komunikacionog kanala. Kod komunikacionih
kanala male propusne moći uglavnom se pribegava kompromisu u pogledu kvaliteta
audio/video poruka.
Većina proizvoda koji se koriste za održavanje video konferencija bazira se na internim
standardima proizvođača tako da kombinovanje rešenja različitih proizvođača najčešće nije
31

moguće. Trenutno najčešće korišćeni javni standardi za kodiranje audio/video poruka su:
H.320, H.323 i MPEG-2.
Ovi standardi međusobno nisu kompatibilni ali postoje aplikacije koje omogućavaju
korišćenje više od jednog standarda. Poseban vid video konferencija jeste Webcasting. On
omogućava jednosmerni prenos audio/video materijala, od servera ka klijentima.
Audio/video materijal se kreira i postavlja na server a klijenti zatim pristupaju materijalu.
Za ovaj vid video-konferencija trenutno ne postoje formalni standardi ali na tržištu postoji
veći broj rešenja baziranih na de-fakto standardima.
32

3 Osnove bezbednosti u računarskim mrežama


Uvod
U ranim fazama razvoja tehnologija na kojima se baziraju računarske mreže fokus je bio
postavljen na omogućavanje što veće brzine prenosa podataka sa što manjom
verovatnoćom greške. Mala baza korisnika, sastavljena uglavnom od tehnički obrazovanih
korisnika, i retke praktične primene omogućile su brz razvoj tehnologija i dovele računarske
mreže do potencijala kojim prete da u potpunosti zamene ostale popularne sisteme
komunikacije kao što su telefonija i televizija. Međutim, rastom popularnosti računarske
mreže su izašle iz čisto tehničko-tehnološkog domena i sve više na njihov razvoj i primenu
imaju ekonomski i socijalni faktori. Internet, kao najveću računarsku mrežu danas, koriste
milioni korisnika putem velikog broja dostupnih servisa. Putem ove mreže se prenose lični
podaci korisnika, obavljaju poverljive poslovne video-konferencije i razgovori, obavljaju
finansijske transakcije, prenose poverljive vojne i državne informacije, obavljaju udaljeni
hirurški zahvati i još mnogo toga.
Stoga, na primeru Interneta možemo zaključiti da se putem računarskih mreža sve više
prenose vrednosti realnog sveta, često daleko veće nego što je to slučaj kod telefonije i
televizije. Međutim, svaka vrednost sa sobom nosi najčešće srazmeran rizik koga je, kako
u realnom tako i u virtuelnom svetu računarskih mreža, cilj eliminisati ili u što većoj meri
umanjiti.
Postizanje ovog cilja pred inžinjere iterativno postavlja nove zadatke koji se rezultuju
novim rešenjima. Ta rešenja mogu biti jednostavne tehničke izmene nosećih protokola ili
kompleksni inteligenti softverski sistemi koji uče i svoje odluke donose putem heurističkih
metoda.
Greške koje se javljaju na računarskim mrežama i kod resursa koji su putem njih dostupni
možemo podeliti u četiri kategorije na osnovu uzroka njihovog pojavljivanja:
1. Greške koje se pojavljuju usled propusta u definiciji hardverskih i softverskih
komponenti računarskih mreža.
2. Greške koje se javljaju kao posledica neadekvatnog dizajniranja računarskih mreža i
nenamenske upotrebe korišćenih komponenti.
3. Greške koje se javljaju usled neadekvatnog korišćenja računarskih mreža od strane
korisnika nedovoljno obučenih za rad.
4. Greške koje se javljaju kao posledica iskorišćenja propusta u definiciji
hardverskih/softverskih komponenti računarskih mreža, njihovom dizajnu i (ne)pažnji
korisnika a od strane zlonamernih korisnika i u cilju ostvarivanje određene koristi od
napada na računarsku mrežu ili resurs.

Iako greške svih pomenutih kategorija mogu imati katastrofalne posledice, ovo poglavlje
se bavi greškama četvrtog tipa jer se one mogu klasifikovati kao napadi i sa sobom
najčešće nose najveći negativan uticaj na poverljivost i dostupnost resursa i nesmetan rad
mreže. Tema ovog poglavlja jeste bezbednost računarskih mreža ili tehnička rešenja za
zaštitu računarskih mreža i putem njih dostupnih resursa od neregularnog korisničkog
ponašanja.

3.1 Tipovi napada


Danas u praksi postoji veliki broj različitih tipova napada na računarske sisteme i
komunikacione kanale. Postoje različiti tipovi napada a oni se (uglavnom) mogu podeliti u
suštinski različite grupe u okviru kojih različiti napadi koriste iste principe, a razlikuju se u
praktičnoj realizaciji i meti napada. U okviru ovog dela knjige biće predstavljena tri
suštinski različita tipa napada - razbijanje šifrata primenom sirove sile, posredovanje u
komunikaciji i uskraćivanje usluge.
33

3.1.1 Kriptoanaliza

Termin kriptoanaliza odnosi se na deo kriptologije vezan za analizu i dekriptiranje šifrata


bez poznavanja jednog ili više parametara (ključeva, transformacije i sl.) pomoću kojih je
on kreiran. Iako je kriptoanaliza suprotstavljena kriptografiji (koja je usmerena na razvoj
šifarskih sistema) ona ipak čini i izuzetno važan alat za proveru efikasnosti šifarskih
sistema. Kriptoanaliza predstavlja najsloženiju oblast kriptologije. Rezultat uspešne
kriptoanalize jeste dobijanje originala na osnovu šifrata. Ukoliko proces kriptoanalize da
takav rezultat, analizirani šifarski sistem se smatra „probijenim“. Ukoliko se kriptoanaliza
primenjuje na digitalne potpise, njeni ciljevi mogu biti falsifikovanje potpisa ili pronalaženje
tajnog ključa.
Jedan od značajnih primera kriptoanalize jeste njena primena na RSA algoritam koji danas
predstavlja de facto standard u asimetričnom šifrovanju. Noseće funkcije ovog algoritma
već decenijama su predmet analize matematičara i profesionalaca na polju bezbednosti.
Do sada nisu objavljeni rezultati kriptoanalize ovog algoritma, što nije slučaj sa mnogim
šifarskim algoritmima koji su se ranije koristili, ili se još uvek koriste.

3.1.2 Razbijanje šifrata primenom sirove sile

Jedan od najelementarnijih načina za otkrivanje zaštićenih pristupnih parametara sistemu


ili originalu šifrata (korisničkog imena i lozinke, tajnog ključa i sl.) jeste korišćenjem tzv.
„sirove sile“ (engl. brute force attack). Ovaj pristup u osnovnoj varijanti podrazumeva
redno isprobavanje različitih pristupnih parametara sve do pogađanja odgovarajućih.

Glavni nedostatak primene metoda „sirove sile“ jeste vreme potrebno za razbijanje lozinki
i ključeva veće bitske dužine, jer svaki dodatni bit lozinke ili ključa duplira potrebno vreme
(eksponencijalni rast). Iz tog razloga se u praksi (uglavnom kod razbijanja pristupnih
lozinki) često koriste modifikovani algoritmi i rečnici često korišćenih izraza.
Principi i mogućnosti odbrane od ovog tipa napada znatno se razlikuju u zavisnosti od toga
da li se štiti pristup sistemu ili šifrovani podaci koji se prenose putem mreže. Za slučaj
zaštite sististema od neovlašćenog pristupa kao primer se može uzeti UNIX operativni
sistem, njegovi bezbednosni mehanizmi i njihova evolucija.
U ranim fazama razvoja računara, njihova procesorska snaga i broj korisnika bili su (sa
bezbednosnog aspekta) zanemarljivi te su pristupne lozinke korisnika čuvane u šifrovanom
obliku (heš funkcije) u javno dostupnom fajlu /etc/passwd. Međutim, uporedo sa razvojem
procesorske snage računara i rastom broja korisnika javili su se prvi slučajevi zloupotrebe
pristupnih parametara ostalih korisnika sistema koji su bili otkriveni primenom metoda
„sirove sile“ na šifrate lozinki. Iz ovog razloga šifrati lozinki su izmešteni u fajl /etc/shadow
kome je pristup odobren samo administratoru sistema i procesu koji vrši prijavljivanje
korisnika na sistem.
34

Sledeći bezbednosni problem koji se javio jeste pojava alata koji su za metod primene
„sirove sile“ iskoristili sistemsku naredbu za promenu identiteta su i na taj način iskoristili
posredan pristup heš vrednosti lozinke putem
procesa za prijavljivanje korisnika na sistem. Ovi alati su omogućavali maksimalno
iskorišćavanje performansi sistema za razbijanje heš vrednosti lozinke time što se moglo
ispitati više desetina, stotina ili hiljada vrednosti (u zavisnosti od procesorske snage
računara) u toku jedne sekunde.
Ovaj bezbednosni problem je rešen izmenom sistema za prijavu korisnika na sistem tako
da su dodata čekanja od po nekoliko sekundi između dva pokušaja prijavljivanja.
Na MS Windows operativnim sistemima postoji i opcija da se nalozi automatski zaključavaju
nakon nekoliko neuspešnih pokušaja prijavljivanja. Isti princip se koristi i kod tzv.
„pametnih“ kartica i njima pridruženim pristupnim PIN kodovima. Ovaj metod zaštite, iako
efikasan u zaštiti od neovlašćenog pristupa, često se može zloupotrebiti od strane napadača
u cilju onemogućavanja normalnog funkcionisanja sistema i rada legalnih korisnika.
Za razliku od zaštite sistema od neovlašćenog pristupa, kod prenosa podataka računarskim
i telekomunikacionim mrežama zaštitu nije moguće zasnovati na nedostupnosti šifrata
napadaču. U takvoj situaciji se kao rešenje najčešće predlaže korišćenje ključeva veće
bitske dužine. Postoje različite preporuke za izbor dužine ključa u cilju odbrane od napada
metodom primene „sirove sile“ a u zavisnosti od načina šifrovanja, oblasti primene,
važnosti podataka i slično:

Vreme potrebno za razbijanje šifrata primenom „sirove sile“ u opštem slučaju zavisi od dva
parametra – dužine korišćenog ključa (veličine skupa iz koga se bira ključ) i frekvencije
kojom se isprobavaju različiti ključevi. Očekivana verovatnoća da će ključ biti pogođen
iznosi 2N-1 proverenih kombinacija gde je N bitska dužina ključa. U cilju ostvarivanja što
kraćeg vremena za razbijanje šifrata najčešće se koriste brzi računari sa više procesora,
klasteri računara ili namenski uređaji. Primer namenskog uređaja za razbijanje šifrata
primenom „sirove sile“ je uređaj COPACOBANA razvijen na nemačkim univerzitetima
Bochum i Kiel.
Ovaj uređaj je namenjen razbijanju svih simetričnih sistema šifrovanja koji koriste ključeve
dužine do 64 bita. U sistem je ugrađena podrška za DES algoritam a sistem se može
proširiti i sopstvenim modulima. Takođe, moguće je i serijsko povezivanje do 127
COPACOBANA uređaja koji bi paralelno radili na istom zadatku. Prosečna brzina pretrage
sistema je oko 43 milijarde ključeva u sekundi a snaga sistema je 2006. godine upoređena
sa 22.865 Pentium 4 računara. Cena jednog uređaja je oktobra 2006. godine iznosila 8.980
evra.
Kao što je ranije pomenuto i prikazano, u literaturi i od strane različitih organizacija koje
se bave bezbednošću komunikacija, kao podrazumevani metod zaštite od razbijanja šifrata
primenom sirove sile navodi se korišćenje ključeva veće bitske dužine, jer se polazi od
osnovne pretpostavke da je razbijanje šifrata simetričnih algoritama moguće samo
primenom „sirove sile“. Međutim, jedna od čestih teza eksperata na polju zaštite u
računarskim mrežama jeste da veće bitske dužine mogu predstavljati prepreku za
napadače koji za razbijanje koriste računarske sisteme skromnijih proceskih moći ali ne i
za napadače koji raspolažu klasterima super-računara ili namenskih uređaja.

3.1.3 Napad posredovanjem u komunikaciji

Jedan od najopasnijih napada u računarskim i telekomunikacionim mrežama jeste napad


putem posredovanja između strana koje komuniciraju (engl. Man in the middle attack). S
obzirom na to da današnje globalne računarske i telekomunikacione mreže najčešće
35

podrazumevaju veliki broj infrastrukturnih posrednika u komunikaciji (ruteri, repetitori i


sl.), mogućnosti za izvršavanje ovakvog tipa napada su sve veće.
Napad posredovanja u komunikaciji se, pre svega, odnosi na zaštićene (šifrovane) i
autorizovane komunikacije. Kod nezaštićenih i neautorizovanih komunikacija su
podrazumevano ostvareni svi preduslovi za uspešan napad. Osnovni rezultati posredovanja
u komunikaciji jesu mogućnost prisluškivanja (odnosno snimanja) komunikacije i
mogućnost izmene njenog sadržaja. Preduslov za uspešno izvršavanje napada jeste
uspešno lažno predstavljanje kod obe strane, osnosno, simuliranje identiteta druge strane.
Proces izvođenja napada posredovanja u komunikaciji podrazumeva prihvatanje, čitanje,
eventualnu izmenu, i prosleđivanje poruka koje strane razmenjuju. Kod uspešno izvedenog
napada regularne komunikacione strane imaju iluziju da komuniciraju direktno i nemaju
nikakvu mogućnost da utvrde da je došlo do prisluškivanja.
Postoji više mehanizama za odbranu od napada posredovanja u komunikaciji:
korišćenje PKI infrastruktura, tajnih ključeva, posebnih kanala za razmenu, itd. U ovom
delu su opisana rešenja koja se baziraju na upotrebi simetričnih algoritama sa tajnim
ključevima koji se razmenjuju odvojenim komunikacionim kanalima. Takav pristup se može
smatrati bezbednim od napada posredovanja u komunikaciji.

3.1.4 Napad uskraćivanjem usluge

Onemogućavanje usluge (engl. Denial of Service, DoS) je tip napada usmeren ka


komunikacionoj strukturi, odnosno, njenom kapacitetu (propusnoj moći). Cilj napada ovog
tipa nije da napadaču omogući pristup ili kontrolu nad udaljenim sistemom (ili podacima)
već da zauzimanjem svih komunikacionih kapaciteta onemoguće pristup sistemu od strane
regularnih korisnika.
Postoji više tipova napada sa ciljem onemogućavanja usluge. Najjednostavniji tipovi
napada ovog tipa se baziraju slanju što veće količine podataka žrtvi u što manjem
vremenskom periodu. Nešto napredniji tip napada je napad sa modifikovanim paketima
mrežnog nivoa. Primer ovakvog tipa napada je tzv. reflektovani napad. Kod ovog tipa
napada napadač posredniku (koji nije kompromitovan – pod napadačevom kontrolom)
šalje pakete koji zahtevaju odgovor a kod kojih je za izvorišna adresa (adresa napadača)
zamenjena adresom žrtve. Ovo je ujedno i najprimitivniji oblik sakrivanja izvora napada.

Jedan od najopasnijih tipova napada sa ciljem onemogućavanja usluge je distribuirani


napad sa ciljem onemogućavanja usluge (engl. Distributed Denial of Service, DDoS).
Glavna karakteristika ovakvih napada je to što napadač ne zavisi od kapaciteta sopstvenih
komunikacionih kanala već za napad može istovremeno koristiti kapacitete hiljada
kompromitovanih posrednika.
36

Kod ovog tipa napada samom napadu prethodi proces kompromitovanja što većeg broja
posrednika (koji se ponekad nazivaju i „zombijima“). Za kompromitovanje posrednika
najčešće se koristi maliciozni softver. Na kompromitovane posrednike se instalira softver
za udaljenu kontrolu koji, kada napadač dobije adresu žrtve, započinje slanje podataka.
Dva značajna problema pri odbrani od ovog tipa napada su ta što se javlja veliko
opterećenje komunikacionih kanala i što postoji veliki broj izvora napada.
Sredinom 2008. godine primećen je novi tip napada sa ciljem onemogućavanja usluge.
Ovaj napad nije usmeren na zagušivanje komunikacionog kanala žrtve već na njen mrežni
interfejs. Redosled koraka u izvršavanju ovog tipa napada je sledeći:

1. Korisnički program na strani napadača sa nivoa IP protokola šalje žrtvi IP datagram sa


sadržajem koji je identičan sadržaju TCP paketa za otvaranje soketa (iniciranje veze).
2. Napadnuti računar nakon prijema datagrama prosleđuje sadržaj transportnom nivou -
TCP protokolu – koji otvara novi soket smatrajući da se radi o regularnom zahtevu.
3. Proces se ponavlja dok se komunikacija sa napadnutim računarom ne onemogući
prevelikim brojem otvorenih soketa.

Napadi sa ciljem onemogućavanja usluge ne predstavljaju retkost na Internet mreži a


gotovo da ih nema u lokalnim mrežama. Pretpostavlja se čak i da je ovo jedan od oblika
informacionih ratova između zemalja i velikih privrednih subjekata. Na primer, po rečima
Hozea Nazaria, mrežna kompanija Arbor Netvorks iz Leksingtona je 20. jula 2008. godine
primetila veliku količinu saobraćaja iz Rusije usmerenu ka sajtovima gruzijskog parlamenta
nakon čega su ti serveri isključeni. Takođe, originalan sadržaj sajta gruzijskog parlamenta
na adresi http://mfa.gov.ge zamenjen je sadržajem koji su postavili ruski hakeri. Tačan
identitet napadača nikada nije utvrđen.
Napadi sa ciljem onemogućavanja usluge mogu prouzrokovati ozbiljne probleme
korisnicima koji zavise od komunikacionih kanala visoke propusne moći (Internet
provajderi, veliki poslovni subjekti, on-lajn poslovanja i sl.). Postoje različiti načini odbrane
od ovakvih napada (konfiguracija rutera, alternativni linkovi itd.).

3.2 Sistemi za zaštitu


Danas se u praksi reklamira i sreće veliki broj različitih sistema zaštite. Ovi sistemi su
projektovani u skladu sa različitim namenama, okruženjima i načinima upotrebe. Neki od
njih su projektovani za krajnje korisnike, a neki pre predstavljaju radne okvire za razvoj
sopstvenih bezbednosnih konfiguracija. Kategorizaciju sistema zaštite moguće je obaviti
po više kriterijuma:
sistemi za zaštitu izdvojenih sistema i sistemi za zaštitu mreža,
sistemi sa dostupnim izvornim kodom i zatvoreni sistemi,
sistemi koji koriste javne algoritme i sistemi sa sopstvenim algoritmima i drugi.
37

Pregled postojećih sistema zaštite komunikacije za potrebe ovog dela izvršena je


kategorizacija na osnovu sloja OSI i TCP/IP referentnih modela na kome ti sistemi
funkcionišu. U skladu sa tim, dat je pregled sistema zaštite komunikacije koji funkcionišu
na nivou aplikativnog protokola, nivou transportnog protokola i nivou mrežnog protokola.

3.2.1 Zaštita na nivou aplikativnog protokola

Aplikativni sloj predstavlja najfleksibilnije područje za razvoj sopstvenih sistema za zaštitu


komunikacije iz tog razloga što se pri razvoju protokola na ovom nivou ne mora voditi
računa o kompatibilnosti sa protokolima viših nivoa. Bezbednost sopstvenog sistema
zaštite na aplikativnom sloju zavisi prvenstveno od nivoa zaštite koji nude korišćeni
algoritmi, procedure i okruženje u kome se sistem primenjuje.
Osnovni nedostatak integracije bezbednosnih sistema na nivou aplikativnog protokola jeste
taj što se razvojem/integracijom jednog bezbednosnog sistema pokriva samo jedan
aplikativni protokol.

Ukoliko korisnici komunikaciju vrše putem različitih protokola, tada se za svaki od protokola
mora izvršiti zaseban razvoj/integracija. Dodatno, u takvoj situaciji se set softvera koji
koriste krajnji korisnici mora ograničiti da ne bi došlo do razmene važnih podataka
protokolima koji nisu zaštićeni.

3.2.2 Zaštita na nivou transportnog protokola

Realizacija sistema zaštite komunikacije na nivou transportnog protokola OSI i TCP/IP


referentnih modela, umesto na nivou aplikativnog protokola, omogućava širu primenu jer
se na taj način jednom realizacijom mogu obezbediti komunikacije većeg broja aplikacija.
38

Na primer, ugradnjom bezbednosnih funkcija u TCP protokol mogao bi se zaštititi ogroman


broj aplikativnih protokola koji koriste pomenuti transportni protokol. Međutim, izmena
samog TCP protokola predstavlja veoma složen zahvat koji bi mogao imati značajne
posledice vezane za upotrebljivost okruženja u kome bi se tako izmenjen protokol
primenjivao. Na primer, izmenjena varijanta TCP protokola, sa ciljem komunikacije preko
nebezbedne mreže (npr. Interneta), mogla bi dovesti do prestanka rada servisa lokalne
mreže na kojima je prisutna originalna verzija TCP protokola (npr. servisa za mrežno
štamanje dokumenata).
Najrasprostranjeniji protokol za zaštitu podataka na transportnom nivou jeste TLS (engl.
Transport Layer Security). On je razvijen na osnovu verzije 3.0 popularnog SSL (engl.
Sesure Sockets Layer) protokola. Prethodne verzije SSL protokola (verzija 2.0 i ranije)
sadrže ozbiljne bezbednosne propuste vezane za integritet poruka, Man-in-the-middle
napad i napad odsecanjem podataka. Dodatno, izvozne regulative kod ranijih verzija
ograničavaju korišćene ključeve na dužinu od 40 bitova.

3.2.3 Zaštita na nivou mrežnog protokola

Mrežni sloj OSI referentnog modela predstavlja najpogodniji sloj za realizaciju


bezbednosnih sistema. Razlozi za to su višestruki: mrežni sloj donosi odluku o
posrednicima u komunikaciji, popularni protokoli na mrežnom sloju imaju jasnu strukturu
i lako se mogu proširivati i drugo.
39

ž
Ogromna prednost u realizaciji sistema zaštite na nivou mrežnog protokola je i činjenica
da se realizacijom sistema na tom nivou štite i podaci protokola viših nivoa - transportnog
i aplikativnog, odnosno da se na ovaj način mogu zaštititi komunikacije svih korisničkih
aplikacija. Vodeći sistem zaštite na mrežnom sloju je Internet Protocol Security.

3.2.3.1 Internet Protocol Security sistem zaštite

Internet Protocol Security (IPsec) protokol je rešenje za zaštitu podataka koji se prenose
korišćenjem IP protokola. Ovaj sistem je realizovan setom protokola kojima se ostvaruje
šifrovanje, provera autentičnosti izvora i integriteta poruka koje se prenose. Dodatno,
IPsec sistem koristi i protokol za razmenu ključeva na početku sesije.
40

IPsec sistem se može koristiti za zaštitu komunikacije između krajnjih učesnika, između
krajnjeg učesnika, sa jedne strane, i podrazumevanog mrežnog prolaza, sa druge strane,
ili između podrazumevanih mrežnih prolaza sa obe strane. U skladu sa tim IPsec podržava
dva režima rada: transportni i tunelski.
Za razvoj IPsec sistema zaštite zvanično je zadužena IETF grupa. Sam Ipsec sistem zaštite
je naslednik ISO standardizovanog NLSP (Network Layer Security Protocol) protokola
baziranog na SP3 protokolu, kojeg je prvi objavio američki NIST a inicijalno je dizajniran
od strane američke nacionalne bezbednosne agencije (NSA). Postoji veliki broj dokumenata
kojim je IPsec sistem zaštite dokumentovan i standardizovan.

Jedna od značajnih prednosti IPsec sistema zaštite u odnosu na druge popularne sisteme
zaštite (SSL, TLS...) je rad na niskom nivou u odnosu na OSI i TCP/IP referentne modele.
Ovakva pozicija obezbeđuje fleksibilnost u pogledu zaštite velikog broja protokola viših
nivoa.
Osnovne komponente IPsec sistema zaštite su Internet Key Exchange (IKE, IKE2) – sistem
za upravljanje ključevima i uspostavljanje bezbednosnih asocijacija, Authentication Header
(AH) – protokol za obezbećivanje autentičnosti i integriteta i Encapsulating Security
Payload (ESP) – protokol za obezbeđivanje poverljivosti, autentičnosti i integriteta.
Još jedna značajna karakteristika IPsec sistema zaštite je i podrška za IPv6 protokol. U
stvari, IPsec je podrazumevani deo ovog protokola i inicijalno je i razvijan na njemu a
naknadno je portovan na verziju 4.
Za uspešno korišćenje IPsec protokola neophodno je uspostavljanje pravilnih bezbednosnih
asocijacija. Bezbednosne asocijacije predstavljaju pravila po kojima će se uspostaviti
bezbedna komunikacija između učesnika. U bezbednosnim asocijacijama mogu biti
direktno postavljeni ključevi koji će se koristiti za šifrovanje a u tu svrhu se može iskoristiti
i protokol za razmenu ključeva putem Interneta.
IPsec sistem zaštite se može posmatrati kao jednostavno i efikasno rešenje za zaštitu
komunikacija baziranih na IP protokolu. Važna karakteristika ovog sistema jeste otvorenost
i dokumentovanost kroz RFC i druge dokumente. Izbor IPsec sistema zaštite kao nosioca
realizacije sopstvenog rešenja baziranog na sopstvenom algoritmu, rezultat je dugortajnog
i temeljnog ispitivanja postojećih alternativa.

3.2.4 Firewall

Jedan od najefikasnijih načina zaštita računarskih mreža i njenih članova jeste korišćenje
fajervol sistema za kontrolu pristupa. Ovi sistemi funkcionišu po principu prihvatanja ili
odbijanja mrežnih komunikacija određenih polisama fajervol sistema. Postoji više tipova
41

fajervol sistema u zavisnosti od toga u kom obliku su realizovani, kakve mogućnosti nude,
na kom nivou se izvršavaju i koja je njihova uloga u mreži u kojoj se nalaze.
U zavisnosti od toga u kom obliku su realizovani fajervol sisteme možemo podeliti na
namenske uređaje i računarski softver. Namenski fajervol uređaji uglavnom su namenjeni
zaštiti računarskih mreža, pre nego zaštiti pojedinačnih račuanra. Realizovani su u obliku
nezavisnih mrežnih uređaja sa najčešće dva mrežna interfejsa od koja ih jedan povezuje
sa nepouzdanom mrežom (na primer Internetom) a drugi sa mrežom koju treba zaštititi
(na primer lokalna mreža). Uređaji u sebi sadrže firmver koji vrši analizu ulaznih i izlaznih
podataka i na njih primenjuje postavljenja pravila (polise).
Ova pravila se postavljaju najčešće putem računara koji se sa uređajem povezuje putem
mrežnog ili serijskog kabla.
Prednost namenskih fajervol uređaja nad ostalim rešenjima jeste jednostavnost (nema
dodatnog softvera) i namenski dizajn (hardver uređaja je prilagođen svrsi). Računarski
softver takođe može obavljati ulogu fajervola. Ovakav softver se instalira na računare u
vidu korisničkog softvera ili dela operativnog sistema što ujedno predstavlja i podelu po
tome na kom nivou se softver izvršava.

Prednost integracije fajervola u jezgro operativnog sistema jesu pre svega performanse,
dok osnovnu manu u određenim slučajevima (kada je napravljen propust u softveru) čini
mogućnost pristupa funkcijama operativnog sistema pri „pucanju“ softvera. Prednost
realizacije fajervol sistema u obliku dodatnog računarskog softvera jeste pre svega
mogućnost instaliranja fajervol sistema na obične računare i na svaki računar pojedinačno,
jednostavno instaliranje novih verzija softvera kao i mogućnost izbora softverskog
rešenja.
Glavna mana realizacije fajervol sistema u obliku dodatnog računarskog softvera naspram
namenskih uređaja su, pre svega performanse a zatim i potreba da se na računar instalira
nenamenski operativni sistem, odnosno operativni sistem koji osim funkcionalnosti vezanih
za fajervol poseduje i dodatne funkcionalnosti koje mogu biti zloupotrebljene i izvor
nestabilnosti/nesigurnosti sistema.
U zavisnosti od toga kakve mogućnosti nude fajervol sisteme možemo pre svega podeliti
na osnovu toga koje slojeve TCP/IP modela podržavaju i koje informacije o svakoj
komunikaciji mogu izvući putem celokupne komunikacije a ne samo na osnovu trenutnog
saobraćaja. U skladu sa takvim kriterijuma fajervol sisteme možemo podeliti na:

1. Sisteme prve generacije


Ovi sistemi imaju mogućnost rada sa prva četiri sloja TCP/IP modela tako da je najviša
jedinica iz koje mogu dobiti informacije port transportnog sloja. Dodatno, ovi sistemi
nemaju mogućnost izvlačenja zaključaka na osnovu prethodno dostavljenih jedinica za
prenos podataka već u analizu uključuju samo trenutno aktuelnu jedinicu.
2. Sisteme druge generacije
Fajervol sistemi druge generacije se nazivaju i statefull fajervol. Ovaj atribut ukazuje na
to da područje rada ovih sistema nije ograničeno samo na trenutno aktuelnu jedinicu za
prenos podataka već jedinice analiziraju u kontekstu veze. Ovi sistemi najčešće mogu da
utvrde da li je dostavljena jedinica inicijator nove veze (eng. nenj connection) ili je u pitanju
42

jedinica već ostvarene veze (eng. Established connection). Informacije ovog tipa
predstavljaju dodatni kriterijum koji se može iskoristiti za kreiranje polisa statefull fajervol
sistema.
3. Sisteme treće generacije
Fajervol sistemi treće generacije osim ranije opisanih funkcionalnosti imaju i mogućnost
korišćenja parametara aplikativnog sloja. Iz tog razloga se ponekad nazivaju i prodžy
based fajervol sistemima. Ovakvi sistemi najčešće dolaze sa modularnom podrškom za
različite protokole aplikativnog sloja a skup modula je uglavnom moguće proširivati.

U zavisnosti od uloge koju imaju u mreži u kojoj se nalaze fajervol sistemi se mogu podeliti
na mrežne i lične. Mrežni fajervol sistemi najčešće se nalaze na tačkama mreže koje je
spajaju sa jednom ili više spoljnih mreža.
Uloga ovih sistema jeste da zaštite sve članove lokalne mreže ili da im zabrane određene
mrežne akcije usmerene ka spoljnim mrežama. Mrežni fajervol sistemi se mogu štititi
lokalnu mrežu od spoljnih mreža ali se takođe mogu naći i na više tačaka u lokalnoj mreži
da bi štitili segmente lokalne mreže. Za razliku od mrežnih fajervol sistema lični fajervol
sistemi imaju za zadatak da štite lokalni računar.

3.2.5 Standardni šifarski algoritmi

Osnovna podela šifarskih algoritama definiše dva tipa: simetrične i asimetrične šifarske
algoritme. Simetrični šifarski algoritmi (šifrovanje tajnim ključem) rezultat su razvoja
klasične kriptografije. Za uspešno korišćenje simetričnog šifrovanja korisnici pre toga
moraju razmeniti ključ koji će biti korišćen za šifrovanje i dešifrovanje sadržaja. Osnove
bezbednosti koju nude simetrični šifarski algoritmi leže u tajnosti ključa i nemogućnosti
dobijanja originala bez njegovog poznavanja. U najpopularnije simetrične šifarske
algoritme spadaju AES, DES, RC4 i Blowfish.
Osnovna prednost simetričnih šifarskih algoritama je njihova brzina. Sa druge strane,
osnovni problem kod njihovog korišćenja jeste uspostavljanje tajnog ključa, odnosno
neophodnost da se tajni ključ bezbedno dostavi do obe strane. U tu svrhu se najčešće
koriste odvojeni komunikacioni kanali. To može biti značajan problem kod većih
komunikacionih mreža jer se za potrebe bezbedne komunikacije mora izvršiti n-1 razmena
ključeva (n je broj članova mreže). Jedno od rešenja za ovaj problem može biti centralno
telo koje izdaje ključeve za komunikacione sesije.
Koncept asimetričnog šifrovanja predstavljen je 1976. godine od strane Vajtfilda Difija i
Martina Helmana. U svom prvom radu kao osnovnu motivaciju ovi autori su naveli
„eliminisanje potrebe za odvojenim komunikacionim kanalima za razmenu ključeva i
stvaranje ekvivalenta pisanom potpisu“. Kod asimetričnog šifrovanja svaka strana ima par
ključeva, e (javni ključ) i d (tajni ključ). Javni ključ je javno dostupan dok se tajni ključ
čuva van dometa ostalih korisnika. Podaci šifrovani javnim ključem mogu se dešifrovati
samo uparenim tajnim ključem. Sa druge strane, tajni ključ se može iskoristiti za
potpisivanje digitalnog sadržaja, a javni ključ se u tom slučaju koristi za proveru
autentičnosti potpisa. Podrazumeva se nemogućnost izračunavanja tajnog ključa na
osnovu njegovog javnog para. Najpoznatiji predstavnici asimetrične kriptografije jesu Difi-
Helman sistem razmene ključeva i RSA algoritam.
U poređenju sa simetričnim ekvivalentima asimetrični sistemi za šifrovanje su uglavnom
sporiji i nude niži nivo bezbednosti za istu dužinu ključeva (odnosno, zahtevaju korišćenje
ključeva veće dužine). Sa druge strane, oni ne zahtevaju odvojene kanale za distribuciju
ključeva, a nude i specifičnosti u pogledu elektronskog potpisivanja dokumenata. U praksi
se često sreće mešovita upotreba simetričnog i asimetričnog šifrovanja - asimetrično
šifrovanje koristi se za distribuciju ključeva simetričnih algoritama.

3.2.5.1. Advanced Encryption Standard, AES

Šifarski algoritam Advanced Encryption Standard (AES) jedan je od najpopularnijih


šifarskih algoritama danas. Ovaj algoritam je odobren od strane NIST-a kao federalni
standard za procesiranje informacija. U pitanju je simetrični blokovski algoritam za
43

šifrovanje i dešifrovanje podataka. U praksi postoje različite softverske, firmverske i


hardverske realizacije ovog algoritma.
AES algoritam može koristiti ključeve dužine 128, 196 i 256 bitova. Inicijalna specifikacija
algoritma omogućavala je i druge veličine ključeva ali one nisu ušle u standard. Osnovna
jedinica za obradu podataka kod AES algoritma je bajt, što znači da se ulazni podaci, izlazni
podaci i ključ za šifrovanje obrađuju u jedinicama od jednog bajta. Kod AES algoritma
dužina ulaznog bloka, izlaznog bloka i stanja je 128 bitova. Interno, operacije AES
algoritma izvršavaju se nad dvodimenzionalnim nizovima bajtova koji se nazivaju stanja.
Ovi nizovi sadrže po četiri reda bajtova od kojih svaki sadrži N bajtova (N je veličina bloka
podeljena sa 32).
Izvršavanje kod AES algoritma, odnosno broj rundi (engl. number of rounds), zavisi od
dužine ključa. Za dužinu ključa od 128 bitova broj rundi je 10, za dužinu od 196 bitova
je12, a za dužinu ključa od 256 bitova broj rundi je 14. Za procese šifrovanja i dešifrovanja
podataka AES algoritam koristi sledeće transformacije:
1. zamena bajtova na osnovu tabele,
2. smicanje redova matrice stanja po različitim veličinama,
3. mešanje podataka u okviru kolona matrica stanja i
4. dodavanje Round Key vrednosti (vrednost izračunata na osnovu ključa) matrici stanja.

Na početku procesa šifrovanja ulazni niz se kopira u matricu stanja. Nakon dodavanja
Round Key vrednosti matrica stanja se transformiše korišćenjem funkcije zaokruživanja
10, 12 ili 14 puta, u zavisnosti od dužine ključa. Nakon zaokruživanja, matrica stanja se
kopira u izlazni niz. Jedan od parametara funkcije zaokruživanja je jednodimenzionalni niz
reči od po četiri bajta, dobijen na osnovu Key Expansion rutine. Rutina Key Expansion na
osnovu glavnog ključa generiše tzv. raspored ključeva (engl. key schedule) dužine Nr reči
(Nr je broj ciklusa) od po četiri bajta.

3.2.5.2 Data Encryption Standard (DES, 3DES)

Šifarski algoritam Data Encryption Standard (DES) je simetrični blokovski šifarski


algoritam, odobren od strane NIST-a kao jedan od federalnih standarda za procesiranje
informacija. Ovaj algoritam je projektovan za šifrovanje i dešifrovanje podataka u
blokovima dužine 64 bita. Ključevi koji se koriste za rad sa DES algoritmom takođe imaju
dužinu od 64 bita od čega se 56 koriste za šifrovanje i dešifrovanje dok se preostalih 8
bitova koristi za prepoznavanje grešaka.
Prvi korak u šifrovanju podataka kod DES algoritma podrazumeva inicijalnu permutaciju
(Ip). Nad rezultatom inicijalne permutacije se, zatim, vrše složene računske operacije
(oznaka f) u kojima kao parametar učestvuje i ključ (nad kojim je izvršena funkcija za
izračunavanje pod-ključa, key scheduling, KS) kojim se vrši šifrovanje. Nad rezultatom
ovih operacija se izvršava proces reverzan inicijalnoj permutaciji (Ip-1). Rezultatom ovih
operacija dobija se šifrat, a reverznim operacijama vrši se njegovo dešifrovanje, odnosno,
dobija se original.
Samo uvođenje DES algoritma kao standarda za šifrovanje pratili su različiti problem i
nejasnoće. Razvoj ovog algoritma inicirao je NIST (tadašnji NBS, National Bureau of
Standards) početkom sedamdesetih godina prošloga veka. Međutim, ispostavilo se da ni
jedna od predloženih realizacija nije ispoštovala postavljene visoke standarde. Nakon
konsultacija sa NSA agencijom prihvaćeno je rešenje koje je ponudila kompanija IBM a
bazirano je na prethodno razvijenom Lucifer algoritmu autora Horsa Fistela.
DES algoritam je kritkovan i od strane Martina Helmana i Vajtfilda Difija koji su ukazali na
skaćivanje ključeva i misteriozne S boksove, kao posledice uticaja NSA agencije na razvoj
algoritma. Pretpostavlja se da je bilo u pitanju nameno oslabljivanje algoritma u cilju
omogućavanja razbijanja šifrata od strane vladinih agencija. I pored svih navedenih
problema sa ovim algoritmom on se i danas u praksi često sreće u svojoj 3DES varijanti.
44

3.2.5.3 RSA

Šifarski algoritam RSA dobio je ime po svojim autorima Ronu Rajvestu, Adiju Šamiru i
Leonardu Adlemanu (Rivest-Shamir-Adleman). U pitanju je asimetrični šifarski algoritam
koji se, osim za šifrovanje podataka, može koristiti i za potpisivanje elektronskih
dokumenata.
Asimetrični rad RSA algoritma podrazumeva postojanje dva ključa - javnog i tajnog. Javni
ključ se sastoji od dva pozitivna cela broja - modula i javnog eksponenta. Privatni ključ
RSA algoritma može se predstaviti na dva načina:
preko modula i tajnog eksponenta (pozitivni celi brojevi), ili preko sedam parametara -
prvi faktor, drugi faktor, prvi faktor CRT (Chinese Remainder Theorem) eksponenta, drugi
faktor CRT eksponenta, prvi CRT koeficijent, i-ti faktor, i-ti faktor CRT eksponenta, i-ti
faktor CRT koeficijenta.
Šifarski algoritam RSA predstavlja grupu asimetričnih algoritama. Osnovna prednost ovih
algoritama, u odnosu na simetrične šifarske algoritme, jeste mogućnost da se između dve
strane izvrši razmena šifrovanih podataka a da nije neophodna prethodna razmena ključa
zaštićenim kanalom. Sa druge strane, simetrični šifarski algoritmi obično nude bolje
performanse u radu, a njihova bezbednost ne zavisi od protokola za inicijalnu razmenu
ključa.

3.2.6 Trendovi

Трендови везани за безбедност су у директној вези са општим трендовима на пољу


рачунарских и телекомуникационих мрежа, односно са вредностима реалног света
које се преносе њиховим каналима. На основу различитих истраживања као
најважније области за испитивање безбедносних трендова издвајају се:

1. неовлашћени приступ,
2. проблем инсајдера и
3. крађа идентитета.

Још једна значајна карактеристика издвојених области јесте њихово често


преплитање, односно повезан утицај различитих фактора. На пример, неовлашћени
приступ ресурсима често се дешава као последица сарадње са инсајдерима, или као
последица крађе електронског идентитета особе која је овлашћена за приступ
електронским ресурсима.
Анкета коју је 2004. године водио CSO магазин у сарадњи са Америчком
безбедносном службом и координационим центром CERT-а, показује да бивше или
тренутно запослене или привремено ангажоване особе представљају другу по реду
најзначајнију претњу пословним системима. Један од значајних фактора који утиче на
овај проблем јесте све већа могућност остваривања материјалне користи путем
неовлашћеног присвајања електронских података уместо материјалних добара.
Починиоци криминалних радњи базираних на инсајдерима у великој већини случајева
подразумевају инсајдере – запослене – као директне починиоце а у остатку случајева
запослени најчешће омогућава спољном нападачу приступ одређеним информацијама
или функцијама.
45

II POLUGODIŠTE
1 Network Programming in the .NET Framework
https://docs.microsoft.com/en-us/dotnet/framework/network-programming/socket-code-
examples

Das könnte Ihnen auch gefallen