Sigurnost operacijskih sustava i aplikacija

Opis predmeta

U ovom predemtu studenti će se upoznati sa problemima razvoja sigurne programske podrške te ranjivostima koje nastaju ako se o tome ne vodi računa. Studenti će biti upoznati sa mehanizmima sklopovlja i operacijskih sustava koji omogućavaju da se ranjivosti spriječe, odnosno da ih je teže iskoristiti. Također, u predmetu se studenti upoznaju s metodama pronalaska ranjivosti u programskoj podršci statičkom i dinamičkom analizom.

Ishodi učenja

  1. opisati opasnosti koje prijete od ulazna programa
  2. odabrati metode za traženje ranjivosti u aplikaciji
  3. analizirati prednosti i mane programskih jezika po pitanju sigurnosti
  4. analizirati prijetnje koje proizlaze iz sklopovlja te kako se zaštiti

Oblici nastave

Predavanja

Samostalni zadaci

Laboratorij

Tjedni plan nastave

  1. (en) Information flow control
  2. Provjera ulaza i sanacija podataka, Primjeri pogrešaka u provjeri ulaza i sanaciji podataka (prepisivanje spremnika, greške cjelobrojne aritmetike, ubacivanje programskog koda SQL, XSS)
  3. (en) Static analysis and dynamic analysis
  4. (en) Fuzzing
  5. (en) Program verification
  6. (en) Correct usage of third-party components
  7. Međuispit
  8. Podrška operacijskog sustava (primjerice slučajno raspršivanje adresnog prostora)
  9. (en) Trusted path
  10. Odabir programskog jezika i sigurni programski jezici
  11. Završni ispit

Studijski programi

Sveučilišni diplomski
Audiotehnologije i elektroakustika (profil)
Slobodni izborni predmeti (2. semestar)
Automatika i robotika (profil)
Slobodni izborni predmeti (2. semestar)
Elektroenergetika (profil)
Slobodni izborni predmeti (2. semestar)
Elektroničko i računalno inženjerstvo (profil)
Slobodni izborni predmeti (2. semestar)
Elektronika (profil)
Slobodni izborni predmeti (2. semestar)
Elektrostrojarstvo i automatizacija (profil)
Slobodni izborni predmeti (2. semestar)
Informacijsko i komunikacijsko inženjerstvo (profil)
Slobodni izborni predmeti (2. semestar)
Komunikacijske i svemirske tehnologije (profil)
Slobodni izborni predmeti (2. semestar)
Programsko inženjerstvo i informacijski sustavi (profil)
Izborni predmet profila (2. semestar)
Računalno inženjerstvo (profil)
Izborni predmet profila (2. semestar)
Računalno modeliranje u inženjerstvu (profil)
Slobodni izborni predmeti (2. semestar)
Računarska znanost (profil)
Izborni predmeti profila (2. semestar)
Znanost o mrežama (profil)
Izborni predmeti profila (2. semestar)
Znanost o podacima (profil)
Slobodni izborni predmeti (2. semestar)

Literatura

(.), John Viega and Gary McGraw. 2011. Building Secure Software: How to Avoid Security Problems the Right Way (Paperback) (Addison-Wesley Professional Computing Series) (1st ed.). Addison-Wesley Professional.,
(.), Helfrich, James N. (2018) Security for Software Engineers. Chapman and Hall/CRC.,
(.), Talukder, Asoke K., and Manish Chaitanya (2018). Architecting secure software systems. Auerbach publications.,

Za studente

Izvedba

ID 222777
  Ljetni semestar
5 ECTS
R0 Engleski jezik
R1 E-učenje
45 Predavanja
12 Laboratorijske vježbe

Ocjenjivanje

izvrstan
vrlo dobar
dobar
dovoljan