• Ochrana před člověkem uprostřed. Detekce útoků typu man-in-the-middle (MitM). Pokračování je dostupné pouze pro členy

    V tomto článku se pokusíme pochopit teorii útoků typu man-in-the-middle a některé praktické body, které pomohou těmto typům útoků předcházet. To nám pomůže porozumět riziku, které takové narušení představuje pro naše soukromí, protože útoky MitM nám umožňují narušovat komunikaci a odposlouchávat naše konverzace.

    Pochopení toho, jak funguje internet

    Abychom pochopili princip útoku typu man-in-the-middle, stojí za to nejprve pochopit, jak funguje samotný internet. Hlavní body interakce: klienti, routery, servery. Nejběžnějším komunikačním protokolem mezi klientem a serverem je Hypertext Transfer Protocol (HTTP). Surfování na internetu pomocí prohlížeče, e-mailu, instant messagingu – to vše probíhá přes HTTP.

    Když zadáte do adresního řádku prohlížeče, klient (vy) odešle serveru požadavek na zobrazení webové stránky. Paket (požadavek HTTP GET) je přenášen přes několik směrovačů na server. Server poté odpoví webovou stránkou, která je odeslána klientovi a zobrazena na jeho monitoru. Zprávy HTTP musí být přenášeny bezpečně, aby byla zajištěna důvěrnost a anonymita.

    Obrázek 1. Interakce klient-server

    Zabezpečení komunikačního protokolu

    Zabezpečený komunikační protokol musí mít každou z následujících vlastností:

    1. Soukromí- zprávu si může přečíst pouze určený příjemce.
    2. Pravost- byla prokázána totožnost spolupracujících stran.
    3. Integrita- potvrzení, že zpráva nebyla při přenosu změněna.

    Pokud není dodrženo některé z těchto pravidel, je ohrožen celý protokol.

    Man-in-the-middle útok přes HTTP protokol

    Útočník může snadno provést útok typu man-in-the-middle pomocí techniky zvané ARP spoofing. Kdokoli ve vaší síti Wi-Fi vám může poslat podvržený paket ARP, což způsobí, že veškerý provoz nevědomky pošlete přes útočníka místo vašeho routeru.

    Poté má útočník plnou kontrolu nad provozem a může sledovat požadavky odeslané oběma směry.

    Obrázek 2. Vzor útoku typu Man-in-the-middle


    Aby se takovým útokům zabránilo, byla vytvořena zabezpečená verze protokolu HTTP. Transport Layer Security (TLS) a jeho předchůdce Secure Socket Layer (SSL) jsou kryptografické protokoly, které poskytují zabezpečení přenosu dat po síti. Proto se zabezpečený protokol bude nazývat HTTPS. Jak funguje zabezpečený protokol, můžete vidět zadáním do adresního řádku prohlížeče (všimněte si S v https).

    Man-in-the-Middle útok na špatně implementované SSL

    Moderní SSL používá dobrý šifrovací algoritmus, ale to nevadí, pokud není implementován správně. Pokud se hackerovi podaří požadavek zachytit, může jej upravit odstraněním písmene „S“ z požadované adresy URL, a tím obejít SSL.

    Takové zachycení a úprava požadavku lze zaznamenat. Pokud například požadujete https://login.yahoo.com/ a odpověď je http://login.yahoo.com/ , mělo by to vyvolat podezření. V době psaní tento útok skutečně funguje na e-mailové službě Yahoo.

    Obrázek 3. Žádost o zachycení a úpravu


    Aby se takovému útoku zabránilo, mohou servery implementovat HTTP Strict Transport Security (HSTS), mechanismus, který umožňuje vynucené zabezpečené připojení přes protokol HTTPS. V tomto případě, pokud útočník upraví požadavek odstraněním „S“ z adresy URL, server stále přesměruje uživatele pomocí přesměrování 302 na stránku se zabezpečeným protokolem.

    Obrázek 4. Schéma činnosti HSTS


    Tento způsob implementace SSL je zranitelný vůči jinému typu útoku – útočník vytvoří SSL připojení k serveru, ale pomocí různých triků donutí uživatele použít HTTP.

    Obrázek 5. Vzor útoku HSTS


    Aby se takovým útokům zabránilo, moderní prohlížeče jako Chrome, Firefox a Tor monitorují stránky pomocí HSTS a vynucují si k nim připojení na straně klienta přes SSL. V tomto případě by útočník provádějící útok typu man-in-the-middle musel vytvořit SSL spojení s obětí.

    Obrázek 6. Vzor útoku, kdy útočník naváže spojení SSL s obětí


    Aby mohl útočník poskytnout uživateli připojení SLL, musí vědět, jak se chovat jako server. Pojďme pochopit technické aspekty SSL.

    Porozumění SSL

    Z pohledu hackera kompromitace jakéhokoli komunikačního protokolu spočívá v nalezení slabého článku mezi výše uvedenými komponentami (soukromí, autenticita a integrita).

    SSL používá asymetrický šifrovací algoritmus. Problém symetrického šifrování spočívá v tom, že k šifrování a dešifrování dat se používá stejný klíč, tento přístup není platný pro internetové protokoly, protože útočník může tento klíč vysledovat.

    Asymetrické šifrování zahrnuje 2 klíče pro každou stranu: veřejný klíč používaný k šifrování a soukromý klíč používaný k dešifrování dat.

    Obrázek 7. Veřejné a soukromé klíče fungují

    Jak SSL poskytuje tři vlastnosti potřebné pro zabezpečenou komunikaci?

    1. Protože se k šifrování dat používá asymetrická kryptografie, SSL poskytuje soukromé připojení. Toto šifrování není tak snadné prolomit a zůstat neodhaleno.
    2. Server potvrdí svou legitimitu zasláním SSL certifikátu klientovi vydaného certifikační autoritou - důvěryhodnou třetí stranou.

    Pokud se útočníkovi nějakým způsobem podaří certifikát získat, mohl by otevřít dveře útoku typu man-in-the-middle. Vytvoří tedy 2 spojení – se serverem a s obětí. Server si v tomto případě myslí, že útočníkem je obyčejný klient a oběť nemá jak identifikovat útočníka, protože poskytla certifikát prokazující, že je serverem.

    Vaše zprávy přicházejí a přicházejí v zašifrované podobě, ale sledujte řetězec počítačem kyberzločince, kde má plnou kontrolu.

    Obrázek 8. Vzor útoku, pokud má útočník certifikát


    Certifikát není nutné zfalšovat, pokud má útočník možnost kompromitovat prohlížeč oběti. V takovém případě může vložit certifikát s vlastním podpisem, který bude ve výchozím nastavení důvěryhodný. Takto se provádí většina útoků typu man-in-the-middle. Ve složitějších případech se musí hacker vydat jinou cestou – zfalšovat certifikát.

    Problémy s certifikační autoritou

    Certifikát zaslaný serverem byl vystaven a podepsán certifikační autoritou. Každý prohlížeč má seznam důvěryhodných certifikačních autorit a můžete je přidat nebo odebrat. Problém je v tom, že pokud se rozhodnete odebrat velké autority, nebudete moci navštěvovat stránky, které používají certifikáty podepsané těmito autoritami.

    Certifikáty a certifikační autority byly vždy nejslabším článkem HTTPS připojení. I když bylo vše správně implementováno a každá certifikační autorita má solidní autoritu, je stále těžké smířit se s tím, že musíte důvěřovat mnoha třetím stranám.

    Dnes existuje více než 650 organizací schopných vydávat certifikáty. Pokud by některý z nich útočník hacknul, získal by certifikáty, které by chtěl.

    I když existovala pouze jedna certifikační autorita, VeriSign, nastal problém – lidé, kteří měli zabránit útokům typu man-in-the-middle, prodávali odposlechové služby.

    Také mnoho certifikátů bylo vytvořeno kvůli hackování certifikačních autorit. Byly použity různé techniky a triky, aby přiměly cílového uživatele, aby důvěřoval podvodným certifikátům.

    Forenzní

    Protože útočník posílá falešné pakety ARP, útočníkovu IP adresu nelze vidět. Místo toho je třeba věnovat pozornost MAC adrese, která je specifická pro každé zařízení v síti. Pokud znáte MAC adresu svého routeru, můžete ji porovnat s MAC adresou výchozí brány a zjistit, zda je to skutečně váš router nebo útočník.

    Například v systému Windows můžete pomocí příkazu ipconfig v příkazovém řádku (CMD) zobrazit IP adresu výchozí brány (poslední řádek):

    Obrázek 9. Použití příkazu ipconfig


    Poté pomocí příkazu arp –a zjistěte MAC adresu této brány:

    Obrázek 10. Použití příkazu arp –a


    Existuje ale ještě jeden způsob, jak si útoku všimnout – pokud jste sledovali síťovou aktivitu v době, kdy začal, a sledovali pakety ARP. K tomuto účelu můžete použít například Wireshark, tento program vás upozorní, pokud se změnila MAC adresa výchozí brány.

    Poznámka: Pokud útočník správně podvrhne MAC adresy, bude jeho sledování velkým problémem.

    Závěr

    SSL je protokol, který nutí útočníka k provedení útoku. Ale neochrání vás před státem podporovanými útoky ani před zkušenými hackerskými organizacemi.

    Úkolem uživatele je chránit svůj prohlížeč a počítač, aby se zabránilo vložení falešného certifikátu (velmi častá technika). Vyplatí se také věnovat pozornost seznamu důvěryhodných certifikátů a odstranit ty, kterým nedůvěřujete.

    MTProto využívá originální metodu k dosažení spolehlivosti v aktuálně zranitelné mobilní komunikaci a rychlosti doručování velkých souborů (například fotografií, videí a dokumentů o velikosti až 1 GB). Tento dokument má objasnit podrobnosti našeho systému a řešit prvky, které mohou být na první pohled obtížně srozumitelné.

    Podrobná dokumentace protokolu je k dispozici na této stránce. Pokud máte nějaké dotazy, napište na Cvrlikání.

    Poznámka: Každá zpráva zašifrovaná přes MTProto vždy obsahuje následující údaje, které budou při dešifrování zkontrolovány, aby byl systém zabezpečen proti známým problémům:

    • identifikátor relace - id relace;
    • délka zprávy - délka zprávy;

    Poznámka 2: Viz další komentáře týkající se použití a upraveno schéma .

    Proč nepoužiješ X [vaše možnost]

    I když nepochybně existují jiné způsoby, jak dosáhnout stejných kryptografických cílů, věříme, že současné řešení je spolehlivé a zároveň uspěje v našem sekundárním cíli překonat nezabezpečené posly z hlediska rychlosti a stability doručování.

    Proč se spoléháte na klasické kryptoalgoritmy?

    Dáváme přednost použití dobře známých algoritmů vytvořených v dobách, kdy byla šířka pásma a výpočetní výkon vzácným párem. Právě tyto algoritmy mají významný vliv na dnešní vývoj aplikací pro mobilní zařízení a nutí jejich autory zbavit se známých nedostatků. Slabé stránky takových algoritmů jsou také dobře známé a útočníci je zneužívají po celá desetiletí. Tyto algoritmy používáme v této implementaci, protože podle našeho názoru vedou k selhání jakéhokoli známého útoku. Rádi však uvidíme jakýkoli důkaz o opaku (zatím se žádné takové případy nestaly), abychom náš systém zlepšili.

    Jsem bezpečnostní expert a věřím, že váš protokol není bezpečný.

    Můžete se zúčastnit naší soutěže: Pavel Durov nabízí 200 000 $ v bitcoinech tomu, kdo jako první hackne MTProto. Můžete si přečíst oznámení a FAQ soutěže. Pokud máte nějaké další připomínky, budeme rádi, když si je vyslechneme [e-mail chráněný].

    Ochrana proti známým útokům

    Známé útoky v otevřeném textu

    Podle definice je útok v prostém textu typem kryptanalytického útoku, při kterém má útočník jak zašifrované, tak prosté verze textu. AES IGE použitý v MTProto je odolný vůči takovým útokům. Kromě toho prostý text v MTProto vždy obsahuje server salt a ID relace.

    Adaptivní útok na prostý text

    Podle definice je adaptivní útok v otevřeném textu typem útoku v kryptoanalýze, který zahrnuje schopnost kryptoanalytika vybrat otevřený text a získat odpovídající šifrovaný text. MTProto používá AES v režimu IGE, který je proti takovým útokům zabezpečen. Je známo, že IGE je zranitelné vůči blokově adaptivním útokům, ale MTProto to řeší způsobem popsaným níže. Každá zpráva ve formátu prostého textu, která má být zašifrována, obsahuje následující data, která se ověřují během dešifrování:

    • serverová sůl (64-bit);
    • pořadové číslo zprávy;
    • čas odeslání zprávy - čas.

    Kromě toho, abyste nahradili prostý text, musíte také použít správný klíč AES a inicializační vektor, které závisí na auth_key . Díky tomu je MTProto odolný vůči adaptivním útokům v otevřeném textu.

    Odpovídající útoky na šifrovaný text

    Zvolený šifrový útok je podle definice kryptografický útok, při kterém kryptoanalytik shromažďuje informace o šifře tak, že vybere šifrovaný text a získá jeho dešifrování pomocí neznámého klíče. Při takovém útoku může útočník zadat jeden nebo více známých šifrových textů do systému a získat holé texty. Pomocí těchto dat se může útočník pokusit obnovit klíč použitý k dešifrování. V MTProto je při každém dešifrování zprávy provedena kontrola, aby se zajistilo, že msg_key odpovídá SHA-1 dešifrovaných dat. Otevřený text (dešifrovaná data) také vždy obsahuje informace o délce zprávy, jejím pořadovém čísle a soli serveru. To neguje útoky založené na vybraném šifrovaném textu.

    Přehrát útoky

    Replay útoky nejsou možné, protože každá zpráva ve formátu prostého textu obsahuje server salt, jedinečné ID zprávy a pořadové číslo.

    Útok muže uprostřed (MitM).

    Telegram má dva komunikační režimy: běžné chaty, které používají šifrování klient-server, a tajné chaty, které používají šifrování typu end-to-end a jsou chráněny před útoky typu man-in-the-middle. Přenos dat mezi klientem a serverem je chráněn před takovými útoky během generování klíče Diffie-Hellman díky algoritmu veřejného klíče RSA, který je zabudován do klientů Telegram. Poté, pokud klienti partnerů důvěřují softwaru serveru, jsou tajné chaty mezi nimi chráněny serverem před útoky typu man-in-the-middle. Zejména pro ty, kteří Ne důvěřuje serveru, je v aplikaci k dispozici porovnání tajných kódů. Klávesy jsou vizualizovány jako obrázky. Porovnáním zobrazených klíčů mohou uživatelé ověřit, že nedošlo k útoku typu man-in-the-middle.

    Šifrování

    Používáte IGE? Je to hacknuté!

    Ano, používáme IGE, ale v naší implementaci je s ním vše v pořádku. Skutečnost, že nepoužíváme IGE spolu s ostatními prvky našeho systému stejným způsobem jako MAC, činí pokusy o hackování IGE zbytečnými. IGE, stejně jako režim CBC (common ciphertext block chaining), je náchylný k blokově adaptivním útokům. Ale adaptivní útoky jsou hrozbou pouze tehdy, když je stejný klíč použit ve více zprávách (toto není tento případ).

    Adaptivní útoky jsou v MTProto dokonce teoreticky nemožné, protože k dešifrování zpráv musí být zprávy nejprve plně napsány, protože klíč zprávy závisí na jejím obsahu. Pokud jde o neadaptivní útoky CPA, IGE je před nimi chráněno, stejně jako CBC.

    Téměř vždy existuje několik způsobů, jak dosáhnout požadovaného výsledku. To platí i pro oblast informační bezpečnosti. Někdy můžete k dosažení cíle použít hrubou sílu, hledat díry a vyvíjet exploity sami, nebo poslouchat, co se přenáší přes síť. Navíc poslední možnost je často optimální. Proto si dnes povíme něco o nástrojích, které nám pomohou zachytit pro nás cenné informace ze síťového provozu pomocí útoků MITM.

    MITMf

    Začněme jedním z nejzajímavějších kandidátů. Toto je celý rámec pro provádění útoků typu man-in-the-middle, postavený na bázi sergio-proxy. Nedávno zahrnuto do Kali Linuxu. Chcete-li jej nainstalovat sami, stačí naklonovat úložiště a spustit několik příkazů:

    # setup.sh # pip install -r požadavky.txt

    # pip install -r požadavky.txt

    Má architekturu, která je rozšiřitelná pomocí pluginů. Mezi hlavní patří následující:

    • Spoof – umožňuje přesměrovat provoz pomocí spoofingu ARP/DHCP, přesměrování ICMP a úpravu požadavků DNS;
    • Sniffer - tento plugin sleduje pokusy o přihlášení pro různé protokoly;
    • BeEFAutorun - umožňuje automaticky spouštět moduly BeEF na základě typu OS a klientského prohlížeče;
    • AppCachePoison - provede útok otravy mezipamětí;
    • SessionHijacking – unese relace a uloží výsledné soubory cookie do profilu Firefly;
    • BrowserProfiler – pokusí se získat seznam pluginů používaných prohlížečem;
    • FilePwn - umožňuje nahradit soubory odeslané přes HTTP pomocí Backdoor Factory a BDFProxy;
    • Vložit - vloží libovolný obsah do stránky HTML;
    • jskeylogger - vloží JavaScript keylogger do klientských stránek.

    Pokud se vám tato funkce zdá nedostatečná, můžete si vždy přidat vlastní implementací příslušného rozšíření.

    PuttyRider

    Další nástroj, který stojí za pozornost. Pravda, na rozdíl od všech ostatních dnes uvažovaných nástrojů je velmi úzce specializovaný. Jak sám autor projektu říká, k vytvoření takové utility ho inspirovala skutečnost, že při penetračních testech byla nejdůležitější data umístěna na serverech Linux/UNIX, ke kterým se administrátoři připojovali přes SSH/Telnet/rlogin. Navíc ve většině případů bylo mnohem snazší získat přístup k počítači administrátorů než k cílovému serveru. Po proniknutí do počítače správce systému zbývá pouze ujistit se, že PuTTY běží a pomocí tohoto nástroje vybudovat zadní most k útočníkovi.

    Nástroj vám umožňuje nejen zachytit „komunikaci“ mezi správcem a vzdáleným serverem (včetně hesel), ale také provádět libovolné příkazy shellu v rámci dané relace. To vše navíc proběhne naprosto transparentně pro uživatele (administrátora). Pokud vás zajímají technické detaily, například jak je PuTTY implementován do procesu, doporučuji si přečíst autorovu prezentaci.

    Docela starý nástroj, narozený před více než osmi lety. Určeno pro klonování relací krádeží souborů cookie. K únosu relací má základní dovednosti v detekci hostitelů (pokud jsou připojeni k otevřené bezdrátové síti nebo rozbočovači) a provádění otravy ARP. Jediným problémem je, že dnes, na rozdíl od doby před osmi lety, téměř všechny velké společnosti jako Yahoo nebo Facebook používají šifrování SSL, díky čemuž je tento nástroj zcela zbytečný. Navzdory tomu je na internetu stále dostatek zdrojů, které nepoužívají SSL, takže je příliš brzy na odepisování nástroje. Mezi jeho výhody patří skutečnost, že se automaticky integruje do Firefoxu a pro každou zachycenou relaci vytvoří samostatný profil. Zdrojový kód je k dispozici v úložišti a můžete si jej vytvořit sami pomocí následující sekvence příkazů:

    # apt-get install build-essential libwxgtk2.8-dev libgtk2.0-dev libpcap-dev # g++ $(wx-config --cppflags --libs) -lpcap -o sessionthief *.cpp # setcap cap_net_raw,cap_net_admin=eip zloděj sezení

    # apt-get install build-essential libwxgtk2.8-dev libgtk2.0-dev libpcap-dev

    # g++ $(wx-config --cppflags --libs) -lpcap -o sessionthief *.cpp

    # setcap cap_net_raw,cap_net_admin=eip sessionthief

    ProxyFuzz

    ProzyFuzz nemá nic společného přímo s prováděním útoků MITM. Jak můžete uhodnout z názvu, nástroj je určen pro fuzzing. Jedná se o malý nedeterministický síťový fuzzer implementovaný v Pythonu, který náhodně mění obsah paketů síťového provozu. Podporuje protokoly TCP a UDP. Můžete jej nakonfigurovat tak, aby rozmazával pouze jednu stranu. Hodí se, když potřebujete rychle otestovat nějakou síťovou aplikaci (nebo protokol) a vyvinout PoC. Příklad použití:

    Python proxyfuzz -l -r -p

    python proxyfuzz -l -r -p

    Seznam možností zahrnuje:

    • w - udává počet požadavků odeslaných před zahájením fuzzingu;
    • c - fuzz pouze klienta (jinak obě strany);
    • s - fuzz pouze server (jinak obě strany);
    • u - protokol UDP (jinak se používá TCP).

    Prostředník

    Utilita pro provádění MITM útoků na různé protokoly prezentovaná na konferenci DEF CON. Alfa verze podporovala protokol HTTP a měla ve svém arzenálu tři skvělé pluginy:

    • plugin-beef.py - vloží Browser Exploitation Framework (BeEF) do jakéhokoli HTTP požadavku přicházejícího z lokální sítě;
    • plugin-metasploit.py - vkládá IFRAME do nešifrovaných (HTTP) požadavků, které načítají exploity prohlížeče z Metasploitu;
    • plugin-keylogger.py – vkládá obslužnou rutinu události onKeyPress JavaScript pro všechna textová pole, která budou odeslána přes HTTPS, což způsobí, že prohlížeč odešle heslo zadané uživatelem znak po znaku na server útočníka před odesláním celého formuláře.

    Middler nejen automaticky analyzuje síťový provoz a nachází v něm soubory cookie, ale také je nezávisle požaduje od klienta, to znamená, že proces je maximálně automatizován. Program garantuje sběr všech nechráněných účtů v počítačové síti (nebo veřejném hotspotu), k jejichž provozu má přístup. Aby program správně fungoval, musí být v systému nainstalovány následující balíčky: Scapy, libpcap, readline, libdnet, python-netfilter. Bohužel úložiště nebylo dlouho aktualizováno, takže si budete muset přidat novou funkcionalitu sami.

    Nástroj konzoly, který umožňuje interaktivně zkoumat a upravovat provoz HTTP. Díky takovým dovednostem utilitu využívají nejen pentesteri/hackeři, ale i běžní vývojáři, kteří ji využívají například k ladění webových aplikací. S jeho pomocí můžete získat podrobné informace o tom, jaké požadavky aplikace vznáší a jaké odpovědi dostává. Také mitmproxy může pomoci při studiu zvláštností fungování některých REST API, zejména těch, která jsou špatně zdokumentována.

    Instalace je velmi jednoduchá:

    $ sudo aptitude install mitmproxy

    Za zmínku stojí, že mitmproxy také umožňuje zachytit HTTPS provoz vydáním certifikátu s vlastním podpisem klientovi. Dobrý příklad, jak nastavit zachycení a úpravu dopravy, najdete zde.

    Dsniff

    Tato utilita je obecně jednou z prvních věcí, které by vás měly napadnout, jakmile uslyšíte
    „útok MITM“. Nástroj je poměrně starý, ale stále se aktivně aktualizuje, což je dobrá zpráva. O jeho schopnostech nemá cenu podrobně mluvit, za čtrnáct let existence se na internetu probral nejednou. Například v průvodci, jako je tento:

    nebo pokyny z našeho webu:

    Konečně..

    Jako obvykle jsme se nepodívali na všechny nástroje, ale pouze na ty nejoblíbenější; existuje také mnoho málo známých projektů, o kterých bychom mohli někdy mluvit. Jak vidíte, nástroje pro provádění MITM útoků nechybí, a což se nestává příliš často, jeden ze skvělých nástrojů je implementován pro Windows. O nixových systémech není co říci - celá řada. Takže si myslím, že vždy můžete najít ten správný nástroj pro krádež
    pověření jiných lidí. Jejda, tedy na testování.

    Ve kterém útočník po připojení ke kanálu mezi protistranami zasahuje do přenosového protokolu, maže nebo zkresluje informace.

    Princip útoku

    Útok obvykle začíná odposlechem komunikačního kanálu a končí tím, že se kryptoanalytik snaží zachycenou zprávu nahradit, získat z ní užitečné informace a přesměrovat ji na nějaký externí zdroj.

    Předpokládejme, že objekt A plánuje přenést nějaké informace do objektu B. Objekt C má znalosti o struktuře a vlastnostech použité metody přenosu dat, stejně jako o skutečnosti plánovaného přenosu skutečných informací, které C plánuje zachytit. K provedení útoku se C „objeví“ objektu A jako B a objektu B jako A. Objekt A, který se mylně domnívá, že posílá informace B, je pošle objektu C. Objekt C poté, co informaci obdržel, a provádí s ním některé akce (například kopírování nebo úpravy pro vlastní účely) předává data samotnému příjemci - B; objekt B se zase domnívá, že informace byly obdrženy přímo od A.

    Příklad útoku

    Injekce škodlivého kódu

    Útok typu man-in-the-middle umožňuje kryptoanalytikovi vkládat kód do e-mailů, příkazů SQL a webových stránek (tj. umožnit vkládání SQL, vkládání HTML/scriptu nebo útoky XSS) a dokonce upravovat binární soubory nahrané uživatelem na získat přístup k uživatelskému účtu nebo změnit chování programu staženého uživatelem z internetu.

    Downgrade Attack

    Termín „downgrade Attack“ označuje útok, při kterém kryptoanalytik nutí uživatele používat méně bezpečné funkce, protokoly, které jsou stále podporovány z důvodu kompatibility. Tento typ útoku lze provést na protokolech SSH, IPsec a PPTP.

    Pro ochranu před downgrade Attack musí být nezabezpečené protokoly deaktivovány alespoň na jedné straně; Pouhá podpora a používání zabezpečených protokolů ve výchozím nastavení nestačí!

    SSH V1 místo SSH V2

    Útočník se může pokusit změnit parametry připojení mezi serverem a klientem, když je mezi nimi navázáno spojení. Podle přednášky na konferenci Blackhat Conference Europe 2003 může kryptoanalytik „přinutit“ klienta zahájit relaci SSH1 namísto SSH2 změnou čísla verze „1.99“ pro relaci SSH na „1.51“, což znamená použití SSH V1. . Protokol SSH-1 má zranitelnosti, které může zneužít kryptoanalytik.

    IPsec

    V tomto scénáři útoku kryptoanalytik klame svou oběť, aby si myslela, že relace IPsec nemůže začít na druhém konci (serveru). To má za následek explicitní odesílání zpráv, pokud hostitelský počítač běží v režimu vrácení zpět.

    PPTP

    Ve fázi vyjednávání parametrů relace PPTP může útočník donutit oběť, aby používala méně bezpečné ověřování PAP, MSCHAP V1 (to znamená „vrátit se“ z MSCHAP V2 na verzi 1), nebo šifrování nepoužívala vůbec.

    Útočník může svou oběť donutit k opakování fáze vyjednávání parametrů PPTP relace (odeslání paketu Terminate-Ack), ukrást heslo ze stávajícího tunelu a útok zopakovat.

    Veřejná komunikace bez ochrany přesnosti, důvěrnosti, dostupnosti a integrity informací

    Nejběžnějšími komunikačními prostředky pro tuto skupinu jsou sociální síť, veřejná e-mailová služba a systém rychlých zpráv. Vlastník zdroje poskytujícího komunikační službu má plnou kontrolu nad informacemi vyměňovanými mezi korespondenty a podle vlastního uvážení může kdykoli volně provést útok.

    Na rozdíl od předchozích scénářů založených na technických a technologických aspektech komunikace je v tomto případě útok založen na mentálních aspektech, konkrétně na zakořenění konceptu ignorování požadavků na informační bezpečnost v myslích uživatelů.

    Pomůže šifrování?

    Uvažujme případ standardní transakce HTTP. V tomto případě může útočník poměrně snadno rozdělit původní TCP spojení na dvě nová: jedno mezi sebe a klienta, druhé mezi sebe a server. To je docela snadné, protože jen velmi zřídka je spojení mezi klientem a serverem přímé a ve většině případů jsou připojeni přes řadu mezilehlých serverů. Útok MITM lze provést na kterémkoli z těchto serverů.

    Pokud však klient a server komunikují pomocí HTTPS, což je protokol, který podporuje šifrování, může být také proveden útok typu man-in-the-middle. Tento typ připojení používá k šifrování požadavků TLS nebo SSL, což by zřejmě zajistilo kanál chráněný před útoky sniffing a MITM. Útočník může vytvořit dvě nezávislé relace SSL pro každé připojení TCP. Klient naváže spojení SSL s útočníkem, který zase vytvoří spojení se serverem. V takových případech prohlížeč většinou upozorní, že certifikát není podepsán důvěryhodnou certifikační autoritou, ale běžní uživatelé zastaralých prohlížečů toto varování snadno obejdou. Útočník může mít navíc certifikát podepsaný kořenovou certifikační autoritou (například takové certifikáty se někdy používají pro DLP) a negeneruje varování. Kromě toho existuje řada útoků proti HTTPS. Protokol HTTPS tak pro běžné uživatele nelze považovat za chráněný před útoky MITM. [ ] Existuje řada opatření, která zabraňují některým útokům MITM na weby https, zejména HSTS, který zakazuje používání http připojení z webů, připínání certifikátů a připínání veřejného klíče HTTP, které zakazují nahrazování certifikátů.

    Detekce útoků MITM

    Chcete-li detekovat útok typu man-in-the-middle, musíte analyzovat síťový provoz. Chcete-li například detekovat útok SSL, měli byste věnovat pozornost následujícím parametrům:

    • IP adresa serveru
    • DNS server
    • X.509 - certifikát serveru
      • Je certifikát podepsaný sám sebou?
      • Je certifikát podepsán certifikační autoritou?
      • Byl certifikát zneplatněn?
      • Změnil se certifikát v poslední době?
      • Získali stejný certifikát i jiní klienti na internetu?

    Implementace útoků MITM

    Uvedené programy lze použít k provádění útoků typu man-in-the-middle a také k jejich detekci a testování zranitelnosti systému.

    viz také

    • Aspidistra (anglicky) – britský rádiový vysílač používaný během druhé světové války „invaze“, varianta útoku MITM.
    • Babingtonské spiknutí (anglicky) – spiknutí proti Alžbětě I., během kterého Walsingham zachytil korespondenci.

    Jiné útoky

    • „Man in the Browser“ je typ útoku, při kterém je útočník schopen okamžitě změnit parametry transakce a změnit stránky zcela transparentní pro oběť.
    • Útok Meet-in-the-middle je kryptografický útok, který stejně jako narozeninový útok využívá kompromisu mezi časem a pamětí.
    • „Útok slečny uprostřed“ je účinná metoda tzv. nemožné diferenciální kryptoanalýzy.
    • Relay attack je varianta MITM útoku založená na předání zachycené zprávy platnému příjemci, ale ne tomu, komu byla zpráva určena.
    • Rootkit je program navržený tak, aby skryl stopy přítomnosti útočníka.

    Napište recenzi na článek "Muž ve středním útoku"

    Literatura

    Odkazy

    • www.all.net/CID/Attack/Attack74.html
    • www.nag.ru/2003/0405/0405.shtml
    • www.schneier.com/blog/archives/2006/04/rfid_cards_and.html

    Úryvek charakterizující Muže uprostřed útoku

    "Quartire, quartire, logement," řekl důstojník a pohlédl na malého muže se shovívavým a dobromyslným úsměvem. – Les Francais sont de bons enfants. Que diable! Voyony! Ne nous fachons pas, mon vieux, [Apartmány, apartmány... Francouzi jsou dobří chlapi. Sakra, nehádejme se, dědečku.] - dodal a poplácal vyděšeného a tichého Gerasima po rameni.
    - Aca! Dites donc, on ne parle donc pas francais dans cette boutique? [No, opravdu, tady nikdo nemluví francouzsky?] dodal, rozhlédl se a setkal se s Pierrovýma očima. Pierre se odtáhl ode dveří.
    Důstojník se znovu obrátil ke Gerasimovi. Požadoval, aby mu Gerasim ukázal pokoje v domě.
    „Pán je pryč, nerozumím... moje je tvoje...“ řekl Gerasim a snažil se svá slova objasnit tím, že je pronesl naruby.
    Francouzský důstojník s úsměvem roztáhl ruce před Gerasimovým nosem, takže měl pocit, že mu nerozumí, a kulhal ke dveřím, kde stál Pierre. Pierre se chtěl odstěhovat, aby se před ním schoval, ale právě v tu chvíli uviděl Makara Alekseicha, jak se vykláněl z otevřených kuchyňských dveří s pistolí v rukou. Makar Alekseich se s vychytralostí šílence podíval na Francouze, zvedl pistoli a zamířil.
    - Na palubu!!! - vykřikl opilec a stiskl spoušť pistole. Francouzský důstojník se po výkřiku otočil a ve stejném okamžiku se Pierre vrhl na opilého muže. Zatímco Pierre popadl a zvedl pistoli, Makar Alekseich konečně stiskl spoušť prstem a byla slyšet rána, která byla ohlušující a všechny zahalila kouřem ze střelného prachu. Francouz zbledl a vrhl se zpátky ke dveřím.
    Pierre zapomněl na svůj úmysl neprozradit svou znalost francouzského jazyka, popadl pistoli a hodil ji, přiběhl k důstojníkovi a promluvil na něj francouzsky.
    "Vous n"etes pas blesse? [Nejsi zraněný?]," řekl.
    "Je crois que non," odpověděl důstojník a cítil se sám sebou, "mais je l"ai manque belle cette fois ci," dodal a ukázal na uvolněnou omítku ve zdi. "Quel est cet homme? [Zdá se, že ne. .. ale tohle, protože to bylo blízko Kdo je ten muž?] - řekl důstojník a přísně se podíval na Pierra.
    "Ach, je suis vraiment au desespoir de ce qui vient d"arriver, [Ach, jsem opravdu zoufalý z toho, co se stalo]," řekl Pierre rychle, úplně zapomněl na svou roli. "Cest un fou, un malheureux qui ne savait pas ce qu"il faisait. [To je nešťastný šílenec, který nevěděl, co dělá.]
    Důstojník přistoupil k Makaru Alekseichovi a popadl ho za límec.
    Makar Alekseich s pootevřenými rty, jako by usínal, se pohupoval a opíral se o zeď.
    "Brigande, tu me la payeras," řekl Francouz a sundal ruku.
    – Nous autres nous sommes clements apres la victoire: mais nous ne pardonnons pas aux traitres, [Loupežníku, za tohle mi zaplatíš. Náš bratr je po vítězství milosrdný, ale zrádcům neodpouštíme,“ dodal s ponurou vážností ve tváři as krásným energickým gestem.
    Pierre pokračoval ve francouzštině, aby přesvědčil důstojníka, aby tohoto opilého, šíleného muže netrestal. Francouz tiše naslouchal, aniž by změnil svůj zasmušilý vzhled, a najednou se s úsměvem obrátil k Pierrovi. Několik sekund na něj mlčky hleděl. Jeho hezká tvář nabyla tragicky něžného výrazu a natáhl ruku.
    "Vous m"avez sauve la vie! Vous etes Francais, [Zachránil jsi mi život. Jsi Francouz," řekl. Pro Francouze byl tento závěr nepopiratelný. Jen Francouz mohl vykonat velký čin a zachránit si život , m r Ramball „I capitaine du 13 me leger [Monsieur Rambal, kapitán 13. lehkého pluku] – byla bezpochyby ta největší věc.
    Ale bez ohledu na to, jak nepochybný byl tento závěr a na něm založené přesvědčení důstojníka, Pierre považoval za nutné ho zklamat.
    "Je suis Russe, [jsem Rus," řekl Pierre rychle.
    "Ti ti ti, a d"autres, [řekni to ostatním," řekl Francouz, mával si prstem před nosem a usmál se. "Tout a l"heure vous allez me conter tout ca," řekl. – Charme de rencontrer un compatriote. Eh bien! qu"allons nous faire de cet homme? [Teď mi to všechno povíš. Je velmi příjemné potkat krajana. Dobře! Co bychom s tím mužem měli dělat?] - dodal a oslovil Pierra, jako by to byl jeho bratr "I kdyby Pierre nebyl Francouz, který jednou získal tento nejvyšší titul na světě, nemohl by se ho vzdát," řekl výraz ve tváři a tón francouzského důstojníka. Na poslední otázku Pierre ještě jednou vysvětlil, kdo Makar Alekseich bylo, vysvětlil, že těsně před jejich příjezdem tento opilý, šílený muž ukradl nabitou pistoli, kterou mu nestihli vzít, a požádal, aby jeho čin zůstal bez trestu.
    Francouz vystrčil hruď a rukou udělal královské gesto.
    – Vous m"avez sauve la vie. Vous etes Francais. Vous me requestez sa grace? Je vous l"accorde. Qu"on emmene cet homme, [Zachránil jsi mi život. Jsi Francouz. Chceš, abych mu odpustil? Odpouštím mu. Odveď toho muže pryč," řekl francouzský důstojník rychle a energicky a vzal toho jednoho za ruku. který si ho vysloužil za záchranu života do francouzského Pierra a šel s ním do domu.
    Vojáci, kteří byli na dvoře, když slyšeli výstřel, vstoupili do vestibulu, zeptali se, co se stalo, a vyjádřili svou připravenost potrestat zodpovědné; ale důstojník je přísně zastavil.
    "On vous demandera quand on aura besoin de vous," řekl. Vojáci odešli. Zřízenec, který mezitím stihl být v kuchyni, přistoupil k důstojníkovi.
    "Kapitáne, je tu polévka a gigot de mouton dans la kuchyně," řekl. - Faut il vous l "apporter? [Kapitáne, v kuchyni mají polévku a smažené jehněčí maso. Chcete to přinést?]
    "Oui, et le vin, [Ano, a víno,"] řekl kapitán.

    Francouzský důstojník a Pierre vstoupili do domu. Pierre považoval za svou povinnost znovu ujistit kapitána, že není Francouz a chce odejít, ale francouzský důstojník o tom nechtěl ani slyšet. Byl tak zdvořilý, laskavý, dobromyslný a opravdu vděčný za záchranu jeho života, že Pierre neměl odvahu ho odmítnout a posadil se s ním na chodbu, v první místnosti, do které vešli. V reakci na Pierrovo tvrzení, že není Francouz, kapitán, očividně nechápající, jak lze takový lichotivý titul odmítnout, pokrčil rameny a řekl, že pokud by určitě chtěl pasovat za Rusa, tak ať je, ale že i přesto jsou s ním všichni stále navždy spojeni s pocitem vděčnosti za záchranu jeho života.
    Kdyby byl tento muž obdařen alespoň nějakou schopností porozumět pocitům druhých a hádal o Pierrových pocitech, Pierre by ho pravděpodobně opustil; ale živá neprostupnost tohoto muže ke všemu, co nebyl on sám, Pierra porazila.
    "Francais ou prince russe inkognito, [Francouz nebo ruský princ inkognito," řekl Francouz a podíval se na Pierrovo špinavé, ale tenké spodní prádlo a prsten na ruce. – Je vous dois la vie je vous offre mon amitie. Un Francais n "oublie jamais ni une insulte ni un service. Je vous offre mon amitie. Je ne vous dis que ca. [Dlužím ti svůj život a nabízím ti přátelství. Francouz nikdy nezapomene ani na urážku, ani na službu. Nabízím mé přátelství k tobě. Nic víc neříkám.]
    Ve zvucích hlasu, ve výrazu obličeje, v gestech tohoto důstojníka bylo tolik dobré povahy a ušlechtilosti (ve francouzském smyslu), že Pierre reagoval nevědomým úsměvem na Francouzův úsměv a potřásl mu nataženou rukou.
    - Kapitán Ramball du treizieme leger, decore pour l "affaire du Sept, [kapitán Ramball, třináctý lehký pluk, rytíř Čestné legie pro věc sedmého září," představil se se samolibým, nekontrolovatelným úsměvem, který se vrásčil. jeho rty pod knírem. - Voudrez vous bien me dire dárek, a qui" j"ai l"honneur de parler aussi agreablement au lieu de rester a l"ambulance avec la balle de ce fou dans le corps." [Budete tak rád bys mi teď řekl, s kým jsem, mám tu čest si tak příjemně popovídat, místo abych byl u obvazové stanice s kulkou od tohoto šílence v mém těle?]
    Pierre odpověděl, že nemůže říct své jméno, a začervenal se a začal se snažit vymyslet jméno, mluvit o důvodech, proč to nemůže říct, ale Francouz ho spěšně přerušil.
    "De grace," řekl. – Je comprends vos raisons, vous etes officier... officier superieur, peut être. Vous avez porte les armes contre nous. Ce n"est pas mon affaire. Je vous dois la vie. Cela me suffit. Je suis tout a vous. Vous etes gentilhomme? [Abych byl úplný, prosím. Chápu vás, jste důstojník... štábní důstojník, možná. Sloužil jsi proti nám. To není moje věc. Dlužím ti svůj život. Tohle mi stačí a jsem celý tvůj. Jsi šlechtic?] - dodal s náznakem otázky. Pierre se uklonil hlava. - Votre nom de bapteme, s'il vous plait? Je ne náročné pas davantage. Monsieur Pierre, dites vous... Parfait. C "est tout ce que je touha savoir. [Vaše jméno? Na nic jiného se neptám. Monsieur Pierre, řekl jste? Skvělé. To je vše, co potřebuji.]
    Když bylo přineseno smažené jehněčí, míchaná vejce, samovar, vodka a víno z ruského sklepa, které si Francouzi přivezli, požádal Rambal Pierra, aby se této večeře zúčastnil a okamžitě, chtivě a rychle, jako zdravý a hladový člověk, začal jíst, rychle žvýkal svými silnými zuby, neustále mlátil rty a říkal vynikající, vynikající! [úžasné, vynikající!] Obličej měl zrudlý a pokrytý potem. Pierre měl hlad a rád se zúčastnil večeře. Morel, zřízenec, přinesl rendlík s teplou vodou a dal do něj láhev červeného vína. Navíc přinesl láhev kvasu, kterou si odnesl z kuchyně na testování. Tento nápoj znali již Francouzi a dostal své jméno. Říkali kvass limonade de cochon (vepřová limonáda) a Morel chválil tuto limonádu de cochon, kterou našel v kuchyni. Ale protože kapitán měl víno získané při průjezdu Moskvou, poskytl kvas Morelovi a vzal láhev Bordeaux. Zabalil láhev až po hrdlo do ubrousku a nalil sobě a Pierrovi trochu vína. Ukojený hlad a víno kapitána ještě více oživily a během večeře bez přestání mluvil.
    - Oui, mon cher monsieur Pierre, je vous dois une fiere chandelle de m"avoir sauve... de cet enrage... J"en ai assez, voyez vous, de balles dans le corps. En voila une (ukázal na bok) Wagram et de deux a Smolensk,“ ukázal jizvu, kterou měl na tváři. - Et cette jambe, comme vous voyez, qui ne veut pas marcher. C"est a la grande bataille du 7 a la Moskowa que j"ai recu ca. Sacre dieu, c"etait beau. Il fallait voir ca, c"etait un deluge de feu. Vous nous avez taille une rude besogne; vous pouvez vous en vanter, nom d"un petit bonhomme. Et, ma parole, malgre l"atoux que j"y ai gagne, je serais pret a recommencer. Je plains ceux qui n"ont pas vu ca. [Ano, můj milý pane Pierre, musím vám zapálit dobrou svíčku, protože jste mě zachránil před tímto šílencem. Vidíte, už mám dost kulek, které jsou v mém těle. Tady je jeden u Wagramu, druhý u Smolenska. A tato noha, jak vidíte, se nechce pohnout. Bylo to během velké bitvy 7. u Moskvy. O! Bylo to úžasné! Měli jste vidět, že to byla záplava ohně. Dal jsi nám těžký úkol, můžeš se tím pochlubit. A proboha, i přes tento trumf (ukázal na kříž) bych byl připraven začít znovu. Je mi líto těch, kteří to neviděli.]
    "J"y ai ete, [byl jsem tam]," řekl Pierre.
    - Bah, vraiment! "Eh bien, tant mieux," řekl Francouz. – Vous etes de fiers ennemis, tout de meme. La grande redoute a ete tenace, nom d"une pipe. Et vous nous l"avez fait cranement payer. J"y suis alle trois fois, tel que vous me voyez. Trois fois nous etions sur les canons et trois fois on nous a culbute et comme des capucins de cartes. Oh!! c"etait beau, Monsieur Pierre. Vos granátníci ont ete superbes, tonnerre de Dieu. Je les ai vu šest fois de suite serrer les rangs, et marcher comme a une revue. Les beaux hommes! Notre roi de Neapol, qui s'y connait a cre: bravo! Ach, ach! soldat comme nous autres! - řekl s úsměvem po chvíli ticha. - Tant mieux, tant mieux, monsieur Pierre. Terribles en bataille. .. galanti... - mrkl s úsměvem, - avec les belles, voila les Francais, monsieur Pierre, n "est ce pas? [Bah, opravdu? Tím lépe. Jste úhlavní nepřátelé, to musím přiznat. Velká reduta obstála dobře, sakra. A donutil jsi nás zaplatit draze. Byl jsem tam třikrát, jak mě můžete vidět. Třikrát jsme byli ve zbrani, třikrát nás srazili jako kartářky. Vaši granátníci byli skvělí, bože. Viděl jsem, jak se jejich řady šestkrát uzavřely a jak pochodovali jako průvod. Úžasní lidé! Náš neapolský král, který v těchto věcech sežral psa, na ně křičel: bravo! - Ha, ha, tak ty jsi náš bratr voják! - Tím lépe, tím lépe, pane Pierre. Hrozný v bitvě, laskavý ke kráskám, to jsou Francouzi, pane Pierre. Není to ono?]
    Kapitán byl tak naivně a dobromyslně veselý, upřímný a spokojený sám se sebou, že Pierre na sebe málem mrkl a vesele se na něj díval. Pravděpodobně slovo „galantní“ přimělo kapitána přemýšlet o situaci v Moskvě.