WWW:n tietoturva Nixu Ltd.
Sisältö WWW:n toiminta Yleinen tietoturva WWW-palveluiden tietoturvanäkökulmat Nixu Ltd. 2/34 WWW:n tietoturva
Mitä WWW on? Hypertekstitiedostoja, jotka viittaavat toisiinsa (HTML, URL) Asiakas-palvelin arkkitehtuuri Tiedostonkopiointiprotokolla TCP/IP:n ylitse (HTTP) Interaktiivisia ominaisuuksia (lomakkeet, toimintolikit) Asiakasohjelma näyttää käyttäjälle useista palvelimilta haetuista tiedostoista koostuvan kokonaisuuden Tekstiä, kuvia, tyylimäärittelyjä, ääntä, muita objekteja Nixu Ltd. 3/34 WWW:n tietoturva
Miten WWW toimii? URL: http://www.anyplace.com HTML: <H1>Homepage</H1> HTTP: GET /index.html TCP: port 80, ACK 4378 IP: to: 194.197.118.20 Ethernet: to: 00:00:00:12:56:A7 Selain open www.any... 80 IP: reititys ETH ATM Näyttö WWW-palvelin HTML HTTP TCP IP ATM Nixu Ltd. 4/34 WWW:n tietoturva
Organisaation yleinen tietoturva Organisaatioilla on erilaista suojattavaa tietoa Kaikki tieto ei ole tietokoneissa Tietoon ja tietojärjestelmiin kohdistuu erilaisia uhkia Tietojen vuoto (salakuuntelu) Tietojen tuhoutuminen Tietojen muuttaminen (korruptoiminen) Väärän tiedon levittäminen Tietojen käytön estäminen Nixu Ltd. 5/34 WWW:n tietoturva
Organisaation yleinen tietoturva Tietoa voidaan suojata erilaisin keinoin, jotka aiheuttavat kustannuksia Turvakäytäntö eli -politiikka määrittelee tarvittavat suojaustasot ja -keinot Suojauksen oltava suhteessa vahingon arvoon ja todennäköisyyteen Suojauksen on oltava kattava, esimerkiksi kulunvalvonta, murtohälyttimet varmuuskopiointi, varajärjestelmät tietoliikenteen suojaus Nixu Ltd. 6/34 WWW:n tietoturva
Tietoturvan yleistavoitteet Näitä sovelletaan tilanteen mukaan Tiedon eheys (integrity) Tiedon luottamuksellisuus (confidentiality) Tiedon käytettävyys (availability) Tapahtumien kiistämättömyys (non-repudiation) Nixu Ltd. 7/34 WWW:n tietoturva
Internetin tietoturva Internet ei takaa minkäänlaista tietoturvaa Perusprotokollien salakuuntelu on helppoa IP-osoitteiden, sähköpostin ym. väärentäminen on mahdollista IP-pakettien ja sähköpostin reitti verkossa satunnainen ja mahdollisesti altis erilaisille hyökkäyksille kuten sisällön muuttaminen (esim. man-in-the-middle -hyökkäys) yhteyden kaappaaminen Yleisesti käytetyissä ohjelmissa on turvallisuusaukkoja Nixu Ltd. 8/34 WWW:n tietoturva
Turvan rakennuspalikat Turvan on oltava kokonaisvaltaista ja moniulotteista Suunnitelma sekä koulutusta, ohjeita, sääntöjä ja tekniikkaa Tekninen turvarajapinta suojaa tietoja teknisiltä uhilta Koneet fyysisesti toimistorakennuksessa Palomuuri rajaa verkosta tulevaa liikennettä Salaus suojaa tietoja matkalla paikasta toiseen Pääsy tietoihin määritellään tunnistamalla käyttäjät Mahdollinen hyökkäys voidaan joskus tunnistaa valvontaohjelmalla Virukset torjutaan virukset tuntevalla ohjelmalla Sopimukset allekirjoitetaan kryptografisesti Nixu Ltd. 9/34 WWW:n tietoturva
Tavoite: Eheys Riski: joku pääsee välittämään väärää tietoa WWWpalvelimen kautta Potentiaaliset vahingot hyvin suuria, organisaatiosta riippuen Ratkaisut Palvelimen suojaaminen eri keinoin Muutoksien tunnistaminen Palvelimen tietosisällön tarkistaminen tai vertaaminen muualla säilytettävään sisältöön Palvelimen identiteetin varmentaminen (SSL-varmenne) Nixu Ltd. 10/34 WWW:n tietoturva
Tavoite: Luottamuksellisuus Riski: palvelimen suljetun alueen tai käyttäjän tiedot joutuvat ulkopuolisten käsiin Ratkaisut: Käyttäjien tunnistaminen Basic-tunnistus selväkielinen Usein tunnistus suoritettava salatun yhteyden ylitse Tietoliikenteen salaaminen SSL ja SSH mahdollistavat palvelimen tunnistamisen IPSEC yleistymässä VPN-ratkaisuissa Nixu Ltd. 11/34 WWW:n tietoturva
Tavoite: Käytettävyys Riski: palvelun käyttö estetään esimerkiksi kuormittamalla palvelinta kohtuuttomasti Ratkaisut: Kattavaa ratkaisua ei ole Vaikutusta voidaan vähentää hajauttamalla tietosisältö (esim. Akamai) siirtämällä hyökkäyksen kuorma pois itse palvelimelta (web-switchit) keventämällä palvelun sisällön data-määrää (ns. war-mode) Nixu Ltd. 12/34 WWW:n tietoturva
Tavoite: Kiistämättömyys Riski: toinen osapuoli kieltää sitoutuneensa sopimukseen Ratkaisu: Julkisen avaimen salakirjoitukseen perustuva sähköinen allekirjoitus Teoria, teknologia ja lainsäädäntö ovat olemassa tai tulossa Todellisuudessa kestää vielä ennen kuin sähköinen allekirjoitus saavuttaa juridisen pätevyyden Nixu Ltd. 13/34 WWW:n tietoturva
WWW-palvelimen suojaus Poistetaan turhat palvelut koneesta ja palvelinohjelmistosta Rajataan palomuurilla tai reitittimellä ulkoa päin tulevat yhteydet minimiin Käytännössä sallitaan ainoastaan WWW-liikenne Sähköposti ohjataan eri koneeseen tai välipalvelimen kautta Tarvittaessa rakennetaan syvyyttä puolustukseen Reititin Internet WWWpalvelin Palomuuri Varsinainen palvelin Suojautuminen palvelunestohyökkäyksiä vastaan on mahdotonta Ohjelmistopäivityksillä ja palomuurilla voidaan torjua tietyt hyökkäykset Nixu Ltd. 14/34 WWW:n tietoturva
WWW-palvelinohjelmisto Palvelinohjelmisto saattaa vuotaa ei-levitettäväksi tarkoitettua tietoa Linkit data-alueelta ulos Ohjelmointivirheet palvelinohjelmissa mahdollistavat murtautumisen Esim. fgets()-funktio mahdollistaa ylivuotojen hyödyntämisen Palvelinta tulisi ajaa minimaalisilla oikeuksilla Oma käyttäjätunnus palvelinohjelmistolle Ei pääkäyttäjän oikeuksilla Nixu Ltd. 15/34 WWW:n tietoturva
WWW:n CGI-ohjelmien aukot World Wide Webin Common Gateway Interface määrittelee rajapinnan, jonka kautta WWW-lomakkeen tiedot välitetään palvelimessa olevalle ohjelmalle Ohjelma ajetaan palvelinkoneessa ylläpitäjän asettamilla oikeuksilla Minimaalisillakin oikeuksilla CGI-ohjelmalla on pääsy kaikkiin (Unix-) koneen tiedostoihin, joita ei ole erikseen suojattu Potentiaalinen murtautuja voi esim. hakea Unix-koneen /etc/passwd -tiedoston Systeemikutsut ovat erityinen riski Huonosti kirjoitetussa ohjelmassa käyttäjän syöte välitetään komentorivillä, argumentti voi sisältää rivieroittimen ja käskyjä Käyttäjän syöte kannattaa sanitoida muista kuin luvallisista merkeistä heti ohjelman alussa Vastaava ongelma on ilmaantunut uudestaan SQL-kielen kyselyiden kanssa Nixu Ltd. 16/34 WWW:n tietoturva
WWW:n CGI-ohjelmien aukot Lomake on palvelimen käyttäjälle luovuttama tiedosto Paluutietoihin ei voi luottaa, käyttäjä saattaa editoida kenttiä ja muuttaa niitä Ratkaisut: Vaatimusmäärittely ennen ohjelmointia, mukaalukien turvamäärittely Huolellinen ja turvatietoinen ohjelmointi CGI:n toiminnan ymmärtäminen CGIWrap ja muut lomaketta tulkitsevan ohjelman ominaisuuksia rajoittavat työkalut Nixu Ltd. 17/34 WWW:n tietoturva
Pääsyoikeudet WWW:ssä Käyttäjätunnus ja salasana Basic-suojauksella siirretään verkossa salaamatta Syöttämisen jälkeen lähetetään palvelimelle jokaisen haun yhteydessä Liki sama toiminto saadaan uniikilla URL-osoitteella Cookie Selaimeen talletettava informaationpätkä, joka palautetaan pyydettäessä Säilyy sessiosta toiseen Salakuunneltavissa Ei toimi jos käyttäjä vaihtaa konetta Uniikki URL Pääsy esim. lomakkeen kautta Nixu Ltd. 18/34 WWW:n tietoturva
Tietoliikenteen salaus SSL (Secure Socket Layer) Salaa palvelimen ja selaimen välisen yhteyden Aikaisemmissa selainversioissa 40 bitin avain, murrettavissa Julkisen avaimen salakirjoitukseen perustuvat varmenteet autentikoivat palvelimen Varmennestruktuuri on jonkin verran mätä SSH Yleiskäyttöisempi ja turvallisuudeltaan vahvempi tapa suojata TCPyhteys kuin SSL Käyttö WWW:n kanssa vaatii muutoksia selaimen asetuksiin Sopii intranet- ja extranet-ratkaisuihin Nixu Ltd. 19/34 WWW:n tietoturva
Tietoliikenteen salaus IPSec IP-tason suojaus Suojaa kaiken IP-liikenteen Tarjoaa IP-osoitteiden autentikoinnin Käytössä VPN-ratkaisuissa Etenkin etätyö Saattaa tulevaisuudessa yleistyä extranet-käytössä Vaatii toimiakseen varmenneinfrastruktuurin, jota jonkun olisi hallinnoitava Nixu Ltd. 20/34 WWW:n tietoturva
WWW-proxyt ja -cachet Proxy peittää takanaan olevat IP-osoitteet ja DNS-nimet Suuri määrä eri käyttäjiä saman IP-osoitteen takana Yksi käyttäjä usean IP-osoitteen takana Cache häiritsee dokumenttikohtaista laskutusta Palvelin voi kieltää dokumentin cacheamisen Ratkaisuksi esim. cookiet tai uniikki URL SSL-dokumentteja ei cacheta (SSL estää) Nixu Ltd. 21/34 WWW:n tietoturva
Java-appletit ja ActiveX Java- tai ActiveX-appletti haetaan WWW-palvelimesta ja suoritetaan käyttäjän selaimessa (Netscape, Internet Explorer jne.) Eli käyttäjän koneessa suoritetaan ohjelmaa, josta käyttäjä ei tiedä mitään Periaatteessa Java-tulkki sulkee ohjelman sisälleen hiekkalaatikkoon ja estää pääsyn koneen tiedostoihin ja muistiin Käytännön toteutuksista on löydetty ja paikattu aukkoja suojauksista Java-tulkki rajoittaa myös Java-ohjelman tietoliikenneyhteydet vain siihen koneeseen josta ohjelma on haettu Nixu Ltd. 22/34 WWW:n tietoturva
Java ja ActiveX ActiveX-ohjelmaa ei rajoiteta mitenkään (Windows 95- järjestelmässä) ActiveX-ohjelman ajaminen voidaan sallia tai estää ohjelman varmenteeseen perustuen (tietoturva kaikkien käyttäjien käsissä) Java-ohjelmien julkisesta verkosta lataamisen salliminen sisältää kohtuullisen riskin, ActiveX kohtuuttoman Nixu Ltd. 23/34 WWW:n tietoturva
Tuotteistettu verkkohyökkäys Porttiskannereilla kartoitetaan kohdealue Mitä palveluita ja koneita kohdeverkossa on? Seuraavaksi valitaan tunnettuun aukkoon sopiva täsmähyökkäys Tavoitteena saada kohdekone luomaan käyttäjätunnus, avaamaan komentotulkki tms. Kun on saavutettu ylläpitotaso, tehtään omia aukkoja ja peitetään jäljet Rootkit on yleisnimi ohjelmistopaketille, joka korvaa joukon systeemiohjelmia toisilla Ammattitaitoiset hyökkääjät eivät käytä näitä, heidän työkalunsa ovat puolesta vuodesta vuoteen edellä yleisesti saatavilla olevia Nixu Ltd. 24/34 WWW:n tietoturva
Hyökkäyksen tunnistaminen Intrusion Detection Uusi tietoturva-alue Hyökkäys tietoverkon koneisiin voidaan tunnistaa Etsimällä verkon liikenteestä tunnettuja hyökkäyksiä (signatuureja) Seuraamalla verkon liikennettä ja tunnistamalla epänormaali käyttäytyminen Tarkkailemalla palvelimen tiedostoja ja tunnistamalla niiden muuttuminen Heuristisilla analyyseillä systeemikutsuista Käytännössä Nykyiset järjestelmät tunnistavat paljon enemmän vääriä kuin oikeita hyökkäyksiä Stealth-hyökkäysten tunnistaminen on vaikeaa Raporttien tutkimiseen ja analysointiin vaaditaan erikoisosaamista Nixu Ltd. 25/34 WWW:n tietoturva
Aktiiviset toimenpiteet "Hyökkäys on paras puolustus" Hyökkääjään voidaan kohdistaa samat toimenpiteet kuin mitä hänkin käyttää Verkossa on helppoa tehdä valehyökkäys, ts. käyttää väärää osoitetta Vastahyökkäys täyttää yleensä rikoksen tunnusmerkistön Vastahyökkäys ei kannata, enintään voidaan kerätä tietoa hyökkäyksen lähteestä Puolustusta voidaan tiukentaa väliaikaisesti kun ollaan hyökkäyksen kohteena Vahingoinaiheuttaja voi häiritä palvelun toimintaa ylläpitämällä jatkuvaa näennäishyökkäystä Toistaiseksi ei näköpiirissä ole siis hyödyllisiä aktiivisia vastatoimia Nixu Ltd. 26/34 WWW:n tietoturva
Käyttäjän näkemys tietoturvasta Tietoturva on välttämätön paha, joka haittaa työntekoa Käyttäjät ovat usein päteviä poistamaan työnteon esteet Tietoturvan merkitystä ei arvosteta Käytäntö lepsuu usein nopeasti Käyttäjillä ei aina ole riittävää kompetenssia tietoturvan soveltamiseen Jos intranetin WWW-palvelussa on linkki Internetissä olevaan palvelimeen ja siellä pyydetään käyttäjätunnusta ja salasanaa, kuinka moni käyttäjä antaa oman intranet-tunnuksensa ja -salasanansa? Käyttäjiä on koulutettava ja tietoturvan merkitystä painotettava jatkuvasti Käyttäjien turvatietoisuuden korvaaminen teknisillä ratkaisuilla on vaikeaa tai mahdotonta Nixu Ltd. 27/34 WWW:n tietoturva
Symmetrinen salaus Salaus ja purku salaisella avaimella Viesti S X#9Z S Viesti Perustuu yleensä bitten transformointiin ja paikan vaihtamiseen Tehokasta, sopii suurten datamäärien kryptaukseen Ongelmana salaisen avaimen välittäminen osapuolten välillä Nixu Ltd. 28/34 WWW:n tietoturva
Julkisen avaimen salakirjoitus Salaus ja purku eri avaimella Julkisella avaimella salattu viesti aukeaa vain salaisella avaimella Viesti J X#9Z S Viesti Julkinen avain voidaan julkistaa esim. puhelinluettelossa tms. Nixu Ltd. 29/34 WWW:n tietoturva
Julkisen avaimen salakirjoitus Yleensä kaksisuuntainen toiminta Salaisella avaimella avattu viesti aukeaa vain julkisella avaimella Viesti S X#9Z J Viesti Toteuttaa allekirjoituksen Nixu Ltd. 30/34 WWW:n tietoturva
Avaintenhallinta Julkisen avaimen menetelmien ongelmana miten varmistua julkisen avaimen oikeellisuudesta PGP-avaimen hakeminen WWW-palvelimesta ei riitä, jos tietoliikenneyhteys välillä on kompromisoitu Ratkaisuna avainten varmentaminen, luotettu taho allekirjoittaa avaimen Luotettu taho voi olla julkishallinnon viranomainen Esim. väestörekisterikeskus Käyttäjät voivat myös keskenään varmentaatoistensa avaimia esim. yritykset voivat vaihtaa keskenään julkisia avaimiaan PGP-käyttäjien "Web of Trust" Nixu Ltd. 31/34 WWW:n tietoturva
Varmenne Varmenne on kryptografisesti allekirjoitettu formaali dokumentti, jossa allekirjoittaja liittää identiteetin tai oikeuksia tiettyyn julkiseen avaimeen Varmenteen hallussapito ei todista mitään, varmenteella identiteettinsä todistavan tai oikeuksia vaativan tahon on lisäksi todistettava että hänellä on varmennettua julkista avainta vastaava salainen avain hallussa Varmenteen vastaanottajalla on oltava varmenteen allekirjoittajan julkinen avain allekirjoituksen tarkistamiseksi Varmenteita voidaan myös ketjuttaa ja oikeuksia jakaa eteenpäin, jos tämä halutaan sallia Eri järjestelmissä varmenteita voi joko luoda itse tai varmentajaksi valitaan luotettu kolmas osapuoli Nixu Ltd. 32/34 WWW:n tietoturva
WWW-palvelun turvasuunnittelu Määritellään palvelun tavoitteet Kartoitetaan riskit Analysoidaan palvelun tietovirrat Tarkastellaan palvelua eri näkökulmista Palveluntarjoaja, käyttäjä, vihamielinen taho Nixu Ltd. 33/34 WWW:n tietoturva
Hyödyllisiä linkkejä WWW:n tietoturva http://www.w3.org/security/ Yleisestä tietokoneiden tietourvasta http://www.cert.org/ Lisää WWW:n tietoturvaa http://www.yahoo.com/computers_and_internet/internet/world_wide_web/security/ Internet-standardit, myös kehitteillä olevat http://www.ietf.org/ Nixu Ltd. 34/34 WWW:n tietoturva