21. helmikuuta 2008

Kaikille salausohjelmistojen käyttäjille VAKAVA varoitus!

Lukekaapa tämä artikkeli ja sen mukana olevat linkit ja tiedot, sekä tämä videopätkä (proof-of-concept) asiasta. Kannattaa ehkä myös tsekata tämä kirjoitus. Pysykää kärryillä asiassa lukemalla vaikkapa tätä ketjua.

Lyhyesti: Vaikka tietokone olisi päällä ja lukittu näytönsäästäjällä, tai vaikka se olisi kokonaan (lähikaikoina) sammutettu, siinä pyörivän salauksen salausavaimet ovat luettavissa tietokoneen muistipiireiltä. Tätä kautta koko salaus voidaan kiertää ottamalla muistipiirit irti koneesta ja lukemalla ne asianmukaisessa laitteessa. Haavoittuvia ovat ainakin Microsoft Bitlocker, Mac Filevault, Truecrypt, Linux dm-crypt, jne. Eli siis oikeastaan kaikki yleisimmät kiintolevyjen salausohjelmistot.

Aikaisemmin tämänlaista vaaraa ei ole pidetty todellisena, vaan lähinnä paranoidisena sci-fi juttuna, koska muistipiirien on arveltu tyhjentyvän itsestään nopeasti - millisekunneissa - kun virta katkaistaan. Ja muistipiirejä ei tietokoneesta kovin helposti saa irti sen käynnissä ollessa ilman että niistä hetkeksi katkeaisi virta. Aikaisemmin on toki tiedetty, että vanhantyyppisissä muisteissa muistin pintaan voi "palaa" kuva muistin sisällöstä ja tämä on mahdollista lukea myöhemmin, mutta uusissa muisteissa tämä ei ole ollut enää mahdollista ja siksi uusia muisteja on pidetty tältä osin turvallisina. Tähän asti.

Tutkimuksessa todetaan, että muistipiirejä voidaan lisäksi jäähdyttää jo ennen kuin ne otetaan (käynnissä olevasta) tietokoneesta irti. Jäähdytetty muistipiiri säilyttää sisältönsä kymmeniä minuutteja, joten muistin sisältö ja salausavaimet ehditään sieltä onkia hyvin esille. Vaikka tietokone olisi siis sammutettu juuri hetki sitten, muistista voidaan silti penkoa salausavaimet esille ja siten avata koko salaus.

Vaara on suuri, koska on totuttu siihen ajatukseen, että jos tietokoneen kiintolevyt- tai niiden osiot, tai ylipäätään mitään mitä tietokoneessa on kiinni, on salattuna ja kone lukittuna, tiedot ovat turvassa. Tähän tapaan esimerkiksi monet turvalliset palvelinjärjestelmät ja kannettavat tietokoneet toimivat. On luotettu siihen, että kun koneeseen ei pääse kirjautumaan ilman päteviä kirjautumistietoja, niin salausta ei pystytä mitenkään avaamaan, koska mikäli kone väkisin sammutetaan, salausavaimet ja muut katoavat koneen muistista virtojen hävitessä.

Tarkempaa tietoa siitä, mitkä muistityypit ovat - ja mitkä eivät ole - erityisen haavoittuvaisia tälle hyökkäykselle, odotellaan vielä... :)


Mitä sitten voi tehdä tältä hyökkäykseltä suojautuakseen?
  • Älä jätä tietokonetta päälle ja lukituksi vaikkapa näytönsäästäjällä, vaan sammuta se aina kun et käytä sitä.

  • Pidä huolta siitä, että tietokoneen fyysisiin komponentteihin ei päästä käsiksi vähintään 15 minuuttiin tietokoneen sammuttamisesta.

  • Mikäli BIOS tukee, laita se suorittamaan muistille "Power-On Self Test" (POST) testauksen tietokonetta käynnistettäessä. Tämä kirjoittaa koko muistin useampaan kertaan täyteen ja täten hävittää melko tehokkaasti muistissa olleet tiedot. Kun lopetat tietokoneen käytön, käynnistä se uudelleen ja anna tuon POST toimia läpi, ennen kuin sammutat "oikeasti" tietokoneen.

  • Pyri käyttämään ohjelmia, jotka käsittelevät salausavaimia tietokoneen muistissa tavalla, joka tekee niistä helposti sieltä tuhoutuvia ja jättävät mahdollisimman vähän tunnistettavia jälkiä muistiin. Esimerkiksi PGP on tällainen ohjelma.
  • Ole entistäkin tarkempi esimerkiksi kannettavan tietokoneesi kanssa, älä jätä sitä hetkeksikään ilman vartiointia, äläkä anna sitä kenellekään, edes lukittuna tai vähään aikaan sammutettuna. Muistin ja salausavainten kopioiminen vie vain hetken.

  • Jos poliisi kolkuttelee ovellasi, sulje ensimmäiseksi tietokoneesi ja viivyttele niin kauan kuin mahdollista. Tosin Suomen poliisilla tuskin tämänlaista kykyä on olemassakaan. ;-)

  • Tietoturvan kannalta kriittisissä kohteissa, pyri luomaan vaikka omatekoinen järjestelmä, joka tuhoaa tietokoneen muistikammat tai kirjoittaa ne ylitse, mikäli tietokoneen virransyöttö katkeaa tai tietokoneen kotelo avataan. Tämä tietysti edellyttää tietokoneen sisäistä akkuvoimaa, sensoreita sun muuta hauskaa.

Kannattaa myös muistaa, että myös Firewire-väylän kautta on mahdollista kaapata osia tietokoneesi muistista, vaikka se olisikin lukittuna. Vaikkapa tavallinen iPod-laite kykenee siihen tarkoitukseen pelottavalla tehokkuudella! Tietoturvasyistä Firewire kannattaa ehdottomasti ottaa pois käytöstä jo BIOS-tasolta!

Oma ehdotukseni TrueCryptin suojauksen parantamiseksi näitä hyökkäyksiä vastaan on luettavissa täältä. Ottakaa toki oppia siitä. ;)

7 kommenttia:

Anonyymi kirjoitti...

Vai että PGP on hyvä...muahaha. Suljettua koodia ja takaportti löytyy.

Käytetään sen sijaan gpg:tä

Markus Jansson kirjoitti...

Ja perustelut ovat...missä?
Ei muuten ole suljettua, on saatavilla koodi halukkaille. Ota selvää asioista.

Anonyymi kirjoitti...

"Pidä huolta siitä, että tietokoneen fyysisiin komponentteihin ei päästä käsiksi vähintään 15 minuuttiin tietokoneen sammuttamisesta."

Lukaisin linkittämäsi artikkelin vain nopeasti läpi. En kuitenkaan huomannut siinä mainintaa siitä miten kukaan voisi kaivaa salausavaimen muistista esim. minuutti sitten sammutetulta läppäriltä. Siinä vaiheessa todella suuri osa biteistä on haihtunut.

Artikkelissa kyllä mainittiin, että muistien jäähdyttäminen ennen sammuttamista säilyttää muistin sisällön useita minuutteja. Itse en kuitenkaan koskaan jäähdytä muisteja ennen koneen sammmuttamista, joten bitit haihtuvat reilusti alle minuutissa. Riittävä osa taitaa haihtua jo parissa sekunnissa.

Anonyymi kirjoitti...

Et Markus viitsisi lopettaa turhaa mainostusta uutisryhmien puolella?
Jos sinulla on jotain asiaa niin kirjoita siitä mutta jätä pelkkä mainostaminen väliin.

Markus Jansson kirjoitti...

Mitä ihmeen mainostamista on kertoa julkisesti vakavasta tietoturvaongelmat? En mä mitään tuotetta tai palvelua mainosta. Kerron vaan miten asia on ja kehoitan jengiä ottamaan itse selvää enemmän jos kiinnostaa.

Anonyymi kirjoitti...

Eikös nimenomaan PGP:n luoja Phil Zimmermann kertonut miten häntä olivat lähestyneet yhteistyön toivossa NSA:n agentit, joten miten mahtaa olla moraali pitänyt PGP:n kanssa myöhemmin?

Toisekseen, mahtaako noita muistikampoja tarvita edes ottaa koneesta pois sitä varten tehtyyn lukijaan, eikös se hoidu omalla tähän varten tehdyllä kehittyneella Boot-levylläkin?

Markus Jansson kirjoitti...

PGP on edelleenkin avointa lähdekoodia, mutta tietysti siellä voi olla ujutettuna "koodausvirheitä", jotka tekevät salauksen tyhjäksi tms. Ei voi tietää. Toisaalta, niitä voi olla missä tahansa ohjelmistossa, joten...

Boottausrompulta tuo homma ei toimi (ei ainakaan kovin hyvin, koska romppuhan menee muistiin eli päällekirjoittaa muistikampojen sisältöä). Lisäksi lukeminen voi olla vähän niin ja näin kun käytetään vain emolevyn kykyjä. Varta vasten tuota tarkoitusta varten rakennettu härveli on varmasti tehokkaampi lukemaan himmenneet sisällötkin.