Ohjelmistokehityksen opiskelijat perehtyvät tietoturvallisuuden monipuoliseen maailmaan

Ohjelmistokehityksen suuntautumisvaihtoehdon valinneet insinööriopiskelijat perehtyvät perusopintojen aikana myös tietoturvallisuuden ihmeelliseen ja monipuoliseen maailmaan. Kurssi on nimeltään Software Information Security Practices [1] tai vapaasti suomennettuna Tietoturvaohjelmointi.

Tunkeutumistestausta ja riskeihin varautumista

Kurssin tavoitteena on oppia ymmärtämään tietoturvan perusteita ja tyypillisiä tietoturvariskejä ja haasteita, joita IT-järjestelmiä suunnitellessa ja ylläpitäessä tulee ottaa huomioon. Kurssilla esitellään ja kokeillaan myös muutamia työkaluja tietoturvapuutteiden etsimiseen ja testaamiseen erilaisista verkkopalveluista ja ohjelmistoista (kuva 1).

Kuva 1. Opettaja demonstroi Powershell Empiren [2] käyttöä Active Directoryn tietoturvapuutteiden etsimiseen ja havainnollistamiseen Kali Linuxilla. Opetustilanne on verkkoluento ja viestintään käytetään Discordia.

Tietoturvallisuudesta

Tietoturvallisuus on käsitteenä erittäin laaja-alainen ja asiayhteystä riippuen saattaa viitata mm. tietoturvajohtamiseen, riskienhallintaan, kryptografiaan, tietoliikenteeseen, fyysiseen turvallisuuteen tai vaikkapa ihmisten manipulointiin. Näin laajassa skaalassa tällaisesta peruskurssista saattaisi tulla kovin pinnallinen tai teoreettinen, ja siksi sisältöä onkin piristetty erilaisin käytännön esimerkein ja harjoitustehtävin.

Kurssin toteutus onkin sekoitus teoriaa, käytännönläheisiä kokeiluja ja havaintojen tekemistä. Tämä on tyypillistä useimmille tietoteknisiä aiheita käsitteleville kursseille Oamkissa.

Opiskelijat laativat kurssin aikana henkilökohtaisen oppimispäiväkirjan, johon kirjataan viikottain vastauksia erilaisiin teoriataustaa käsitteleviin kysymyksiin ja otetaan kuvaruutukaappauksia harjoitustöissä tehdyistä kokeiluista ja havainnoista. Kuvassa 2 on esimerkkisivu oppimispäiväkirjasta.

Kuva 2. Esimerkkisivu oppimispäiväkirjasta. Opiskelija on jo aikaisemmin onnistunut murtautumaan tarkoituksella erilaisia tietoturvahaavoittuvuuksia sisältävään Linux-palvelimeen SQLmapilla [3] tehdyllä hyökkäyksellä ja etäkäyttää nyt murrettua palvelinta web shelliä ja SSH:ta käyttäen.

”Hyvä kurssi, tällainen naabokin tajusi mistä on kyse”

Kurssin sisältö ei ole kuitenkaan vain tunkeutumistestausta, vaan kurssilla pohditaan myös yleisellä tasolla mm. tietoturvan ylläpitoa, riskienhallintaa, haittaohjelmia, kalasteluhyökkäyksiä, tietoturvapoikkeamiin varautumista ja tietoturvan auditointimenettelyitä.

Kurssi pidettiin keväällä 2018 ensimmäisen kerran ohjelmistotekniikkaan suuntautuvana toteutuksena. Kurssin aikaisemmat toteutukset [4] ovat olleet enemmän IP-verkkoihin ja tietoliikenteeseen keskittyneitä. Opetustavaksi valittiin verkkoluennot. Opiskelijat kuvasivat erittäin positiivisessa kurssipalautteessa oppimistaan:

  • Pidän kotona itse paljon omia pieniä servereitä, jotka ovat ihan julkisesti internetissä, ja tämä kurssi avasi silmäni parempaan tietoturvaan.
  • Kavereiden kanssa oppimispäiväkirjan rustaaminen ja miettiminen yhdessä auttoi oppimaan. Discord toimi ihan loistavasti kommunikointialustana (helpompi avata suunsa siellä kuin esim. luokkatilassa). Asiat näytettiin mahtavasti käytännössä ja kaikki asiat selitettiin selviksi. Yleisesti ottaen ehkä parhain kurssi mitä olen kolmen vuoden aikana käynyt, ja tämä myös todisti sen, miten etäopetus oikeasti voi toimia aivan tajuttoman hyvin oikein tehtynä.
  • Kaikki nuo Kali Linux yms. jutut olivat ihan uutta, olin kuullut niistä aiemmin ja asiat kiinnosti, mutta en ollut ehtinyt omatoimisesti niihin perehtyä. Että oli hienoa että nyt pääsi niihin käsiksi. Ja sama homma muidenkin aiheiden suhteen, mm työaseman ”koventaminen”, tietoturvauhkat ja niihin varautuminen, jne.
  • Opin itseasiassa kokonaan uuden tavan ajatella (erityisesti webkehitys) ohjelmistojen toteutusta. Aikaisemmin ei ajatellut kuinka iso osa tietoturva on valmiita sovelluksia. Älysin senkin, että nämä asiat täytyy monesti ottaa huomioon jo sovellusta suunniteltaessa. Ei voi vain koodailla menemään ja lopuksi sitten implementoida tietoturvaa sovellukseen / järjestelmään.

Palautteiden pohjalta kurssin käytännönläheisiä harjoitustehtäviä ja demonstraatioita lisätään seuraavaan toteutukseen ja tietoturvakonseptien teoreettista selittämisosuutta vähennetään hieman.

 

Lisätiedot:

[1] https://tl.oamk.fi/sisp/

[2] https://github.com/EmpireProject/Empire

[3] http://sqlmap.org/

[4] https://tl.oamk.fi/infosec/

 

Saatat pitää myös näistä...

Vastaa