Cilj i ishod predmeta
Cilj predmeta je da studenti steknu teorijska i praktična znanja iz oblasti testiranja bezbednosti softvera, sa fokusom na identifikaciju, analizu i otklanjanje bezbednosnih ranjivosti u softverskim sistemima. Studenti će razumeti ulogu bezbednosti u procesu razvoja softvera, naučiti da definišu bezbednosne zahteve i primene tehnike testiranja u svim fazama životnog ciklusa. Po završetku kursa, studenti će biti osposobljeni da samostalno definišu bezbednosne zahteve, sprovode testove bezbednosti, prepoznaju česte vrste napada, i pripreme izveštaje sa preporukama za unapređenje bezbednosti.
Teorijska nastava
Uvod u bezbednost softvera. Bezbednost u ranim fazama razvoja – definisanje bezbednosnih zahteva i procena rizika. Bezbedan dizajn i arhitektura. Politike i standardi bezbednog razvoja. Najbolje prakse zaštite: kontrola pristupa, validacija podataka, upravljanje sesijama. Osnovni principi testiranja bezbednosti – pristupi i metodologije. Pregled OWASP Top 10 i uobičajenih vrsta ranjivosti: SQL Injection, XSS, CSRF, Buffer Overflow, Race Condition, Backdoor i druge. Alati za statičku i dinamičku analizu. Uvod u reverzni inženjering (Reverse Engineering). Testiranje autentikacije i autorizacije. Bezbednost veb aplikacija i veb servisa. Izrada bezbednosnih izveštaja i komunikacija sa timovima za razvoj.
Praktična nastava
Procena rizika i definisanje bezbednosnih zahteva. Primena alata za testiranje bezbednosti u izabranom programskom jeziku. Analiza ranjivih veb aplikacija. Simulacija i eksploatacija tipičnih ranjivosti. Korišćenje alata kao što su OWASP ZAP, Burp Suite, Nikto, SonarQube. Primena testova na C i Python kodu radi analize ranjivosti. Izrada izveštaja sa nalazima i preporukama za otklanjanje uočenih slabosti.
2 thoughts on “Testiranje bezbednosti softvera”
Comments are closed.