Uvod
File integrity checking tehnologija se zasniva na detekciji izmjena na datotekama praćenjem izmjena njihovih sažetaka (engl. hash). Hash vrijednost je digitalni otisak fiksne duljine nastao primjenom hash algoritma na određeni ulazni skup podataka. Odlika dobrog hash algoritma, odnosno algoritma za računanje sažetka, je dobivanje različitih otisaka za različite ulazne podatke. Temeljni zahtjev koji se postavlja pred ove algoritme jest da različiti ulazni podaci daju različite vrijednosti sažetka. Međutim, hash funkcije nisu injektivne pa postoji mogućnost preklapanja, tj. dva identična hasha mogu biti rezultat potpuno različitih ulaznih vrijednosti. Posljedica toga je obilježje algoritama za računanje sažetka da za ulazne podatke koji se vrlo malo razlikuju daju potpuno različite vrijednosti dok za potpuno različite ulazne podatke vjerojatnost poklapanja njihovih hash vrijednosti raste. Vjerojatnost da će doći do preklapanja mjerilo je kvalitete pojedinog hash algoritma. Danas najviše korišteni algoritmi za računanje sažetaka su MD5, koji rezultira 128 bitnim sažetkom, te noviji i kvalitetniji SHA-1 koji generira 160 bitni sažetak ulaznog skupa podataka.
Provjera integriteta
Princip provjere integriteta datoteka se temelji na generiranju sažetaka datoteka odmah nakon instalacije sustava, prije njegovog priključivanja na mrežu. Time se dobiva slika sustava u njegovom regularnom stanju što predstavlja referentnu točku za sve kasnije usporedbe. Vidljivo je da ima smisla računati hasheve sistemskih datoteka na kojima se vrlo rijetko rade izmjene, a koje su posljedica uglavnom nadogradnje operacijskog sustava i aplikacija. Računanjem hasheva datoteka koje se često mijenjaju dobivale bi se tokom vremena različite vrijednosti koje ne bi davale uvid u integritet sustava. Pored gore navedenog, izmjene na sistemskim datotekama često su rezultat djelovanja zlonamjernih programa kao što su virusi, crvi, razni oblici spywarea i u posljednje vrijeme sve zastupljeniji rootkiti. Dok antivirusni programi relativno uspješno otkrivaju postojanje virusa i crva na sustavu, nisu u mogućnosti detektirati izmjene koje su oni napravili na sustavu. U slučaju rootkita situacija se još više komplicira. Pošto se uspješno skrivaju od operacijskog sustava jedino učinkovito oružje u njihovom otkrivaju je upravo detekcija izmjena koje rade na sistemskim procedurama pa time i datotekama.
AIDE
AIDE, Linux open source alat namijenjen za provjeru integriteta datoteka postoji kao besplatna inačica komercijalnog sustava Tripwire. Iako skromnijih mogućnosti obrade prikupljenih podataka od Tripwirea, AIDE predstavlja dobru platformu za detekciju promjena učinjenih na datotekama. Rad AIDE-a se temelji na stvaranju baze podataka sa sažecima datoteka nabrojanih u konfiguracijskoj datoteci aide.conf. Pod pojmom baza podataka ovdje se podrazumijeva datoteka s izračunatim hashevima. Pored sažetaka, AIDE baza može sadržavati i atribute datoteka kao što su permisije, inode brojevi, useri, grupe, mtime, ctime i drugi. AIDE podržava sha1, md5, rmd160 te još neke manje zastupljene hash algoritme. Nakon generiranja baze hasheva, uputno ju je pohraniti na neki sigurni medij, odvojen od samog sustava.
AIDE ARMS usluga
Kako bi akademskoj zajednici omogućili pohranjivanje AIDE baza na jedno centralno dobro zaštićeno mjesto, CARNet je u suradnji sa SRCE-om razvio uslugu ARMS – AIDE Repository Management Suite. Radi se o sustavu koji čine poslužitelj, namijenjen smještanju AIDE baza i klijent, namijenjen pohranjivanju i dohvaćanju baza s poslužitelja korištenjem mrežne infrastrukture. Poslužitelj se nalazi na adresi https://phobos.carnet.hr. Instalacijom ARMS klijenta dobiva se prostor na poslužitelju i sam AIDE za generiranje hasheva na sustavu. Nakon stvaranja AIDE baze hasheva specificiranih datoteka, uz pomoć klijenta ona se pohranjuje u za to rezervirani prostor na poslužitelju. Na poslužitelj je moguće smjestiti više baza, izlistati sadržaj repozitorija te u svakom trenutku dohvatiti bilo koju od njih. Nakon dohvaćanja referentne baze s poslužitelja, usporedbom te baze i baze hasheva trenutnog stanja dobiva se uvid u eventualne izmjene sustava. Bitno je naglasiti da je ova informacija činjenična i ne otkriva sam uzrok promjene, no, dobiva se početna točka za daljnju analizu sustava.
|