Project 4 - xxxLaajuus (5 cr)
Course unit code: TT00CG68
General information
- Credits
- 5 cr
Objective
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.
Oppimistavoitteet:
• Ymmärtää, miten DevSecOps voidaan integroida ohjelmistokehitysprosessiin.
• Harjoitella GitLabin CI/CD-pipelinejen rakentamista ja optimointia.
• Oppia tietoturvatyökalujen, kuten SAST-, DAST-, ja konttiskannausten, käyttämistä osana projektia.
• Kehittää ongelmanratkaisu- ja automaatio-osaamista käytännön harjoitusten kautta.
Content
Tarkat kurssin aihealueet vaihtelevat vuosittaisten kyberturvallisuuteen kohdistuvien tarpeiden mukaan, mutta käymme läpi tämänkaltaisia aiheita:
Projektin tarkoitus:
Tavoitteena on luoda GitLab-projekti, jossa harjoitellaan DevSecOps-periaatteita seuraavilla osa-alueilla:
1. Automaatiotyökalut ja CI/CD-putket: Kehitetään ja otetaan käyttöön CI/CD-pipeline, joka sisältää sekä kehityksen että tietoturvan tarkistukset.
2. Koodin tietoturva: Käytetään staattisen koodin analysointityökaluja (SAST) ja riippuvuuksien hallintaa (Dependency Scanning) tietoturvariskien tunnistamiseksi.
3. Docker-konttien tietoturva: Rakennetaan ja skannataan Docker-kontteja tietoturvaongelmien varalta.
4. Ylläpito ja monitorointi: Käytetään GitLabin monitorointi- ja auditointityökaluja turvallisuuden ja toiminnan valvontaan.
Materials
Ilmoitetaan kurssin alkaessa, kurssin opetusmateriaaleina käytetään toteutusajankohdan osaamisvaatimuksia tukevia materiaaleja.
Assessment criteria, excellent (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.
Assessment criteria, good (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.
Assessment criteria, satisfactory (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ä
Assessment criteria, approved/failed
Kurssin harjoitustehtävien tekemättä jättäminen, hylätty tenttitulos.
Execution methods
Kurssiin kuuluvat luennot, ohjatut harjoitukset ja pakolliset kurssitehtävät
Accomplishment methods
Kurssin suoritukseen vaaditaan kurssitehtävien ja ohjelmistprojektin suorittaminen.