Image for
Naslovnica

Pisanje sigurnog koda

  • Predavanje 15
  • Vježbe 30
  • Samostalni rad 105
Ukupno 150

Naziv predmeta

Pisanje sigurnog koda

Oznaka predmeta

21-02-540

Semestar

2

ECTS

5

Nastavnici i suradnici

Sadržaj i cilj

Ovaj modul upoznaje studente s uobičajenim sigurnosnim slabim točkama i problemima te ih uči kako pisati sigurni kod koji minimalizira moguće vektore napada.

Ovaj je modul namijenjen studentima koji već znaju pisati kod i zainteresirani su za učenje o sigurnosnim izazovima i kako ih ublažiti pisanjem sigurnijeg koda. Vještine stečene na ovom modulu značajno će doprinijeti razvoju studenta kao profesionalca u odgovarajućim područjima.

Stdenti će naučiti:
• O sigurnosnim slabim točkama i sigurnosnim prijetnjama.
• Kako izvršiti statičku analizu koda s trenutnim alatima kako bi se otkrili problemi.
• Kako osigurati komunikaciju između klijenta i poslužitelja web aplikacija.
• O tehnikama prevencije napada ubacivanjem.
• O zaštitnim mjerama za sprečavanje potencijalnih napada koji proizlaze iz nesigurne deserializacije.
• O metodama provjere autentičnosti korisnika kako bi se spriječio neovlašten pristup povjerljivim podacima.

Modul se predaje na programskom jeziku Java. Provjera znanja modula temelji se na rješavanju niza manjih praktičnih zadataka i na pojedinačnim studentskim projektima. U tim projektima studenti moraju stvoriti sigurne aplikacije prema zadanim specifikacijama.

Literatura

Obvezna literatura:
1. Long, F. et al (2013) Java Coding Guidelines: 75 Recommendations for Reliable and Secure Programs. 1st edn. Boston: Addison-Wesley Professional.

Preporučena literatura:
1. Long, F. et al (2011) CERT Oracle Secure Coding Standard for Java. 1st edn. Boston: Addison-Wesley Professional.

Minimalni ishodi učenja

  • Analizirati sigurnosne slabe točke i prijetnje postojećim softverskim rješenjima pomoću određenih alata.
  • Koristiti alat za analizu statičkog koda za otkrivanje problema i generiranje izvješća o tim problemima.
  • Provesti zaštitu komunikacije između klijenta i poslužitelja web aplikacija pomoću standardiziranih tokena.
  • Koristiti tehnike sprječavanja napada ubacivanjem kako bi se proveli zaštitni mehanizmi u web aplikaciji u svrhu spriječavanja ove vrste napada.
  • Primijeniti zaštitne mjere za sprečavanje potencijalnih napada koji proizlaze iz nesigurne deserializacije.
  • Koristiti najbolje prakse za primjenu provjere autentičnosti korisnika kako bi se spriječio neovlašteni pristup povjerljivim podacima.

Željeni ishodi učenja

  • Analizirati sigurnosne slabe točke i prijetnje postojećim klijent-poslužitelj softverskim rješenjima pomoću određenih alata.
  • Koristiti alat za analizu statičkog koda za otkrivanje problema, generiranje izvješća o tim problemima i predlaganje tijeka radnji.
  • Provesti zaštitu komunikacije između klijenta i poslužitelja web aplikacija pomoću standardiziranih tokena, uključujući osvježavanje tokena.
  • Detektirati potrebu i upotrijebiti tehnike sprječavanja napada ubacivanjem kako bi se proveli zaštitni mehanizmi u web aplikaciji u svrhu spriječavanja ove vrste napada.
  • Detektirati potrebu i primijeniti zaštitne mjere za sprečavanje potencijalnih napada koji proizlaze iz nesigurne deserializacije.
  • Koristiti najbolje prakse za primjenu autorizacije korisnika kako bi se spriječio neovlašteni pristup povjerljivim podacima.
Preuzmi vodič za studente
Podijeli: Facebook Twitter