Mies välissä -hyökkäys

Mies välissä -hyökkäys (engl. man-in-the-middle attack, lyhenne MITM), joka tunnetaan myös nimillä epärehellinen välittäjä tai välistävetohyökkäys, on tietoturvahyökkäys, jossa kahden viestijän väliseen viestintäreittiin tunkeutuu viestijöiden huomaamatta kolmas osapuoli, joka esittää kummallekin viestivälle osapuolelle olevansa toinen viestijä. Kolmas osapuoli saattaa aiheuttaa vahinkoa esimerkiksi muuttamalla tai poistamalla viestejä, urkkimalla salausavaimia tai korvaamalla pyydetyn julkisen avaimen omalla julkisella avaimellaan.
Hyökkäys voidaan tehdä tavallista tietokonetta vastaan esimerkiksi tavanomaisilla verkkolaitteilla tai matkapuhelinta vastaan esimerkiksi IMSI-siepparilla, joista kumpaankin tapaukseen on kuitenkin suojautumiskeinoja.

Esimerkki

Normaalisti esimerkiksi verkkopankkiin kirjautumisessa käyttäjän kone A ottaa yhteyttä pankin palvelimeen B internetin kautta. Välistävetohyökkäyksessä käyttäjän kone ottaakin yhteyttä kolmannen osapuolen vakoilevaan koneeseen C, joka esittää olevansa pankin palvelin B. C myös esittää pankille olevansa pankin käyttäjä A. A:n kirjautuessa pankkiin, saa C pankkitunnukset haltuunsa ja kirjautuu niillä palvelimelle B. A:n yrittäessä vaikkapa siirtää 100 euroa tuttunsa pankkitilille, välittää C tilisiirron tiedot palvelimelle B, mutta muuttaakin tietoja siten, että niissä pyydetään tyhjentämään kaikki A:n tilin varat C:n omalle tilille. Pankki B kysyy tiettyä numeroa vastaavaa tunnuslukua, jonka C välittää A:lle. A kertoo tunnusluvun, jolloin C välittää tiedon B:lle jolloin A:n tililtä on onnistuneesti varastettu kaikki rahat.
Käytännössä kuitenkin lähes kaikki pankit käyttävät alla esiteltyjä varmenteita, jotka jossain määrin estävät edellä kuvattua tapahtumasta A:n huomaamatta.

Varmenteet ja varmennejärjestelmät

Esimerkiksi salattua HTTPS yhteyttä käytettäessä välistävetohyökkäystä vastaan puolustaudutaan internetissä käyttämällä kryptografisia varmenteita (eli sertifikaatteja tai todenteita), joita käyttämällä viestivät osapuolet voivat todistaa henkilöllisyytensä välistävetäjän pystymättä matkimaan kumpaakaan. Varmenteita voisi verrata vaikkapa DNA- tai sormenjälkitunnistukseen, mutta todellisuudessa varmenteet perustuvat matematiikkaan pohjautuvaan julkisen avaimen salaukseen ja niistä on rakennettu luottamukseen pohjautuva hierarkkinen varmenne infrastruktuuri, jonka huipulla ovat laajalti luotetut ja itsemyönnetyt ns. juurivarmenteet. Rakennetta hallinnoidaan muun muassa varmenneviranomaisten (eng. certificate authority) ja OCSP-palveluiden avulla. Muita ehdotettuja ja käytössä olevia parannuksia ovat muun muassa HPKP, DNSSEC, DANE ja lohkoketjuun pohjautuvat varmenteet.

Heikkouksia

Viestintämenetelmät eivät ole kuitenkaan välttämättä ole täydellisiä: esimerkiksi aiemmin usein internetissä käytetyn SSL 3.0-protokollan kaikki versiot on todettu alttiiksi välistävetohyökkäyksille lokakuussa 2014 löytyneen POODLE haavoittuvuuden takia, jonka vuoksi SSL on nykyään laajalti korvattu TLS:llä. TLS:sänkin joistakin toteutuksista löytyi pian tämän jälkeen joulukuussa 2014 vastaavanlaisia ongelmia.
Matkapuhelinverkoissa käytetyissä vanhoissa 2G:hen kuuluvissa toteuksissa kuten GSM:ssä on ollut välistävetohyökkäyksen sallivia ongelmia, joita on pyritty uudempien teknologioiden varmennejärjestelmien avulla parantamaan. Uusista 3G-teknologioihin kuuluvista toteutuksissa ja LTE:n toteutuksista on kuitenkin löytynyt epäkohtia, jotka voivat mahdollistaa välistävetohyökkäyksen.
Varmenneviranomaiset ovat  heikko kohta varmenne infrastruktuurissa. 2001 VeriSign varmenneviranomainen myönsi varmenteen, jossa luki "Microsoft Corporation" VeriSignia huijanneelle yksittäiselle henkilölle. Varmenteella olisi voinut suorittaa esimerkiksi välistävetohyökkäyksen. Vuonna 2011 onnistuttiin hakkeroimaan Comodo- ja DigiNotar-viranomaiset myöntämään varmenteita hakkereille, joita todennäköisesti käytettiin välistävetohyökkäyksessä Iranissa.

Muut menetelmät

Varmenteiden ja muiden niihin liittyvien nykyään käytettyjen menetelmien avulla esimerkiksi verkkopankin käyttäjä on aika hyvässä turvassa ainakin välistävetäjiltä jos muunlaisia tietoturvauhkia ei oteta huomioon. Pankkien ja muiden verkkopalveluiden palvelimet puolestaan harvoin pyytävät käyttäjää esittämään varmenteita ja sen sijaan varmentavat käyttäjiä erilaisten tunnusten kuten salasanojen avulla.
Varmenteiden lisäksi voidaan ehkä käyttää järjestelmää, joka tarkkailee kunkin käyttäjän ja palvelimen välisissä pyynnöissä kulunutta aikaa. Poikkeuksellisesti pidentynyt aika tarkoittaisi mahdollisesti välistävetohyökkäystä, sillä pyyntö tulee tässä tapauksessa epäsuoraan kolmannen osapuolen koneen kautta. Järjestelmä havaitsisi tämän ja varoittaisi käyttäjää. Kvanttisalauksen avulla voisi myös olla mahdollista havaita välistävetäjä.