Usporedba besplatnih alata za ispitivanje web aplikacija

Brojna istraživanja su pokazala da su web aplikacije danas najranjivija točka informacijskog sustava organizacije. Nedostaci web tehnologija, a nerijetko i loše programiranje te nepoznavanje sigurnosnih principa od strane programera, uzrok su brojnih uspješnih sigurnosnih proboja, krađa podataka te drugih kriminalnih aktivnosti. Sigurnosni napadi na web aplikacije uključuju brojne tehnike poput umetanja zlonamjernog SQL koda, iskorištavanja XSS ranjivosti te brojnih drugih. Kako bi sigurnost svojih web aplikacija podigli na zadovoljavajuću razinu, programeri često koriste razne alate za ispitivanje njihove sigurnosti. Za takve aktivnosti mogu se koristiti razni komercijalni automatizirani alati, no, srećom, razvijeni su i brojni besplatni alati koji mogu gotovo jednako dobro obaviti svoj posao. U ovom dokumentu dan je pregled i rezultati ispitivanja mogućnosti nekoliko besplatnih alata za ispitivanje sigurnosti web aplikacija. Ispitivanje je provedeno u Laboratoriju za sustave i signale Fakulteta elektrotehnike i računarstva, a korišteni su besplatni alati Skipfish, Wapiti, w3af i Nikto.

 

 

Web aplikacije i njihova sigurnost danas su zasigurno goruća tema na području računalne sigurnosti. Zbog njihove stalne dostupnosti i lakog pristupa, weba aplikacije su stalno izložene prijetnjama i napadima. Budući da danas gotovo svaka organizacija ima barem jednu javnu web aplikaciju, a mnoge na njima i temelje svoje poslovanje, gubici uzrokovani napadima putem web aplikacija mogu biti fatalni za poslovanje organizacije. Ranjivosti web aplikacija posljedica su nedostataka u brojnih tehnologijama koje se koriste u njihovoj izradi, a nerijetko i lošeg programiranja zbog nedostatka znanja i svijesti o sigurnosti osoba koje ih izrađuju. Upravo zato je važno dobro ispitati sigurnost svake web aplikacije prije nego ona bude stavljena u produkciju.

Dvije najčešće vrste ranjivosti kod web aplikacije su tzv. SQL (eng. Structured Query Language) i XSS (eng. Cross Site Scripting) ranjivosti. Obje vrste ranjivosti uzrokovane su neodgovarajućim filtriranjem podataka koje korisnik razmjenjuje sa web aplikacijom. To je ujedno najčešća pogreška koju programeri rade prilikom izrade web aplikacija. Iskorištavanje ovih ranjivosti kao posljedicu može imati krađu podataka iz baze, neovlaštenu izmjenu podataka, krađu podataka od drugih korisnika aplikacije i brojne druge.

Kako bi se sigurnost web aplikacija dovela na zadovoljavajuću razinu koriste se razni programski alati. Iako za detaljno testiranje postoje alati koji zahtijevaju konstantnu interakciju korisnika, razvijeni su brojni automatizirani alati koji posao obavljaju uz minimalan broj korisničkih intervencija. Uz mnoštvo komercijalnih alata za automatizirano ispitivanje web aplikacija, razvijeno je i nekoliko besplatnih alata koji svoj posao odrađuju gotovo jednako dobro. Neki od tih alata podvrgnuti su detaljnom testiranju na nekoliko web aplikacija razvijenih u Laboratoriju za sustave i signale na Fakultetu elektrotehnike i računarstva.

Na četiri produkcijske web aplikacije pokrenuti su testovi s četiri najbolje besplatne aplikacije za ispitivanje sigurnosti web aplikacija – Skipfish, Nikto, w3af i Wapiti. Ispitivanjem je pronađeno petnaestak ranjivosti koje su provjerene i potvrđene u izvornom kodu aplikacija. Osim po broju pronađenih ranjivosti, alati su uspoređeni i po brzini izvođenja te kvaliteti izvještaja koje izrađuju. Iako je teško odrediti apsolutnog pobjednika ovog testiranja, u raznim kategorijama najviše su se iskazali alati Skipfish i Wapiti.

Cijeli dokument (u PDF formatu) "Usporedba besplatnih alata za ispitivanje web aplikacija" preuzmite ovdje.

© Laboratorij za sustave i signale - Copyright 2008 - 2013. www.LSS.hr