Man-in-the-middle attack

Server aanbiedingen bekijken

Wat is een man-in-the-middle attack?

Sinds het mogelijk is om berichten te versturen, loopt men ook het gevaar dat berichten worden onderschept of ongemerkt worden gemanipuleerd. Vroeger werden daarvoor bodes opgewacht of telefoons afgetapt; tegenwoordig biedt het internet aanzienlijk subtielere manieren om te spioneren. Een groot deel van het wereldwijde dataverkeer gaat via openbare netwerken – en dat vaak ook nog zonder fatsoenlijke encryptie. Daar komt nog bij dat de overdrachtswegen binnen het wereldwijde computernetwerk voor gebruikers ondoorzichtig zijn. Datapakketten passeren op weg naar de ontvanger meestal een hele reeks tussenstations met verschillende veiligheidsniveaus.

Dit geldt ook voor hackers en inlichtingendiensten, die proberen om gevoelige informatie mee te lezen en voor eigen doeleinden te gebruiken. Daarom zoeken steeds meer gebruikers naar mogelijkheden om de transportwegen op het internet veiliger te maken. Maar wat te doen als een aanvaller zich voordoet als de rechtmatige ontvanger van de informatie? Een dergelijke spionagemethode wordt een man-in-the-middle attack (MITM attack) genoemd.

’Man-in-the-middle’ staat voor de manier waarop een hacker kan inhaken in het gegevensverkeer tussen twee communicatiepartners. De hacker maakt beide partijen wijs dat ze met de ander te maken hebben. Vroeger vond een dergelijke aanval plaats door het manipuleren van het fysieke communicatiekanaal. In tijden van gezamenlijk gebruikte openbare communicatienetwerken stapt de onbevoegde derde meestal op een logische manier tussen twee of meerdere communicatiepartners. Man-in-the-middle attacks worden in computernetwerken vooral gebruikt om versleutelingen tussen SSL/TLS teniet te doen en zo toegang te krijgen tot geheime informatie, gebruikersnamen, wachtwoorden of bankgegevens. Het basismodel voor een man-in-the-middle-aanval ziet er daarbij zo uit:

Systeem A probeert een versleutelde verbinding te creëren met systeem B. In plaats daarvan wordt de datastroom echter door een criminele derde zo omgeleid, dat de versleutelde verbinding van systeem A naar systeem C gaat en pas daarna wordt doorgeleid naar systeem B. Dit zorgt ervoor dat de beheerder van systeem C (meestal de aanvaller) de gehele datastroom kan inzien, opnemen of manipuleren – vaak zelfs zonder dat de communicatiepartners daar iets van meekrijgen. Gaan we uit van het internet, dan zou systeem C zich bij systeem A als webserver voordoen en bij systeem B als webbrowser.


Aanvalspatroon

Om het gegevensverkeer tussen twee of meerdere systemen te infiltreren, maken hackers gebruik van verschillende technieken. Deze sluiten aan op bekende zwakke plekken van internetcommunicatie. De basis voor een LAN-interne man-in-the-middle attack wordt bijvoorbeeld geboden door de dienst DHCP (Dynamic Host Configuration Protocol), die verantwoordelijk is voor het toewijzen van lokale IP-adressen, maar ook door het ARP-systeem (Address Resolution Protocol) voor het achterhalen van hardware-adressen (Media Access Control, MAC). MITM attacks kunnen op grotere schaal ook worden gerealiseerd door het manipuleren van DNS-servers. Bovendien maken hackers gebruik van mazen in de beveiliging van verouderde software of bieden ze nietsvermoedende internetgebruikers een corrupte wifitoegang aan.

In de regel kunnen deze aanvalspatronen worden geautomatiseerd met software. Als aanvallen echter in realtime door menselijk handelen ondersteund worden, spreekt men van human assisted attacks.

DHCP-aanvallen

Bij DHCP-aanvallen doet een hacker alsof zijn eigen computer (of een computer die hij onder controle heeft) een DHCP-server is in een Local Area Network (LAN). Een DHCP-server is een centraal onderdeel van het lokale netwerk dat verantwoordelijk is voor het toewijzen van de netwerkconfiguratie aan andere computers in het LAN. Dit gaat normaal gesproken automatisch: zodra een computer verbinding maakt met het LAN, vraagt de DHCP-client van het besturingssysteem om informatie zoals een lokaal IP-adres, het netmask, het standaardgateway-adres en het adres van de verantwoordelijke DNS-servers. Daarvoor stuurt deze een broadcastbericht aan alle apparaten in het LAN en wacht op een antwoord van de DHCP-client. Het eerste antwoord wordt geaccepteerd.

Dit geeft hackers de mogelijkheid om via vervalste DHCP-servers het toekennen van lokale IP-adressen te sturen en om willekeurige standaardgateways en DNS-servers op de misleidde computers in te voeren. Zo kan het uitgaande gegevensverkeer naar een willekeurige computer worden omgeleid om de inhoud te onderscheppen of te manipuleren.

Omdat deze aanval is gebaseerd op het manipuleren van het DHCP-systeem, heet dit DHCP-spoofing (Nederlands: manipulatie). Een vereiste voor een dergelijke man-in-the-middle attack is echter dat de aanvaller zich in hetzelfde LAN bevindt als het slachtoffer. Risico op een DHCP-aanval bestaat bijvoorbeeld in het LAN van hotels of openbare wifinetwerken. Als een hacker wil infiltreren in het netwerk van een bekabeld bedrijf, moet hij eerst fysieke toegang tot het LAN hebben om een valse DHCP-server in te sluizen.

Maatregelen die internetgebruikers preventief tegen DHCP-spoofing kunnen beschermen zijn meestal beperkt tot een verstandige omgang met onbekende netwerken. Doorgaans is het aan te raden om risicovolle webtoepassingen van online banken of webwinkelportalen alleen te gebruiken in bekende, betrouwbare LAN zoals het thuisnetwerk of het bedrijfsnetwerk van de werkgever.

ARP-cache-poisoning

ARP is een netwerkprotocol dat LAN-interne IP-adressen in hardware-adressen (MAC-adressen) verandert. Om ervoor te zorgen dat een computer binnen een netwerk gegevenspakketten kan versturen, moet deze het hardware-adres van het ontvangende systeem kennen. Daarvoor wordt er een ARP-verzoek als MAC-broadcast aan alle systemen in het LAN gestuurd. Dit bevat niet alleen het MAC- en IP-adres van de vragende computer, maar ook het IP-adres van het gezochte systeem. Als een computer in het netwerk een dergelijk ARP-verzoek ontvangt, wordt eerst gecontroleerd of het pakket het eigen IP-adres als ontvangstadres bevat. Als dit het geval is, wordt er een ARP-antwoord teruggestuurd met het gezochte MAC-adres.

Deze indeling van MAC-adressen in lokale IP wordt als tabel in de zogeheten ARP-cache van de aanvragende computer opgeslagen. Hier begint ARP-poisoning (vergiftiging). Het doel van dit aanvalspatroon is om de ARP-tabellen van diverse computers in een netwerk te manipuleren door foutieve ARP-antwoorden. Hiermee wordt bijvoorbeeld een computer, die beheerd wordt door de aanvaller, vermomd als wifi access point of toegangspoort tot het internet.

Als een dergelijke ARP-spoofing succes heeft, kunnen aanvallers het volledige gegevensverkeer van de misleide computer meelezen, registreren of manipuleren voordat het aan de echte gateway wordt doorgegeven. Net als DHCP-spoofing is ook het ‘vergiftigen’ van een ARP-cache alleen mogelijk als de aanvaller zich in hetzelfde LAN bevindt als de slachtoffersystemen. Je kunt een dergelijke man-in-the-middle attack al met een simpel programma uitvoeren, zoals de freewaretool Cain & Abel, die oorspronkelijk werd ontwikkeld om verloren wachtwoorden te achterhalen, of met de software Ettercap.

Net als bij DHCP-aanvallen, hebben gebruikers in een gecorrumpeerd netwerk bijna geen mogelijkheid om iets tegen ARP-spoofing te doen. Het enige wat je preventief kunt doen, is het mijden of alleen voorzichtig gebruiken van onbekende netwerken.

DNS-aanvallen

Terwijl ARP-cache-poisoning zijn pijlen richt op de zwakke punten van de adresresolutie in het ethernet, richt cache-poisoning op DNS-basis zich op het Domain Name System van het internet. Dit systeem is verantwoordelijk voor het omzetten van URL’s in openbare IP-adressen. Bij een dergelijk aanvalspatroon manipuleren hackers de boekingen in de cache van een DNS-server, zodat deze aanvragen beantwoordt met foutieve doeladressen. Als een dergelijke man-in-the-middle-aanval succesvol is, kan de hacker andere internetgebruikers ongemerkt naar een willekeurige website op het internet doorsturen. Daarvoor gebruikt hij meestal bekende mazen in het beveiligingssysteem van oudere DNS-servers.

In principe wordt DNS-informatie niet op één DNS-server opgeslagen, maar over meerdere computers op het internet verspreid. Als een gebruiker een website wil oproepen, maakt hij daarbij meestal gebruik van een domeinnaam. Om de bijbehorende server te kunnen adresseren, is echter een IP-adres nodig. Dit IP-adres achterhaalt de router van de gebruiker door een DNS-aanvraag te sturen aan de standaard DNS-server die in de configuratie is aangegeven. Meestal is dat de DNS-server van de internetaanbieder. Als hier overeenkomsten – zogeheten resource records – worden gevonden bij de aangevraagde URL, beantwoordt de DNS-server de aanvraag met het bijbehorende IP-adres. Anders achterhaalt de DNS-server het gezochte IP met behulp van een andere server met DNS-taken. Daarvoor stuurt deze een bijbehorende zoekopdracht aan andere DNS-servers en slaat hij de antwoorden tijdelijk op in de cache.

Servers die een oudere versie van de DNS-software gebruiken, zijn een eenvoudiger doelwit voor hackaanvallen. Deze accepteren en bewaren doorgaans niet alleen informatie die expliciet is aangevraagd, maar ook informatie die extra wordt meegeleverd. Als hackers zo’n DNS-server kunnen kapen, is het kinderspel om met ieder correct IP-adres bovendien foutieve records mee te leveren en zo de cache van de vragende DNS-server te vergiftigen.

Hoe effectief een MITM attack kan zijn, is in het verleden al gebleken uit voorvallen waarbij volledige naamruimtes omgeleid werden. Voor gebruikers is het praktisch onmogelijk om zich tegen een dergelijke aanval te weren, omdat deze direct uit de infrastructuur van het internet afkomstig is. Daarom is het in de eerste plaats de taak van beheerders om ervoor te zorgen dat de door hen ter beschikking gestelde DNS-servers gebruikmaken van moderne software en goed beveiligd zijn. Zo zijn bijvoorbeeld onder de naam DNSSEC (Domain Name System Security Extensions) diverse internetstandaarden ontwikkeld, die het DNS uitbreiden met verschillende veiligheidsmechanismes voor het garanderen van de authenticiteit en integriteit van data. Het verspreiden van deze standaarden gaat echter stapvoets.

Het simuleren van een wifi access point

Een aanvalspatroon dat vooral is gericht op gebruikers van mobiele apparaten, is gebaseerd op het simuleren van een access point in een openbaar wifinetwerk, bijvoorbeeld in een café of op een vliegveld. Daarbij configureert een aanvaller zijn computer dusdanig dat deze een andere verbinding met het internet aanbiedt – eventueel met een beter signaal dan het echte access point. Als een aanvaller een nietsvermoedende gebruiker kan misleiden, kan hij al het gegevensverkeer dat door zijn systeem gaat inzien en manipuleren, voordat het wordt doorgegeven aan het echte access point. Als er om autorisatie wordt gevraagd, krijgt de hacker bovendien alle gebruikersnamen en wachtwoorden die bij de aanmelding worden gebruikt. Het risico om slachtoffer te worden van een dergelijke man-in-the-middle attack is vooral groot als een apparaat is ingesteld om automatisch verbinding te maken met het sterkste wifisignaal.

Om je tegen dit soort aanvalspatronen te beschermen, moet je eigenlijk alleen verbinding maken met bekende wifinetwerken en moet je erop letten dat je daarvoor het officiële access point van de aanbieder gebruikt.

Man-in-the-browser-aanval

Een man-in-the-browser-aanval is een variant op de man-in-the-middle-aanval waarbij een aanvaller schadelijke software in de browser van een internetgebruiker installeert om gegevensverkeer te onderscheppen. Vooral computers die niet volledig up-to-date zijn, hebben mazen in de beveiliging die aanvallers kunnen gebruiken om het systeem te infiltreren. Als speciale programma’s één keer in de browser van de gebruiker zijn gesmokkeld, slaan deze op de achtergrond allerlei informatie op die wordt uitgewisseld tussen het geïnfiltreerde systeem en diverse websites op het internet. Met dit aanvalspatroon kunnen hackers met relatief weinig moeite een groot aantal systemen bespioneren. Daarbij vindt de spionage doorgaans plaats voor de mogelijke transportversleuteling via TSL/SSL.

Internetgebruikers kunnen man-in-the-browser-aanvallen het beste voorkomen door alle softwarecomponenten van het gebruikte systeem up-to-date te houden en zo de bekendste zwakke punten door veiligheidsupdates gesloten te houden.

Human assisted attack

Er is sprake van een human assisted attack als een van de bovengenoemde aanvalspatronen niet automatisch verloopt, maar in realtime door een of meerdere aanvallers wordt gestuurd. In de praktijk kan een dergelijke man-in-the-middle attack er als volgt uitzien: zodra een internetgebruiker op de website van zijn bank inlogt, krijgt de hacker – die zichzelf tussen de browser van de gebruiker en de server van de bank heeft geplaatst – een signaal. De hacker kan nu de cookies en autorisatiegegevens in realtime stelen en zo aan gebruikersnamen, wachtwoorden en TAN-codes komen.


Gegevensdiefstal ondanks versleuteling?

Met het toenemende belang van communicatiemogelijkheden via het internet in bijna alle aspecten van ons dagelijks leven, is er ook steeds meer aandacht voor technieken waarmee je gegevens versleuteld kunt doorsturen. Voor de communicatie van browsers (clients) en servers op het internet heeft het communicatieprotocol https zich gevestigd. Dit protocol voert op basis van de SSL-handshake een autorisatie van de webserver uit en bouwt vervolgens, op basis van een gedeelde symmetrische sessiesleutel, een versleuteld overdrachtskanaal op. Daarbij loopt de serverautorisatie via een SSL-certificaat.

In theorie biedt deze autorisatie een betrouwbare bescherming tegen een man-in-the-middle-aanval: vertaald naar het bovengenoemde schema heeft systeem C een betrouwbaar SSL-certificaat nodig om zich tegenover systeem A als systeem C voor te doen. In de praktijk valt en staat deze bescherming echter met de integriteit van het gebruikte certificaat. Met de SSL-handshake controleert de browser namelijk alleen of het door de server gegeven certificaat bij een betrouwbare certificaatautoriteit (certificate authority, CA) hoort. Veel van deze CA’s zijn in de afgelopen jaren echter geïnfiltreerd. Hierdoor konden hackers, inlichtingendiensten en overheden blijkbaar zelf betrouwbare certificaten maken en misbruiken voor een MITM attack.

Daarnaast kunnen hackers zelf SSL-certificaten uitgeven. Een dergelijk self-signed-certificaat leidt weliswaar tot een waarschuwing van de browser dat de website onveilig is, maar dit houdt lang niet iedere internetgebruiker tegen.

Met een vervalst SSL-certificaat kunnen hackers zichzelf zo bij websiteoproepen met SSL-versleuteling als gewenste doelserver voordoen. Om ongemerkt te kunnen spioneren of manipuleren moet deze echter ook worden misleid. Daarvoor leidt de aanvaller de oorspronkelijke aanvraag net als een proxy door aan de eigenlijke ontvanger – indien nodig ook nog versleuteld. In principe is het met de SSL-handshake ook mogelijk om met een certificaat autorisatie van de client te krijgen. In de praktijk wordt deze methode echter nauwelijks toegepast.

  • Gecertificeerde veiligheid

    Gecertificeerde veiligheid
  • Beste hostingbedrijf

    Beste hostingbedrijf
  • MKB Best Choice

    MKB Best Choice
  • Professionele support

    Professionele support
  • Hosted in Germany

    Hosted in Germany