Sieťový útok mim. Detekcia útokov typu man-in-the-middle (útoky MitM)

V ktorom útočník po pripojení ku kanálu medzi protistranami zasahuje do prenosového protokolu, vymazáva alebo skresľuje informácie.

Encyklopedický YouTube

    1 / 3

    ✪ Č. 4 AKO SA STAŤ HACKEROM? "Útok makléra"! |HACKOVANIE od A po Z|

    ✪ MiTM útok na iOS. Technika a dôsledky

    ✪ Časová os bitcoinov Hackerské útoky a Exchange Hacks na trhu s kryptomenami (2012 - 2018)

    titulky

Princíp útoku

Útok zvyčajne začína odpočúvaním komunikačného kanála a končí tým, že sa kryptoanalytik pokúša nahradiť zachytenú správu a extrahovať užitočná informácia, presmerovať ho na nejaký externý zdroj.

Predpokladajme, že objekt A plánuje preniesť nejaké informácie do objektu B. Objekt C má znalosti o štruktúre a vlastnostiach použitej metódy prenosu údajov, ako aj o skutočnosti plánovaného prenosu skutočných informácií, ktoré C plánuje zachytiť. Na vykonanie útoku sa C „objaví“ objektu A ako B a objektu B ako A. Objekt A, ktorý sa mylne domnieva, že posiela informácie B, ich pošle objektu C. Objekt C po prijatí informácie, a vykonáva s ním niektoré úkony (napríklad kopírovanie alebo úpravu pre vlastné účely) odovzdá údaje samotnému príjemcovi - B; objekt B sa zasa domnieva, že informácie boli prijaté priamo od A.

Príklad útoku

Vloženie škodlivého kódu

Útok typu man-in-the-middle umožňuje kryptoanalytikovi vložiť jeho kód e-maily, SQL príkazy a webové stránky (t. j. umožňujúce SQL injection, HTML/script injection alebo XSS útoky) a dokonca upravovať binárne súbory nahrané používateľom s cieľom získať prístup k účtu používateľa alebo zmeniť správanie programu stiahnutého používateľom z internetu.

Downgrade Attack

Pojem „downgrade Attack“ označuje útok, pri ktorom kryptoanalytik núti používateľa používať menej bezpečné funkcie, protokoly, ktoré sú stále podporované z dôvodu kompatibility. Tento typ útoku je možné vykonať na protokoloch SSH, IPsec a PPTP.

Na ochranu pred downgrade Attack musia byť nezabezpečené protokoly vypnuté aspoň na jednej strane; Jednoduchá podpora a štandardné používanie bezpečných protokolov nestačí!

SSH V1 namiesto SSH V2

Útočník sa môže pokúsiť zmeniť parametre pripojenia medzi serverom a klientom, keď sa medzi nimi vytvorí spojenie. Podľa prejavu na konferencii Blackhat Europe 2003 môže kryptoanalytik "prinútiť" klienta, aby začal reláciu SSH1 zmenou čísla verzie relácie SSH "1.99" na "1.51" namiesto SSH2, čo znamená použitie SSH V1. Protokol SSH-1 má slabé miesta, ktoré môže zneužiť kryptoanalytik.

IPsec

V tomto scenári útoku kryptoanalytik zavádza svoju obeť, aby si myslela, že relácia IPsec nemôže začať na druhom konci (na serveri). To vedie k explicitnému posielaniu správ, ak je hostiteľský počítač spustený v režime rollback.

PPTP

Vo fáze vyjednávania parametrov relácie PPTP môže útočník prinútiť obeť, aby používala menej bezpečnú autentifikáciu PAP, MSCHAP V1 (t. j. „vrátiť sa“ z MSCHAP V2 na verziu 1) alebo nepoužívať šifrovanie vôbec.

Útočník môže prinútiť svoju obeť, aby zopakovala fázu vyjednávania parametrov relácie PPTP (odoslanie paketu Terminate-Ack), ukradla heslo z existujúceho tunela a útok zopakovala.

Verejná komunikácia bez ochrany presnosti, dôvernosti, dostupnosti a integrity informácií

Najbežnejšími komunikačnými prostriedkami tejto skupiny sú sociálna sieť, verejná služba Email a systém okamžitých správ. Vlastník zdroja poskytujúceho komunikačnú službu má plnú kontrolu nad informáciami vymieňanými medzi korešpondentmi a podľa vlastného uváženia môže kedykoľvek slobodne vykonať útok.

Na rozdiel od predchádzajúcich scenárov založených na technických a technologických aspektoch komunikácie je v tomto prípade útok založený na mentálnych aspektoch, konkrétne na zakorenení v mysliach používateľov koncept ignorovania požiadaviek na informačnú bezpečnosť.

Pomôže šifrovanie?

Zoberme si prípad štandardnej transakcie HTTP. V tomto prípade môže útočník pomerne jednoducho rozdeliť pôvodné TCP spojenie na dve nové: jedno medzi seba a klienta, druhé medzi seba a server. Je to celkom jednoduché, pretože len veľmi zriedkavo je spojenie medzi klientom a serverom priame a vo väčšine prípadov sú prepojené cez množstvo medziľahlých serverov. Útok MITM môže byť vykonaný na ktoromkoľvek z týchto serverov.

Ak však klient a server komunikujú pomocou protokolu HTTPS, ktorý podporuje šifrovanie, môže dôjsť aj k útoku typu man-in-the-middle. Tento typ pripojenia používa TLS alebo SSL na šifrovanie požiadaviek, čím sa zdá, že kanál je chránený pred sniffovaním a útokmi MITM. Útočník môže vytvoriť dve nezávislé relácie SSL pre každé pripojenie TCP. Klient vytvorí spojenie SSL s útočníkom, ktorý následne vytvorí spojenie so serverom. V takýchto prípadoch prehliadač zvyčajne upozorní, že certifikát nie je podpísaný dôveryhodnou certifikačnou autoritou, no bežní používatelia zastaraných prehliadačov môžu toto upozornenie jednoducho obísť. Okrem toho môže mať útočník certifikát podpísaný koreňovou certifikačnou autoritou (napríklad takéto certifikáty sa niekedy používajú na DLP) a negeneruje varovania. Okrem toho existuje množstvo útokov proti HTTPS. Protokol HTTPS teda nemožno považovať za chránený pred útokmi MITM pre bežných používateľov. [ ] Existuje množstvo opatrení, ktoré zabraňujú niektorým útokom MITM na https stránky, najmä HSTS, ktorý zakazuje používanie http pripojenia zo stránok, pripnutie certifikátu a pripnutie verejného kľúča HTTP, ktoré zakazujú nahradenie certifikátu.

Detekcia útokov MITM

Ak chcete zistiť útok typu man-in-the-middle, musíte analyzovať sieťovú prevádzku. Ak chcete napríklad zistiť útok SSL, mali by ste venovať pozornosť nasledujúcim parametrom:

  • IP adresa servera
  • DNS server
  • X.509 - certifikát servera
    • Je certifikát vlastnoručne podpísaný?
    • Je certifikát podpísaný certifikačnou autoritou?
    • Bol certifikát zrušený?
    • Zmenil sa certifikát nedávno?
    • Dostali rovnaký certifikát aj iní klienti na internete?

Implementácie útokov MITM

Uvedené programy možno použiť na vykonávanie útokov typu man-in-the-middle, ako aj na ich detekciu a testovanie zraniteľnosti systému.

pozri tiež

  • Aspidistra (anglicky) - britský rádiový vysielač používaný počas druhej svetovej vojny "invázia", ​​variant útoku MITM.
  • The Babington Conspiracy (anglicky) – sprisahanie proti Alžbete I., počas ktorého Walsingham zachytával korešpondenciu.

Iné útoky

  • „Man-in-the-Browser“ je typ útoku, pri ktorom je útočník schopný okamžite zmeniť parametre transakcie a zmeniť stránky úplne transparentné pre obeť.
  • Meet-in-the-middle útok je kryptografický útok, ktorý podobne ako narodeninový útok využíva kompromis medzi časom a pamäťou.
  • "Slečna v strednom útoku" - efektívna metóda takzvaná nemožná diferenciálna kryptanalýza.
  • Relay attack je variant útoku MITM založený na preposielaní zachytenej správy platnému príjemcovi, ale nie tomu, komu bola správa určená.

Dosiahnuť požadovaný výsledok Takmer vždy existuje niekoľko spôsobov. To platí aj pre oblasť informačnej bezpečnosti. Niekedy na dosiahnutie cieľa môžete použiť hrubú silu, hľadať diery a vyvíjať exploity sami, alebo počúvať, čo sa prenáša cez sieť. Navyše posledná možnosť je často optimálna. Preto si dnes povieme niečo o nástrojoch, ktoré nám pomôžu zachytiť cenné informácie sieťová prevádzka, priťahuje na to útoky MITM.

MITMf

Začnime jedným z najzaujímavejších kandidátov. Toto je celý rámec na vedenie útokov typu man-in-the-middle, postavený na báze sergio-proxy. Nedávno zahrnuté v Kali Linux. Ak si ho chcete nainštalovať sami, stačí naklonovať úložisko a spustiť niekoľko príkazov:

# setup.sh # pip install -r requirements.txt

Má architektúru, ktorá je rozšíriteľná pomocou pluginov. Medzi hlavné patria tieto:

  • Spoof – umožňuje presmerovať prevádzku pomocou spoofingu ARP/DHCP, presmerovaní ICMP a modifikovať požiadavky DNS;
  • Sniffer - tento plugin sleduje pokusy o prihlásenie pre rôzne protokoly;
  • BeEFAutorun - umožňuje automaticky spúšťať moduly BeEF na základe typu OS a klientskeho prehliadača;
  • AppCachePoison - vykoná útok otravy cache;
  • SessionHijacking - unesie relácie a uloží výsledné súbory cookie do profilu Firefly;
  • BrowserProfiler – pokúša sa získať zoznam pluginov používaných prehliadačom;
  • FilePwn - umožňuje nahradiť správy odoslané cez HTTP súbory pomocou Backdoor Factory a BDFProxy;
  • Vložiť - vloží ľubovoľný obsah do stránky HTML;
  • jskeylogger - vkladá JavaScript keylogger do klientskych stránok.

Ak sa vám táto funkcionalita zdá nedostatočná, vždy si môžete pridať vlastnú implementáciou príslušného rozšírenia.

PuttyRider

Ďalší nástroj, ktorý si zaslúži pozornosť. Je pravda, že na rozdiel od všetkých ostatných nástrojov, o ktorých sa dnes uvažuje, je veľmi úzko špecializovaný. Ako sám autor projektu hovorí, k vytvoreniu takejto utility ho inšpirovalo to, že pri penetračných testoch sa najdôležitejšie dáta nachádzali na Linux/UNIX serveroch, ku ktorým sa administrátori pripájali cez SSH/Telnet/rlogin. Navyše vo väčšine prípadov bolo oveľa jednoduchšie získať prístup k počítaču administrátorov ako k cieľovému serveru. Po preniknutí do stroja správcu systému zostáva len uistiť sa, že PuTTY beží a pomocou tohto nástroja vybudovať spätný most k útočníkovi.


Nástroj vám umožňuje nielen zachytiť „komunikáciu“ medzi správcom a vzdialeným serverom (vrátane hesiel), ale aj vykonávať ľubovoľné príkazy shellu v rámci danej relácie. Navyše to všetko prebehne úplne transparentne pre užívateľa (správcu). Ak vás zaujímajú technické detaily, napríklad ako je PuTTY implementovaný do procesu, odporúčam vám prečítať si prezentáciu autora.


Pomerne starý nástroj, ktorý sa narodil pred viac ako ôsmimi rokmi. Určené na klonovanie relácií ukradnutím súborov cookie. Pre únos relácie má základné zručnosti detekcie hostiteľa (v prípade pripojenia k otvorenému bezdrôtová sieť alebo hub) a vykonaním otravy ARP. Jediným problémom je, že dnes, na rozdiel od pred ôsmimi rokmi, takmer všetky veľké spoločnosti ako Yahoo alebo Facebook používajú šifrovanie SSL, vďaka čomu je tento nástroj úplne zbytočný. Napriek tomu je na internete stále dostatok zdrojov, ktoré nepoužívajú SSL, takže je príliš skoro odpisovať utilitu. Medzi jeho výhody patrí aj to, že sa automaticky integruje do Firefoxu a pre každú zachytenú reláciu vytvorí samostatný profil. Zdroj je k dispozícii v úložisku a môžete si ho vytvoriť sami pomocou nasledujúcej postupnosti príkazov:

# 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á nič spoločné priamo s vykonávaním útokov MITM. Ako už z názvu tušíte, nástroj je určený na fuzzovanie. Toto je malý nedeterministický sieťový fuzzer implementovaný v Pythone, ktorý náhodne mení obsah paketov sieťovej prevádzky. Podporuje protokoly TCP a UDP. Môžete ho nakonfigurovať tak, aby rozmazával iba jednu stranu. Užitočné, keď potrebujete niečo rýchlo skontrolovať sieťová aplikácia(alebo protokol) a vytvoriť PoC. Príklad použitia:

Python proxyfuzz -l -r -p

Zoznam možností obsahuje:

  • w - určuje počet odoslaných požiadaviek pred začatím fuzzingu;
  • c - fuzz iba klienta (inak obe strany);
  • s - fuzz iba server (inak obe strany);
  • u - protokol UDP (inak sa používa TCP).

Stredný

Pomôcka na vykonávanie MITM útokov na rôzne protokoly prezentovaná na konferencii DEF CON. Verzia alfa podporovala protokol HTTP a vo svojom arzenáli mala tri skvelé doplnky:

  • plugin-beef.py - vloží Browser Exploitation Framework (BeEF) do akejkoľvek HTTP požiadavky prichádzajúcej z lokálnej siete;
  • plugin-metasploit.py - vloží IFRAME do nešifrovaných (HTTP) požiadaviek, ktoré načítajú exploity prehliadača z Metasploitu;
  • plugin-keylogger.py – vkladá obslužný program udalosti JavaScript onKeyPress pre všetky textové polia, ktoré budú odoslané cez HTTPS, čo spôsobí, že prehliadač odošle heslo zadané používateľom znak po znaku na server útočníka pred odoslaním celého formulára.

Middler nielen automaticky analyzuje sieťovú prevádzku a nachádza v nej súbory cookie, ale ich aj nezávisle od klienta požaduje, to znamená, že proces je maximálne automatizovaný. Program garantuje zber všetkých nechránených účtov v počítačovej sieti (alebo verejnom hotspote), ku ktorej premávke má prístup. Aby program správne fungoval, musia byť v systéme nainštalované nasledujúce balíky: Scapy, libpcap, readline, libdnet, python-netfilter. Bohužiaľ, úložisko nebolo dlho aktualizované, takže nové funkcie si budete musieť pridať sami.

Nástroj konzoly, ktorý vám umožňuje interaktívne skúmať a upravovať prenos HTTP. Vďaka takýmto zručnostiam utilitu využívajú nielen pentesteri/hackeri, ale aj bežní vývojári, ktorí ju využívajú napríklad na ladenie webových aplikácií. S jeho pomocou môžete získať podrobné informácie o tom, aké požiadavky aplikácia robí a aké odpovede dostáva. Tiež mitmproxy môže pomôcť pri štúdiu zvláštností fungovania niektorých REST API, najmä tých, ktoré sú zle zdokumentované.

Inštalácia je mimoriadne jednoduchá:

$ sudo aptitude install mitmproxy

$ pip nainštalovať mitmproxy

$easy_install mitmproxy

Stojí za zmienku, že mitmproxy vám tiež umožňuje zachytiť prenos HTTPS vydaním certifikátu s vlastným podpisom klientovi. Dobrý príklad Môžete sa naučiť, ako nakonfigurovať odpočúvanie a úpravu premávky.


Intercepter-NG

Bolo by zvláštne, keby tento legendárny nástroj nebol zahrnutý do našej recenzie. Aj keď ste ho nikdy nepoužili, pravdepodobne ste o ňom už počuli (a jednoducho ho musíte lepšie spoznať) – na stránkach časopisu sa objavuje pomerne často. Jeho funkcionalitu nebudem úplne popisovať – po prvé nás zaujíma MITM a po druhé takýto popis zaberie celý článok.

Pokračovanie je dostupné len pre členov

Možnosť 1. Pripojte sa ku komunite „stránky“ a prečítajte si všetky materiály na stránke

Členstvo v komunite v určenom období vám umožní prístup ku VŠETKÝM materiálom Hackerov, zvýši vašu osobnú kumulatívnu zľavu a umožní vám nazbierať profesionálne hodnotenie Xakep Score!

Man in the middle attack (MitM útok) je termín v kryptografii, ktorý označuje situáciu, keď je útočník schopný čítať a upravovať podľa ľubovôle správy vymieňané medzi korešpondentmi a nikto z nich nemôže uhádnuť jeho identitu. prítomnosť v kanáli .

Spôsob kompromitovania komunikačného kanála, pri ktorom útočník po pripojení na kanál medzi protistranami aktívne zasahuje do prenosového protokolu, vymazáva, skresľuje informácie alebo zavádza nepravdivé informácie.

Princíp útoku:

Predpokladajme, že objekt „A“ plánuje preniesť nejaké informácie do objektu „B“. Objekt "C" má znalosti o štruktúre a vlastnostiach použitej metódy prenosu údajov, ako aj o skutočnosti plánovaného prenosu skutočných informácií, ktoré "C" plánuje zachytiť.

Na uskutočnenie útoku sa zdá, že "C" objekt "A" ako "B" a objekt "B" ako "A". Objekt "A", mylne sa domnievajúci, že posiela informácie do "B", ich posiela do objektu "C".

Objekt „C“ po prijatí informácií a vykonaní niektorých akcií s nimi (napríklad skopírovaním alebo úpravou na vlastné účely) odošle údaje samotnému príjemcovi – „B“; objekt "B" sa zase domnieva, že informácie boli prijaté priamo od "A".

Príklad útoku MitM:

Povedzme, že Alice má finančné problémy a pomocou programu na odosielanie okamžitých správ sa rozhodne požiadať Johna o sumu peňazí odoslaním správy:
Alice: John, ahoj!
Alice: Pošlite mi prosím šifrovací kľúč, mám malú prosbu!
John: Ahoj! Počkaj!

V tom čase si však pán X, ktorý si pri analýze prevádzky pomocou sniffer všimol túto správu, a slová „šifrovací kľúč“ vzbudili zvedavosť. Preto sa rozhodol zachytiť nasledujúce správy a nahradiť ich údajmi, ktoré potreboval, a keď dostal nasledujúcu správu:
John: Tu je môj kľúč: 1111_D

Zmenil Johnov kľúč za svoj a poslal Alici správu:
John: Tu je môj kľúč: 6666_M

Alice, ktorá si to neuvedomuje a myslí si, že je to Johnov kľúč, používa súkromný kľúč 6666_M, posiela zašifrované správy Jánovi:
Alice: John, mám problémy a súrne potrebujem peniaze, preveďte 300 USD na môj účet: Z12345. Ďakujem. p.s. Môj kľúč: 2222_A

Po prijatí správy ju pán X dešifruje pomocou svojho kľúča, prečíta si ju a s radosťou zmení Alicino číslo účtu a šifrovací kľúč na svoje vlastné, zašifruje správu kľúčom. 1111_D a pošle Johnovi správu:
Alice: John, mám problémy a súrne potrebujem peniaze, preveďte 300 USD na môj účet: Z67890. Ďakujem. p.s. Môj kľúč: 6666_A

Po prijatí správy ju John dešifruje pomocou kľúča 1111_D, a bez váhania prevedie peniaze na účet Z67890...

A tak pán X pomocou útoku typu man-in-the-middle zarobil 300 dolárov, ale Alice teraz bude musieť vysvetliť, že peniaze nedostala... A John? John musí Alici dokázať, že ich poslal...

Implementácia:

Tento typ útoku sa používa v niektorých softvérových produktoch na odpočúvanie siete, napríklad:
NetStumbler- program, pomocou ktorého môžete zhromaždiť množstvo užitočných údajov o bezdrôtovej sieti a vyriešiť niektoré problémy spojené s jej prevádzkou. NetStumbler vám umožňuje určiť dosah vašej siete a pomáha vám presne nasmerovať vašu anténu pre komunikáciu na veľké vzdialenosti. Pre každý nájdený prístupový bod môžete zistiť MAC adresu, odstup signálu od šumu, názov služby a stupeň jej zabezpečenia. Ak prenos nie je šifrovaný, bude užitočná schopnosť programu odhaliť neoprávnené pripojenia.

dsniff- je súbor programov na sieťový audit a penetračné testovanie, ktoré poskytujú pasívne monitorovanie siete na vyhľadávanie požadovaných údajov (heslá, e-mailové adresy, súbory atď.), zachytávanie sieťovej prevádzky, ktorá by za normálnych okolností bola neprístupná pre analýzu (napríklad v prepínaná sieť), ako aj schopnosť organizovať útoky MITM na zachytenie relácií SSH a HTTPS využívaním nedostatkov PKI.

Kain a Ábel - voľný program, ktorý vám umožňuje obnoviť stratené heslá pre operačné systémy Rodina Windows. Podporovaných je niekoľko režimov obnovy: hackovanie hrubou silou, výber slovníka, prezeranie hesiel skrytých hviezdičkami atď. K dispozícii sú aj možnosti identifikácie hesla zachytením informačných paketov a ich následnou analýzou, zaznamenávaním sieťových konverzácií, analýzou vyrovnávacej pamäte a podobne.

Ettercap- je sniffer, zachytávač a záznamník paketov pre lokálne ethernetové siete, ktorý podporuje aktívnu a pasívnu analýzu viacerých protokolov a je tiež možné „nahodiť“ vlastné dáta do existujúceho pripojenia a filtrovať „za behu“ bez prerušenia spojenia synchronizácia. Program vám umožňuje zachytiť SSH1, HTTPS a ďalšie zabezpečené protokoly a poskytuje možnosť dešifrovať heslá pre nasledujúce protokoly: TELNET, ftp, POP, RLOGIN, SSH1, icq, SMB, Mysql, HTTP, NNTP, X11, NAPSTER, IRC , RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.

KARMA– sada nástrojov na hodnotenie bezpečnosti bezdrôtových klientov, je bezdrôtový sniffer, ktorý pasívnym počúvaním rámcov 802.11 Probe Request umožňuje detekovať klientov a ich preferované/dôveryhodné siete. Pre jednu z požadovaných sietí je potom možné vytvoriť falošný prístupový bod, ku ktorému sa môže automaticky pripojiť. Falošné služby na vysokej úrovni možno použiť na odcudzenie osobných údajov alebo zneužitie zraniteľnosti klienta na hostiteľovi.

AirJack- súbor programov, ktoré sú podľa odborníkov v oblasti WiFi hackingu najlepším nástrojom na generovanie rôznych 802.11 rámcov. AirJack obsahuje množstvo nástrojov určených na detekciu skrytého ESSID, odosielanie rámcov ukončenia relácie s falošným MAC, vykonávanie útokov MitM a jeho úpravu.

Protiakcia:

Aby sa predišlo útokom tohto typu, predplatitelia „A“ a „B“ si musia navzájom prenášať digitálne podpisy verejných šifrovacích kľúčov pomocou spoľahlivého kanála. Potom pri porovnávaní podpisov kľúčov v šifrovacích reláciách bude možné určiť, ktorý kľúč bol použitý na šifrovanie údajov a či boli kľúče nahradené.

MTProto používa originálnu metódu na dosiahnutie spoľahlivosti v aktuálne zraniteľnej oblasti mobilnej komunikácie a rýchlosť pri doručovaní veľkých súborov (napríklad fotografií, videí a dokumentov až do veľkosti 1 GB). Účelom tohto dokumentu je objasniť podrobnosti o našom systéme a riešiť prvky, ktoré môžu byť na prvý pohľad ťažko pochopiteľné.

Podrobná dokumentácia protokolu je k dispozícii na tejto stránke. Ak máte nejaké otázky, napíšte na Twitter.

Poznámka: Každá správa zašifrovaná cez MTProto vždy obsahuje nasledujúce údaje, ktoré budú počas dešifrovania skontrolované, aby bol systém zabezpečený proti známym problémom:

  • identifikátor relácie - ID relácie;
  • dĺžka správy - dĺžka správy;

Poznámka 2: Pozrite si ďalšie komentáre týkajúce sa používania a upravené schéma .

Prečo nepoužiješ X [vaša možnosť]

Aj keď nepochybne existujú iné spôsoby dosiahnutia rovnakých kryptografických cieľov, veríme, že súčasné riešenie je spoľahlivé a zároveň je úspešné v našom sekundárnom cieli prekonať nezabezpečených poslov z hľadiska rýchlosti a stability doručovania.

Prečo sa spoliehate na klasické kryptoalgoritmy?

Uprednostňujeme použitie dobre známych algoritmov vytvorených v časoch, keď šírka pásma a výkon spracovania boli zriedkavým párom. Práve tieto algoritmy majú významný vplyv na dnešný vývoj aplikácií pre mobilné zariadenia, čo núti ich autorov zbaviť sa známych nedostatkov. Slabé stránky takýchto algoritmov sú tiež dobre známe a útočníci ich využívajú už desaťročia. V tejto implementácii používame tieto algoritmy, pretože, ako veríme, vedú k akémukoľvek známy útok k neúspechu. Boli by sme však radi, keby sme videli akýkoľvek dôkaz o opaku (zatiaľ sa takéto prípady nevyskytli), aby sme zlepšili náš systém.

Som bezpečnostný expert a myslím si, že váš protokol nie je bezpečný.

Môžete sa zúčastniť našej súťaže: Pavel Durov ponúka 200 000 $ v bitcoinoch tomu, kto ako prvý hackne MTProto. Môžete si prečítať oznámenie a FAQ o súťaži. Ak máte ďalšie pripomienky, budeme radi, ak si ich vypočujeme na adrese [chránený e-mailom].

Ochrana pred známymi útokmi

Útoky so známym otvoreným textom

Podľa definície je útok v otvorenom texte typ kryptanalytického útoku, pri ktorom má útočník šifrovanú aj otvorenú verziu textu. AES IGE použitý v MTProto je odolný voči takýmto útokom. Okrem toho obyčajný text v MTProto vždy obsahuje soľ servera a ID relácie.

Adaptívny útok na obyčajný text

Podľa definície je adaptívny útok v otvorenom texte typ útoku v kryptoanalýze, ktorý zahŕňa schopnosť kryptoanalytika vybrať otvorený text a získať zodpovedajúci šifrovaný text. MTProto používa AES v režime IGE, ktorý je proti takýmto útokom zabezpečený. Je známe, že IGE je zraniteľný voči blokovo adaptívnym útokom, ale MTProto to opravuje spôsobom opísaným nižšie. Každá správa vo formáte obyčajného textu, ktorá sa má zašifrovať, obsahuje nasledujúce údaje, ktoré sa overujú počas dešifrovania:

  • serverová soľ (64-bitová);
  • poradové číslo správy;
  • čas odoslania správy - čas.

Okrem toho, ak chcete nahradiť čistý text, musíte tiež použiť správny kľúč AES a inicializačný vektor, ktoré závisia od auth_key . Vďaka tomu je MTProto odolný voči adaptívnym útokom na otvorený text.

Útoky so zodpovedajúcimi šifrovými textami

Podľa definície je vybraný šifrový útok kryptografickým útokom, pri ktorom kryptoanalytik zhromažďuje informácie o šifre výberom šifrového textu a získaním jeho dešifrovania pomocou neznámeho kľúča. Pri takomto útoku môže útočník zadať jeden alebo viacero známych šifrových textov do systému a získať ho. Pomocou týchto údajov sa môže útočník pokúsiť obnoviť kľúč použitý na dešifrovanie. V MTProto sa pri každom dešifrovaní správy vykoná kontrola, aby sa zabezpečilo, že kľúč msg_key zodpovedá SHA-1 dešifrovaných údajov. Čistý text (dešifrované dáta) tiež vždy obsahuje informácie o dĺžke správy, jej poradovom čísle a serverovej soli. To neguje útoky založené na vybranom šifrovom texte.

Prehrať útoky

Útoky prehrať nie sú možné, pretože každá správa vo formáte obyčajného textu obsahuje soľ servera, jedinečný identifikátor správy a poradové číslo.

Útok Man in the Middle (MitM).

Telegram má dva komunikačné režimy: bežné rozhovory, ktoré používajú šifrovanie klient-server, a tajné rozhovory, ktoré využívajú šifrovanie typu end-to-end a sú chránené pred útokmi typu man-in-the-middle. Prenos dát medzi klientom a serverom je chránený pred takýmito útokmi počas generovania kľúčov pomocou protokolu Diffie-Hellman vďaka algoritmu s verejný kľúč RSA, ktorý je zabudovaný do klientov Telegramu. Potom, ak klienti partnerov dôverujú softvér servery, tajné chaty medzi nimi sú chránené serverom pred útokmi typu man-in-the-middle. Najmä pre tých, ktorí nie dôveruje serveru, v aplikácii je k dispozícii porovnanie tajných kódov. Klávesy sú vizualizované ako obrázky. Porovnaním vizualizovaných kľúčov môžu používatelia overiť, či nedošlo k útoku typu man-in-the-middle.

Šifrovanie

Používate IGE? Je to hacknuté!

Áno, používame IGE, ale v našej implementácii je všetko v poriadku. Skutočnosť, že nepoužívame IGE spolu s ostatnými prvkami nášho systému rovnakým spôsobom ako MAC, robí pokusy o hacknutie IGE zbytočnými. IGE, rovnako ako bežný režim blokového reťazenia šifrového textu (CBC), je náchylný na blokovo adaptívne útoky. Ale adaptívne útoky sú hrozbou len vtedy, keď sa rovnaký kľúč používa vo viacerých správach (nie je to tak).

Adaptívne útoky sú v MTProto dokonca teoreticky nemožné, pretože na dešifrovanie správ musia byť tieto správy najprv úplne napísané, pretože kľúč správy závisí od jej obsahu. Pokiaľ ide o neadaptívne útoky CPA, IGE je pred nimi chránený, rovnako ako CBC.

Trojkrokový proces na spustenie relácie TCP. Klient odošle paket s príznakom SYN na server. Po prijatí paketu s príznakom SYN od klienta server odpovie odoslaním paketu s príznakmi SYN+ACK a vstúpi do stavu ESTABLISHED. Po prijatí správnej odpovede zo servera klient odošle paket s príznakom ACK a vstúpi do stavu ESTABLISHED

Zoznam zákazov

Zoznam klientov, ktorí nemajú práva na určité úkony. Pomocou zoznamu zákazov zvyčajne obmedzíte schopnosti robotov, keď sa zistí DDoS útok. Aj v realite herných serverov v tento zoznam Zahrnutí sú hráči so zlou povesťou, ktorí používajú cheaty alebo sa dopúšťajú nezákonných akcií.

Bot

Počítač používaný na vedenie DDoS útok„skutočnú“ premávku. Vo väčšine prípadov ide o počítač bežný používateľ, infikovaných vírusom. Používateľ si často nemôže všimnúť, že jeho počítač je infikovaný a používa sa na nelegálne účely

webový server

Počítač v sieti, ktorý prijíma požiadavky HTTP od klientov, zvyčajne webových prehliadačov, a poskytuje im odpovede HTTP. Webový server zvyčajne spolu s odpoveďou HTTP odpovedá stránkou HTML, obrázkom, prúdom médií alebo inými údajmi

webová služba

Webové služby sú služby poskytované na internete. Pri používaní tohto pojmu môžeme hovoriť o vyhľadávaní, webovej pošte, ukladaní dokumentov, súborov, záložiek atď. Webové služby je zvyčajne možné používať bez ohľadu na počítač, prehliadač alebo miesto, kde pristupujete na internet.

doména

Pojem „doména“ môže byť použitý v rôznych kontextoch, keď hovoríme o sieťových technológiách. Najčastejšie majú na mysli doménu Doménové meno stránky. Domény sú rozdelené do rôznych úrovní, napríklad v doméne example.com je com doména prvej úrovne a example je doména druhej úrovne. Na uľahčenie komunikácie ľudia používajú aj termín „subdoména“, čo znamená doménu, ktorá má viac ako dve úrovne hĺbky. Napríklad v doméne mail.example.com je pošta subdoménou.

Vyhľadávací robot

servis vyhľadávač objavovať nové stránky na internete a meniť existujúce. Princíp fungovania je podobný prehliadaču. Analyzuje obsah stránky, ukladá ho v nejakej špeciálnej forme na server vyhľadávača, ku ktorému patrí, a posiela odkazy na nasledujúce stránky.

Šírka pásma

Maximálne možné množstvo dát prenesených za jednotku času. Poskytovatelia internetu, ktorí sľubujú vyššiu rýchlosť prístupu na internet, často svoje sľuby neplnia. Vo väčšine prípadov je to spôsobené tým, že šírka pásma je úplne obsadená.

Publikácie na danú tému