TTKK / J.Koskinen / Tietoturvallisuuden perusteet, 2002

Johdanto

Sisältö
[1] Viitekehystelyä; IT:n uskottavuudesta
[2] Turvallisuuden käsite
Tietoturvallisuuden käsite ja prosessi
Tietoturvamekanismeja
Uhkien jäsennystä
[1] Tietoverkoista, yleistä ja uhkia
[2] Turvamekanismeja verkoissa
Kryptoprotokollista

Viitekehystelyä

Motivointia

Olisi hyvä, jos opiskelija voisi kiinnittää kaikki tämän(kin) kurssin asiat johonkin kehykseen. Se auttaisi hallitsemaan opittavaa tietoa ja oikeastaan vasta mahdollistaisi itse oppimisen. Viitekehys on toisaalta jokaisen itse luotava itselleen, mutta toisaalta on tietenkin paljon yleistä ainesta ja rakennetta, johon se kannattaa perustaa. Tässä on esillä kaksi aihetta: tietojenkäsittelyn uskottavuus sekä yleinen turvallisuuskäsite. Kummankin on tarkoitus muodostaa pohjaa tietoturvallisuuden viitekehykselle.

Sisältöä ja tavoitetta

Tässä jaksossa jaotellaan hieman turvallisuuden käsitettä yleisesti ja toisaalta pohditaan tietojenkäsittelyn uskottavuutta. Tiedon ja sen käsittelyn kentän jäsentämiseen pyritään harjoitustehtävän kautta.

Tässä on myös yksi tavoitekysymys. Vastaamiseen tulee tietenkin lisää perusteita myöhemmiltä sivuilta, mutta tällä voinee hieman aktivoida ajatteluaan jo näin alussa. Kehotus "esitä" on tässä kuten muuallakin luonnollisesti hieman vaativampi kuin "luettele" ja toisaalta hieman vähemmän vaativa kuin "esittele".

  • Tietoturvallisuuden kenttää voi jaotella monella tavalla. Esitä jokin sellainen jaottelu, jonka osiksi sopivat hallinnollinen turvallisuus ja käyttöturvallisuus.

Toinen aktivointikeino on käydä DigiCrimen sivuilla, jotka lupaavat olla vahingoittamatta konettasi mutta eivät takaa samaa sille luottamukselle, jota tunnet konettasi kohtaan. Yksi koko kurssin tavoitteita on sen ymmärtäminen, mitä DigiCrimen tarjoamat lukuisat palvelut oikeastaan tarkoittavat.

Viitekehystelyä

Harjoitus: Aloitellaan viitekehyksen rakentelua, mutta ei tehdä tällä kerralla vielä mitään valmista, vaan kotitehtäväksi tulee piirtää "käsitekartta" vastaukseksi kysymykseen: Mistä tietojenkäsittelyssä onkaan kyse? Kysymys pitää "ratkaista" kokonaisvaltaisesti, mutta karttaa piirtäessä saa tietenkin muistaa, että näkökulmana on lopulta turvallisuus, josta tällä kerralla annetaan erilaisia virikkeitä.

Käsitteen kartoittamiseen voi lähteä kyselemällä. Tässä tapauksessa kysymyksiä voisivat olla: Mitä tieto on, millaista se on, mistä se tulee, miten sitä muutetaan, mihin se menee, miksi, ... ? Turvallisuusnäkökulma löytyy erityisesti, kun kysytään, mitä ei saa tapahtua. (Kysymys "Mitä pitää tapahtua" tuo myös turva-asioita esille, mutta tässä vaiheessa riittää katsoa toisinpäin.)

Yleensä tietoturvan esittely aloitetaankin maalailemalla uhkakuvia. Joitakin voi käydä katsomassa monille läheisen TOAS-verkon turva-ohjeesta. Tässä voitaneen kuitenkin uskoa, että uhkia tulee riittävästi esille kurssin kuluessa, joten aloitetaan vähän yleisemmin seuraavasti:

Tietojenkäsittelyn uskottavuudesta yleisesti

Seuraavien ajatusten lähteenä on artikkeli Credibility and Computing Technology (CACM, May 1999).

On sellaista tietojenkäsittelyä, jossa ihminen ei yleensä paljon välitä uskottavuudesta:

Sellaista ihmisen ja tietokoneen vuorovaikutusta, jossa uskottavuudella voi olla keskeinenkin merkitys, voidaan erotella seitsemää lajia. Tällöin kone
  1. on tietovarastona (staattisesta tietokannasta tms., tai dynaamisesti laskennan perusteella, ...)
  2. ohjaa tai opettaa käyttäjää (asiantuntijajärjestelmät, online-help, asennusohjelman "defaultit", ...)
  3. raportoi mittauksista (oskilloskooppi, verenpaine, GPS, ...)
  4. raportoi omasta toiminnastaan (ohjelman asennus, virustarkistus, tiedoston siirto, ...)
  5. raportoi omasta tilastaan (levytila, prosessorin kuorma, akun kesto, ...)
  6. simuloi (prosesseja, liikettä, ...)
  7. luo virtuaaliympäristöjä.
Tässä jaottelussa ei kunnolla oteta huomioon sitä, että koneet kyllä välittävät käyttäjiltä toisille sellaistakin tietoa, josta on syytä olla huolissaan monella tavalla: onko saatu tieto oikeaa, meneekö tieto, esim. sähköposti, perille ja vain tarkoitettuun paikkaan, säilyykö se muuttumattomana. Kahdeksanneksi kohdaksi pitäisi siis lisätä koneen hoitama tietoliikenne.

Turvallisuus

Tietoturvallisuus on huomattavan laaja-alainen kokonaisuus ja tämä kurssi käsittelee sen osa-alueita tietyin melko teknisin painotuksin. Silti kyseessä on vain osa paljon laajempaa turvallisuuden käsitettä. Yritysturvallisuuden neuvottelukunta jaottelee turvallisuusaiheen seuraavasti: Näitä osa-alueita ei tässä selitetä enempää, mutta seuraava luettelo jakaa tietoturvallisuuden saman lähteen mukaisesti 10 osa-alueeseen. Jaottelun kahdeksan ensimmäistä kohtaa ovat samat kuin ne, jotka valtioneuvoston Internet-suositus (3.12.1998) mainitsee yleisimmin käytetyiksi. Samoja 8:a käyttää mm. Juhani Paavilainen kirjassaan. Juha E. Miettisen kirjassa puolestaan ovat käytössä kaikki 10 kohtaa ja lisäksi "tietojenkäsittelyn suojaaminen". Tämän kurssimateriaalin perusjaottelu on hieman toisenlainen, mutta käyttö(toimintojen) turvallisuutta lukuunottamatta kaikkia osa-alueita on käsitelty jossain määrin yhtenäisesti, viimeinen kohta tosin vain mainintana. Luetteloon on lisätty materiaalin sisäisiä linkkejä ja mainintoja painotuksista.

Tietoturvallisuuden osa-alueita ovat siis:

Tällainen jaottelu määrittelee tietoturvakäsitteen ekstensiota eli ulottuvuutta, mutta ei oikeastaan kerro mitä käsite tarkoittaa. Tietenkin siihen päästäisiin, jos katsottaisiin tarkemmin osa-alueiden sisältöä, intensiota. Sitä ei tässä kuitenkaan tehdä eo. linkkejä lukuunottamatta, vaan tietoturvakäsitteen intensio määritellään toisaalla.

Harjoitus: Lähtien siitä mitä tietoturvan osa-alueiden nimet tuovat sinulle mieleen, keksi muutamaan luettelon kohtaan jokin uhka, jolta pitäisi suojautua, ja jokin keino, jota tällaisen uhkan varalta käytetään. Jatketaan tietoturvauhkien pohdiskelua ja luokittelua vielä myöhemmin, mutta luokittele jokainen keksimäsi keino johonkin seuraavista luokista:

Luokittele lisäksi tietoturvallisuutta edistävät keinot seuraavasti (ja kehittele samalla merkitykset näille luokille): Mainittakoon, että Internet-tietoturva -kirja (Nikander et al.) nimeää likimain samat kaksi ensimmäistä luokkaa fyysisiksi ja loogisiksi suojautumismenetelmiksi ja kolmas luokka jaetaan ylläpidon toimiin ja hallinnollisiin menetelmiin.

Tässä yhteydessä sopii vielä todeta, että Petteri Järvinen esittää kirjassaan tietoturvaan neljä näkökulmaa, jotka ovat yksilön, yrityksen, yhteiskunnan sekä kansainvälinen näkökulma. Hänkin jakaa yrityksen tietoturvan 10 kohtaan (lähteenä valtioneuvoston periaatepäätös vuodelta 1993, VM 1/73/93).), mutta luettelo eroaa edelläolevasta siten, että mukana on "Tietojenkäsittelyn turvallisuus" ja siitä puuttuu kohta "Salassapitosopimukset (joka luontevasti sisältyykin henkilöturvallisuuteen).

Tietoturvallisuuden käsite ja prosessi

Motivointia

Käsitteiden määritelyistä on hyvä aloittaa, varsinkin silloin kun terminologiassa on hieman horjuvuutta, kuten tietojenkäsittelyn alalla on tapana. Tietoturva on paitsi käsite myös prosessi. Pysähtynyttä tietoturvallisuutta ei liene muualla kuin hiekkaan hautautuneissa antiikin aikaisissa kirjastoissa ja sielläkin on saatavuuden kanssa vähän niin ja näin ...

Sisältöä ja tavoitetta

Tämän jakson määrittelyt kertautuvat ja täydentyvät moneen otteeseen, eikä niitä sen vuoksi kannattane tiivistää eikä tavoitteistaa.

Tietoturvallisuuden käsite ja prosessi

Peruskäsitteiden määrittely

Tietoturvallisuus määritellään valtioneuvoston Internetin käyttö- ja tietoturvallisuussuosituksessa (3.12.1998) seuraavasti (hakasuluissa muutama kommentti, jotka täsmentävät käsitteitä kurssin tarpeisiin):
Tietoturvallisuudella tarkoitetaan tietojen, järjestelmien ja palveluiden asianmukaista suojaamista sekä normaali- että poikkeusoloissa hallinnollisilla, teknisillä ja muilla toimenpiteillä. Tietojen luottamuksellisuutta, eheyttä ja käytettävyyttä turvataan laitteisto- ja ohjelmistovikojen, luonnontapahtumien sekä tahallisten, tuottamuksellisten tai tapaturmaisten tekojen aiheuttamilta uhilta ja vahingoilta. Tietoturvallisuuden keskeisillä käsitteillä tarkoitetaan seuraavaa:

Luottamuksellisuus; tiedot ja järjestelmät ovat vain niiden käyttöön oikeutettujen käytettävissä. Tietoja ei paljasteta sivullisille eikä heille anneta mahdollisuutta muuttaa tai tuhota tietoja. [Luottamuksellisuutta sinänsä ei loukkaa, vaikka tiedot muuttuisivat tai katoaisivat!]

Eheys; tiedot ja järjestelmät ovat luotettavia, oikeellisia ja ajantasaisia, eivätkä ne ole hallitsemattomasti muuttuneet tai muutettavissa laitteisto- tai ohjelmistovikojen, luonnontapahtumien tai inhimillisen toiminnan seurauksena. [Eheytenä riittää pitää sitä, että tieto on ehjää eli ei-särkynyttä. Luotettavuus, oikeellisuus ja ajantasaisuus ovat hieman korkeammaan tason ominaisuuksia tiedolle.]

Käytettävyys; järjestelmien tiedot ja palvelut ovat niihin oikeutettujen käytettävissä etukäteen määritellyn vasteajan puitteissa. Tiedot eivät ole tuhoutuneet tai tuhottavissa vikojen, tapahtumien tai muun toiminnan seurauksena.

Muita yleisiä tietoturvallisuuteen kuuluvia vaatimuksia ovat autentikointi ja kiistämättömyys, jotka ovat erityisen tärkeitä silloin, kun järjestelmän käyttäjät täytyy pystyä tunnistamaan (esim. vuorovaikutteiset sähköiset asiointipalvelut tai järjestelmien etäkäyttö). Autentikointi tarkoittaa osapuolten (henkilö tai järjestelmä) luotettavaa tunnistamista. Kiistämättömyys tarkoittaa tapahtuneen todistamista jälkeenpäin, jolloin tavoitteena on juridinen sitovuus. Kiistämättömyys varmistaa sen, ettei toinen osapuoli voi kieltää toimintaansa jälkeenpäin.

Perustavoitteiden eli luottamuksellisuuden, eheyden ja käytettävyyden englanninkieliset vastineet ovat confidentiality, integrity ja availability (eli saatavuus, jota termiä myös yleisesti käytetään) ja näiden alkukirjaimista muodostuu suosittu muistisääntö. Kiistämättömyys on englanniksi nonrepudiation - jossain yhteydessä käytetään myös termiä accountability, vastuu(llisuus). Termin authentication suoran väännöksen "autentikointi" rinnakkaismuotona esiintyy usein "autentisointi", jonka taustana lienee sana "autenttisuus".

Edellä tuli määritellyksi tietoturvallisuuden käsitteelle sisältö. Ulottuvuutta määritellään toisaalla osa-alueiden avulla ja koko kurssi tarjoaa tietynlaisen esittelyn siitä mitä kaikkea tietoturvallisuuteen kuuluu. Usein sanotaan, että tietoturva ei ole tulos vaan prosessi. Niinpä tässä määrittelyjen yhteydessä on hyvä alustavasti tarkastella tätäkin näkökulmaa.

Peruskäsitteistä tietoturvan rakennusprosessiin

Tietoturvan Common Criteria-standardi esittää seuraavan kaavion tietoturvan peruskäsitteistä ja niiden suhteista.
CC:n kaavio osan 1 sivulta
14.
Epälineaarisen kaavion voi tiivistää vaikkapa seuraaviin lauseisiin: "Owners impose countermeasures to reduce risk to assets" ja "Threat agents give rise to threats that exploit vulnerabilities leading to risk to assets". Nämä käsitteet esiintyvät seuraavassa.

Asiaa katsotaan tarkemmin erikseen, mutta tässä johdantovaiheessa on jo hyvä oivaltaa, että jonkin järjestelmän suojaaminen tietoturvauhkilta tapahtuu useassa vaiheessa, esimerkiksi seuraavasti:

0 Ota selvää, mikä on arvokasta ja suojeltavaa (assets).
1 Tunnista uhkat, haavoittuvuudet, hyökkäykset.
2 Arvioi riskit. Jos ne ovat tarpeeksi alhaiset, lopeta ja palaa aiheeseen uudelleen sopivan ajan kuluttua.
3 Aseta haavoittuvuudet tärkeysjärjestykseen.
4 Valitse ja asenna suojatoimet, palaa kohtaan 1.

Kaikessa pitää ottaa huomioon kustannukset. Niitä kasvattavat aiheettomasti sekä kovin tiukat turvatoimet (hankinnan ja ylläpidon hinta nousee) että niiden puute (menetysten hinta nousee) . Jostain välimaastosta pitää löytää kompromissi, mutta on epätodennäköistä, että optimoinnille voi koskaan olla tarkkaa numeerista perustaa.

Vaiheissa 0-3 täytyy tuntea oma järjestelmä, mutta vaiheessa 4 täytyy olla paljon tietoa turvamekanismeista. Tämän kurssin tavoitteena on kertoa joistakin sellaisista ja tarjota viitteitä muihin. Vaikka monet mekanismeista ovat periaatteessa yksinkertaisia, haasteena on näiden mekanismien moninaisuus, erityisyys ja yksityiskohtaisuus ja silti tietty epävarmuus, varsinkin kun useita mekanismeja yhdistellään.

Tietoturvamekanismien luettelo

Motivointia

Tietoturvan rakentamisprosessin yhtenä vaiheena on suojatoimien valitseminen ja asentaminen. Siinä vaiheessa voi toki olla tarjolla jokin ohjelmisto X, joka lupaa täyttää vaativimmatkin toiveet. Lienee kuitenkin syytä jo varhaisessa vaiheessa olla perillä siitä, millaisia toiveita ylipäätään voi olla.

Sisältöä ja tavoitetta

Tässä on tavoitekysymys, joka on ollut kurssin tentissä. Se tiivistää tämän sivun sisällön, mutta siihen vastaamiseksi täytyy olla jonkinlainen käsitys myös virusten torjunnasta:
  • Kurssin johdannossa esitellään lyhyesti seuraavat 22 informaatiollista tietoturvamekanismia:
    salakirjoitus -- tarkistussumma (yleisemmin: tiivistefunktio) -- allekirjoitus -- nimettömyys (anonymiteetti) -- tunnistus (identification) -- olion autentikointi -- pääsynvalvonta -- erottelumekanismit -- auditointi -- oikeutus, auktorisointi -- omistusoikeus -- valtuutus, delegointi -- validointi, kelpuutus -- varmentaminen (certification) -- aikaleimaus -- todistaminen (witnessing) -- kuittaus -- konfirmointi -- kiistämättömyys -- peruutus (revocation) -- tietoliikennemekanismit -- toipumismekanismit
    Valitse näistä kolme sellaista, joilla ei ole mitään tekemistä virustorjunnassa. Selitä miksi ei ja mihin ne sitten liittyvät.

Millaisia tietoturvamekanismeja on olemassa

Tietoturvaa määriteltäessä nousee esille lukuisia toivottavia asioita kuten eheys tai kiistämättömyys. Mitä näiden hyväksi voidaan yleisesti ottaen tehdä?

Seuraava jaottelu on mukaeltu ja täydennetty kirjassa Handbook of Applied Cryptography esitetystä tietoturvatavoitteiden luettelosta. Useat mekanismit voidaankin nähdä palveluina, jotka toteuttavat tavoitteita melko suoraan. Toisaalta monet luettelon kohdista ovat sikäli abstrakteja, etteivät ne suoraan kerro, miten käytännössä pitää menetellä. Esimerkiksi 'aikaleimaus' näyttää selvältä: varustetaan vain data päiväyksellä ja kellonajalla. On kuitenkin haastavampaa tehdä tämä niin, että leima voidaan tulkita oikein ja siihen voidaan luottaa, eikä sitä voi poistaa. Luettelo pitääkin tässä nähdä vain johdantona myöhemmille tarkennuksille (tai tiivistelmänä niistä). Sanastosta on linkkejä niihin (joskin myös takaisin tähän luetteloon).

Kuten tästäkin jo huomaa, luettelon kohdat kytkeytyvät monin tavoin toisiinsa. Kaikki kohdat eivät myöskään ole käsitteellisesti samantasoisia, vaan jotkin niistä tulevat erityisesti tällä kurssilla esille vain toisten asioiden yhteydessä, esim. oikeutus liittyy pääsynvalvontaan. Luettelon kohdat todistaminen, kuittaus ja konfirmointi jäävät ilman tämän enempää käsittelyä.

Harjoitus. Jos näit mekanismiluettelon nyt ensi kertaa, laadi siitä käsitekartta, jossa ryhmittelet toisiinsa liittyviä mekanismeja lähekkäin tai yhdistät niitä viivoilla. Myöhemmin tai kun olet jo kertaamassa, korjaile ja täydennä karttaa tai piirrä se uudestaan. Ota mukaan esim. viittauksia, joita koskevaan materiaaliin pääset käsiksi sanaston tai sisällysluettelon kautta.

Tietoturvauhkien jäsentelyä

Motivointia

Tietoturvauhkat ja niiden toteutumisesta mahdollisesti aiheutuvat vahingot motivoivat tietoturvamekanismit. Luonnollisesti myös uhkamaisema täytyy tuntea ja jos sitä pystyy jotenkin jäsentämään sen parempi, sillä silloin asia on paremmin hallussa, esim. riskianalyysia tehdessä.

Sisältöä ja tavoitetta

Tässä esitellään saksalainen verkossa olevan tietoturvakäsikirjan uhkaluetteloa sekä näissä tavoitekysymyksissä mainittu Howardin taksonomia:

  • Tietokoneeseen tai tietoverkkoon kohdistuvia hyökkäyksiä voidaan mallintaa esim. Howardin esittämän taulukkomuotoisen taksonomian avulla. Seuraavassa on mainittu kyseisen taulukon sarakkeet. Tehtäväsi on mainita jokaiseen kohtaan vähintään kolme toisensa poissulkevaa vaihtoehtoa. (c-kohdassa ei enempää ollut esitettykään, joten siinä tarvitset eniten huolellisuutta erillisten vaihtoehtojen tuottamiseksi. Taksonomian edellyttämää kaikenkattavuutta ei missään kohdassa nyt vaadita. Sen voisi saada aikaan neljännellä vaihtoehdolla "muut".)
    a) hyökkääjä.
    b) hyökkääjän käyttämä väline
    c) hyväksikäytetty haavoittuvuus.
    (Tämä on ensimmäinen pääsyyn (access) liittyvä vaihe. Seuraavana on sitten joko oikeudeton käsiksipääsy tietoon tai oikeudeton käyttö. Toiminta kanavoituu tämän jälkeen jonkin prosessin kautta ja kohdistuu tiedostoon tai liikkeellä olevaan tietoon.)
    d) tietoon liittyvän "tulos", jonka hyökkääjä saa aikaan.
    e) tavoite, joka motivoi hyökkääjän.
  • Jos kaikki tietoturvauhat pitäisi luokitella, mitä muuta pitäisi ottaa huomioon kuin ne asiat, jotka esiintyvät Howardin taksonomiassa? Siinähän esitellään taulukkomuodossa toisensa poissulkevat luonnehdinnat hyökkääjälle, hänen käyttämälleen välineelle, keinolle päästä käsiksi tietoon, tulokselle jonka hän saa aikaan suhteessa tietoon sekä tavoitteelle, joka hänet motivoi.

Tietoturvauhkien luettelo ja jaotteluja

Tutustutaan lyhyesti saksalaisen tietoturvakäsikirjan uhkaluetteloon, joka on jaoteltu seuraaviin osiin (suluissa on uhkien määrä v. 2001; se tuntuu aina päivitysten yhteydessä kasvavan) LUE näistä lyhin eli ylivoimaisten uhkien luettelo (katso myös selityksiä ja esimerkkejä). Muut luettelot ovat sellaisinaan liian pitkiä, jotta niistä olisi paljon hyötyä lukijalle. Käsikirja tuokin uhkat esille useassa eri yhteydessä, jotka jaottelevat tietojenkäsittelyn kenttää. Keskeisiä osia ovat: Näiden osa-alueiden sisällä jaottelu tarkentuu ja tuo esille myös nimettyjä järjestelmiä (Unix, MS-Windows ja Novell). Lisäksi on joitakin osa-alueita, joissa vastaavaa tarkempaa jakoa ei tehdä, tärkeimpinä organisaatio ja henkilöstö.

Osa-alueittaiset uhkalistat eivät enää ole toisensa poissulkevia. Esimerkiksi hallinnollinen uhka "Lack of evaluation of protocol data" esiintyy useassa kohdassa, mm. "Monen käyttäjän DOS-PC" ja "Heterogeeninen verkko". Toisaalta osa-alueiden uhkaesittelyt ovat vain tyypillisiä skenaarioita, eikä mainittu uhka esiinny kaikissa kohdissa, joissa voisi. Pitäisihän esimerkkinä oleva protokollatieto (eli yleisemmin auditointitieto tai tapahtumaloki) tutkia kaikissa järjestelmissä, joihin ulkopuolinen tai asiaton voi tunkeutua ja joissa tämä voitaisiin havaita kerätyn tiedon perusteella.

Taksonomia on sellainen luokittelu, joka jakaa koko kentän toisensa poissulkeviin luokkiin. Tällaista luokittelua voidaan käyttää vaikkapa toteutuneiden tietoturvauhkien tilastointiin, jolloin niiden esiintymisen tiheydestä voidaan tehdä johtopäätöksiä esim. uhkien todennäköisyyksistä. Tätä tietoa taas voidaan soveltaa riskianalyysin kautta tietoturvasuunnitteluun. Näitä asioita käsitellään erikseen.

Hyökkäysten taksonomia

John D. Howard esittää väitöskirjassaan: An Analysis of Security Incidents on the Internet 1989-1995 määritelmän tietoturvalle: "Computer security is preventing attackers from achieving objectives through unauthorized access or unauthorized use of computers and networks." Sen pohjalta hän tiivistää (luvussa 6) alla olevaan taulukkoon taksonomian, jossa tietokoneeseen tai verkkoon hyökkäävä voidaan luokitella ensimmäisen sarakkeen mukaisesti ja tavoite (motivaatio), johon hän tähtää, on jokin viimeisessä sarakkeessa mainituista. Tavoitteeseen päästään jonkin tietoon liittyvän tuloksen kautta. Tulos muodostuu siitä, että jollain välineellä pääsee käsiksi tietoon. Pääsy on jaoteltu neljään vaiheeseen.

Ideana on siis, että erilaisia hyökkäyksiä voidaan mallintaa valitsemalla kustakin sarakkeesta yksi (tai usea) vaihtoehto.
Attackers
Tools
----------------- Access -----------------
Results
Objectives
Hackers
User Command
Implementation Vulnerability
Unauthorized Access
Files
Corruption of Information
Challenge, Status
Spies
==>
Script or Program
==>
Design Vulnerability
=>
Unauthorized Use
=>
Processes
=>
Data in Transit
==>
Disclosure of Information
==>
Political Gain
Terrorists
Autonomous Agent
Configuration Vulnerability
Theft of Service
Financial Gain
Corporate Raiders
Toolkit
Denial-of-service
Damage
Professional Criminals
Distributed Tool
Vandals
Data Tap

Verkot ja hajautetut järjestelmät

Motivointia

Suurin osa kurssilla esille tulevista ilmiöistä liittyy tietoverkkoihin. Näitä ovat niin sähköposti, seittiselaus käytännön kysymyksineen kuin sellaiset abstraktimmatkin asiat kuin julkisten avainten varmenteet ja autentikointi. Tietoverkkoa on syytä katsoa myös hieman eri suunnasta, jonkinlaisesta verkkoteknisestä näkökulmasta. Tämä täydentää muita tarkasteluja, mikä osittain tapahtuu liikkumalla niiden tason alapuolella - ainakin OSI-mallin mukaan ajateltuna.

Sisältöä ja tavoitetta

Tässä johdantojaksossa esitellään verkostona toimivan tietojenkäsittelyn yleispiirteitä tietoturvan kannalta. Jotkin piirteet liittyvät siihen, että tietokoneet ylipäätään ovat yhteydessä toisiinsa ja toiset siihen, että ne tarjoavat toisilleen palveluja. Teksti ei erityisesti jaottele näitä seikkoja eikä niiden välimuotoja, joten voit itse jäsentää asiaa myös tästä näkökulmasta.

Tavoitteena on yleisnäkemys, johon myöhempiä yksityiskohtia voi kytkeä. Yleistäkin voi testata kysymyksellä:

  • Mitä uusia ongelmia tietojenkäsittelyn verkottuminen aiheuttaa tietoturvan kannalta? Eli (suurinpiirtein) mitä kaikkea uudenlaista voi tapahtua ja miksi, kun yhdet vaihtuvat moniksi seuraavassa: "Yksi keskustietokone hoitaa yhdessä rakennuksessa olevan yhden yrityksen tietojenkäsittelytarpeet siten että kullakin työntekijällä on yksi pääteyhteys siihen yhdestä työhuoneestaan."

Tietoverkon olemus tietoturvan kannalta

Mistä verkoissa on kyse

Tietoverkko on sellainen tietojenkäsittelyn ympäristö, jossa on useita itsenäisiä tietokoneita, jotka pystyvät kommunikoimaan keskenään. Kullakin koneella voi olla useita käyttäjiä, mutta muuten koneiden koolla eikä niiden välisellä etäisyydellä ole merkitystä verkon toimintaperiaatteiden kannalta.

Verkon käsitteitä. Näistä olisi hyvä olla jonkinlainen käsitys: Isäntäkone (host), palvelin (server), asiakas (client), lähiverkko (LAN), topologia, verkkojen väliset yhdyskäytävät, verkkojen yhteysverkot (internetit), osoitteet, nimet, reititin, protokollat ja niiden kerroksellinen rakenne (OSI-malli ja TCP/IP-malli).

Resursseja, joita riskianalyysissa pitää ottaa huomioon, läheltä kauas lueteltuina: paikalliset solmut ja niiden väliset linkit, lähiverkko, sen laitteet, prosessit ja talletetut tiedot, mm. kontrolli-informaatio; yhdyskäytävä ulkoiseen verkkoon, ja linkit yhdyskäytävästä ulospäin, ulkoisen verkon reitittimet ja resurssit kuten tietokannat.

Verkolla on monia hyödyllisiä piirteitä, jotka aiheuttavat samalla turvattomuutta:

Uhkakuvia

Verkkoympäristössä tapahtuvaa viestintää koskevat uhkat vastaavat niitä, joiden on yleisemmin jo nähty uhkaavan tietoa: viestin paljastuminen, viestin muuntuminen matkalla, keksityn viesti ilmestyminen, viestin estyminen. Lisäksi on etäresurssin luvaton käyttö verkon yli.

Katsotaan tarkemmin, mitä kaikkea ikävää verkkoympäristössä voikaan tapahtua ja miten:

Turvamekanismeja verkossa

Erityisistä verkon turvamekanismeista ovat esimerkkeinä sellaiset kuin PGP, SSL, SSH ja IPSec, jotka tulevat esille tällä kurssilla. Nyt johdantona asiaa katsotaan vain yleisellä tasolla. Todettakoon tässä kuitenkin, että tietoturvapolitiikkaa ja -mekanismeja ei voi varsinkaan verkon tapauksessa täysin pitää erossa toisistaan. Mekanismit nimittäin riippuvat verkkoteknologiasta, joka määrää paljolti sen, missä kohdin uhkia voi esiintyä, ja se puolestaan vaikuttaa siihen millaisia sääntöjä politiikkaan täytyy määrätä, jotta ylemmän tason turvatavoitteet voitaisiin saavuttaa.

Seuraavassa on lueteltu noin kuudenlaisia mekanismeja. Harjoitus. Vertaa tätä luetteloa pitempään ja yleisempään mekanismiluetteloon ja täydennä siitä piirtämääsi käsitekarttaa näkemyksesi mukaan.

Yleistä kryptoprotokollista

Motivointia

Tällä kurssilla tutustutaan ideatasolla joihinkin kryptografisiin algoritmeihin. Vastaavasti puhutaan useista tietoturvaa edistävistä ohjelmistoista ja opitaan ehkä jopa käyttämään joitakin. Ohjelmistot käyttävät algoritmeja, mutta jos mukana on myös tietoliikennettä, todennäköisesti näiden tasojen välissä on myös jokin kryptografinen protokolla. Niitäkin tulee useita esille tällä kurssilla, joskin tarkempi perehtyminen jää toiselle kurssille. Tällä sivulla hankitaan yleiskäsitys protokollatasosta.

Sisältöä ja tavoitetta

Katsotaan johdannonomaisesti mitä, miksi ja millaisia kryptoprotokollat ovat ja millaista niiden laatiminen on.

Jälkimmäiseen tavoitekysymyksistä ei selvästikään voi vielä johdannon perusteella vastata kunnolla. Sen tarkoitus on luonnehtia, millaisia asioita kryptoprotokollista pitäisi tällä kurssilla oppia.

  • Mikä on kryptografinen protokolla? Mainitse esimerkkejä sellaisista. Miksi niiden laatiminen on niin vaikeaa?
  • Esittele kolme kryptografista protokollaa siten, että kerrot,
    a) mitkä tavoitteet osapuolet saavuttavat;
    b) käytetäänkö julkisen avaimen kryptosysteemiä ja kumman osapuolen avaimia;
    c) käytetäänkö symmetristä salausta.
    Olkoon ainakin yksi protokolla sellainen, jossa tavoitteet ovat samanlaiset ja yksi sellainen, jossa ne ovat erilaiset.

Yleistä kryptoprotokollista

Kryptografisella protokollalla tarkoitetaan joihinkin tietoturvatavoitteisiin tähtäävää kahden tai useamman osapuolen välisen yhteydenpidon käytäntöä, jossa sovelletaan jotain kryptografista primitiiviä eli lähinnä salausta, allekirjoitusta tai yksisuuntaista tiivistämistä. Yhteyskäytäntö on toimijoiden näkökulmasta oikeastaan vain jotain ongelmaa ratkova algoritmi, mutta sille on oleellista, että samaa ongelmaa ratkotaan useammassa eri paikassa ja näillä on vuorovaikusta, jota hoidetaan viestien välityksellä. Sama protokolla voi ilmetä eri osapuolille hieman erilaisena algoritmina, jos roolit ovat erilaiset, mutta kaikkien algoritmien pitää olla yksikäsitteisiä ja kyetä ottamaan huomioon kaikki tilanteet. Joka tapauksessa protokollan pitää olla sovittu etukäteen, jos kohta version ja parametrien (esim. käytettävien kryptoalgoritmien) osalta tämä usein tehdään protokollan jo käynnistyttyä.

Tärkeä ominaisuus tietoturvaprotokollissa on, että osapuolet voivat protokollan päätyttyä vakuuttua siitä, että tavoite tuli saavutetuksi ja havaita, mikäli näin ei käynyt. Tätä varten voidaan tarvita luotettua kolmatta osapuolta. Sellainen voi kuulua osaksi protokollaa joko välittäjänä tai siten, että jossain vaiheessa ollaan siihen yhteydessä (esim. sertifioija), tai sitten kolmannen osapuolen roolina on jälkikäteen tarvittaessa kaivaa esiin mahdolliset väärinkäytökset.

Kryptoprotokollien suunnittelussa pätee, varmaan paremmin kuin missään muussa, että jos jokin voi mennä pieleen niin se menee. Tämä johtuu siitä, ettei riitä, että protokolla suoriutuu tehtävästään kaikki tunnetut hyökkäykset välttäen. Sen pitäisi välttää kaikki mahdolliset hyökkäykset. Toisin kuin ohjelmistoissa ja tekniikassa yleensä, käyttäjien ei voida olettaa edes aikovan toimia sääntöjen mukaisesti. Vaikka tämän kurssin perusteella ei suunnitellakaan uusia protokollia, on hyvä tuntea kaksi tärkeintä suunnittelussa huomioitavaa periaatetta:

  1. Jokaisen viestin täytyy ilmaista merkitys: viestin tulkinta saa riippua vain sen sisällöstä (eikä siis esim. näennäisestä kuulumisesta tiettyyn vaiheeseen tietyn protokollan ajossa, tai viestipaketin otsikossa mainitusta lähettäjän nimestä).
  2. Ehdot, joilla viestin on tarkoitus aiheuttaa toimenpiteitä, pitää eritellä riittävän tarkasti, jotta protokollaa tarkasteleva voi ratkaista, ovatko ne hyväksyttävissä niissä olosuhteissa, joissa hän aikoo protokollaa soveltaa. (Olosuhteet tarkoittavat esim. verkkoympäristöä, sen käyttäjiä, vastuita. Toimenpiteenä voi olla vaikka tiedoston lukeminen tai tilisiirto.)
Avaintenvaihto on yksi tärkeimmistä kryptografisista protokollista. Sen tarkoituksena on saada sama salausavain molempien osapuolten, ja vain heidän, tietoon. Esimerkkinä tulee esille Diffie-Hellmanin protokolla, joka vaatii lisäkseen "vain" osapuolten autentikoinnin, eli vakuuttumisen siitä, että molemmissa päissä on oikeat toimijat (ks. miksi). Useimmat protokollat keskittyvätkin autentikointiin ja sisältävät sen ohella yleensä avainten vaihdon. Avainten vaihto tulee esille useassa yhteydessä: PGP, SSH ja IPSec-standardi. Avaintenhallinta (key management) kattaa avaintenvaihdon lisäksi koko avaimen elinkaaren. Asia tulee esille paitsi PGP:n myös X.509-standardin esittelyn yhteydessä.

Monet erikoisiin tavoitteisiin esim. sähköisessä kaupankäynnissä tähtäävät kryptoprotokollat ovat varsin monimutkaisia ja niissä sovelletaan usein sellaisia aliprotokollia, jotka irrallaan tuntuvat kummallisilta. Tälläkin kurssilla esitellään jossain määrin seuraavia: