150 likes | 249 Views
Zagreb, srpanj 2008. Primjena genetskih algoritama u postupku otkrivanja propusta protokola. Branko Spasojević Mentor: doc.dr.sc. Marin Golub. Sadržaj. Sigurnosni propust Protokol Primjena GA u analizi sigurnosti Populacija Dobrota Selekcija GAzzy. Sigurnosni propust.
E N D
Zagreb, srpanj 2008. Primjena genetskih algoritama u postupku otkrivanja propusta protokola Branko Spasojević Mentor: doc.dr.sc. Marin Golub
Sadržaj • Sigurnosni propust • Protokol • Primjena GA u analizisigurnosti • Populacija • Dobrota • Selekcija • GAzzy
Sigurnosni propust • Svaki programski nedostatak koji pogoduje napadaču na način koji nije predviđen normalnom uporabom programa • Kategorije: • Preljevanje spremnika • Cjelobrojni preljevi • Greške formatiranog ispisa • Greške obrade • ...
Sigurnosni propust • Otkrivanje • Grupiranje propusta u klase, po načinu testiranja • Korištenje generaliziranih testnih primjera usmjerenih otkrivanju pojedinih klasa ranjivosti • Iskorištavanje heurističkih pretpostavki sintakse protokola
Protokol • Naziv za konvenciju ili standard koji osigurava povezivanje, komunikaciju i razmjenu podataka dvaju ili više krajeva • Zahtjevi • Otvoren protokol • Dostupan primjer sjednice
Primjena GA u analizi sigurnosti • Fuzzing • Black-box testiranje • Ne poznaje sintaksu protokola • Generira nasumične testne primjere • GA • Usmjerava pretraživanje “beskonačnog” prostora testnih primjera • Omogućava posredno učenje sintakse protokola
GA - Populacija • Skup potencijalnih rješenja problema tj. sjednica koje demonstriraju propust implementacije protokola • Jedinke • Sjednice protokola • Nizovi paketa
GA - Dobrota • Tradicionalni pristup • Pokrivenost osnovnih blokova • Pokrivenost funkcija • Heuristička ocjena pokrivenosti funkcija • Bodovanje funkcija na temelju kompleksnosti i predispozicija prema pojedinim klasama ranjivosti
GA - Selekcija • Eliminacijska turnirska selekcija • Stvaranje jedinki • Kombiniranje • Križanje • Kloniranje • Mutacija
GAzzy • DEMO
Zaključak • Malo složeniji postupak izgradnje od tradicionalnog fuzzera uz puno veću ekspresivnost testnih primjera i osjetljivost na sintaksu protokola • Modularnost • GA je neovisan o sustavu praćenja programa • Proširenje mogućnosti ispitivanja jednostavnim dodavanjem novih mutacija
Kraj Pitanja???