Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Dizajn sigurnih programskih proizvoda
Design of Secure Software Products
2023/2024
5 ECTSa
Upravljanje sigurnošću i revizija informacijskih sustava 2.0 (PDSSSRIS)
Katedra za razvoj informacijskih sustava
NN
1. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Cilj kolegija
Cilj predmeta Dizajn sigurnih programskih proizvoda je upoznati studente sa ključnim aspektima dizajna arhitekture i strukture sigurnog softvera i mobilnih programskih proizvoda te upravljanjem sigurnošću u procesu razvoja. Predmet uključuje prikaz najboljih praksi inženjerstva sigurnih sustava (softvera, mobilnih aplikacija) kroz sve faze razvoja programskog proizvoda s posebnim naglaskom na fazu dizajna. Kroz kurikulum su pokriveni aspekti sigurnosti koje odnose na sigurnost pojedinih podsustava, ali i njihove integracije i komunikacije te sustava u cjelini.
Preduvjeti
Kolegij nema definirane preduvjete
Norma kolegija
Predavanja
10 sati
Vježbe u praktikumu
10 sati
Seminar
10 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Stapić Zlatko Nositelj Predavanja
Vježbe u praktikumu
Seminar
2
2
2
5
5
5
1
1
1
Vrček Neven Nositelj Predavanja 0 5 1
Sadržaj predavanja
  • Sigurnost programskih proizvoda
    Aspekti sigurnosti programskih proizvoda. Aspekti sigurnosti u praksama programskog inženjerstva. Proaktivan pristup sigurnom razvoju programskih proizvoda. Životni ciklus razvoja sigurnih programskih proizvoda. Modeli zrelosti sigurnosti softvera. Aplikacijska sigurnost. Alati aplikacijske sigurnosti. Ranjivosti softvera.
  • Integracija sigurnosti u životni ciklus proizvoda
    Osnove DevSecOps principa: definiranje ovlasti i odgovornosti u postupku razvoja, puštanja u pogon, održavanja i povlačenja aplikacija i određivanje ovlasti za pristup produkcijskim podacima. Organizacija sigurnog razvoja programskih proizvoda: recenziranje koda, programiranje u paru, automatizirano testiranje prije implementacije, norme za sigurni razvoj i testiranje, norme za verifikaciju razine sigurnosti.
  • Arhitektura sigurnih proizvoda
    Koncepti sigurnosti u dizajnu arhitekture programskih i mobilnih proizvoda. Identifikacija sigurnosnih rizika i ranjivosti softvera na arhitekturnoj razini. Sigurne aplikacijske arhitekture. Sigurne distribuirane arhitekture. Arhitektura otvorenog softvera. Najbolje prakse u dizajnu arhitekture programskih proizvoda i mobilnih aplikacija.
  • Principi dizajna sigurnih proizvoda
    Koncepti dizajna sigurnih sustava: slojevi, apstrakcija, domene sigurnosti, otvoreni i zatvoreni sustavi. Enkapsulacija. Validacija podataka. Validacija ulaznih podataka. Enkripcija izlaznih podataka. Upravljanje iznimkama i logovima. Dobre prakse dizajna sigurnih programskih proizvoda i mobilnih aplikacija.
  • Dizajn i razvoj sigurnih mobilnih aplikacija
    Specifičnosti razvoja mobilnih programskih proizvoda. Sigurnosni aspekti u razvoju mobilnih aplikacija. Sigurnosni aspekti mobilnih aplikacijskih arhitektura i upravljanja podacima. Prakse dizajna i razvoja sigurnih mobilnih aplikacija.
  • Dizajn i razvoj sigurnih više-platformskih sustava
    Sigurnost više-platformskih sustava. Sigurnosni aspekti u razvoju više-platformskih aplikacija. Sigurnosni aspekti više-platformskih aplikacijskih arhitektura i upravljanja podacima. Prakse dizajna i razvoja sigurnih više-platformskih sustava.
  • Sigurnosni aspekti aplikacija za Android
    Android operacijski sustav. Osnovni koncepti razvoja android aplikacija. Arhitektura android aplikacija. Aktivnosti, fragmenti, pozadinski servisi. Sigurnosni rizici android aplikacija. Prakse zaštite sigurnosti kod razvoja za Android. Biblioteke trećih strana.
  • Sigurnosni aspekti aplikacija za iOS
    Operacijski sustav iOS. Osnovni koncepti razvoja aplikacija za iOS. Arhitektura iOS aplikacija. Core OS, Core Services Layer, Media Layer, Cocoa Touch Layer. Sigurnosni rizici iOS aplikacija. Prakse zaštite sigurnosti kod razvoja za iOS. Biblioteke trećih strana.
  • Integracija sigurnih sustava
    Sigurnosni aspekti točaka integracije podsustava u cjelovito rješenje. Integracijski koncepti. Tipovi integracije. Analiza i uklanjanje sigurnosnih rizika.
  • Testiranje i analiza sigurnosti
    Priprema podataka za testiranje: generiranje podataka, anonimizacija, maskiranje. Prakse osiguranje kvalitete. Automatizirano testiranje. Kontinuirana sigurnost. Sigurnost vođena testiranjem. Testiranje u kontekstu DevSecOps-a.
Sadržaj seminara/vježbi
Ishodi učenja kolegija
  • Analizirati i prepoznati potencijalne prijetnje sigurnosti programskog proizvoda
  • Ugraditi i primijeniti aspekte razvoja informacijske sigurnosti u procesu razvoja programskih proizvoda
  • Izgraditi arhitekturu i dizajn programskog proizvoda s ugrađenim elementima sigurnosti
  • Prepoznati, razumjeti i ukloniti sigurnosne prijetnje pri dizajnu i razvoju aplikacija za mobilne platforme
  • Definirati proces testiranja i analize sigurnosti mobilnih programskih proizvoda
Ishodi učenja programa
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • name to translate
  • Primijeniti iskustva dobre prakse prilikom dizajna i implementacije kontrola informacijske sigurnosti u razvoju i implementaciji interneta stvari
  • Analizirati, preporučiti i odabrati sigurnosne zahtjeve prilikom dizajna, razvoja i implementacije IoT rješenja i usluga
  • Primijeniti metodologije procjene i umanjivanja sigurnosnih rizika, te postupke upravljanja rizicima u kontekstu informacijske sigurnosti i zaštite privatnosti
  • Analizirati, procijeniti i unaprijediti odgovarajuća tehnološka i programska rješenja za sigurno IoT okruženje
  • Analizirati, razviti, primijeniti i vrednovati metode i načine zaštite IoT okruženja s ciljem sprečavanja narušavanja njegova integriteta, detekcije neovlaštenih aktivnosti i napada, te uspostave odgovarajućih sigurnosnih kontrola
Osnovna literatura
  • Ransom James, Misra Anmol: Core Software Security: Security at the source. CRC Press, 2014 ili novije izdanje.
Dopunska literatura
  • Rerup Neil, Aslaner Milad: Hands-on Cypersecurity for Architects, Packt publishing 2018. ili novije izdanje.
  • Helfrich James: Security for Software Engineers. CRC Press, 2019 ili novije izdanje.
  • Deogun Daniel, Johnson Den Bergh, Sawanso Daniel: Secure by Design. Manning Publications 2019. ili novije izdanje.
  • Vehnet Julien: Securing DevOps – Security in the Cloud. Manning Publications 2018. ili novije izdanje.
  • Axelrod C. Warren: Engineering Safe and Secure Software Systems. Artech Hose, 2013 ili novije izdanje.
  • Dwivedi Himanshu, Clark Chris, Thiel David: Mobile Application Security: Protecting Mobile Devices and their Applications. McGraw Hill Professional 2010 ili novije izdanje.
  • Chell Dominic, Erasmus Tyrone, Colley Shaun, Whitehouse Ollie: The Mobile Application Hacker's Handbook, Wiley 2015 ili novije izdanje.
  • Elenkov Nikolay: Android Security Internals: An In-Depth Guide to Android's Security Architecture, No Starch Press 2014. ili novije izdanje.
  • Thiel David: iOS Application Security: The Definitive Guide for Hackers and Developers. No Starch Press, 2016 ili novije izdanje
  • Mahfuz Sayed Abu: Software Quality Assurance – Integrating Testing, Security and Audit. CRC Press 2016 ili novije izdanje.
  • Merkow Mark S., Raghavan Lakshmikanth: Secure and Resilient Software Development, CRC Press, 2010 ili novije izdanje.
  • Viega John, McGraw Gery: Building Secure Software: How to avoid Security Problems the Right Way. Addison-Wesley 2002 ili novije izdanje.
Slični kolegiji
Redoviti studenti Izvanredni studenti
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2024 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda