Projekti 4 - Ohjelmistojen kyberturvaLaajuus (5 op)
Tunnus: TT00CG68
Laajuus
5 op
Osaamistavoitteet
Kurssin päätteeksi opiskelija tunnistaa nimeltä yleisimmät tietoturvaongelmat, sekä osaa kertoa keinoja, joilla nämä ongelmat voidaan korjata tai niiden syntyminen voidaan estää. Opiskelija pystyy tunnistamaan yksinkertaisesta lähdekoodista potentiaalisia tietoturvaongelmia, havainnollistaa niiden toiminnan käytännössä, sekä korjata ne. Opiskelija osaa toteuttaa DecSecOps -prosessimallin mukaisen testauksen. Opiskelija osaa testata ohjelmakoodin sisältämät avoimen lähdekoodin riippuvuudet ja niihin mahdollisesti sisältyvät haavoittuvuudet.
Sisältö
Tarkat kurssin aihealueet vaihtelevat vuosittaisten kyberturvallisuuteen kohdistuvien tarpeiden mukaan, mutta käymme läpi tämänkaltaisia aiheita:
* Puskurin ylivuoto
* Erilaiset injektiohyökkäykset
* Käyttöoikeuksien ongelmat
* Salasanojen säilytys ja autentikointi
* Avoimen lähdekoodin riippuvuudet ja niiden mahdolliset haavoittuvuudet
* CI/CD pipeline testaus ml. tietoturvatestaus
* Docker konttien hyödyntäminen tieto- ja kyberturvatestauksessa
* Gitlab runner asennus ja käyttöönotto
* DevSecOps -kurssilla opittujen taitojen hyödyntäminen testitapausten kirjoittamisessa
* Syötetiedon oikeaoppinen jäsentäminen.
Oppimateriaalit
Ilmoitetaan kurssin alkaessa, kurssin opetusmateriaaleina käytetään toteutusajankohdan osaamisvaatimuksia tukevia materiaaleja.
Arviointikriteerit, kiitettävä (5)
Kurssi arvioidaan tentin sekä kurssitehtävien laadun ja ajoissa palautettujen harjoitustehtävien mukaan. Mikäli suoritus perustuu harjoitustyöhön, arviointi tehdään sen perusteella.
Arvosanaan vaikuttaa myös tehtävien palautus ajoissa ja muut erityiset näytöt esimerkiksi yrityslähtöisessä harjoitustyössä.
Arvosana 5 annetaan opiskelijoille, joilla on yksityiskohtainen ymmärrys kurssilla esitellyistä tietoturvaongelmista ja jotka ovat käytännön ongelmissa ja ohjelmiston tietoturvatestauksesta suoriutuneet erinomaisesti.
Arviointikriteerit, hyvä (3)
Arvosana 3 tai 4 annetaan opiskelijoille, jotka ymmärtävät kurssilla esitellyt tietoturvaongelmat sillä tasolla, että kykenevät käytännössä korjaamaan niistä ainakin yksinkertaisimmat haavoittuvuudet ja osaavat esimerkkien avulla suorittaa CI/CD pipeline testauksen.
Arviointikriteerit, tyydyttävä (1)
Arvosana 1 tai 2 annetaan opiskelijoille, jotka lähinnä tunnistavat nimeltä kurssilla käsitellyt tietoturvaongelmat ja osaavat yleisellä tasolla kertoa, miten niiltä suojaudutaan. Lisäksi vaaditaan näyttöä edes vähäisestä asioiden käytäntöön viemisestä
Arviointikriteeri, hyväksytty/hylätty
Kurssin harjoitustehtävien tekemättä jättäminen, hylätty tenttitulos.
Ilmoittautumisaika
30.12.2024 - 26.01.2025
Ajoitus
01.01.2025 - 31.07.2025
Opintopistemäärä
5 op
Toteutustapa
Lähiopetus
Yksikkö
Teknologia
Opetuskielet
- Suomi
Koulutus
- Tieto- ja viestintätekniikan koulutus
Opettaja
- Eero Huusko
- Mikko Romppainen
Ryhmät
-
TTV23SRAATTV23SRAA
Tavoitteet
Kurssin päätteeksi opiskelija tunnistaa nimeltä yleisimmät tietoturvaongelmat, sekä osaa kertoa keinoja, joilla nämä ongelmat voidaan korjata tai niiden syntyminen voidaan estää. Opiskelija pystyy tunnistamaan yksinkertaisesta lähdekoodista potentiaalisia tietoturvaongelmia, havainnollistaa niiden toiminnan käytännössä, sekä korjata ne. Opiskelija osaa toteuttaa DecSecOps -prosessimallin mukaisen testauksen. Opiskelija osaa testata ohjelmakoodin sisältämät avoimen lähdekoodin riippuvuudet ja niihin mahdollisesti sisältyvät haavoittuvuudet.
Sisältö
Tarkat kurssin aihealueet vaihtelevat vuosittaisten kyberturvallisuuteen kohdistuvien tarpeiden mukaan, mutta käymme läpi tämänkaltaisia aiheita:
* Puskurin ylivuoto
* Erilaiset injektiohyökkäykset
* Käyttöoikeuksien ongelmat
* Salasanojen säilytys ja autentikointi
* Avoimen lähdekoodin riippuvuudet ja niiden mahdolliset haavoittuvuudet
* CI/CD pipeline testaus ml. tietoturvatestaus
* Docker konttien hyödyntäminen tieto- ja kyberturvatestauksessa
* Gitlab runner asennus ja käyttöönotto
* DevSecOps -kurssilla opittujen taitojen hyödyntäminen testitapausten kirjoittamisessa
* Syötetiedon oikeaoppinen jäsentäminen.
Oppimateriaalit
Ilmoitetaan kurssin alkaessa, kurssin opetusmateriaaleina käytetään toteutusajankohdan osaamisvaatimuksia tukevia materiaaleja.
Arviointiasteikko
0 - 5
Arviointikriteerit, kiitettävä (5)
Kurssi arvioidaan tentin sekä kurssitehtävien laadun ja ajoissa palautettujen harjoitustehtävien mukaan. Mikäli suoritus perustuu harjoitustyöhön, arviointi tehdään sen perusteella.
Arvosanaan vaikuttaa myös tehtävien palautus ajoissa ja muut erityiset näytöt esimerkiksi yrityslähtöisessä harjoitustyössä.
Arvosana 5 annetaan opiskelijoille, joilla on yksityiskohtainen ymmärrys kurssilla esitellyistä tietoturvaongelmista ja jotka ovat käytännön ongelmissa ja ohjelmiston tietoturvatestauksesta suoriutuneet erinomaisesti.
Arviointikriteerit, hyvä (3)
Arvosana 3 tai 4 annetaan opiskelijoille, jotka ymmärtävät kurssilla esitellyt tietoturvaongelmat sillä tasolla, että kykenevät käytännössä korjaamaan niistä ainakin yksinkertaisimmat haavoittuvuudet ja osaavat esimerkkien avulla suorittaa CI/CD pipeline testauksen.
Arviointikriteerit, tyydyttävä (1)
Arvosana 1 tai 2 annetaan opiskelijoille, jotka lähinnä tunnistavat nimeltä kurssilla käsitellyt tietoturvaongelmat ja osaavat yleisellä tasolla kertoa, miten niiltä suojaudutaan. Lisäksi vaaditaan näyttöä edes vähäisestä asioiden käytäntöön viemisestä
Arviointikriteeri, hyväksytty/hylätty
Kurssin harjoitustehtävien tekemättä jättäminen, hylätty tenttitulos.
Esitietovaatimukset
Osallistujan täytyy osata ohjelmoida C - , C# - ja Python ohjelmointikielillä ja osata lukea akateemista, englanninkielistä tekstiä.Käyttöjärjestelmien ja verkkoliikenteen osaaminen on ehdoton edellytys.