Välihyökkäys eli mies keskellä ( MITM ) - hyökkäystyyppi salakirjoituksessa ja tietoturvassa , kun hyökkääjä salaa välittää ja tarvittaessa muuttaa yhteyttä kahden osapuolen välillä , jotka uskovat kommunikoivan suoraan toistensa kanssa ystävä. Se on menetelmä tietoliikennekanavan vaarantamiseksi , jossa hyökkääjä, joka on liittynyt vastapuolten väliseen kanavaan, puuttuu siirtoprotokollaan poistaen tai vääristäen tietoja.
Yksi esimerkki välimieshyökkäyksestä on aktiivinen salakuuntelu, jossa hyökkääjä muodostaa itsenäisiä yhteyksiä uhrien kanssa ja välittää viestejä heidän välilleen. Näin hän saa uhrit uskomaan, että he puhuvat suoraan toisilleen yksityisen yhteyden kautta, itse asiassa koko keskustelu on hyökkääjän hallinnassa. Hyökkääjän on kyettävä sieppaamaan kaikki kahden uhrin välillä välitetyt viestit sekä esitellä uusia. Useimmissa tapauksissa tämä on melko yksinkertaista: esimerkiksi hyökkääjä voi käyttäytyä kuin "mies keskellä" langattoman tukiaseman ( Wi-Fi ) alueella [1] .
Tämän hyökkäyksen tarkoituksena on ohittaa keskinäinen todennus tai sen puuttuminen, ja se voi onnistua vain, kun hyökkääjä pystyy esiintymään jokaisessa päätepisteessä tai pysymään havaitsematta välipalvelimena. Useimmat salausprotokollat sisältävät jonkinlaisen päätepisteen todennuksen erityisesti MITM-hyökkäysten estämiseksi. Esimerkiksi TLS voi todentaa toisen tai molemmat osapuolet käyttämällä molemminpuolisesti luotettua varmenneviranomaista [2] .
Hyökkäys alkaa yleensä viestintäkanavan kuuntelemisella ja päättyy siihen, että kryptanalyytikko yrittää korvata siepatun viestin, poimia siitä hyödyllistä tietoa ja ohjata sen johonkin ulkoiseen resurssiin.
Oletetaan, että objekti A aikoo lähettää jotain tietoa objektille B. Objektilla C on tietoa käytetyn tiedonsiirtomenetelmän rakenteesta ja ominaisuuksista sekä siitä, että suunniteltu todellisen tiedon siirtäminen C aikoo siepata. Suorittaakseen hyökkäyksen C "esittelee itsensä" kohteelle A B:nä ja objektille B A:na. Objekti A, uskoen virheellisesti lähettävänsä tietoa B:lle, lähettää sen objektille C. Objekti C saatuaan tiedon ja suorittamalla sen kanssa joitain toimintoja (esimerkiksi kopioimalla tai muokkaamalla omiin tarkoituksiinsa), lähettää tiedot vastaanottajalle itselleen - B; kohde B puolestaan uskoo, että hän sai tiedon suoraan A:lta.
Oletetaan , että Alice haluaa antaa Bobille tietoja. Mallory haluaa siepata viestin ja mahdollisesti muuttaa sitä niin, että Bob saa väärät tiedot.
Malory aloittaa hyökkäyksensä luomalla yhteyden Bobiin ja Aliceen, vaikka he eivät voi arvata, että joku muu on läsnä heidän viestintäkanavallaan. Kaikki Bobin ja Alicen lähettämät viestit kulkevat Malloryn kautta.
Alice pyytää Bobilta julkista avainta . Malory esittelee itsensä Alicelle Bobina ja lähettää hänelle julkisen avaimen. Alice, joka uskoo sen olevan Bobin avain, salaa sillä viestin ja lähettää sen Bobille. Mallory vastaanottaa viestin, purkaa sen salauksen, muuttaa sitä tarvittaessa, salaa sen Bobin julkisella avaimella ja lähettää sen hänelle. Bob saa viestin ja luulee sen tulevan Alicelta:
Tämä esimerkki osoittaa tarpeen käyttää menetelmiä sen varmistamiseksi, että molemmat osapuolet käyttävät oikeita julkisia avaimia, eli että osapuolella A on osapuolen B julkinen avain ja osapuolella B on osapuolen A julkinen avain.
Harkitse hyökkäystä Diffie-Hellmanin jaettua salaista protokollaa vastaan osapuolten A ja B välillä . Oletetaan, että kryptanalyytikolla E ei ole kyky vain siepata viestejä, vaan myös korvata ne omillaan, eli suorittaa aktiivinen hyökkäys:
Avainten sieppaus ja vaihtaminen
Viestien huijaus
Siten kryptanalyytikko E saa mahdollisuuden siepata ja korvata kaikki viestintäkanavan viestit. Samanaikaisesti, jos viestien sisältö ei salli kolmannen osapuolen läsnäolon paljastamista viestintäkanavassa, niin "mies keskellä" -hyökkäys katsotaan onnistuneeksi.
Tässä esimerkissä tarkastelemme hyökkäystä SSL :ää vastaan HTTP :n kautta , joka tunnetaan myös nimellä HTTPS, koska tämä on yleisin SSL-protokollan toteutusmalli ja sitä käytetään lähes kaikissa pankkiverkkosovellusjärjestelmissä, sähköpostipalveluissa viestintäkanavan tarjoamiseen. salaus. Tämä tekniikka on suunniteltu varmistamaan, että kolmannet osapuolet eivät sieppaa dataa yksinkertaisella pakettihaistimella.
Harkitse HTTPS-viestintäprosessia käyttämällä esimerkkiä käyttäjän yhdistämisestä Google-tiliin. Tämä prosessi sisältää useita erillisiä toimintoja:
Kaikista näistä toimista HTTPS:ään HTTP 302 -vastauskoodin kautta ohjaaminen näyttää olevan haavoittuvin. Hyökkäyspisteeseen siirtyminen epävarmasta kanavasta suojattuun luotiin erikoistyökalu SSLStrip . Tätä työkalua käyttämällä hyökkäysprosessi on seuraava:
Tämän seurauksena hyökkääjä saa pääsyn tietoihin, jotka asiakas lähettää palvelimelle. Nämä tiedot voivat olla tilien salasanoja, pankkikorttien numeroita tai mitä tahansa muuta tietoa, joka yleensä välitetään piilossa. Mahdollinen signaali tästä hyökkäyksestä asiakkaalle voi olla suojatun HTTPS-liikenteen nimen puuttuminen selaimesta. Palvelimelle tällainen korvaaminen jää täysin huomaamatta, koska SSL-liikenteessä ei tapahdu muutoksia.
ARP Cache Poisoning - hyökkäyksen perustana on ARP - protokollan haavoittuvuus . Toisin kuin protokollat, kuten DNS , jotka voidaan määrittää hyväksymään vain suojattuja dynaamisia päivityksiä, ARP:tä käyttävät laitteet saavat päivitykset milloin tahansa. Tämä ARP-protokollan ominaisuus sallii minkä tahansa laitteen lähettää ARP-vastauspaketin toiselle isännälle vaatiakseen sitä päivittämään ARP-välimuistinsa. ARP-vastauksen lähettämistä ilman pyyntöjä kutsutaan itseohjautuvan ARP:n lähettämiseksi. Jos kyseessä on pahantahtoinen tarkoitus, tällä tavalla käytetyt hyvin suunnatut itseohjautuvat ARP-paketit voivat johtaa siihen, että solmut luulevat puhuvansa yhdelle solmulle, mutta todellisuudessa ne puhuvat hyökkääjän sieppaavalle solmulle [3] .
Julkisen avaimen järjestelmän tapauksessa kryptanalyytikko voi siepata julkisen avaimen vaihtosanomia asiakkaan ja palvelimen välillä ja muokata niitä, kuten yllä olevassa esimerkissä . Pysyäkseen havaitsemattomana kryptanalyytikon on siepattava kaikki asiakkaan ja palvelimen välinen viestintä ja salattava ja purettava ne asianmukaisilla avaimilla. Tällaiset toimet saattavat tuntua liian monimutkaisilta hyökkäyksen toteuttamiseksi, mutta ne muodostavat todellisen uhan turvattomille verkoille ( sähköinen liiketoiminta , verkkopankki , maksuyhdyskäytävä ) [4] .
Hyökkäysten estämiseksi "henkilö, jolla on aktiivinen kryptausanalyytikko", joka korvaisi vastaanottajan julkisen avaimen sen lähetyksen aikana tulevalle viestien lähettäjälle, käytetään pääsääntöisesti julkisen avaimen varmenteita .
Man-in-the-middle -hyökkäyksessä koodin lisäämistä [5] käytetään pääasiassa jo valtuutetun istunnon kaappaamiseen, mukautettujen komentojen suorittamiseen palvelimella ja väärien vastausten lähettämiseen asiakkaalle [6] .
Man-in-the-middle -hyökkäys mahdollistaa kryptanalyytikon syöttämisen koodinsa sähköposteihin, SQL-käskyihin ja verkkosivuille (eli sallii SQL-injektion , HTML/script-injektion tai XSS -hyökkäykset ) ja jopa muokata käyttäjien lataamia binaareja käyttääksesi käyttäjätiliä tai muuttaaksesi käyttäjän Internetistä lataaman ohjelman toimintaa [6] .
Termi "downgrade Attack" viittaa sellaiseen hyökkäykseen, jossa kryptanalyytikko pakottaa käyttäjän käyttämään vähemmän turvallisia toimintoja, protokollia, joita tuetaan edelleen yhteensopivuussyistä. Tämän tyyppinen hyökkäys voidaan suorittaa SSH- , IPsec- ja PPTP-protokollia vastaan .
Suojatakseen alemman tason hyökkäykseltä suojaamattomat protokollat on poistettava käytöstä ainakin yhdeltä puolelta; Pelkkä suojattujen protokollien tukeminen ja käyttäminen oletuksena ei riitä!
Yleisimmät julkiset viestintävälineet ovat sosiaaliset verkostot, julkiset sähköpostipalvelut ja pikaviestijärjestelmät. Viestintäpalvelua tarjoavan resurssin omistajalla on täysi määräysvalta kirjeenvaihtajien vaihtamiin tietoihin ja hän voi oman harkintansa mukaan hyökätä välittäjän kimppuun ilman esteitä milloin tahansa.
Toisin kuin aikaisemmissa viestinnän teknisiin ja teknologisiin näkökohtiin perustuvissa skenaarioissa, tässä tapauksessa hyökkäys perustuu henkisiin näkökohtiin, nimittäin tietoturvavaatimusten huomiotta jättämisen käsitteen juurtumiseen käyttäjien mieleen.
Aikaviiveen tarkistaminen voi mahdollisesti havaita hyökkäyksen tietyissä tilanteissa [8] . Esimerkiksi pitkät hajautusfunktioiden laskelmat, jotka suoritetaan kymmenen sekunnin sisällä. Tunnistaakseen mahdolliset hyökkäykset osapuolet tarkistavat, onko vasteajoissa eroja. Oletetaan, että kahdella osapuolella kuluu tyypillisesti tietty aika tietyn tapahtuman suorittamiseen. Jos jokin tapahtuma kuitenkin saavuttaa toisen osapuolen poikkeuksellisen pitkän ajan, tämä voi viitata kolmannen osapuolen väliintuloon, joka viivästyttää tapahtumaa.
Man-in-the-middle-hyökkäyksen havaitsemiseksi verkkoliikenne on myös analysoitava. Esimerkiksi SSL-hyökkäyksen havaitsemiseksi sinun tulee kiinnittää huomiota seuraaviin parametreihin [9] :
Belkinin langattoman verkon reititin suoritti vuonna 2003 tunnetun ei-salauksellisen mies-in-the-middle-hyökkäyksen. Ajoittain uusi reititinmalli valitsee satunnaisen HTTP-yhteyden ja ohjaa sen valmistajan mainossivulle. Tällainen laitteen epämääräinen käyttäytyminen aiheutti tietysti hälinää käyttäjien keskuudessa, minkä jälkeen tämä "ominaisuus" poistettiin reitittimen laiteohjelmiston myöhemmistä versioista [10] .
Vuonna 2011 hollantilaisen varmenneviranomaisen DigiNotarin tietoturvaloukkaus johti sertifikaattien vilpilliseen myöntämiseen . Myöhemmin petollisia varmenteita käytettiin man-in-the-middle-hyökkäyksiin.
Vuonna 2013 Nokian Xpress Browserin ilmoitettiin purkavan HTTPS - liikenteen salauksen Nokian välityspalvelimilla, mikä antaa yritykselle selkeän tekstin pääsyn asiakkaidensa salattuun selainliikenteeseen . Jolle Nokia ilmoitti, että sisältöä ei säilytetty pysyvästi ja että yhtiöllä oli organisatorisia ja teknisiä toimenpiteitä, joilla estetään pääsy yksityisiin tietoihin [11] .
Vuonna 2017 Equifax veti pois matkapuhelinsovelluksensa peläten mies-in-the-middle-haavoittuvuutta.
Muita merkittäviä MITM-hyökkäysten toteutuksia:
Lueteltujen ohjelmien avulla voidaan suorittaa man-in-the-middle -hyökkäyksiä, havaita niitä ja testata järjestelmän haavoittuvuuksia .
Virheitä BGP-verkkoreititysasetuksissa [13] [14] voidaan käyttää liikennevirtojen ohjaamiseen .