Ads 468x60px

perjantai 22. maaliskuuta 2013

ICTexpo 2013 Live hack: Sisäänkirjautuminen – miten se turvaa konettasi

KPMG tietoturvatiimi esitti ICTexpo messujen Security -seminaarilavalla mitä asioita on otettu huomioon hyvässä tunnistautumisessa. Näistä asioista mainittiin ainakin, ettei tunnistustietoja välitettäisi selkokielisenä verkon yli, että kirjautumista ei pitäisi pystyä ohittamaan ja että kirjautumisen yhteydessä tulisi tehdä molemminpuolinen tunnistus.

Esittelimme käytännössä miten DMA (Direct Memory Access) hyökkäyksellä voidaan ohittaa Windows työaseman käyttäjän tunnistaminen. Hyökkäysmenetelmä on tunnistettu jo kauan sitten ja ensimmäisiä Proof of Concept -hyökkäyksiä on tavattu ainakin jo vuonna 2004. Vaikka kyse ei ole uudesta uhkasta, käytimme esityksessä kohdekoneena työasemaa, jossa päivitykset olivat ajan tasalla, haittaohjelmasuojaus oli kunnossa ja kiintolevy oli asianmukaisesti salattu.

DMA on edelleen käytössä sen vaaroista huolimatta. DMA mahdollistaa esimerkiksi huomattavasti suuremmat tiedonsiirtonopeudet ulkoisen laitteen ja tietokoneen välillä, koska se tarjoaa suoran yhteyden ulkoisen laitteen ja tietokoneen keskusmuistin välille. DMA on mahdollinen ainakin FireWire, Thunderbolt, Express Card, PCI ja PCI Express -liitännöissä.

DMA-hyökkäykseen käytetty laitteisto

Varsinainen hyökkäys perustuu juuri DMA:han ja sen kykyyn ylikirjoittaa muistiin suoritettavaa koodia. Esimerkiksi Windows käyttää salasanan tarkastamiseen koodia, joka on ladattuna tietokoneen muistiin ja siten se on muokattavissa, mikäli suora pääsy muistiin on sallittu. Hyökkäyksessä ei vaadittu mitään eksoottista laitteistoa, vaan kaksi FireWire-ohjainkorttia Express Card -väylään sekä FireWire-johto näiden väliin. Hyökkääjän asemassa toimivassa laitteessa oli Ubuntu-käyttöjärjestelmä lähes perusasetuksilla. Lisäksi siihen oli asennettuna hyökkäykseen käytetty sovellus: Inception.


DMA-hyökkäys menossa

Hyökkäystä on melko vaikeaa estää – etenkin mikäli halutaan edelleen hyödyntää DMA:ta. Toisaalta, jos DMA ei ole käytössä, sen ajurit voi poistaa käytöstä. Tämän jälkeen hyökkäys ei ole enää mahdollinen. Mac OSX:ssä puolestaan, mikäli käytössä on FileVault 2, niin DMA poistetaan käytöstä automaattisesti kun työasema lukitaan.

Yleisemmin käytössä oleva tekniikka kirjautumisen kiertämiseen perustuu siihen, että hyökkääjä muokkaa kiintolevyn sisältöä joko käynnistämällä tietokoneen toiselta medialta tai kytkemällä kiintolevyn toiseen tietokoneeseen. Nämä hyökkäykset ovat käytännössä perustuneet joko käyttäjän salasanan ylikirjoittamiseen SAM -taulusta (Security Accounts Manager) tai muuttamalla kirjautumisruudussa käytettävissä olevia sovelluksia. Käytännössä suoritettavat sovellukset ovat joko jokin helppokäyttöisyystoiminnoista tai näytönsäästäjä. Jos mikä tahansa näistä korvataan esimerkiksi cmd.exe -tiedostolla, voidaan järjestelmässä ajaa komentoja System -oikeuksilla. Kiintolevyn sisällön muokkaaminen ei kuitenkaan käytännössä onnistu, mikäli se on vahvasti salattu.

Toinen käytännön esimerkkimme koski Rubber Duck -laitetta ja sen hyödyntämistä Android-laitteen lukituskoodin automaattiseen avaamiseen. Rubber Duck on pieni, ohjelmoitava laite, joka näyttäytyy isäntäkoneelle USB-näppäimistönä. Laitteeseen voi ohjelmoida komento- ja näppäinpainallussarjoja, jotka suoritetaan kun se liitetään tietokoneeseen. Mitä tällä voidaan sitten saavuttaa? Esimerkiksi Windows 7 tai 8 koneissa voidaan varastaa tallennetut wlan-avaimet, ladata internetistä sovelluksia ja suorittaa niitä ja niin edelleen. Kaikki tapahtuu nopeasti ja automatisoidusti. Komentojen ajamisen lisäksi voidaan myös yrittää esimerkiksi arvata salasanoja automatisoidusti.


Androidin PIN-koodi avautuu

Android-laitteet, joissa on numerokoodiin perustuva lukitus, antavat yrittää pin-koodin avaamista 5 yrityksen sarjoissa, joiden välissä on 30 sekunnin tauko. Kun Rubber Duck -laitteeseen on ohjelmoitu vaaditut näppäinpainallukset, joilla voidaan yrittää kaikkia mahdollisia numerokoodeja, voidaan se liittää kohdelaitteeseen ja jäädä odottamaan tuloksia. Hyökkäys on hyvin helppo toteuttaa, eikä laitteistokaan ole kallis.

4-numeroinen koodi aukeaa viimeistään 16,6 tunnin yrittämisen jälkeen ja 5-numeroinen 166 tunnissa, 7-numeroiseen koodiin kuluu 2 vuotta ja 10-numeroiseen yli 1900 vuotta. Salaisen tai arvokkaan tiedon saamiseksi 16 tuntia on lyhyt aika, joten kannattaa käyttää tarpeeksi pitkiä koodeja
.
Puhujan näkökulmasta oli mukava huomata, että käytännön tietoturva – tai tässä tapauksessa ehkä turvattomuus – kiinnosti messuilla kävijöitä myös tietomurtotestaajan näkökannalta.

Ei kommentteja:

Lähetä kommentti