Analiza alata Skipfish

S razvojem Interneta i World Wide Weba povećao se broj dostupnih web aplikacija, a napredovao je i postupak izrade web stranica odnosno tehnologija pomoću kojih se iste izrađuju. Većina današnjih stranica ima malu količinu statičkog sadržaja te na njima dominira dinamički sadržaj koji je izuzetno ranjiv i pogodan za različite oblike napada. Među napadima najučestalija su različita umetanja zlonamjernog koda poput napada umetanjem SQL koda, XML koda ili XPath koda, XSS napada, CSRF napada i mnogih drugih.

Zbog svih navedenih sigurnosnih ranjivosti, među dizajnerima i programerima podigla se svijest o važnosti održavanja sigurnosti njihovih web aplikacija. Kako bi im se olakšalo utvrđivanje sigurnosti njihovih aplikacija stvoreni su alati za provjeru sigurnosti web aplikacija poput Wapitija, Nikta i mnogih drugih. Najnoviji među njima je Skipfish.

Skipfish je posve automatizirani alat za procjenu i provjeru stanja sigurnosti određene web aplikacije koji na temelju rekurzivnog skeniranja web aplikacije i provođenja testova temeljenih na metodi rječnika gradi interaktivan pregled svih ranjivosti web aplikacije. Postupak rekurzivnog skeniranja temelji se na provjeri svih web stranica unutar web aplikacije na jednak način, počevši od početne stranice i prolazeći kroz čitavu hijerarhiju postojećih direktorija i datoteka. Testovi temeljeni na metodi rječnika koriste unaprijed definirani skup riječi rječnik za provjeru određenih sigurnosnih ranjivosti (npr. napad uzastopnim pokušavanjem).

Interaktivni izvještaj konačan je rezultat rada alata i predstavlja izlazne podatke iz niza aktivnih sigurnosnih provjera kojima alat provjerava sigurnost web aplikacije. Ovdje se  ranjivosti grupiraju na one visokog, srednjeg i niskog stupnja rizika. Ranjivosti visokog stupnja rizika mogu prouzrokovati ugrožavanje čitavog sustava, one srednjeg stupnja mogu dovesti do ugrožavanja podataka, a u niski stupanj rizičnosti se svrstavaju prijetnje ograničenog utjecaja odnosno one koje ne mogu uzrokovati ozbiljnije posljedice po sigurnost aplikacije.

Osnovne karakteristike koje Skipfish izdvajaju od ostatka konkurentskih alata jesu:

  • vrlo visoke performanse prilikom rada alata,
  • jednostavnost uporabe koja se manifestira u visokoj prilagodljivosti i pouzdanosti alata,
  • kvalitetno dizajnirane sigurnosne provjere i cjelokupna sigurnosna logika.

Ipak, namjera ovog alata nije da zamijeni postojeće komercijalne alate za provjeru i skeniranje web aplikacija. Skipfish za sada jednostavno ne zadovoljava mnoge kriterije koje je konzorcij za sigurnost web aplikacija (engl. Web Application Security Consortium, WASC) postavio za ovakav tip alata. Također, za razliku od većine sličnih alata, Skipfish još nema sveobuhvatnu bazu podataka poznatih ranjivosti za sigurnosne provjere.

Što se korištenja alata tiče, on radi na svim poznatijim operacijskim sustavima (Linux, FreeBSD, MacOS X i Windows u sklopu Cygwin okruženja). Instalacija alata podrazumijeva preuzimanje arhive, njeno raspakiranje i kompilaciju. Potom je potrebno odabrati rječnik kojeg će Skipfish koristiti u svom radu. Alat se pokreće iz komandne linije s jednom ili više različitih opcija koje određuju način njegova rada. Krajnje izvješće je u obliku HTML datoteke koja se može otvoriti u bilo kojem web pregledniku.

S obzirom na to da je alat relativno kratko na tržištu (izdan 18.3.2010.) te da se radi o proizvodu tvrtke Google, nema sumnje da će u budućnosti biti u najmanju ruku konkurentan, ako ne i dominantan,na području alata za provjeru sigurnosti web aplikacija. Zbog  sve većeg broja ranjivosti suvremenih web aplikacija potrebanjealat koji će dizajnerima i programerima omogućiti jednostavnu i brzu provjeru sigurnostinjihove web aplikacije. Skipfish već sad omogućuje provjeru raznih ranjivosti, a u budućnosti će popis napada koje provjerava samo rasti. Ključ u razvoju Skipfisha je i činjenica da je njegov izvorni kod otvoren što zapravo znači da se neće intenzivno razvijati samo unutar tvrtke Google već da ga i zajednica zadovoljnih korisnika može unaprjeđivati i prilagođavati svojim potrebama. Na tu činjenicu Google ozbiljno računa, što se vidi po listi postojećih nedostataka i planiranih unaprjeđenja koja je objavljena na web stranici alata i putem koje se otvoreno poziva zajednicu da sudjeluje u njegovu unaprjeđenju.

Izradu dokumenta "Analiza alata Skipfish" financirao je Nacionalni CERT, i možete ga pročitati na službenim stranicama CERT-a.