Tietoliikenneohjelmistojen ja multimedian laboratorio
in English

1999: Kotitehtävä 4 mallivastaus

Kotitehtävien yleisohjeet / Materiaali / Tehtävä / Palautus


Yleinen ilmoitus: Ketään ei rankaistu vastauksen pituuden tai lyhyyden vuoksi. Myös URL ja kryptatut tekstivastaukset kävivät yhtä hyvin. Ainoa ratkaiseva tekijä arvostelussa oli siis vastauksen substanssi. Tämä menettely sen vuoksi, että kysymykseen tehtiin muutoksia liian myöhään. Pahoittelut niille, jotka kokivat muutokset erittäin ärsyttäviksi.


Materiaali

Lisämateriaalia koskien tätä tehtävää:

Tehtävä: Tietoturva

Allaolevat harjoitukset perustuvat pääasiassa ylläoleviin www-osoitteisiin, eivätkä kirjaan.

1. Periaatteet

(8 pistettä) Listaa neljä verkkoturvallisuuden aluetta. Kerro miksi kukin alue on tärkeä. Anna esimerkkejä, jotka liittyvät kuhunkin alueeseen ja ratkaisuja tietoturvaongelmiin kullakin alueella. Vastauksen pituus vähemmän kuin 20 riviä.

Verkkoturvan alueet ovat seuraavat (määritelleet IETF ja NRC), mitkä tahansa neljä näistä ja vastaava selitys kelpasivat:
a)Luottamuksellisuus/salaisuus (confidentiality/secrecy)
b)Eheys (integrity)
c)Saatavuus (availability)
d)Todennus/digitaalinen allekirjoitus (authentication/Digital signature)
e)Kiistämättömyys(non-repudiation)
f)Pääsynvalvonta (access control)

Alla esimerkkivastaus neljään näistä. d), e) ja f) voidaan lukea kuuluviksi myös kolmeen ylempään. Kysymysmuoto oli nimenomaan verkkoturvallisuuden alueet, jotta vältettäisiin sekoittaminen tietoturvallisuuden toteuttamisen kanssa, minkä alueita on muun muassa fyysinen turvallisuus.

Salaisuus

Ulkopuolinen henkilö saa käsiinsä yhtiön sisäistä tietoa: mahdollisuus suuriin vahinkoihin. Kryptaus on keino taata viestin salaisuus. Salasanat ja palomuurit estävät tunkeilijoita pääsemästä käsiksi luottamukselliseen tietoon.

Todennus

Henkilö täytyy verkossa pystyä luotettavasti tunnistamaan ja tarkistamaan että hän on se ja vain se joksi itseään väittää. Lisäksi viestien muuttumattomuus matkan aikana täytyy taata. Esimerkiksi yliopiston tietokoneet todentavat käyttäjät salasanojen avulla. Monimutkaisemmissa tapauksissa, kun lähetys tapahtuu epäluotettavan verkon kautta, kuten Internet, asymmetrista salausta tulee käyttää.

Kiistämättömyys

Viestinnän osapuolen ei pitäisi pystyä väittämään että hän ei ole lähettänyt/vastaanottanut viestiä tai muuntelemaan sen sisältöä jälkikäteen. Asymmetrinen salaus mahdollistaa kiistämättömyyden. Periaate on että jos viesti voidaan verifioida henkilön julkisella avaimella se on täydytty kryptata henkilön salaisella avaimella. Ongelmana on että henkilö saattaa väittää, että hänen salainen avaimensa on varastettu. Yksi ratkaisu on käyttää luotettua kolmatta osapuolta(TTP), joka vakuuttaa kiistämättömyydeen.

Eheys

Tietokoneiden ja tietolähteiden pitää aina pysyä toiminnassa. Tietokonevirukset tuhoavat tai muuttavat tietoa. Toisenlaiset hyökkäykset voivat kuluttaa kaiken kaistan tai prosessorin kapasiteetin.

2. Avaimen pituus

(3 pistettä) Miksi jotkin instanssit haluaisivat estää pitkien salausavainten käytön ja miksi toisaalta ei ole viisasta käyttää lyhyitä avaimia? Kuinka pitkä avain on turvallinen? Vastauksen pituus vähemmän kuin viisi riviä.

Jotkin tahot, kuten valtion turvallisuuspalvelut haluavat pidättää mahdollisuuden lukea kaikki viestit (rikollisuuden estäminen). Tämä mahdollistaa tosin myös totalitarismin.

Lyhyitä avaimia voi murtaa kuka tahansa. 128 bitin symmetrinen avain ja 1024 bitin asymmetrinen avain ovat nyt turvallisia.

3. Hyökkäykset

(3 pistettä) Kuvaile yksityiskohtaisesti minkälaiset järjestelmät ovat haavoittuvaisia seuraaville hyökkäyksille ja miten tällaiset hyökkäykset huomataan. Selitä kuinka järjestelmää voitaisiin kehittää, jotta kyseisenlaiset hyökkäykset voidaan estää. Nimeä esimerkissäsi henkilöt Liisaksi ja Teemuksi sekä tunkeutuja Mikoksi. Vastauksen pituus yhteensä noin 10 riviä per alakohta. Kustakin hyökkäksestä on tarkoitus laatia esimerkki jokaisen alakohdan loppuun.

a. Man-in-the-middle attack

Jos Teemu ja Liisa haluavat luoda kryptatun yhteyden julkisen avaimen menetelmällä (esim. Diffie-Hellman) ensimmäinen viesti on ongelmallinen. Liisan täytyy toimittaa julkinen avaimensa Teemulle. Jos hän lähettää julkien avaimensa emailissa, hyökkääjä Mikko voi kaapata ensimmäisen viestin ja vaihtaa julkisen avaimen niin että että hän voi lukea sillä kryptatun viestin. Mikko lähettää viestin Teemulle väittäen olevansa Liisa. Tällätavalla Mikko on Teemun ja Liisan välissä (man-in-the-middle) ja voi vapaasti lukea kaikki viestit. Hyökkäus voidaan estää esimerkiksi a) vaihtamalla avaimet fyysisesti "kädestä käteen", puhelimella tai lähettää kirjeessä b) "turvalliset" www-sivut, joilla voi vaihtaa avaimia. Näissä on tietysti omat riskinsä. Jaettujen avainten tapauksessa voidaan käyttää myös KDC:ta(Key Distribution Center).

b. Replay attack

Toistohyökkäys hyökkää yksinkertaista protokollaa vastaan, joka käyttää KDC ohjelmistoa, katso yllä oleva man-in-the-middle-attack hyökkäyksen torjuminen.

Mikko kopioi salatun sessioavaimen, jonka KDC on lähettänyt Teemulle. Tämän jälkeen Mikko kopioi myös viestin, joka tulee Liisalta käyttäen tätä sessioavainta. Tämän jälkeen hän voi lähettää vanhan sessioavaimen Teemulle ja sitten viestin joka tuli Liisalta. Tällaisilla hyökkäyksillä voi olla pahoja seurauksia - esimerkiksi jos alkuperäinen viesti Liisalta on: "Teemu, maksa 10 000 mk tilille x, t. Liisa". Teemu on saanut tämän jo kerran ja maksanut. Kun hän saa tämän uudestaan hän saattaa maksaa summan uudestaan, koska pyyntö tulee Liisalta jolla on oikeus kysyä tuollaista operaatiota. Jos mitään tarkastuksia ei ole, Mikko voi lähettää pyynnön monta kertaa Teemulle. Tätä kutsutaan toistohyökkäykseksi. Ehkäisyksi voidaan jokaiseen sessioavaimeen lyödä aikaleima tai juokseva järjestysnumero. Ongelmana on, että kaikki avaimet täytyy säilytää ja voivat monien vuosien jälkeen viedä paljon tilaa. Jos vanhoja avaimia hukkuu, Mikko voi tehdä hyökkäyksen vanhojen hukkuneiden avainten avulla. Ongelmana aikaleimojen kanssa on, että leiman täytyy olla voimassa jonkin aikaa - Mikko voi hyökätä tänä aikana. Kehittyneempi lähetymistapa näiden vikojen korjaamiseen on käyttää Needham-Schoeder todentamista (authentication).

c. Birthday attack

Syntymäpäivähyökkäystä voidaan käyttää digitaalisesti allekirjoitettujen dokumenttien väärentämiseen. Digitaalisen allekirjoituksen idea on että itse dokumentti ei sisällä mitään salaisuuksia, tarvittaessa on vain oltava mahdollista varmistaa dokumentin autenttisuus eli että sitä ei ole muuteltu siirron aikana. Viestin lähettäjä lähettää viestin mukana tarkistussumman (message digest), joka on laskettu varsinaisesta viestistä tunnetulla tavalla. Viestin saaja laskee myös message digestin viestistä ja vertaa laskettua viestin mukana tulevaan arvoon. Jos ne ovat samat, autenttisuus on taattu.

Message digest lasketaan Hash-funktioiden avulla. Syötteenä Hash-funktiolle on viestin sisältö ja tuloksena Hash-funktio antaa n bittiä pitkän stringin (pituus on aina sama kaikilla teksteillä). Hash-metodin pitää olla sellainen että alkuperäistä viestiä ei voida laskea käyttäen message digestiä. Käytännössä tämä tarkoittaa, että suuri joukko syötteitä (itseasiassa rajaton, sillä syötetyn tekstin pituutta ei ole määritelty) vastaa kutakin message digestiä.

Message digestin pitää olla tarpeeksi pitkä, jotta ei olisi mahdollista löytää toista tekstiä mikä voisi tuottaa saman message digestin. Syntymäpäivähyökkäys hyödyntää määritelmässä olevaa aukkoa. Tarkoituksena on löytää toinen viesti (mikä on myös johonkin pituuteen asti järkevää). Jos message digestin pituus on 64, niin on olemassa 2^64 erilaista message digestiä. Huomaa että voit helposti tuottaa 2^64 saman informaation sisältävää viestiä löytämällä 64 paikkaa tarinasta, mihin voisit laittaa kaksi sanaa tarkoittaen eri asioita. Ensiksi voisi ajatella että täytyy yrittää 2^64:sta eri kombinaatiota, jotta voi tuottaa kaksi kertaa saman message digestin. Kuitenkin, tämä ei ole tilanne. Kuuluisa esimerkki nimeltään syntymäpäiväparadoksi (kyseessä ei oikeasti ole paradoksi vaan todennäköisyyslaskenta) näyttää että jos on 23 ihmistä, niin todennäköisyys että kahdella heistä on sama syntymäpäivä on suurempi kuin 0.5. Samalla tavalla voidaan osoittaa että jos message digest on n bittiä pitkä niin että on olemassa 2^n erilaista mahdollisuutta on osuma löydettävissä keskimäärin 1.2*2^n/2 yrityksen jälkeen. Kun n=64 tämä tarkoittaa 1.2*2^32, mikä voidaan ymmärtää melko helposti.

Syntymäpäivähyökkäys voidaan estää nostamalla message digestin pituutta. MD5 algoritmi käyttää 128 bittiä pitkää message digestiä ja 2^64 mahdollisuuden laskeminen on liian työläs tehtävä myös tulevaisuudessa.

4. Hyökkäysmenetelmät

(3 pistettä) Ota selville kolme käytännönläheistä tapaa murtaa toisten UNIX koneen salasana ja kirjoita kustakin lyhyt kuvaus. Vastuksen pituus noin 12 riviä(neljä riviä kustakin).

Seuraavat hyväksyttiin asiankuuluvin selostuksin:
a)Sniffaus
b)Cache snooping
c)Troijalaiset hevoset(esimerkiksi vale SSH ikkuna)
d)Näppäimistön lukeminen


Palautus

Palauta vastauksesi yleisten palautusohjeiden mukaisesti. Muista tarkistaa, että saat palautuksestasi onnistumiskuittauksen kurssin sähköpostiautomaatilta.


Tämän sivun sisäll/stä vastaavat tlarkin assarit, sähköposti tlark@tcm.hut.fi
Sivua on viimeksi päivitetty 3.10.1999
URL: http://www.tcm.hut.fi/Opinnot/Tik-110.300/1999/Tehtavat/tehtava_04.html