Mellemliggende angreb , eller mand i midten ( MITM) angreb - en type angreb inden for kryptografi og computersikkerhed , når en angriber i hemmelighed videresender og om nødvendigt ændrer forbindelsen mellem to parter, der mener, at de direkte kommunikerer med hinanden med en ven. Det er en metode til at kompromittere en kommunikationskanal , hvor en angriber, der har oprettet forbindelse til en kanal mellem modparter, griber ind i transmissionsprotokollen, sletter eller forvrænger information.
Et eksempel på et man-in-the-middle-angreb er aktiv aflytning, hvor angriberen etablerer uafhængige forbindelser med ofre og videresender beskeder mellem dem. Ved at gøre det får han ofrene til at tro, at de taler direkte til hinanden gennem en privat forbindelse, faktisk styres hele samtalen af angriberen. Angriberen skal kunne opsnappe alle beskeder, der sendes mellem de to ofre, samt introducere nye. I de fleste tilfælde er dette ganske enkelt: for eksempel kan en angriber opføre sig som en "mand i midten" inden for rækkevidden af et trådløst adgangspunkt ( Wi-Fi ) [1] .
Dette angreb har til formål at omgå gensidig godkendelse, eller mangel på det, og kan kun lykkes, når en angriber har evnen til at efterligne hvert endepunkt eller forblive uopdaget som en mellemvært. De fleste kryptografiske protokoller inkluderer en form for slutpunktsgodkendelse , specifikt for at forhindre MITM -angreb. For eksempel kan TLS godkende en eller begge parter ved hjælp af en gensidigt betroet certifikatautoritet [2] .
Angrebet begynder normalt med at lytte til kommunikationskanalen og ender med, at kryptanalytikeren forsøger at erstatte den opsnappede besked, udtrække nyttig information fra den og omdirigere den til en ekstern ressource.
Antag, at objekt A planlægger at sende nogle oplysninger til objekt B. Objekt C har viden om strukturen og egenskaberne af den anvendte dataoverførselsmetode, samt det faktum, at den planlagte overførsel af den faktiske information, som C planlægger at opsnappe. For at udføre et angreb "presenterer C sig" for objekt A som B og til objekt B som A. Objekt A, der fejlagtigt tror, at det sender information til B, sender det til objekt C. Objekt C har modtaget informationen og udføre nogle handlinger med det (for eksempel kopiering eller ændring til deres egne formål), sender dataene til modtageren selv - B; Objekt B mener til gengæld, at oplysningerne er modtaget af ham direkte fra A.
Antag, at Alice vil give Bob nogle oplysninger. Mallory vil opsnappe beskeden og muligvis ændre den, så Bob får de forkerte oplysninger.
Malory begynder sit angreb med at etablere en forbindelse med Bob og Alice, mens de ikke kan gætte, at en anden er til stede i deres kommunikationskanal. Alle beskeder Bob og Alice sender går gennem Mallory.
Alice beder Bob om sin offentlige nøgle . Malory præsenterer sig for Alice som Bob og sender hende sin offentlige nøgle. Alice, der tror, det er Bobs nøgle, krypterer en besked med den og sender den til Bob. Mallory modtager beskeden, dekrypterer den, modificerer den derefter om nødvendigt, krypterer den med Bobs offentlige nøgle og sender den til ham. Bob modtager en besked og tror, den kom fra Alice:
Dette eksempel viser behovet for at bruge metoder til at verificere, at begge parter bruger de korrekte offentlige nøgler, dvs. at part A har part B's offentlige nøgle, og part B har part A's offentlige nøgle i midten."
Overvej et angreb på Diffie - Hellmans delte hemmelige protokol mellem part A og B. Antag, at kryptoanalytiker E har evnen til ikke kun at opsnappe beskeder, men også at erstatte dem med sine egne, det vil sige at udføre et aktivt angreb:
Aflytning og udskiftning af nøgler
Beskedspoofing
Dermed får kryptoanalytikeren E mulighed for at opsnappe og erstatte alle beskeder i kommunikationskanalen. På samme tid, hvis indholdet af beskederne ikke tillader at afsløre tilstedeværelsen af en tredjepart i kommunikationskanalen, anses "mand i midten" angrebet som vellykket.
I dette eksempel vil vi overveje et angreb på SSL over HTTP , også kendt som HTTPS, da dette er den mest almindelige implementeringsmodel for SSL-protokollen og bruges i næsten alle banknetværksapplikationssystemer, e-mail-tjenester til at levere kommunikationskanaler kryptering. Denne teknologi er designet til at sikre, at data ikke bliver opsnappet af tredjeparter ved hjælp af en simpel pakkesniffer.
Overvej processen med kommunikation via HTTPS ved at bruge eksemplet med at forbinde en bruger til en Google-konto. Denne proces omfatter flere separate operationer:
Af alle disse handlinger synes omdirigering til HTTPS via en HTTP 302-svarkode at være den mest sårbare. For at angribe overgangspunktet fra en usikker til en sikker kanal blev der oprettet et særligt værktøj SSLStrip . Ved at bruge dette værktøj er angrebsprocessen som følger:
Som et resultat får angriberen adgang til de data, som klienten sender til serveren. Disse data kan være kontoadgangskoder, bankkortnumre eller enhver anden information, der normalt overføres i en skjult form. Et potentielt signal om dette angreb for klienten kan være fraværet af en betegnelse for sikker HTTPS-trafik i browseren. For serveren vil en sådan substitution forblive fuldstændig ubemærket, fordi der ikke er nogen ændringer i SSL-trafikken.
Grundlaget for ARP Cache Poisoning-angrebet er en sårbarhed i ARP -protokollen . I modsætning til protokoller såsom DNS , som kan konfigureres til kun at acceptere sikre dynamiske opdateringer, vil enheder, der bruger ARP, modtage opdateringer til enhver tid. Denne egenskab i ARP-protokollen tillader enhver enhed at sende en ARP-svarpakke til en anden vært for at kræve, at den opdaterer sin ARP-cache. At sende et ARP-svar uden at generere nogen anmodninger er kendt som at sende en selvstyret ARP. Hvis der er ondsindede hensigter, kan veldirigerede selv-omdirigerede ARP-pakker, der bruges på denne måde, resultere i, at noder tror, at de taler med en enkelt knude, men i virkeligheden taler de med en angribers opsnappede knude [3] .
I tilfælde af et offentligt nøglesystem kan en kryptoanalytiker opsnappe de offentlige nøgleudvekslingsmeddelelser mellem klienten og serveren og ændre dem, som i eksemplet ovenfor . For at forblive uopdaget, skal kryptoanalytikeren opsnappe al kommunikation mellem klient og server og kryptere og dekryptere dem med de relevante nøgler. Sådanne handlinger kan virke for komplicerede til at udføre et angreb, men de udgør en reel trussel mod usikre netværk ( elektronisk forretning , internetbank , betalingsgateway ) [4] .
For at forhindre angreb "en person med en aktiv kryptoanalytiker", som ville erstatte modtagerens offentlige nøgle under transmissionen til den fremtidige afsender af meddelelser, bruges som regel offentlige nøglecertifikater .
Kodeinjektion [5] i et man-in-the-middle-angreb bruges hovedsageligt til at kapre en allerede autoriseret session, udføre brugerdefinerede kommandoer på serveren og sende falske svar til klienten [6] .
Et man-in-the-middle-angreb gør det muligt for en kryptoanalytiker at injicere sin kode i e-mails, SQL-sætninger og websider (dvs. tillader SQL-injektion , HTML/script-injektion eller XSS-angreb ) og endda ændre brugeruploadede binære filer til for at få adgang til en brugerkonto eller ændre adfærden for et program, der er downloadet af brugeren fra internettet [6] .
Udtrykket "Downgrade Attack" refererer til et sådant angreb, hvor kryptoanalytikeren tvinger brugeren til at bruge mindre sikre funktioner, protokoller der stadig understøttes af kompatibilitetsårsager. Denne type angreb kan udføres på SSH- , IPsec- og PPTP-protokollerne .
For at beskytte mod et nedgraderingsangreb skal usikre protokoller være deaktiveret på mindst den ene side; bare at understøtte og bruge sikre protokoller som standard er ikke nok!
De mest almindelige offentlige kommunikationsmidler er sociale netværk, offentlige e-mail-tjenester og instant messaging-systemer. Ejeren af den ressource, der leverer kommunikationstjenesten, har fuld kontrol over de informationer, der udveksles af korrespondenterne, og kan efter eget skøn til enhver tid angribe mellemmanden uden hindring.
I modsætning til tidligere scenarier baseret på de tekniske og teknologiske aspekter af kommunikation, er angrebet i dette tilfælde baseret på mentale aspekter, nemlig på rodfæstet i brugernes sind af konceptet om at ignorere informationssikkerhedskrav.
Kontrol af tidsforsinkelsen kan potentielt detektere et angreb i visse situationer [8] . For eksempel med lange beregninger af hash-funktioner, der udføres inden for ti sekunder. For at identificere potentielle angreb kontrollerer parterne for uoverensstemmelser i responstiden. Antag, at to parter typisk tager en vis tid til at gennemføre en bestemt transaktion. Men hvis en transaktion tager en usædvanlig periode at nå frem til den anden part, kan dette indikere, at en tredjepart indgriber, der indfører yderligere forsinkelse af transaktionen.
For at opdage et man-in-the-middle-angreb skal netværkstrafikken også analyseres. For at opdage et SSL-angreb skal du for eksempel være opmærksom på følgende parametre [9] :
Et velkendt ikke-kryptografisk man-in-the-middle-angreb blev udført af en Belkin trådløs netværksrouter i 2003. Med jævne mellemrum ville en ny routermodel vælge en tilfældig HTTP-forbindelse og omdirigere den til producentens annonceside. En sådan uhøjtidelig opførsel af enheden forårsagede selvfølgelig et tumult blandt brugerne, hvorefter denne "funktion" blev fjernet fra senere versioner af routerens firmware [10] .
I 2011 førte et sikkerhedsbrud fra den hollandske certifikatmyndighed DigiNotar til svigagtig udstedelse af certifikater . Efterfølgende blev svigagtige certifikater brugt til at udføre man-in-the-middle-angreb.
I 2013 blev Nokias Xpress Browser rapporteret at dekryptere HTTPS - trafik på Nokias proxyservere, hvilket gav virksomheden klar tekstadgang til kundernes krypterede browsertrafik . Hvortil Nokia oplyste, at indholdet ikke blev lagret permanent, og at virksomheden havde organisatoriske og tekniske foranstaltninger på plads for at forhindre adgang til private oplysninger [11] .
I 2017 trak Equifax sine mobiltelefonapps tilbage af frygt for en man-in-the-midten sårbarhed.
Andre væsentlige implementeringer af MITM-angreb:
De anførte programmer kan bruges til at udføre man-in-the-middle-angreb, samt til at opdage dem og teste systemet for sårbarheder .
Fejl i BGP internetwork routing indstillinger [13] [14] kan bruges til at omdirigere trafikstrømme .