Cilj i ishod predmeta
Upoznavanje sa osnovama bezbednosti računara i računarskih mreža, kao i sa najčešćim problemima u oblasti bezbednosti softvera i načinima njihovog rešavanja. Po završetku kursa, student ima osnovna znanja o sistemima i tehnologijama zaštite savremenih računarskih sistema i mreža, kao što simetrični algoritmi šifrovanja, digitalni potpis i PKI sistemi. Svestan je neophodnosti izrade politika bezbednosti u okviru računarskih sistema. Razume značaj i osnovne koncepte bezbednosti softvera, sposoban je da prepozna najčešće propuste u bezbednosti softvera i da osmisli strategiju izbegavanja ili uklanjanja ovakvih propusta.
Teorijska nastava
Ocenjivanje i tretiranje bezbednosnih rizika. Politika bezbednosti. Fizička bezbednost. Potencijalni napadi. Mogući načini odbrane. Tehnologije zaštite. Protokoli zaštite. Zaštita na aplikacionom, transportnom i mrežnom sloju računarskih mreža. Mrežne barijere i sistemi za sprečavanje i detekciju upada. Softverska i hardverska rešenja zaštite. Problem bezbednosti softvera. Razlozi za pojavu propusta u bezbednosti softvera. Najčešći primeri propusta u bezbednosti softvera, primeri programskog koda i načini za rešavanje opisanih propusta (prepunjenost bafera, ispadanje iz opsega mogućih vrednosti, SQL injekcija, umetanje skripte u veb stranicu). Propusti u praćenju protoka na mreži i bezbednost veb aplikacija. Bezbednost sesija. Tehnike za obezbeđivanje bezbednosti sesija. Sigurno skladištenje i prenos podataka. Kategorizacija za probleme bezbednosti softvera (CWE – Common Weakness Enumeration). Karakteristike programskih jezika, tehnologija i operativnih sistema sa aspekta bezbednosti softvera. Postupci provere sigurnosti softvera. Testiranje bezbednosti (fuzzing).
Praktična nastava
Konfiguracija osnovnih mrežnih protokola i softvera za zaštitu u računarskim mrežama. Testiranje ranjivosti računarskih sistema upotrebom alata otvorenog koda. Analiza baze podataka poznatih ranjivosti i koda za ekploataciju. Primeri programskog koda u kojem postoji problem prepunjenosti bafera ili izlaska iz opsega vrednosti. Vežbe ispravljanja programskog koda radi izbegavanja navedenih problema bezbedbosti. Ilustracija problema SQL injekcije. Vežba implementacije tehnika za prevazilaženje problema SQL injekcije. Implementacija sigurnog izvršavanja sesija. Studija slučaja provere bezbednosti jedne desktop i jedne veb aplikacije koja koristi bazu podataka. Vežbe pisanja i izvršavanja testova bezbednosti softvera.
1 thought on “Bezbednost računarskih sistema”
Comments are closed.