Intermediary attack neboli útok muže uprostřed ( MITM) – typ útoku v kryptografii a počítačové bezpečnosti , kdy útočník tajně přenáší a v případě potřeby mění spojení mezi dvěma stranami, které se domnívají, že spolu přímo komunikují s přítel. Jedná se o metodu kompromitace komunikačního kanálu , při které útočník po připojení ke kanálu mezi protistranami zasahuje do přenosového protokolu, maže nebo zkresluje informace.
Jedním z příkladů útoku typu man-in-the-middle je aktivní odposlouchávání, při kterém útočník naváže nezávislé spojení s oběťmi a předává si mezi nimi zprávy. Tím nutí oběti uvěřit, že spolu mluví přímo prostřednictvím soukromého spojení, ve skutečnosti je celý rozhovor řízen útočníkem. Útočník musí být schopen zachytit všechny zprávy přenášené mezi dvěma oběťmi a také zavést nové. Ve většině případů je to docela jednoduché: útočník se například může chovat jako „muž uprostřed“ v dosahu bezdrátového přístupového bodu ( Wi-Fi ) [1] .
Tento útok má za cíl obejít vzájemnou autentizaci nebo její nedostatek a může být úspěšný pouze tehdy, když má útočník schopnost vydávat se za každý koncový bod nebo zůstat neodhalen jako mezihostitel. Většina kryptografických protokolů obsahuje určitou formu autentizace koncového bodu , která má zabránit útokům MITM. TLS může například ověřit jednu nebo obě strany pomocí vzájemně důvěryhodné certifikační autority [2] .
Útok obvykle začíná nasloucháním komunikačnímu kanálu a končí tím, že se kryptoanalytik snaží zachycenou zprávu nahradit, extrahovat z ní užitečné informace a přesměrovat ji na nějaký externí zdroj.
Předpokládejme, že objekt A plánuje odeslat nějaké informace objektu B. Objekt C má znalosti o struktuře a vlastnostech použité metody přenosu dat, stejně jako o tom, že plánovaný přenos skutečných informací, které C plánuje zachytit. K provedení útoku se C „představí“ 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ění některých akcí s ním (například kopírování nebo úpravy pro vlastní účely), odesílá data samotnému příjemci - B; objekt B se zase domnívá, že informace obdržel přímo od A.
Předpokládejme , že Alice chce dát Bobovi nějaké informace. Mallory chce zachytit zprávu a případně ji změnit, aby Bob dostal špatné informace.
Malory zahájí svůj útok navázáním spojení s Bobem a Alicí, přičemž oni nemohou odhadnout, že v jejich komunikačním kanálu je přítomen někdo jiný. Všechny zprávy, které Bob a Alice posílají, procházejí přes Mallory.
Alice žádá Boba o jeho veřejný klíč . Malory se Alici představí jako Bob a pošle jí svůj veřejný klíč. Alice, která věří, že je to Bobův klíč, s ním zašifruje zprávu a pošle ji Bobovi. Mallory zprávu přijme, dešifruje, pak v případě potřeby upraví, zašifruje Bobovým veřejným klíčem a odešle mu ji. Bob obdrží zprávu a myslí si, že přišla od Alice:
Tento příklad demonstruje potřebu použít metody k ověření, že obě strany používají správné veřejné klíče, tj. že strana A má veřejný klíč strany B a strana B má veřejný klíč strany A uprostřed."
Zvažte útok na sdílený tajný protokol Diffie - Hellmana mezi stranami A a B. Předpokládejme, že kryptoanalytik E má schopnost nejen zachytit zprávy, ale také je nahradit svými vlastními, to znamená provést aktivní útok:
Zachycování a záměna klíčů
Spoofing zpráv
Kryptanalytik E tak dostane příležitost zachytit a nahradit všechny zprávy v komunikačním kanálu. Zároveň, pokud obsah zpráv neumožňuje odhalit přítomnost třetí strany v komunikačním kanálu, je útok „muž uprostřed“ považován za úspěšný.
V tomto příkladu budeme zvažovat útok na SSL přes HTTP , také známý jako HTTPS, protože se jedná o nejběžnější implementační model pro protokol SSL a používá se téměř ve všech bankovních síťových aplikačních systémech, e-mailových službách k poskytování komunikačního kanálu. šifrování. Tato technologie je navržena tak, aby zajistila bezpečnost dat před zachycením třetími stranami pomocí jednoduchého snifferu paketů.
Zvažte proces komunikace přes HTTPS na příkladu připojení uživatele k účtu Google. Tento proces zahrnuje několik samostatných operací:
Ze všech těchto akcí se zdá být nejzranitelnější přesměrování na HTTPS prostřednictvím kódu odpovědi HTTP 302. K útoku na přechodový bod z nezabezpečeného kanálu na zabezpečený byl vytvořen speciální nástroj SSLStrip . Pomocí tohoto nástroje je proces útoku následující:
Výsledkem je, že útočník získá přístup k datům, která klient odesílá na server. Těmito údaji mohou být hesla k účtům, čísla bankovních karet nebo jakékoli jiné informace, které jsou obvykle přenášeny ve skryté podobě. Potenciálním signálem tohoto útoku pro klienta může být absence označení zabezpečeného HTTPS provozu v prohlížeči. Pro server zůstane takové nahrazení zcela bez povšimnutí, protože nedochází k žádným změnám v provozu SSL.
Základem útoku ARP Cache Poisoning je zranitelnost v protokolu ARP . Na rozdíl od protokolů, jako je DNS , které lze nakonfigurovat tak, aby přijímaly pouze zabezpečené dynamické aktualizace, zařízení využívající ARP obdrží aktualizace kdykoli. Tato vlastnost protokolu ARP umožňuje jakémukoli zařízení odeslat paket s odpovědí ARP jinému hostiteli a vyžadovat, aby aktualizoval mezipaměť ARP. Odeslání odpovědi ARP bez generování jakýchkoli požadavků je známé jako odeslání samořízeného ARP. Pokud se jedná o nekalý úmysl, dobře nasměrované samopřesměrované ARP pakety použité tímto způsobem mohou vést k tomu, že si uzly budou myslet, že mluví s jedním uzlem, ale ve skutečnosti mluví se zachycovacím uzlem útočníka [3] .
V případě systému veřejného klíče může kryptoanalytik zachytit zprávy o výměně veřejného klíče mezi klientem a serverem a upravit je, jako v příkladu výše . Aby kryptoanalytik zůstal neodhalen, musí zachytit veškerou komunikaci mezi klientem a serverem a zašifrovat a dešifrovat ji pomocí příslušných klíčů. Takové akce se mohou zdát příliš komplikované na provedení útoku, ale představují skutečnou hrozbu pro nezabezpečené sítě ( elektronický obchod , internetové bankovnictví , platební brána ) [4] .
K zamezení útoků „osoby s aktivním kryptoanalytikem“, která by při přenosu budoucímu odesílateli zpráv nahradila veřejný klíč příjemce, se zpravidla používají certifikáty veřejného klíče .
Vložení kódu [5] v útoku typu man-in-the-middle se používá hlavně k únosu již autorizované relace, provádění vlastních příkazů na serveru a odesílání falešných odpovědí klientovi [6] .
Útok typu man-in-the-middle umožňuje kryptoanalytikovi vložit svůj kód do e-mailů, příkazů SQL a webových stránek (tj. umožňuje vkládání SQL , vkládání HTML/scriptu nebo útoky XSS ) a dokonce i modifikaci binárních souborů nahraných uživatelem pro přístup k uživatelskému účtu nebo změnu chování programu staženého uživatelem z internetu [6] .
Pojem „downgrade Attack“ označuje takový ú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 útokem na nižší verzi je třeba deaktivovat nezabezpečené protokoly alespoň na jedné straně; pouze podpora a používání zabezpečených protokolů ve výchozím nastavení nestačí!
Nejběžnějšími veřejnými komunikačními prostředky jsou sociální sítě, veřejné e-mailové služby a systémy pro rychlé zasílání zpráv. Vlastník zdroje, který poskytuje komunikační službu, má plnou kontrolu nad informacemi vyměňovanými korespondenty a podle vlastního uvážení může zprostředkovatele kdykoli bez překážek napadnout.
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í v myslích uživatelů konceptu ignorování požadavků na bezpečnost informací.
Kontrola časového zpoždění může v určitých situacích potenciálně detekovat útok [8] . Například s dlouhými výpočty hašovacích funkcí, které se provedou do deseti sekund. K identifikaci potenciálních útoků strany kontrolují nesrovnalosti v době odezvy. Předpokládejme, že dvěma stranám obvykle trvá určitou dobu, než dokončí určitou transakci. Pokud však jedné transakci trvá anomální dobu, než se dostane k druhé straně, může to znamenat zásah třetí strany, který do transakce vnesl další zpoždění.
Aby bylo možné detekovat útok typu man-in-the-middle, musí být také analyzován síťový provoz. Chcete-li například detekovat útok SSL, měli byste věnovat pozornost následujícím parametrům [9] :
Známý nekryptografický útok typu man-in-the-middle provedl router bezdrátové sítě Belkin v roce 2003. Nový model routeru by pravidelně volil náhodné připojení HTTP a přesměroval je na reklamní stránku svého výrobce. Takové neobřadné chování zařízení samozřejmě vyvolalo mezi uživateli pozdvižení, načež byla tato „funkce“ odstraněna z pozdějších verzí firmwaru routeru [10] .
V roce 2011 vedlo narušení bezpečnosti holandskou certifikační autoritou DigiNotar k podvodnému vydávání certifikátů . Následně byly podvodné certifikáty použity k provádění útoků typu man-in-the-middle.
V roce 2013 bylo oznámeno, že prohlížeč Xpress společnosti Nokia dešifruje provoz HTTPS na proxy serverech společnosti Nokia, což společnosti poskytuje přístup k zašifrovanému provozu prohlížeče jejích zákazníků ve formě čistého textu . Na což Nokia uvedla, že obsah není trvale uložen a že společnost má zavedena organizační a technická opatření k zamezení přístupu k soukromým informacím [11] .
V roce 2017 společnost Equifax stáhla své aplikace pro mobilní telefony ze strachu ze zranitelnosti typu man-in-the-middle.
Další významné 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 .
Chyby v nastavení směrování sítě BGP [13] [14] lze použít k přesměrování toků provozu .