Sigurnost operacijskih sustava i aplikacija

Opis predmeta

U 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

Predavanja

Samostalni zadaci

Laboratorij

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Laboratorijske vježbe 40 % 20 % 0 % 0 %
Sudjelovanje u nastavi 40 % 40 % 0 % 0 %
Međuispit: Pismeni 20 % 20 % 0 %
Završni ispit: Pismeni 20 % 20 %
Ispit: Pismeni 50 % 40 %

Tjedni plan nastave

  1. Uvod. Izazovi razvoja sigurne programske podrške.
  2. Ciklus razvoja sigurne programske podrške.
  3. Modeliranje prijetnji.
  4. Sigurnost Web aplikacija. 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)
  5. Sigurnost Web aplikacija. 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)
  6. Sigurnost baza podataka.
  7. Međuispit
  8. Sigurnosni mehanizmi operacijskog sustava.
  9. Povjerljiva okolina za izvršavanje koda.
  10. Sigurno podizanje sustava, TPM.
  11. Odabir programskog jezika i sigurni programski jezici
  12. Traženje ranjivosti. Statička i dinamička analiza, neizrazito testiranje.
  13. Završni ispit

Studijski programi

Sveučilišni diplomski
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmet profila (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmet profila (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti profila (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti profila (2. semestar)
Izborni predmeti (2. semestar)

Literatura

(.), Software Security: Building Security In,
James N. Helfrich (2018.), Security for Software Engineers, CRC Press
(.), Talukder, Asoke K., and Manish Chaitanya (2018). Architecting secure software systems. Auerbach publications.,

Laboratorijske vježbe

Za studente

Izvedba

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

Ocjenjivanje

88 izvrstan
75 vrlo dobar
63 dobar
50 dovoljan