TTY / TLT / J.Koskinen
TLT-3200 Tietoturvallisuuden jatkokurssi
Harjoitukset 2005-2006

1. Harjoitus 20.10.2005

  1. 1. Kotitehtävä: Lue Käyttäjän tietoturvaohje (VAHTI 5/2003). Minkälainen tietoturvan prosessi siinä ilmenee? Erityisesti mitä piirteitä on riskienhallinnasta kustannusvertailuineen ja baseline-lähestymistavasta? Millaisia tietoturvapolitiikkoja ja muita säännöksiä siinä esiintyy? Mitkä ohjeet ovat sellaisia, joita et ennen ole kuullut tai tullut ajatelleeksi?

  2. Keksi jokin tapa jäsentää tietoturvauhkia ja piirrä niistä sen mukainen käsitekartta.

  3. Etukäteen on jaettu vanha Tietoturvallisuuden perusteiden rastitentti. Tehdään samalla kertaa seuraavat tarkastelut:
    a) Luokitellaan tehtävät uhkien käsitekarttaan. Arvioidaan jakaumaa ja katsotaan mitä jää yli.
    b) Etsitään A-osasta joitakin tehtäviä, joiden aihe sisältyy Käyttäjän tietoturvaohjeeseen, mutta jotka menevät sitä pidemmälle.
    c) Keskustellaan millaista osaamista tehtävien oikea ratkaiseminen edellyttää ja edistää. Suhteutetaan tätä siihen, millaista osaamista tietoturva-alalla yleensä ja nyt alkaneella kurssilla erityisesti pitäisi tavoitella.
    d) Poimitaan tehtävistä sellaisia, joissa väärä vaihtoehto ei eroa tarpeeksi oikeasta. Kehitetään näihin jokin muunnelma, jossa ongelma on korjattu.

  4. Onko palomuurin tai vastaavan verkkoliikennettä suodattavan järjestelmän toiminta sellaista, jota voi kuvata Bell-LaPadulan mallilla?

  5. Mitä tolkkua olisi sellaisessa politiikassa, joka sallisi toimijan lukea kahdesta tiedosta kumman vain, mutta ei molempia? Jos tällaista pitäisi jostain syystä mallintaa Bell-LaPadulan tyyppisesti, mitä operaatioita ehkä tarvittaisiin?

  6. Tarvitseeko Delta-CRL -tekniikassa ilmoittaa etukäteen, milloin uusi koko-CRL julkaistaan?

  7. Vertaile uhkia varmentajan julkaiseman CRL:n ja peruutustietopalvelimen (OLRS:n) välillä.

  8. Kehittele tarkemmaksi ajatus, jossa sulkulistalla ilmoitetaan ensimmäisen voimassaolevan varmenteen sarjanumero (joka voi sisältää myös myöntöpäivämäärän) ja sitä suuremmat peruutetut varmenteet. Luentotekstissä järjestelmää kuvattiin näin: "Ensimmäisen voimassaolevan varmenteen systeemi" jota voidaan käyttää nousevasti numeroitujen ilman erillistä voimassaoloaikaa toimivien varmenteiden tapauksessa. Sulkulistalta saadaan vanhoja pois kun samalla lopetetaan sopivasti joidenkin muiden voimassaolo."

2. Harjoitus 27.10.2005

  1. Mitä varmentaja voi tehdä ja varmennepolitiikassa vakuuttaa tekevänsä torjuakseen ongelmia, joita "10 PKI-riskin" artikkelissa esitetään? (linkki siihen ja referaatti) Mitkä niistä eivät yleensä edes ole ongelmia?

  2. Kotitehtävä: Tutustu Sähköisten palveluiden ja asioinnin tietoturvallisuuden yleisohjeeseen. LUE siitä ainakin luku "2 Yhteenveto" ja liitteet 2 ja 3. Liitteessä 3 kartoitetaan uhkia. Vertaa tätä viime kerran harjoituksessa luonnostelemaasi yleiseen uhkakarttaan.

  3. Tarkastellaan yhdessä em. VAHTI-ohjetta laajemmin.
    a) Varustetaan yhteenvetoluku 2 viitteillä muihin kohtiin.
    b) Haetaan ohjeesta sellaisia seikkoja, jotka {ovat|eivät ole} erityisen merkityksellisiä kaupallisille sähköisille palveluille.
    c) Tuleeko mieleesi sähköiseen kauppaan liittyviä turvatarpeita, jotka tämän ohjeen perusteella saattaisivat unohtua?

  4. Kotitehtävä: Tutustu johonkin anonymisoivaan proxy-palveluun (esim. luennossa mainitun osoitteen kautta.) Millainen on hinnasto? Onko tarjolla seittiselauksen lisäksi sähköpostipalvelua? Millaisia takeita palvelu antaa luotettavuudestaan?

  5. Piirrä kaavio nimeämiseen liittyvistä tietoturvanäkökulmista ja ota mukaan anonymiteetin jaottelut.

  6. Miten asiakkaan viesti MIXerille pitää rakentaa, jos halutaan että palvelimen vastaus ei käytä julkisia avaimia, mutta vastauksen tiedot eivät paljastu MIXerille?

  7. Jos lähteen ja kohteen välissä olisi vain yksi sipulireititin, niin miten järjestelmä (luennolla kuvatulla tarkkuudella) eroaisi MIXeristä?

  8. Kotitehtävä: Tutustu Creative Commons -lisenssin sivustoon. Laadi itsellesi jokin muu kuin Public Domain lisenssi Suomen lain mukaan ja katso millaisilta sen kolme muotoa näyttävät. Tarkasta erityisesti, mihin sijoittuvat teoksesta, tekijästä ja ajankohdasta antamasi tiedot. Mitä ovat suomeksi keskeiset termit 'Attribution', 'Noncommercial', 'No Derivative Works' ja 'Share Alike'? Mitä muita vastaavia termejä löydät ja miten nämä kaikki jakautuvat RDF-kuvauksissa luokkiin sallitut, kielletyt ja vaaditut toimet?

  9. Keksi esimerkkejä erilaisista tilanteista, joissa itse voisit käyttää kutakin Creative Commons -lisenssin peruspiirrettä. Mikä olisi sopivin lisenssi kurssin harjoitustyölle ja miten se pitää merkitä?

3. Harjoitus 3.11.2005

  1. Kotitehtävä: Tutustu Ross Andersonin laajaan dokumenttiin 'Trusted Computing' Frequently Asked Questions. Sieltä ei löytyne termiä Trusted platform module, vaan mitä nimeä sirusta käytetään? Joko sellainen on markkinoilla? Mitä sanotaan sen murrettavuudesta? Liittymäkohtana käyttöjärjestelmiä koskeviin luentoihin lue myös lyhyt jakso "7. Where did the technical ideas come from?"

  2. Olisiko digitaalisten tallenteiden standardeihin voitu ottaa mukaan jonkinlainen kopiosuojausmekanismi? Mitä annettavaa Trusted Computing -hankkeella olisi kopiosuojalle?

  3. Oletetaan, että sinulla on lähtökohtana jokin yli 8-kirjaiminen suomenkielinen sana, esim. 'lukemiseen'. Sitten korvaat vokaalit joillain erikoismerkeillä, vaihdat konsonanteista jotkin (esim. toisen ja kolmannen) isoiksi ja katkaiset kahdeksan merkin jälkeen. Tulos voisi olla 'l>K.M&s+'. Se on vahva salasana, ja käytettävyyskin on hyvä, jos kirjoitat lapulle näin:   '>.&+*\ toinen kolmas kuudes',  missä '*\' ja 'kuudes' ovat hämäystä. Jos tämäntapainen lappu päätyy hyökkääjän haltuun ja hän tietää systeemisi, mutta ei pohjana olevaa sanaa, minkä verran hänellä on arvaustyötä jäljellä suhteessa siihen, paljonko 8-kirjaimisia suomenkielisten sanojen alkuosia on?

  4. Suunnittele varmuuskopioinnin nauhojen kierto ja piirrä kaavio tilanteesta, jossa tietystä tietojärjestelmän osasta on kullakin hetkellä tallella

    Miten nauhat kannattaisi merkitä? Jos nauhojen uusimista ei oteta huomioon, montako nauhaa tarvitaan vuodessa?

  5. Jos Hanoin tornisysteemissä on neljä tasoa eikä mitään nauhaa arkistoida (eli nauhojakin on neljä), miten vanha kopio kulloinkin on tallella ja mitkä tiedot viimeksi kuluneelta viikolta? Miten tilanne muuttuu, jos nauhoja on viisi? Kuusi? Voisiko järjestelmää muokata niin, että se vastaisi lähemmin edellisessä tehtävässä saavutettavia ominaisuuksia?

  6. Kotitehtävä: Laadi luentojen ja/tai Tietoteknisten laitetilojen turvallisuussuosituksen perusteella konehuoneiden turvajärjestelyistä tiivis tarkastuslista, joka soveltuisi TLT-laitoksen tarpeisiin. (Tämä tehtävä koskee myös ja enimmäkseen muita osa-alueita kuin materiaalissa oleva LUE-tehtävä.)

  7. Tarkastellaan yhdessä ja mahdollisesti muokataan laadittuja listoja. Käydään lopuksi TLT-laitoksella olevassa konehuoneessa tekemässä "tarkastus".

4. Harjoitus 10.11.2005

  1. Tarkastelun kohteena ovat olleet luotettavat ja turvalliset käyttöjärjestelmät. Laadi taulukko käsitteiden turvallinen ja luotettava eroavuuksista, mm. seuraavissa ulottuvuuksissa: mitta-asteikko, kenen/minkä ominaisuus, peruste, suhteellisuus, miten kehittyy.

  2. Kaiva esille kaikki toiminnot, joiden tiedät kuuluvan käyttöjärjestelmään ja sijoita ne turvallisuuden kannalta pinoon, jonka alla on vain laitteisto ja päällä käyttäjän prosessit (siis esim. laskennan tai tekstinkäsittelyn ohjelmat). Miten voisi saada aikaan 16 tasoa kuten PSOS-järjestelmässä ja VAX VMM -ytimessä, tai 8 kuten Multicsissa, tai 4 kuten normaalissa VAX-järjestelmässä. Erityisesti mitä uhkia voitaisiin torjua sillä, että jotkin kaksi tiettyä toimintoa ovat eri tasoilla?

  3. Hakusanalla "secure operating system" löytyy yli 100 000 verkkosivua. Tässä on lainaus kahdelta sellaiselta. Arvioi termin "turvallinen käyttöjärjestelmä" sisältöä näissä tapauksissa.

    www.smoothwall.org: "SmoothWall Express is an open source firewall distribution based on the GNU/Linux operating system. Linux is the ideal choice for security systems; it is well proven, secure, highly configurable and freely††† available as open source code. SmoothWall includes a hardened subset of the GNU/Linux operating system, so there is no separate OS to install. Designed for ease of use, SmoothWall is configured via a web-based GUI, and requires absolutely no knowledge of Linux to install or use."

    www.trustix.net, Trustix Security Implementation luku 3.3 The TSL approach:

    The TSL approach to security is quite simple and can be summarized into these main points:

    1. Quick security updates - The TSL team consider the necessity of being updated at any time crucial. With this in mind they developed the swup software updater tool. swup enables users to automatic keep up to date with the current security and bug fix updates. swup is one of the most versatile update tools in the Linux world.
    2. Stack protection - delivers effective buffer overflow detection and avoids the corruption of pointers by re-ordering local variables to place buffers after pointers.
    3. Always updated installation media - The usability of the distribution is also a main criteria for the TSL team. To achieve this the downloadable installation media are always up to date with the rest of the distribution, thus making life of the user that much simpler.
    4. Secure default installation - Even if the user choose to install every package in the TSL distribution, the installed system will not enable any services to listen on input from the outside world, thus making it virtually impossible to break in to. Following this aspect, the TSL distribution have never had a remote hole in the default installation.
    5. Secure default configurations - TSL supplies secure default configurations to all included services to ensure that the users wont get any unwanted surprises. This makes it much easier for new users to explore their system, as the chance of doing something very wrong, security wise is greatly reduced.
    6. Open Source Projects - TSL is totally based on open source software. The positive results in using open source software has been quite under estimated over the years, but today there can be no doubt in the fact that the open source development model is the most secure development model known to man.

  4. Käsitellään rinnakkain kahta VAHTI-ohjetta: Valtionhallinnon tietoaineistojen käsittelyn tietoturvallisuusohje (2/2000) ja Arkaluonteiset kansainväliset tietoaineistot (4/2002). Edelliseen tutustuminen (s. 9-19) olkoon kotitehtävänä. Käydään ohjeita läpi valitsemalla muutama tietoturvamenettely kustakin tiedon elinkaaren vaiheesta (synty, siirto, käsittely, hävitys) ja tutkitaan vertaillen, mitä vaatimuksia ohjeet asettavat menettelyjen suhteen eri turvaluokissa. Kootaan tuloksia taulukoksi tai kaavioksi.

  5. Muokataan ja täydennetään taulukosta runko tietoaineisto-ohjeeksi monialaiselle isolle yritykselle, jolla on useita toimipaikkoja, kansainvälisiä liikekumppaneita yms. Missä määrin edelleen korostuu salassapito?

  6. Millaisia ylimääräisiä kustannuksia ja ongelmia tietoaineistojen salassapito aiheuttaa?

  7. Oikeuksien myöntäminen ja myöhempi peruminen SQL:ssä voi muodostua mielenkiintoiseksi, jos käytetään delegointia. Oletetaan, että A omistaa taulun ja myöntää delegoituvan lukuoikeuden B:lle ja C:lle. Kumpikin näistä käyttäjistä myöntää delegoituvan oikeuden D:lle, joka lopuksi myöntää oikeuden B:lle. Millaisia tilanteita syntyy kun A peruu oikeuksia?

    Luennon esitykseen täytyy mainita pieni täydennys. Kukaan ei pysty peruuttamaan muita oikeuksia kuin niitä, jotka itse on myöntänyt ja joita delegaatit ovat myöntäneet. Jälkimmäisiä ei voi peruuttaa suoraan, vaan ainoastaan välillisesti eli sen kautta, jolle ne on itse myöntänyt. Siihen tarvitaan käsky "REVOKE oikeus FROM x CASCADE", josta CASCADE-määreen voi kuitenkin jättää pois. Jos sen sijalle kirjoittaa RESTRICT, käsky tuottaa virheen, jos x on myöntänyt oikeuksia edelleen.

5. harjoitus 17.11.2005

Harjoitus pidetään TLT:n työasemaluokassa TC221, jossa on sekä Windows- että Linux-koneita. Tehtävät ovat pitkälti muilla kursseilla ja tietokoneen käytössä omaksutun kertaamista tietoturvanäkökulmasta ja kotitehtävänä on käydä ne jommallakummalla alustalla läpi. Vaikka asiat olisivat tuttuja molemmissa ympäristöissä, suositellaan harjoitukseen osallistumista vertaistuutorin roolissa. Kaikille asiat eivät ole jokapäiväisiä ja opettamalla voi tutuistakin asioista havaita uusia puolia.

Yleisesti: Kurssimateriaalissa on tekstit "Käyttäjäläheistä käyttöjärjestelmää; esim. Unix" ja "Turvajärjestelyjä Windows NT:ssä". Etsi käytössäsi olevasta koneesta kaikki mahdolliset teksteissä mainitut piirteet. Toimi sekä ylläpitäjänä että tavallisena käyttäjänä. Toimittuasi ja välillä törmättyäsi pääsynvalvontaan käy katsomassa, mitä lokitietoja on kertynyt. Ainakin Windowsissa löytänet myös tavan asettaa, mitä kerätään.

Erityisesti: Harjoituksen tavoitteena on tutustua käyttäjähallintoon koneessa, jossa on useita käyttäjiä -- ottamatta kantaa mistä käsin he konetta käyttävät. Lähinnä keskitytään toimiin, joilla tiedostojärjestelmän pääsynvalvontaa säädetään. Seuraavassa on joitakin tehtäviä, joita voit myös varioida tai laajentaa.

Luo käyttäjiä: a(ino), b(ertil), c(indy), d(avid)
Aseta salasanat (saa olla sama ja helppo), kotihakemistot sekä profiilit ryhmien 'perus' ja 'jatko' perusteella.
Luo ryhmiä: perus={a,b}, jatko={c,d}, proj={b,c}

Luo hakemistoja: x/, x/z/, y/
ja jokaiseen niistä tiedostoja: f, x/fx, x/z/fz, y/fy.
Kopioi nämä käyttäjän a kotihakemistoon hänen omistukseensa, ryhmänä 'perus'. Millaisiksi muodostuvat käyttöoikeudet? Kaikilla pitäisi olla x-oikeus hakemistoihin.

Tee vastaavat tiedostot käyttäjänä b siten, että ryhmällä 'perus' on hakemiston b/x alla lukuoikeudet ja hakemistoon b/x/z/ kirjoitusoikeudet.

Tee vastaavat tiedostot käyttäjänä c. Anna b:lle lukuoikeus tiedostoon f mutta älä muihin. Anna kaikille oikeus lukea hakemistoa y.

Lue a:na tiedosto b/x/z/fz. Editoi sitä ja kirjoita takaisin, jos voit. Mitkä oikeudet sillä nyt on? Kopio jokin tiedosto tuohon hakemistoon. Mitkä oikeudet? Tuhoa ne tiedostot, mitkä voit. (Oletko Windowsissa voinut b:nä myös erikseen estää tuhoamisen?)

Tutki, mitä pääset a:na ja b:nä lukemaan c:n hakemistoista.

Keksi itse jotain "mielenkiintoista" tekemistä d:nä; kokeile esim. oikeuksien periyttämistä hakemistoja ja niiden tiedostoja luotaessa (umask- tai Windows-mekanismeilla). Unixissa tee ajettava tiedosto, joka sisältää komentotulkin kutsun. Tee tästä SUID-ohjelma ja anna kaikille oikeus ajaa se. Aja sitä esim. a:na ja kirjoita jokin tiedosto. Katso, mitkä tiedot se saa.

6. harjoitus 24.11.2005

  1. RAID-levystön luotettavuutta voidaan arvioida yksinkertaistaen tarkastelemalla MTBF-arvoa eli odotusarvoa vikaantumisten väliajalle (mean time between failures). Sen käänteisluku on vikaantumistiheys ja kun levyt vikaantuvat toisistaan riippumatta (ainakin niillä RAID-tasoilla joilla levyjä kuormitetaan tasaisesti) kokonaisuuden vikaantumistiheys saadaan sen osien tiheyksien summana. Jos yhden levyn MTBF on puoli miljoonaa tuntia, niin mikä on nelilevyisen RAID-järjestelmän MTBF (jos muut osat jätetään huomiotta)?

    Yhdistetyillä RAID-tasoilla 01 ja 10 voidaan käyttää neljää samanlaista levyä. Miksi näitä mekanismeja em. laskelmasta huolimatta pidetään luotettavampina kuin yhtä levyä? Mitä luotettavuus siis tarkoittaa? Kumpi on parempi siinä suhteessa, 01 vai 10 ja miksi? (Lähteenä The PC Guiden RAID-esittelyn sivu "0+1 ja 1+0" -- näistä tasoista on myös sivulla "X+Y ja Y+X".)

  2. Kotitehtävä: Tutustu salaavan tiedostojärjestelmän toimintaan käytössäsi olevalla koneella. Tarkastele tiedostojen siirtämistä ja kopiointia sekä oikeuksien antamista muille käyttäjille. Ota selvää miten salasanasi vaikuttaa EFS-järjestelmässä olevaan julkiseen avaimen systeemiin.

  3. Kotitehtävä: Etsi salauskäytäntöjen VAHTI-ohjeen (3/2001) luvusta 4 asioita, joita kurssilla ei ole tullut esille.

  4. Seuraavassa on kopioituna em. VAHTI-suosituksesta yksi kappale sivulta 11. Se on luvusta "2 Suositukset", alaluvusta "2.3 Salauskäytännöt eri käsittelyvaiheissa", alakohdasta "Viranomaisten ja kansalaisten / asiakkaiden välinen yhteydenpito" ja johdantona sillä on "Esimerkkejä mahdollisista tuotteista on lueteltu seuraavassa:"
    Siirrettävien tietoaineistojen luottamuksellisuuden ja usein myös eheyden turvaamiseen voidaan käyttää toimikorttipohjaista (varmennesiru) ratkaisua, esimerkiksi henkilön sähköinen todentamisen teknologiaa. Toimikorttiratkaisun (varmennesiru) sijasta tai lisäksi voidaan käyttää käyttöjärjestelmiin tai selaimiin integroituja, vahvaan salaukseen perustuvia turvaratkaisuja, tällä hetkellä esimerkiksi Windows 2000 (W2K:n turvaamisominaisuudet puutteelliset ja epästandardit) ja SSL/TLS. SSL ja SSH ovat turvattomia, jos asiakkaan ja palvelimen välisen reitin kaikkiin väliasemiin ei voi luottaa. Ohjelmallisia (selaimiin integroituja) varmenteita ei pitäisi hyväksyä vahvaan todentamiseen. Käyttäjä ei voi olla varma, ettei hänen avaimiaan ole kopioitu ja siten hänen identiteettinsä voi olla käytössä hänen tietämättään vaikka avainta ei olisi sinänsä murrettu.
    Etsi tästä tekstistä kolme virhettä. Koko dokumentti on spesifikaation tapaan toisteinen ja yksi tämän kappaleen ongelmista toistuu myös sivuilla 26 ja 38.

  5. Sama alustusvektori ei saa toistua saman avaimen käytön aikana.
    a) Jos näin tapahtuisi OFB- ja CTR-moodissa, tuloksena olisi sama avainvirta, joka XOR-summataan kahteen eri selkotekstiin. Mitä etua tästä olisi hyökkääjälle?
    b) Vastaavaa ongelmaa ei esiinny CBC-moodissa, mutta siinä tulisi aika ajoin samanlaista kryptotekstiä. Mitä se kertoisi hyökkääjälle?
    c) Mitä keinoja on saada alustusvektori erilaiseksi?

  6. Materiaalissa on seuraava ylimalkainen esitys OCB-moodista (Offset Codebook) salauksessa. Miten eheystarkistus ja salauksen purku tapahtuvat?
    Muut paitsi viimeinen kryptolohko saadaan kryptaamalla vastaava viestilohko ikään kuin ECB:ssä mutta siten, että ennen ja jälkeen kryptauksen bitteihin XOR-lisätään erikseen kutakin lohkoa varten laskettu "offset". Se ei riipu viestistä mutta kylläkin avaimesta ja alustusvektorista. Viimeistä kryptolohkoa tehtäessä viestilohkon bitit eivät kuljekaan kryptoalgoritmin läpi, vaan sen tekevät bitit, jotka koodaavat ao. lohkon pituuden. Sitä ennen niihin XOR-lisätään offset ja muuan toinen vastaava ennalta laskettu bittijono. Kryptaustulokseen XOR-lisätään offsetin sijasta viimeinen viestilohko. Tarkistussummana on oleellisesti kaikkien viestilohkojen XOR-summa kryptattuna.

  7. RSA:n OAEP-salausskeemassa tapahtuu seuraavanlainen maskeeraus:
       y = h1(N)+D
       x = N + h2(y),
    missä
      + tarkoittaa XOR-operaatioita;
      h1 ja h2 ovat oikean mittaisiksi pidennetyt tai katkaistut hash-funktiot;
      D on salattava data, jossa on mukana täyte ja mahdollisen lisätiedon tiiviste (lisätieto kerrotaan RSA-salauksen ulkopuolella);
      N on satunnainen siemenluku, nonce, jota ei kerrota selväkielisenä.
    RSA-salattavaksi viesti tulee 00 || x || y . Miten siitä saadaan data?

7. harjoitus 8.12.2005

  1. Salaisuuden jakamisessa voidaan saada yksinkertaisella tavalla aikaan epäsymmetristä rakennetta antamalla yhdelle osapuolelle useampia kuin yksi palanen. Mikä on tulos, jos (3,5)-kaavion mukaan jaetussa salaisuudessa yhdellä on kaksi osaa ja kolmella muulla on yksi osa kullakin? Toimiiko vastaava XOR-systeemissä?

  2. Valitse jokin salaisuus modulo 11, eli luku 0..10. Jaa se (3,n)-kaavion mukaisesti osiin Shamirin polynomimenetelmällä avaruudessa modulo 11. Anna kaverille kolme osaa eli lukuparia (x, polynomi arvolla x). Vastaanota häneltä niinikään kolme osaaa ja selvitä mikä hänen salaisuutensa on.

  3. Piirrä kaavio autentikoinnin rakenteesta Passport-järjestelmässä käyttäen perustana jaksoa "The Authentication Process" dokumentista ".NET Passport Review Guide".
    (Linkki siihen löytyy myös luentotekstin esitiedosta "Kertakirjautuminen".)

  4. Voisiko tietoon perustuvaa autentikointia jaotella jotenkin toisin kuin tekstissä? Mihin luokkiin sijoittuvat tekstissä "Bittipasseista Kerberokseen" esitetyt mallit, joissa autentikoiva palvelin (S) uskoo luotetun tahon (T) myöntämän sertifikaatin perusteella autentikoitavasta asiakkaasta (C) tiedon X? Tarkastele seuraavien vaihtoehtojen eri yhdistelmiä {a,b} X {i, ii, iii} :

    Sertifikaatti on
    (a) T:n digitaalisesti allekirjoittama,
    (b) muodostettu C:n ja T:n yhteisellä salaisella avaimella.

    Tieto X on
    (i) C:n julkinen avain.
    (ii) T:n generoima istuntoavain C:n ja S:n välille, ja S tietää, että C on saanut sen tietoonsa, jos ja vain jos C:n käyttäjä tietää salasanansa (joka on myös T:n tiedossa).
    (iii) se, mitä Passport-tekniikan mukaisessa evästeessä välittyy S:lle.

  5. Mihin tehtävän 4 kategoriaan TUPAS-järjestelmässä tapahtuva autentikointi kuuluu?
    (Lähteenä pankkitekniikan esittely, jonka linkki löytyy myös luentotekstistä.)

8. harjoitus 15.12.2005, salissa TB110

Varsinaisiin tehtäviin on tällä kertaa aikaa vain 45 minuuttia. Siksi olisi hyvä jos ehdit tarkastella niitä etukäteen. Kello yhdeksäksi siirrytään tietokoneluokkaan TC221, jossa tutustutaan assistentin opastuksella Tietoliikennetekniikan työkurssin VPN-työhön ja siinä käytettävän IPSec-ohjelmiston ominaisuuksiin.
  1. Kotitehtävä: Tutki käytössäsi olevan koneen valmiuksia IPSecin soveltamiseen. Missä käytät / voisit käyttää IPseciä?

  2. Oletetaan, että yrityksen sisäverkon ja Internetin välissä on sekä palomuuri ja IPSec-toiminnan sisältävä yhdyskäytävä. Vertaile vaihtoehtoja näiden kahden keskinäisessä sijoittelussa.

  3. Millä tavoin ESP:n eheystarkistus on kätevämpi kuin AH:n?

  4. Turva-assosiaatio SA on yksisuuntainen. Tiettyä SA:ta soveltavassa viestissä esiintyy SPI, security parameter index, jonka on valinnut se taho, jolle viesti on menossa.
    a) Miksei SPI:tä ole valinnut se, joka lähettää viestin?
    b) SA:n indeksoi SADB:ssä SPI, kohde-IP-osoite ja AH/ESP-tieto. Johda multicast-lähetyksistä syy siihen, että IP-osoite tarvitaan tässä. Protokolla-tieto tarvitaan, koska saman SPI:n saa valita eri protokollille. Voisiko tämän välttää?

  5. Oletetaan, että jostain sovelluksesta lähetetään toisinaan sellaista dataa, jolle tarvitaan ESP-salaus. Jos yleensä ei tarvita, mitä keinoja on SPD-politiikkatietokannan valitsimilla hoitaa asia?

  6. Mikä hankaluus IKE-neuvottelun vastaanottajalle aiheutuu siitä, että aloittajan ensimmäisen viestin kryptotarjous esiintyy myöhemmissä viesteissä hash-funktion syötteenä?

  7. Kirjoita IKE-vaihto aggressiivisen moodin mukaisesti käyttäen allekirjoituksiin perustuvaa autentikointia. Olisiko mahdollista, että tässä tai main-moodissa toisen osapuolen autentikointi perustuisikin julkisen avaimen salauksen purkuun?

  8. Miksei aggressiivisessa moodissa voi kryptotarjouksessa esiintyä kuin yksi Diffie-Hellman-ryhmä? Oletetaan, että A:n aloite aggressiivisen moodin IKE-vaihtoon epäonnistuu ja A tämän jälkeen yrittää uudelleen esittäen kryptotarjouksen, jossa DH-ryhmä on pienempi kuin ensimmäisessä yrityksessä. Mikä vaara tässä on verrattuna siihen, että A yrittäisi uudelleen main-moodissa tarjoten kaikkia niitä DH-ryhmiä, joita A:lla on käytössä?

9. harjoitus 22.12.2005 salissa TB110

  1. Kotitehtävä: Kokeile käytännössä .NET Passport -järjestelmää. Ilman omaa passiakin saat selville joitakin turvajärjestelyjä, jotka liittyvät salasanan unohtamistapauksiin.

  2. Kotitehtävä: Tutki, millä tavoin selainohjelmasi opastaa käyttäjää ymmärtämään SSL-suojauksen merkityksen. Mitä uutta itse löydät? Millaisia vasteita saat, kun joidenkin http-osoitteiden sijaan kirjoitatkin https ja kääntäen? Mitä ne merkitsevät?

  3. Luonnostele erilaisia menettelyjä, joilla on seuraavanlainen vaivannäyttö-ominaisuus: A lähettää viestin B:lle ja vastauksen saatuaan voi ilman omaa lisävaivaa tietää, että B on joutunut toteuttamaan jonkin aikaa vievän operaation. Ota lähtökohdaksi esim. HIP-protokolla haaste-vaste -systeemi.

  4. Tekstissä "Krypto-ohjelmoinnista" (id=486) sanotaan: "Luonnollisesti avainten ja datan eheyteenkin pitäisi kiinnittää huomiota, mutta tämä on toissijainen ongelma tässä yhteydessä." Miksi näin on, vai onko näin?

  5. Lue ensimmäinen sivu artikkelista Sewell & Vitek: Secure Composition of Untrusted Code: Wrappers and Causality Types (1999).

    Pohdi sitten, millaisia suodattimia, wrappereita, PC:ssä ajettavien epäluotettavien ohjelmien välissä tai ympärillä pitäisi olla, jotta ohjelmissa olevat virheet ja Troijan hevoset eivät pääsisi aiheuttamaan harmeja?

    Käytännön taustaksi pohdinnoille voi ottaa vaikkapa tiedon, että maailmalla on noin 35 000 ajuria Windows XP:hen ja niistä noin 120 000 versiota. Epäluotettavia ohjelmia siis riittää, ja niitä pystyy lataamaan lisää toisten ohjelmien ollessa käynnissä.

  6. Johdannoksi seuraaviin luentoihin pohditaan yleisemmin, mitä tarkoittaa tietoturvallinen ohjelma.

  7. Sopimuksen allekirjoittamista käsittelevässä tekstissä on viite artikkeliin Modular Fair Exchange for Electronic Commerce. Tarkastellaan sen avulla reiluuden käsitettä ja menettelyjä, joilla sitä voidaan tavoitella.

    Fairness eli reiluus on sitä, että kahdesta kauppaa käyvästä osapuolesta kumpikin tulee lopulta saaneeksi sen, mitä on sovittu tai kumpikaan ei tule. Artikkeli määrittelee 7 tasoa vaihdon reiluudelle. Taso F0 on "ei reiluutta". Muut on mainittu sekoitetussa järjestyksessä. Mitkä niistä ovat tasot F1-F6? Ja missä artikkelin kuvan 1 vaiheissa kukin niistä toteutuu?

    Kuvan viisi moduulia muodostavat kaupankäynnin automaattisen systeemin. Käytetään siitä tasojen määrittelyssä lyhennettä S ja tapauksessa, jossa toinen osapuoli kokee jossain vaiheessa kärsineensä epäreiluutta, nimetään:
    C = se joka ei ole kärsinyt
    D = se osapuoli joka on kärsinyt

    Tasot ovat:

10. harjoitus 12.1.2006

  1. Kotitehtävä: Tutustu sivustoon https://buildsecurityin.us-cert.gov. Mitä käytännön apua ohjelmistosuunnittelija ja ohjelmoija voivat sieltä saada turvallisen ohjelman tuottamiseksi?

  2. Tarkastellaan, millaista kehitystä Java-applettien turvamallissa on tapahtunut versioiden 1.0, 1.1 ja 1.2 välillä yleiskatsauksen perusteella.

  3. Kotitehtävä: Lue tietojenkäsittelyn turvallisuus -seminaarin raportista luku 7 eli tulkinta kirjan Graff, van Wyk: "Secure Coding" luvusta "4 Implementation". Tiivistä siitä luettelo, jota voi verrata luennolla esitettyyn Bishopin kirjan mukaiseen 18 toteutussäännön luetteloon. (Huomaa, että suuri osa raportista kuuluu muutenkin kurssin vaatimuksiin.)

  4. Katsotaan nyt myös (ja käännetään) Bishopin kirjan ohjelmointiin liittyvät 8 hallinnoinnin periaatetta. Suhteutetaan kaikki periaatteet oheiseen luennolla esitettyyn jaotteluun käyttöjärjestelmien yhteydessä ilmenevistä tietoturvaongelmista. Luettelon jokaisen rivin alussa oleva '_' tarkoittaa sanaa 'väärä' tai 'epäasianmukainen'

  5. Suhteutetaan artikkelissa "A Software Flaw Taxonomy" (luvussa 2.2) esitetty jaottelu muihin esillä olleisiin, erityisesti tehtävään 4.

  6. Mihin kategoriaan kuuluu seuraava ohjelmointiperiaate? Toimikortin PIN-luvun syötön yhteydessä pitää ensin vähentää sallittujen yrityskertojen laskuria, sitten tehdä tarkistus, ja jos PIN on oikein, laskuria kasvatetaan. Tällöin hyökkääjä ei pääse resetoinnilla ohittamaan laskurin pienentämistä, vaikka voisikin virrankulutuksesta pystyä päättelemään, että PIN-arvaus ei onnistunut.

  7. IT Press esittelee Howardin ja Leblancin kirjaa 'Ohjelmoijan tietoturvaopas' näin: "... kirja sisältää turvallisen sovelluksen rakentamisen periaatteet koko kehitysprosessin kannalta. Se lähtee turvallisesta suunnittelusta ja päätyy vakaan, hyökkäykset kestävän koodin kirjoittamiseen ja turvallisuusheikkouksien testaukseen." Kuinka hyvin tämä sopisi tiivistämään sen mistä turvallisessa ohjelmoinnissa on kyse? Esittelyssä sanotaan myös, että kirja tarjoaa "ohjelmistojen suunnittelijoille, arkkitehdeille, ohjelmoijille ja testaajille sitä koulutusta, teoriaa ja käytännön tekniikkaa, jota he tarvitsevat tehdäkseen oikeat toimenpiteet ohjelmistonsa turvallisuuden varmistamiseksi." Arvioi tätä mainoslausetta vastaavaan tapaan. (Kirja on nähtävästi käännös Microsoft-painotteisesta teoksesta Writing Secure Code, 2nd ed. 2002)

  8. Mikäli aika riittää, tutustutaan luennolla mainittuun turvasuunnittelun "malliratkaisukokoelmaan", erityisesti kohtaan "Secure Proxy" ja vertaillaan siinä esitettyjä kuutta vaihtoehtoa peräkkäisten vahtien asentamiselle.

11. harjoitus 19.1.2006

Tutustutaan työasemaluokan TC 221 Linux-koneilla verkon työaseman tai palvelimen turvaamiseen. Kuvitellaan, että on vastikään otettu käyttöön uusi kone tai asennettu uusi käyttöjärjestelmä ja koneen kytkentä verkkoon on jo tehty, samoinkuin tarpeellisten palvelujen lisääminen koneeseen. Toteutetaan rajoittamisen periaatetta asettamalla koneeseen pääsynvalvonnan mekanismeja sille mistä ja minne yhteyksiä voi olla ja missä tarkoituksessa. Käyttäjäkohtaista pääsynvalvontaa ei toteuteta -- sitä tehtiin aiemmassa harjoituksessa ryhmittelyn ja tiedostojärjestelmän pääsynvalvontalistoja avulla.

Tavoitteena ei ole oppia työkalujen käyttöä, vaan saada käsitys, minkätyyppisiä käytännön toimia turvaamisprosessissa tarvitaan. Turvaamisen kokonaisuudesta tässä keskitytään vain konfigurointiin ja jätetään erityisesti seuranta tekemättä. Sellaiseen voisi käyttää mm. seuraavia työkaluja: komento ps (process status); paketinnuuskija tcpdump tai laajempi tunkeutumisen havainnoitsija Snort. Lisäksi kannattaa käyttää Tripwire-työkalua eli ansalankaa paljastamaan, missä tärkeistä tiedostoista on tapahtunut muutoksia. On tärkeää ymmärtää, millaista kokonaisuutta tässä käsiteltävät työkalut ja esimerkkitilanteet edustavat ja mitä senkin lisäksi kuuluu turvalliseen konfigurointiin. Tämän pohtiminen olkoon harjoituksen viimeinen tehtävä.

  1. Tutkitaan mitä palveluja on auki, ts. mitä taustalla olevia prosesseja on, joihin voidaan verkon yli ottaa yhteyttä erilaisilla asiakasohjelmilla: työkaluina nmap ja lsof.

  2. Karsitaan koneen muille tarjomia palveluja siten, että "Tarkkailtaviksi" jätetään vain fingerd ja sshd.

  3. Rajoitetaan
  4. Ohjataan tieto yhdelle koneelle syslog-ohjelmalla sekä palvelusta itsestään, tcpwrapperista että iptablesista.

  5. Eri vaiheissa kokeillaan:
Tässä on joitakin luonnehdintoja käytettävistä työkaluista.

12. harjoitus 26.1.2006

  1. Kotitehtävä: Tutki sivun www.helsinki.fi/atk/tietoturva antia tietoturvaa koskevan tiedon hankinnan näkökulmasta, erityisesti Arvioi kyseisen sivun hyödyllisyyttä (suhteessa erilaisiin kohdeyleisöihin) ja vertaa sitä joihinkin muihin vastaaviin linkkisivustoihin, esim. www.eniro.fi/lo/tietokone_ja_internet/tietoturva_ja_virukset/. Mitä vastaavia sivustoja löydät suomen kielellä?

  2. Luetaan Valtion tietotekniikkahankintojen tietoturvallisuuden tarkistuslistaa (VAHTI 6/2001). Tehdään aluksi vertailu eri hankintatyyppien välillä ensin taustakysymysten ja sitten yhteistyökysymysten osalta.

    Tarkastellaan seuraavaksi hankinnan kohdetta koskevia kysymyksiä ja jokaisen aiheen puitteissa pohditaan,

  3. Tarkastellaan, miten kurssi vastasi tavoitteitaan. Keskustellaan harjoitustöistä. Laaditaan lisää tenttitehtäviä. Ratkaistaan epäselviksi jääneitä asioita.

    Jollei aiheita löydy, käytetään apuna Tietoturvallisuuden hallintajärjestelmän arviointisuosituksen Liitettä 6 (VAHTI 3/2003, joka on varsinaisesti esillä TT:n johtamisen kurssilla). Siinä on yhteensä 61 kohtaa ja jokaisessa useita kysymyksiä, yhteensä 642.


Tässä on kevään 2004 kurssin viimeisessä harjoituksessa keksittyjä tenttitehtäviä. Osa niistä oli vain otsikkomaisia, mutta useimpien määrittelyä on tässä viety pitemmälle. Monet kysymyksistä koskettelevat tärkeitä asioita, joskin useita aihepiirejä jää vielä ulkopuolelle. Vuoden 2005 kurssin jälkeen todettiin, että jos allaoleviin osaa vastata, selvittää kyllä kaksi tai kolme tentin viidestä tehtävästä. Nyt vuonna 2006 tilannetta voi hieman muuttaa harjoitustöiden esiintyminen tentissä.
  1. Miksi tietoturvapolitiikka on tärkeä?
  2. Mihin tarvitaan uhka-analyyseja ja mihin uhkamalleja?
  3. Mitä ongelmia voi tulla uhkien toteutuessa, jos ei ole tietoturvapolitiikkaa?
  4. Miten IT-laitetilojen kulunvalvonta pitäisi järjestää?
  5. Anomymiteetin takaaminen: keinot ja toteutustavat?
  6. Miten roskasähköpostia voidaan torjua?
  7. Mitä pitää ottaa huomioon, kun kasvokkain käytävissä neuvotteluissa käsitellään arkaluonteisita asioita?
  8. Millä tavoin levymuistin RAID-tekniikka edistää tietoturvallisuutta? Mitkä piirteet siinä ovat muuten mukavia mutta eivät tietoturvan kannalta?
  9. Miten turvakäyttöjärjestelmät eroavat tavallisista? Käytä vertailukohtana (tavallisena) Windowsia, Unixia tai Linuxia.
  10. Miten puskurin ylivuodosta aiheutuvia tietoturvauhkia voisi estää?
  11. Mitkä ovat tärkeimmät tehtävät turvattaessa Internettiin kytkettävää yrityksen sisäverkkoa?
  12. IPSecin perusideat?
  13. Mikä on IDS:n käyttötarkoitus?
  14. Mitä on nollatieto ja mihin sitä voi soveltaa?
  15. Mitä yhtymäkohtia on käsitteillä luotettu tietojenkäsittely ja isoveli (se joka "valvoo")? Ensimmäinenhän on kai myönteinen ja jälkimmäinen kielteinen, vai kuinka?
  16. Mitä kuuluu hyvään salasanajärjestelmään?
  17. Missä autentikointijärjestelmissä huomioidaan eri tahojen hallinnassa olevat toimialueet?
  18. Mistä kaikesta voi olla kyse tiedon piilottamisessa -- erotuksena sen salaamisesta?