”Man-in-the-Browser”-hyökkäys (MitB)

Johdanto

Man-in-the-Browser eli "mies selaimessa" on yksi Man-in-the-Middle (MitM) -hyökkäyksen variaatio. Siinä internet-selaimeen asentuu troijan hevonen, joka pystyy muokkaamaan sivujen ulkomuotoa. Erityisen uhan MitB-hyökkäyksestä tekee sen toiminta käyttäjän ja selaimen välissä, jolloin suojamekanismit kuten TLS eivät toimi sitä vastaan. Asian ajankohtaisuutta kuvaa, että tietoturvayhtiö Imperva ja usea muu taho nostivat MitB-hyökkäyksen tietoturvauhkien "top 10"-listaan vuonna 2011.[1][2] Tässä raportissa kuvaillaan tavanomaisia tapoja toteuttaa MitB-hyökkäys ja kartoitetaan vaihtoehtoja siltä suojautumiseen.

Taustaa

Man-in-the-Middle toimii nimensä mukaisesti kahden kohteen välissä esittäytyen molemmille kohteille olevansa toinen osapuoli ja antaen molempien käsittää yhteyden olevan kunnossa, mutta muokkaakin viestien sisältöä molempiin suuntiin. MitM-hyökkäys toimii vain jos toteuttaja saa molemmat kohteet vakuuttuneiksi siitä, että on toinen osapuoli. MitM hyökkäyksen mahdolliset uhat ovat selviä ja sen torjuntaankin on useissa turvaprotokollissa varauduttu. Tässä raportissa keskitytään MitM:n erikoistuneeseen muotoon MitB:hen, joka toimii käyttäjän ja selaimen välissä kiertäen suojauksia ja luoden uusia uhkia.

MitB-hyökkäyksen uhka esiteltiin ensikertaa Augusto Paes de Barrosin portugalinkielisessä esitelmässä[3] vuonna 2005. Vuonna 2007 Philipp Gühring nimesi hyökkäyksen MitB:ksi asiantuntijaraportissaan[4] (engl. white paper) Concepts against Man-in-the-Browser Attacks, jossa hän käy läpi hyökkäyksestä aiheutuvia ongelmia, metodeja sen toteutukseen, riskianalyysiä, sekä mahdollisia ratkaisuja hyökkäyksen estämiseksi. MitB-hyökkäyksestä on olemassa myös yksinkertaisempi versio, joka on nimetty Boy-in-the-Browser-hyökkäykseksi[5], mutta BitB jätetään tässä raportissa enemmättä huomiotta.

Hyökkäyksen toiminta

MitB on hyökkäys, jossa haittaohjelma pääsee käyttäjän ja selainyhteyksien väliin ja pystyy tarkkailemaan ja muokkaamaan käyttäjälle näytettyä dataa, huolimatta käytetyistä salauksista.

Kohteet ja motivaatio[6]

Yksityisiltä käyttäjiltä ja organisaatioilta varastetaan vuosittain miljoonia euroja. Otollinen ryöstökohde on verkkopankkitoiminta ja varsinkin suurien yrityksien pankkiasiointi, jossa on mahdollisuus päästä käsiksi suuriin rahasummiin. Siinä missä pankkien tietoturvamekanismit ja -käytännöt paranevat, kehittävät myös verkkorikolliset uusia tekniikoita niiden kiertämiseen. Näiden tekniikoiden kehittyessä ja levitessä saattaa olla, että hyökkäykset tavallistenkin käyttäjien pankki-istuntoihin yleistyvät.

Metodit

MitB-hyökkäyksen kohteena voivat olla selain, sähköpostiohjelma ja jopa autentikointijärjestelmät. Hyökkäyksen perustana on kohteen koneelle asentuva troijan-hevonen (Zeus, SilentBanker, ym.), joka asentuu esimerkiksi selaimen lisäosana (Extension / Browser Helper Object), Active X -komponenttina tai UserScriptinä. Myös ohjelmointirajapinnan kaappaus (API-Hooking) ja koko koneen virtualisointi ovat mahdollisia hyökkäysmetodeja, mutta niitä on hankala toteuttaa.

Tapaus Zeus

Haittaohjelmien toiminnasta mainitaan tässä lyhyenä esimerkkinä troijan hevonen Zeus, jonka on voinut vuonna 2010 hankkia maksamalla perusversiosta 3000-4000 dollaria.[7] TrendMicron vuonna 2010 julkaisemassa asiantuntijaraportissa[8] selvitetään hieman Zeusin toimintaa. Raportin mukaan Zeus on nettirikollisuuden stantardityökalu, jonka voi ottaa käyttöön hyvin vähäisellä teknisellä tietämyksellä alle viidessä minuutissa.

Zeus leviää esimerkiksi aidonnäköisten huijaussähköpostien avulla. Niissä käyttäjää kehotetaan menemään jollekin aidonoloiselle huijaussivustolle, josta hän lataa tajuamattaan troijalaisen. Kun Zeus on asentunut koneelle, se lataa ennaltamääritellystä osoitteesta asetustiedostonsa (config) ja jää odottamaan, että käyttäjä kirjautuu johonkin siinä määriteltyyn paikkaan, esimerkiksi pankin nettisivuille. Tällöin Zeus voi esimerkiksi suorittaa MitB-hyökkäyksen tai taltioida käyttäjän tietoa ja lähettää niitä ajoittain hyökkääjän Zeus-palvelimelle.

Esimerkki MitB-hyökkäyksestä

MitB-hyökkäys voi edetä esimerkiksi seuraavalla tavalla[4][6]:
  1. Troijalainen saastuttaa käyttäjän koneen ja asentaa selaimeen haittaohjelman (lisäosan). Yleensä tämä tapahtuu huijaamalla käyttäjä tekemään jotain epäviisasta kuten käymään sivulla, jossa troijalainen esitetään esimerkiksi videon pyörittämiseen tarvittavaksi koodekiksi.

  2. Seuraavan kerran selaimen käynnistyessä haittaohjelma aktivoidaan ja se alkaa seurata käyttäjän jokaista sivunlatausta, kuitenkaan muokkaamatta mitään. Kuitenkin jokaisen latauksen yhteydessä tarkastetaan, onko ladattava sivu yksi hyökkäyksen kohteiksi valituista sivuista.

  3. Kun käyttäjä kirjautuu jollekin kohteena olevalle sivustolle, kuten verkkopankkiin, haittaohjelma aktivoituu. Haittaohjelma ei edes välttämättä ota kirjautumistietoja talteen, sillä se ei tarvitse niitä onnistuneeseen hyökkäykseen.

  4. Kun käyttäjä kirjaa uuden maksun ja painaa hyväksymisnappia, haittaohjelma kaappaa käyttäjän syöttämät tiedot ja muokkaa tilalle uuden tilinumeron ja summan ja lähettää tämän pankille.

  5. Tähän pankin palvelin lähettää vahvistuksen, jossa on haittaohjelman asettamat uudet tiedot. Haittaohjelma muokkaa ne näyttämään alkuperäisiltä ja näyttää ne käyttäjälle.

  6. Käyttäjä katsoo, että kaikki on kunnossa ja vahvistaa siirron jollain metodilla. Sen jälkeen pankin palvelin saa vahvistuksen siirrosta ja rahat on ryöstetty, kummankaan osapuolen sitä tajuamatta.

Suojautuminen

Markkinoilla on useita ratkaisuja MitB-hyökkäykseltä suojautumiseen, mutta vain muutama on käytännöllinen ja toimiva. On vielä useampia suojautumiskeinoja, jotka eivät toimi MitB-hyökkäystä vastaan. Tietoturva yritys Entrust ja Philipp Gühring lajittelevat useita toimivia ja ei toimivia keinoja hyökkäyksen torjuntaan. Tässä luetellaan niistä osan:

Eivät toimi:
  • Käyttäjän tunnistaminen (haasteet, biometriikka)

  • Kertakäyttökoodit

  • Älykortit

  • Yhteyden salaukset

    • Mikään yllä olevista ei toimi, koska haittaohjelma voi odottaa vaiheiden ohi, ja aloittaa toimintansa vasta niiden jälkeen.

Saattavat toimia:
  • Antivirusohjelmistot

    • Haittaohjelmat kehittyvät jatkuvaa vauhtia, eivätkä virutorjuntaohjelmistot välttämättä pysy uusimpien muutosten tai hyvin kohdistettujen hyökkäysten perässä.

  • Selaimessa tulisi erikseen sallia lisäosat ja UserScriptit kun TLS on käytössä. (Oletuksena kaikki kielletty)

    • Tällöin voitaisiin välttyä yksinkertaisimmilta hyökkäyksiltä, mutta kehittyneemmät hyökkäykset olisivat silti uhka. Menetelmä saattaisi myös olla helppo kiertää.

Toimivat, mutta ovat epäkäytännöllisiä:
  • Erillinen tietokone pelkästään pankkiasiointiin.

    • Vaatii kuria siihen miten konetta käytetään, eli konetta ei siis saisi käyttää mihinkään muuhun. Vaatii myös paljon aikaa ja haaskaisi paljon resursseja. (Huom. Voisi olla käytännöllinen uusien virtualisoivien käyttöjärjestelmien, kuten Qubes OS, yhteydessä.)

  • ”Kovetettu” selain: esimerkiksi jollain ei-muokattavalla medialla, kuten muistitikulla, sijaitseva selain, jolloin siihen ei voi asentaa lisäosia.

    • Haittaohjelmalla olisi vaikeuksia hyökätä selaimeen, mutta selain kuitenkin toimisi samalla koneella haittaohjelman kanssa, jolloin mahdollisuus hyökkäykseen säilyy. Lisäksi selaimen päivitys hankaloittuu ja useissa organisaatioissa on estetty muistitikuilta ohjelmien ajaminen, jolloin metodia ei voi käyttää.

  • Ulkoiset varmenteen laskevat laitteet, joille käyttäjä syöttäisi transaktiotiedot.

    • Kyseiseen tarkoitukseen pitäisi sekä tehdä ohjelma että omistaa laite. Käyttäjän pitäisi näppäillä transaktion tiedot laitteeseen, jonka näppäimistö ja käytettävyys eivät välttämättä ole kovin hyviä.

  • Käyttäjän kynällä ja paperilla, ehkä taulukoiden avulla, suorittama helpohko tietojen kryptaus.

    • Vaatii kuria. Kovin moni käyttäjä ei varmaankaan jaksaisi tehdä kyseistä operaatiota tai se olisi liian työlästä/vaikeaa. Lisäksi se saattaisi olla liian helppoa MitB-haittaohjelmalle purkaa.

Toimivat:
  • Toinen varmistuskanava, eli käyttäjältä varmistetaan jotain toista kanavaa pitkin transaktion yksityiskohdat. Esimerkiksi tekstiviesti, jossa lukee siirron tiedot.

    • Helppokäyttöinen ja käyttäjä saa tiedon näkyviin itselleen, jolloin jotain hämärää huomatessaan hän voi keskeyttää siirron. On epätodennäköistä, että hyökkääjä pääsisi käsiksi myös toiseen varmistuskanavaan. Ongelmaksi nousee lähinnä, että varmistuskanavan vaihtamisesta tulisi tehdä turvallista, jottei haittaohjelma pääse muuttamaan kyseistä tietoa.

Päätelmä

MitB-hyökkäykseltä on vaikea suojautua sen huomaamattomuuden ansiosta ja havaintokin tapahtuu usein liian myöhään. Keinoja suojautumiseen on sekä käyttäjän toiminnan että erinäisten tekniikoiden avulla, mutta niiden käyttö ei ainakaan vielä näy normaalilla käyttäjällä. MitB-hyökkäykset saattavat yleistyä yhä enemmän uusien tekniikoiden kehittyessä ja vanhojen muuttuessa edullisemmiksi. Verkossa asioivien tulisi olla yhä enemmän varuillaan MitB-hyökkäysten kaltaisia uhkia vastaan. Uusia tekniikoita tulisi ottaa käyttöön parantamaan käyttäjien tietoturvaa.

Lähteet

SivuTiedotLaajennettu edit

Vaativuus Jatko
Valmius Valmis
Tyyppi Ydin
Luokitus Uhkat
Mitä Eheys
Miltä Tahallinen uhka
Missä Järjestelmä
Kuka Tite-maallikko
Milloin Ennakolta
Miksi Hyvä tapa
Print version |  PDF  | History: r7 < r6 < r5 < r4 | 
Topic revision: r7 - 01 Nov 2012 - 17:00:57 - JukkaKoskinen
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback