SALASSAPITO PURETTU 14.10.2008 YLIMÄÄRÄINEN CERT-FI TIETOTURVAKATSAUS 2b/2008 31.7.2008 Internetin nimipalvelun haavoittuvuus
CERT-FI tietoturvakatsaus 2b/2008 30.7.2008 Tämä ylimääräinen CERT-FI tietoturvakatsaus käsittelee internetin nimipalvelusta (DNS, Domain Name System) löytynyttä haavoittuvuutta sekä sen johdosta suositeltavia suojaustoimenpiteitä itse nimipalvelinten sekä Suositukset teleyrityksille internet-yhteyspalvelujen tietoturvallisuuden varmistamiseksi. nimipalvelinten päivittäminen (ref. CERT- FI Varoitus 01/2008) Taustaa haavoittuvuudesta Julkisuuteen on viime viikkoina ja päivinä tullut tietoja lukuisien internetin nimipalvelujärjestelmän eri osien toteutukseen liittyvistä haavoittuvuuksista, jotka saattavat altistaa resolverinimipalvelimien, välityspalvelinkomponenttien sekä asiakasohjelmistojen käyttämän nimenselvitysvälimuistin (cache) oikeudettomalle ulkopuolisen tahon suorittamalle muokkaukselle. Hyökkäystekniikasta käytetään yleisnimeä "DNS Cache Poisoning". Nyt julki tullut haavoittuvuus ja sen hyväksikäyttöohjeet mahdollistavat aiemmin tuntemattoman tavan toteuttaa em. hyökkäys. nimipalvelinten asetusten kiristäminen rekursiivisten kyselyiden osalta (ref. CERT-FI Varoitus 03/2007) väärennetyillä osoitteilla varustettujen pakettien suodattaminen viestintäverkon laidoilla (ref. Viestintäviraston määräys 13/2005 M) nimipalvelinten häiriöttömän toiminnan ja erityisesti niiden välimuistin eheyden tarkkailu asiakkaiden opastaminen tietoturvalliseen nimipalvelun käyttöön Haavoittuvuutta hyväksikäyttävä hyökkääjä voi korvata haluamansa nimipalvelutietueen hyökkäyksen kohteena olevan järjestelmän välimuistista, jolloin kyseisen tietueen mukaista nimeä kysyvät järjestelmät saavat hyväksikäytetyltä palvelimelta vastaukseksi väärennetyn osoitteen. Vastaavalla tekniikalla hyökkääjän on mahdollista kaapata kokonaisia verkkotunnuksia, jolloin uhrien kaikki myöhemmät kyseisiin verkkotunnuksiin kohdistuvat nimenselvityskyselyt ohjataan hyökkääjän hallussa olevaan erehdytystarkoituksessa perustettuun nimipalvelimeen. Haavoittuvuudesta tiedottamisesta Suositukset yhteisötilaajille omassa hallussa mahdollisesti olevien nimipalvelinten päivittäminen (ref. CERT- FI Varoitus 01/2008) nimipalvelinten asetusten kiristäminen rekursiivisten kyselyiden osalta (ref. CERT-FI Varoitus 03/2007) DNS-haavoittuvuuden korjaavan ohjelmistopäivitysten asentaminen työasemiin ja palvelimiin (ref. CERT-FI Haavoittuvuustiedote 088/2008) yleinen tarkkaavaisuus mahdollisten CERT-FI on julkaissut tapauksesta johtuen väärinkäytösyritysten havaitsemiseksi haavoittuvuustiedotteen 088/2008 1, varoituksen 01/2008 2 sekä lukuisan määrän Tietoturva nyt! -artikkeleita 3. Lisäksi CERT-FI on toimittanut kohdennettuja tiedotteita erityisesti FI-ISP-sähköpostilistan kautta. 1 CERT-FI haavoittuvuustiedote 088/2008: Merkittävä haavoittuvuus nimipalvelutoteutuksissa (8.7.2008) http://www.cert.fi/haavoittuvuudet/2008/haavoittuvuus-2008-88.html 2 CERT-FI varoitus 01/2008: Vakavan DNS-haavoittuvuuden yksityiskohdat paljastuneet (22.7.2008) http://www.cert.fi/varoitukset/2008/varoitus-2008-1.html 3 Tätä kirjoitettaessa CERT-FI on julkaissut seitsemän (7) Tietoturva nyt! -artikkelia seuraavina ajankohtina: 8.7.2008, 22.7.2008, 23.7.2008 (2 kpl), 24.7.2008, 29.7.2008 (2 kpl). Artikkelit löytyvät osoitteesta: http://www.cert.fi/tietoturvanyt/2008.html 1
Tämä tietoturvakatsaus täydentää, mutta ei korvaa edellä mainittuja tiedotteita. CERT-FI ei myöskään välttämättä päivitä tätä tietoturvakatsausta, elleivät erityisen painavat syyt vaadi toisin. FI-ISP-postituslistasta CERT-FI:n useiden vuosien ajan ylläpitämällä suljetulla kaksisuuntaisella postituslistalla on tälläkin hetkellä vain osa suomalaisista internet-yhteyspalveluita tarjoajista. Listan kohdeyleisö on teleyritysten tietoturvapäälliköt, tietoturva-asiantuntija ja tietoturvaloukkauksia käsittelevä henkilökunta. Listalle lähetetään muun muassa tietoturvaan liittyviä varoituksia ja ennakkotiedotteita sekä teknistä ohjeistusta. Kehotamme internet-yhteyspalveluiden tarjoajia varmistumaan siitä, että ne ovat ilmoittaneet Viestintävirastolle sellaisten työntekijöidensä yhteystiedot, joiden katsovat kuuluvan jakelun piiriin. Ilmoituksia, täydennyksiä ja tiedusteluja voi lähettää osoitteeseen CERT@ficora.fi. Jatkosta CERT-FI jatkaa tilanteen seurantaa ja julkaisee tarvittaessa päivityksiä edellä mainittuihin julkisiin tiedotteisiin sekä toimittaa tarvittaessa lisätietoja kohdennetuilla jakeluilla sekä pyynnöstä. Sähköisen viestinnän tietosuojalain 21 :n mukaan teleyrityksen on ilmoitettava Viestintävirastolle verkkopalvelun ja viestintäpalvelun merkittävistä tietoturvaloukkauksista ja sellaisista niihin kohdistuvista tietoturvauhkista, joista teleyritys on tietoinen. Nimipalvelun kaltaiseen internetin perusinfrastruktuurin eheyteen ja saatavuuteen kohdistuvia hyökkäyksiä tai hyökkäysyrityksiä voidaan pitää sellaisena laissa tarkoitettuna merkittävänä tietoturvaloukkauksena, josta viestintäpalvelua tarjoavan teleyrityksen on ilmoitettava Viestintävirastolle. Samalla on ilmoitettava toimenpiteistä, joilla tällaisten tietoturvaloukkausten ja niiden uhkien toistuminen pyritään estämään. Ilmoituksen voi tehdä joko Viestintäviraston sivuilla olevalla lomakkeella 4, sähköpostitse osoitteeseen CERT@ficora.fi 5 tai puhelimitse numeroon +358 9 6966 510. Teleyritys on velvollinen ilmoittamaan palvelun tietoturvaan kohdistuvasta erityisestä uhkasta viipymättä myös tilaajalle. Samalla teleyrityksen on kerrottava tilaajan ja käyttäjän käytettävissä olevista toimenpiteistä uhkan torjumiseksi sekä niiden todennäköisistä kustannuksista. Käytännössä tarvetta ilmoittaa uhkasta tilaajille on yleensä arvioitu yhdessä CERT-FI:n kanssa CERT-FI:lle tehdyn ilmoituksen jälkeen. 4 Viestintävirasto 9 B/2004 M: Tietoturvaloukkausten sekä vika- ja häiriötilanteiden ilmoittamisvelvollisuudesta yleisessä teletoiminnassa http://www.ficora.fi/index/saadokset/maaraykset.html SMS 9 B: Suositus määräyksen Viestintävirasto 9 B/2004 M soveltamisesta http://www.ficora.fi/attachments/suomi_r_y/1156442752261/files/currentfile/sms09b.pdf CERT-FI tapahtumailmoituslomake http://www.ficora.fi/suomi/lomake/ti.pdf 5 CERT-FI:n käyttämät salausavaimet löytyvät osoitteesta https://www.cert.fi/palvelut/yhteystiedot/rooliavaimet.html 2
Hyökkäyskohteista ja vaikuttavuudesta CERT-FI:n arvion mukaan kaikkein todennäköisin - ja vaikutuksiltaan vakavin - hyökkäyskohde ovat teleyritysten asiakkailleen tarjoamat ns. resolverinimipalvelimet. Näiden palvelinten välimuistin sisällön väärentäminen mahdollistaisi suuren asiakasjoukon erehdyttämisen yhdellä kertaa. On huomattava, että kunkin haavoittuvan järjestelmän välimuisti on myrkytettävä erikseen. Väärennetty tietue ei esimerkiksi leviä yksittäisen resolverinimipalvelimen välimuistista toiselle palvelimelle saati sitten kyseisen verkkotunnuksen viralliselle autoritääriselle nimipalvelimelle. Poikkeuksena on luonnollisesti tilanne, jossa esimerkiksi työasema kysyy tietoja väärennettyjä tietueita sisältävältä palvelimelta. Tällöin väärennetyt vastaukset tallentuvat työaseman paikalliseen välimuistiin. Muita potentiaalisia kohteita olisivat yhteisötilaajien hallussa olevat resolverinimipalvelimet, verkkoon kytkettyjen työasemien nimenselvitysvälimuistit sekä ADSL-modeemien, kaapelimodeemien, palomuurien ja muiden vastaavien liikennettä välittävien tai todellista verkkohierarkiaa piilottavien aktiivilaitteiden nimenselvitysvälimuistit. Näihin kohdistuneiden hyökkäysten vaikutukset jäisivät enemmän tai vähemmän paikallisiksi. Luonnollisesti esimerkiksi bottiverkon avulla toteutettuna myös työasemien paikallisen nimenselvitysvälimuistin väärentäminen saattaisi olla teknisesti helppo toteuttaa ja johtaa mittasuhteiltaan varsin laajoihin tuloksiin. Vaikutuksen kestosta Välimuistiin päätyneet tietueet (sekä oikeat että väärennetyt) poistuvat sieltä tietyn ajan kuluessa, jolloin tilanne palautuu normaaliksi. Hyökkääjä voi jatkaa väärentämiensä tietueiden voimassaoloaikaa TTL-arvoa kasvattamalla (ei kuitenkaan määrättömästi) tai myrkyttämällä välimuisti sopivin väliajoin yhä uudestaan. Haavoittuvuuden hyödyntämisestä Yksittäisen DNS-tietueen tai kokonaisten verkkotunnusten väärentäminen avaisi hyökkääjälle vapaat kädet petosten tehtailuun, sähköpostiliikenteen kaappaamiseen tai haitallisen sisällön syöttämiseen loppukäyttäjien tietokoneille. Tavanomaisin kaikista nimipalvelimiin syötetyistä osoitetietueista on A-tietue, joka muuntaa nimen iposoitteeksi. Tällaisten tietueiden väärentäminen mahdollistaisi hyökkääjän valitsemaan kohteeseen esimerkiksi suosittuun verkkopalveluun suuntautuvan liikenteen ohjaamisen huijarin haluamaan paikkaan. Uhan vakavuus riippuu osoitteen takana olevasta palvelusta tai huijarin tarjoaman sisällön laadusta. Esimerkkejä palveluista voivat olla verkkopankit, verottajan palvelu tai vaikkapa sähköinen äänestys. Huijarin oikeudettomasti tarjoama sisältö voisi esimerkiksi olla selaimen haavoittuvuutta hyödyntävä tai ohjelmistopäivitykseksi naamioitu haittaohjelma, urkintasivusto tai sovellusistunnon kaappaava välityspalvelin. Laajempia vaikutuksia olisi sähköpostin reititykseen käytettävien tietueiden (MX-tietueet) tai verkkotunnuksen viralliset nimipalvelimet listaavien tietueiden (NS-tietueet) väärentämisellä. Esimerkiksi MX-tietueen väärentäminen harhauttaa uhriyrityksen osoitteisiin matkalla olevat sähköpostit huijarin hallussa olevalle palvelimelle. NS-tietueen väärentäminen ohjaa uhrin verkkotunnusta koskevat tiedustelut huijarin hallussa olevalle palvelimelle. 3
Kuten jo aiemmin on kerrottu, välittömiä vaikutuksia tuntevat ainoastaan ne käyttäjät ja tietojärjestelmät, jotka ovat myrkytetyn nimipalvelun välittömässä vaikutuspiirissä (s.o. suorittavat rekursiivisia kyselyitä väärennettyä tietoa sisältävältä nimipalvelimelta). Julkisissa lähteissä on kuvattu seuraavanlaisia mahdollista hyökkäysskenaariota: Matasano-yhtiöltä julkisuuteen ennen aikojaan vuotanut haavoittuvuutta koskeva selostus. 6 ISR-evilgrade: työkalu, jolla voi muun muassa automatisoida julkistetun DNShaavoittuvuuden hyväksikäytön 7 DNS-haavoittuvuuden hyödyntäminen bottiverkkoa rakennettaessa (erit. esityksen kalvot 13-45) 8 Muita hyökkäysskenaarioita sekä keinoja niiden havaitsemiseksi on lueteltu CERT-FI:n www-sivuilla julkaistuissa artikkeleissa. 6 http://www.jbip.net/content/text-mantasanos-article-detais-kaminskys-dns-attack 7 http://www.infobyte.com.ar/down/isr-evilgrade-readme.txt http://blogs.zdnet.com/security/?p=1576 8 http://www.getit.org/mediawiki/images/4/46/sp-security-101-primer-1-8-3-2-poison-module.ppt 4
Suojautumisesta Haavoittuvimpia ovat sellaiset resolverinimipalvelimet, jotka ratkoessaan saamiaan rekursiivisia kyselyjä eivät riittävän tehokkaasti vaihtele itse tekemiensä kyselyjen lähdeportteja. Nimipalvelun suojaamiseksi on syytä varmistua DNS-nimenselvitykseen käytetyn ohjelmistojen riittävästä päivitystasosta sekä siitä, että mikään välissä oleva tietoliikennekomponentti ei kavenna nimenselvitykseen käytettyjen udp-pakettien käyttämää lähdeporttiavaruutta tarpeettomasti. Myös yksittäisten verkkoon kytkettyjen tietokoneiden resolverikomponentti (nk. stub) saattaa vaatia päivityksen. Lisäturvaa on mahdollista saavuttaa verkkoteknisillä ratkaisuilla sekä havainnointijärjestelmillä. Listaamme seuraavassa erilaisia toisiaan täydentäviä suojakeinoja. 1) Resolverinimipalvelinten ohjelmiston päivittäminen Tietojemme mukaan ainakin useimpien teleyritysten nimipalvelimiin on asennettu korjauspäivityksiä, joiden ansiosta haavoittuvuuden hyväksikäyttö tällä hetkellä tunnettujen hyökkäysvektoreiden kautta vaikeutuu oleellisesti. Korjauspäivitysten laadussa on kuitenkin ollut toivomisen varaa. Päivitetyt nimipalvelimet ovat saattaneet muuttua epästabiileiksi tai erityisen kuormitettujen palvelinten suorituskyky on kärsinyt. Eheysuhkan ohella onkin huomioitava saatavuusuhka palvelinta päivitettäessä. Eri tahojen suorittamien satunnaisten testien perusteella teleyritysten asiakkaiden hallusta sen sijaan löytyy satoja ellei jopa tuhansia puutteellisesti suojattuja nimipalvelimia. Tyypillisesti tällaiset nimipalvelimet kuuluvat yhteisötilaajan roolissa olevalle käyttäjälle. Palvelinten asetusten testaamiseen on olemassa lukuisia julkisesti saatavilla olevia työkaluja, jotka on listattu 29.7.2008 kello 17.39 julkaistussa Tietoturva nyt! -artikkelissa. 9 2) Porttimuunnoksia tekevien laitteiden asetukset Jos nimipalvelimen edessä on osoite- ja porttimuutoksia tekevä ns. NAT/NAPT-laite, on tarkistettava, että se ei poista ohjelmistopäivityksen mukanaan tuomaa satunnaisuutta. 3) Työasemakomponentin päivittäminen Jokaisessa internet-protokollaa käyttävässä tietokoneessa on asiakaskomponentti (stub), joka huolehtii nimenselvityspyyntöjen käsittelystä nimipalvelimen kanssa. Tämän käyttöjärjestelmään kuuluvan komponentin päivittäminen on tarpeellista ja hoituu helpoiten automaattisten päivitysten avulla kun käyttöjärjestelmään asennetaan viimeisin korjauspäivitys. 9 http://www.cert.fi/tietoturvanyt/2008/07/ttn200807291818.html 5
4) Nimipalvelimen määrittäminen sallimaan rekursiiviset kyselyt ainoastaan omilta asiakkailta Vuosien 2005-2007 aikana raportoitiin useita voimakkaita palvelunestohyökkäyksiä, joissa käytettiin hyväksi avoimia rekursiivisia nimipalvelimia. Julkaisimme helmikuussa 2007 CERT-FI Varoituksen 03/2007, jossa kehotimme ylläpitäjiä sallimaan rekursiiviset kyselyt vain omista verkoistaan. 10 Tämän seurauksena ainakin teleyritykset ovat jo aiemmin määritelleet nimipalvelimensa hyväksymään ainoastaan teleyrityksen omista verkoista tulevat rekursiiviset kyselyt. Yhteisötilaajien tilanteesta Viestintävirastolla ei ole selvää kuvaa. Rekursiivisien kyselyjen kieltäminen ulkopuolisilta estää kyseisen verkon omia asiakkaita palvelevien nimipalvelinten välimuistin väärentämiseen tähtäävät hyökkäysyritykset teleyrityksen hallussa olevien verkkojen ulkopuolelta. Tämän johdosta satunnaisen ja kohdentamattoman hyökkäyksen onnistumisen todennäköisyys pienenee ja hyökkäys vaikeutuu. Lisäksi teleyrityksen mahdollisuudet hyökkäyksen havaitsemiseen parantuvat ja havaittujen väärinkäytösyritysten ratkaiseminen saattaa nopeutua. Perustellusti voi kysyä, onko yhteisötilaajan omille käyttäjille nimipalveluja tarjoavan palvelimen syytä tarjota mahdollisuutta rekursiivisiin kyselyihin muualta internetistä. Ohjelmistopäivityksen lisäksi on syytä harkita konfiguraatiomuutosta joko tässä ehdotetun mukaisesti (rekursion poisto) tai palvelimen muuttamista ns. forwarderinimipalvelimeksi. 5) Viestintäverkon osoitehygieniasta huolehtiminen Viestintäviraston määräys 13/2005 11,12 velvoittaa teleyritykset estämään muista verkoista saapuva liikenne, jonka lähdeosoitteeksi on väärennetty teleyrityksen omaan osoiteavaruuteen kuuluva osoite (7 3 mom). Tämän määräyksen noudattaminen käytännössä tekee tyhjäksi hyökkääjän yritykset syöttää edellä kohdassa 4 mainitulla tavalla suojattuun nimipalvelimeen väärennettyä tietoa "sokkona" teleyrityksen hallinnassa olevan verkon ulkopuolelta. Vastaavasti määräys velvoittaa estämään suomalaisen teleyrityksen verkosta lähtevä väärennetyillä osoitteilla varustettu liikenne (7 1 mom). Tietojemme mukaan määräystä noudatetaan suomalaisten teleyritysten keskuudessa verraten hyvin. 10 CERT-FI varoitus 03/2007: Suomalaisia nimipalvelimia käytetty palvelunestohyökkäyksen toteuttamiseen (10.2.2007) http://www.cert.fi/varoitukset/2007/varoitus-2007-03.html 11 Viestintävirasto 13/2005 M: Internet-yhteyspalvelujen tietoturvasta ja toimivuudesta http://www.ficora.fi/attachments/suomi_r_y/1158858976108/files/currentfile/viestintavirasto132005m.pdf 12 SMS 13: Suositus määräyksen Viestintävirasto 13/2005 M soveltamisesta http://www.ficora.fi/attachments/suomi_r_y/1156442753495/files/currentfile/sms13.pdf 6
6) DNSSEC Nyt julki tulleen haavoittuvuuden perussyynä on se, että nimipalvelinjärjestelmässä ei ole luotettavaa mekanismia tietueiden ja transaktioiden aitouden varmistamiseen. DNSSEC-järjestelmä ei ole tällä hetkellä yleisesti käytössä. RFC-dokumentti 3833 yrittää kuvata erilaisia DNS-järjestelmään kohdistuvia uhkia sekä arvioida, miten DNSSEC niiltä mahdollisesti suojaisi. Nyt käsittelyssä oleva haavoittuvuus koskee dokumentin kappaleissa 2.2 ja 2.3 kuvattuja tilanteita. 13 13 http://tools.ietf.org/html/rfc3833 7