Razvoj dinamičkih web aplikacija
SEMINARSKI RAD
Tema: RAZVOJ DINAMIČKIH WEB APLIKACIJA
Predmet: RAZVOJ WEB APLIKACIJA I WEB DIZAJN
Mentor: Student:
Prof.dr Borivoje Milošević Božić Davor И-35/2021
Beograd, 2024
RAZVOJ WEB APLIKACIJA
DAVOR BOŽIĆ, И-35/2021
2
Sadržaj
1.1. Koncept Web aplikacije.........................................................................................................1
1.2. Aplikacije slobodnog koda i vlasničke aplikacije.................................................................2
1.3. Terminologija........................................................................................................................2

RAZVOJ WEB APLIKACIJA
DAVOR BOŽIĆ, И-35/2021
2
1.2.
Aplikacije slobodnog koda i vlasničke aplikacije
Pojam
slobodni kod
predstavlja projektovanje, razvoj i distribuciju softvera, čineći pri tom
izvorni kod softvera javno dostupnim. Svoju veliku popularnost ova filozofija razvoja softvera
dobila je širenjem Interneta. Internet je omogućio stvaranje zajednica programera iz cijelog
svijeta, koji rade na kreiranju novih rješenja i poboljšanju postojećih. Glavne prednosti
korišćenja softvera slobodnog koda su: pouzdanost, stabilnost, transparentnost rada, cijena,
fleksibilnost i sloboda pri korišćenju.
Sa druge strane, postoji i vlasnički softver čiji izvorni kod nije moguće dobiti na uvid, a metode
reverznog inženjeringa nad tim softverom predstavljaju krivično djelo. Istraživanje sprovedeno
2007. godine od strane firme
Barracuda Networks
(www.barracudanetworks.com), pokazalo je
da se korisnici odlučuju za kupovinu i korišćenje vlasničkog softvera mahom zbog
profesionalnih usluga proizvođača (65%) i lakoći adaptacije softvera potrebama naručioca
(47%). Takođe, vlasnički softver i nemogućnost pregleda izvornog koda ne znači i veću
otpornost na napade.Treba imati u vidu da softver slobodnog koda ne mora nužno biti i
besplatan za korišćenje, isto kao što se ni vlasnički softver ne mora uvek naplaćivati. Neke od
najpoplarnijih Web aplikacija koje su dostupne danas su: Joomla, Drupal, Wikimedia, Moodle,
eGroupware (besplatne); vBulletin, MODx, IP.Board (komercijalne).
1.3.
Terminologija
U zadnjih nekoliko godina, kompanije koje se bave bezbjednošću na Internetu, usvojile su
mnogo novih termina za opis metoda napada. Još uvek ne postoji dokumentovan,
standardizovan i cjelovit izvor koji definiše pojmove koji se koriste za opis tehnika napada. S
toga će sadržaj ovog rada biti baziran na informacijama pribavljenim iz različitih dokumenata
kompanija za Internet bezbjednost i specijalizovanih foruma, ali i iz mnogih tutorijala pisanih
od strane anonimnih osoba sa kriptičnim nadimcima. Biće prevedeni svi pojmovi za koje je
moguće naći adekvatan prevod na srpskom jeziku, s tim da će ponegde, zbog reference i lakšeg
razumjevanja, biti navedeni i njihovi nazivi na engleskom jeziku.
2.
Klase napada
2.1.
Autentifikacija
U ovom poglavlju biće obrađeni napadi čiji su cilj autentifikacija korisnika, usluga ili
aplikacija. Autentifikacija je proces u okviru koga korisnik ili izvor informacija dokazuju da su
to za šta se predstavljaju. Drugim riječima, autentifikacija je proces utvrđivanja identiteta
korisnika koji pokušava da pristupi sistemu
RAZVOJ WEB APLIKACIJA
DAVOR BOŽIĆ, И-35/2021
3
Metode grube sile (Brute Force )
Napadi izvedeni upotrebom metode grube sile su automatizovani procesi koji ispituju sve
moguće kombinacije korisničkog imena i/ili lozinke korisnika, broja bankovne kartice ili ključa
za enkripciju. Veliki broj web aplikacija prilikom registracije dozvoljava upotrebu prostih
lozinki, a korisnici će to najčešće iskoristiti da postave neku jednostavnu koja se može lako
pogoditi ili naći u rečniku. Izraz
"prosta" lozinka
označava lozinku koja se sastoji od manje od
8 karaktera i/ili koja sadrži samo slovne ili samo
brojčane znakove. Ovde spomenuti
"rečnik"
označava, najčešće tekstualnu, datoteku
sastavljenu od strane pojedinaca i grupa koji su i
izvršioci napada. Ova datoteka sadrži veliki broj
najčešće korišćenih reči, a na Internetu se
detaljnom pretragom mogu pronaći rečnici
veličine i do 1 GB.
Scenario ove tehnike napada se ogleda u tome da
napadač, korišćenjem posebnog programa,
koristi dati rečnik za ispitivanje lozinki
Slika 2.1:
Formular pogodan za korišćenje metode
direktnim upitom na željenu Internet stranicu.
grube
sile
Pri tom, web aplikacija generiše veliki broj grešaka pri unosu, a taj broj je srazmeran broju upita
do eventualnog pronalaska tačne lozinke. U trenutku kada se pronađe ispravna lozinka, smatra
se da je napad izvršen uspešno i tada je napadač u mogućnosti da pristupi sistemu.
Metoda grube sile, osim rečnika može koristiti i generatore svih mogućih kombinacija znakova
(slovnih, brojčanih i specijalnih). Ovi generatori su obično napisani u nekom programskom
jeziku i mogu da šalju upite za sve moguće kombinacije karaktera koje postoje. Kako je broj
slovnih znakova u engleskom alfabetu 26, brojčanih 10, i specijalnih znakova 32, za
kombinovanje svakog pojedinačnog znaka sa drugim je, na današnjim kućnim računarima,
potrebno na stotine godina. A ako se uzme u obzir i vreme potrebno za prenos bitova kroz
mrežu i vreme potrebno serveru da proveri ispravnost lozinke, efikasnost ove tehnike se
višestruko smanjuje. Ovaj način napada je češće u upotrebi na lokalnim računarima pri, na
primer, traženju lozinke za zaštićene kompresovane datoteke (zip, rar i dr.).
Generalno, možemo razlikovati dva tipa napada metodom grube sile: normalni tip i reverzni tip.
Normalni tip napada ovom metodom koristi jedno korisničko ime uz veliki broj različitih
lozinki. Reverzni, očekivano, koristi mnogo različitih korisničkih imena uz jednu lozinku. U
web aplikacijama koje imaju milione korisničkih naloga, verovatnoća da različiti korisnici
imaju iste lozinke se višestruko uvećava. Ipak, metode grube sile mogu zahtevati sate, dane ili
godine kako bi dale rezultate, bez obzira da li se koristi normalni ili reverzni tip, ili se obavljaju
korišćenjem rečnika ili generatora.
Primjer

RAZVOJ WEB APLIKACIJA
DAVOR BOŽIĆ, И-35/2021
5
mogućnost da ove lokacije nisu čak ni zaštićene metodom autentifikacije, pa je pristup
napadaču znatno olakšan.
2.1.2. Povraćaj lozinke
Web aplikacija može sadržati funkcionalnost za povraćaj lozinke postojećih korisnika i to je
dobar način za upravljanje aplikacijama koje sadrže veliki broj korisnika, jer automatizuju i
ubrzavaju posao koji bi inače morao da obavlja administrator. Neke aplikacije imaju metode
autentifikacije koje od korisnika traže da izabere neko pitanje i upiše odgovor. Svrha ovog
sistema je ta što se odgovor može iskoristiti ukoliko korisnik zaboravi svoju lozinku. Upis
tačnog odgovora na dato pitanje, dovešće do mogućnosti da se unese nova lozinka ili upiše
adresa elektronske pošte na koju će ona biti poslata.
Slika 2.3: Primer rada Google sistema za povraćaj lozinke
Drugi način koji može olakšati napadaču da pogodi lozinku, jeste i postojanje jedne ili više
riječi koje daju nagoveštaj (hint, engl.) korisniku ukoliko ne može da pogodi lozinku, a koje je
korisnik sam zadao prilikom registracije na sistem. U zavisnosti od kompleksnosti nagoveštaja,
napadač može sa manje ili više truda doći do tačne lozinke. Ovde svakako može doći do
izražaja i socijalni inženjering, o kome će više reči biti kasnije.
Smatra se da web aplikacija ima loš sistem za povraćaj lozinke ukoliko je napadač u stanju da
zloupotrebi ovaj mehanizam. To se, kao što je već rečeno, moguće u slučaju da je odgovor na
bezbednosno pitanje predvidljiv ili je dati nagoveštaj očigledan. Uticaj svakako ima i sam
sistem koji, u cilju zaštite, može zahtijevati unos karaktera sa slike (zaštita od programa koji
koriste metode grube sile) ili slati novu lozinku isključivo na adresu e-pošte datu pri registraciji.
Primjer
Neke aplikacije traže od korisnika da pri registraciji unesu svoju adresu e-pošte, kućnu adresu i
broj telefona. Do svih ovih informacija se može lako doći korišćenjem metoda socijalnog
inženjeringa ( npr. adresara, poput onog na adresi www.belestrane.988info.rs) ili korišćenjem
metode pecanja.
Što se tiče napada na aplikacije koje daju nagoveštaj lozinke, može se iskoristiti metoda grube
sile.
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti