V TCP a Linuxe gigantická slabina, ktokoľvek môže komukoľvek podvrhnúť dáta
V rozšírení protokolu TCP / IP paradoxne určenom na zvýšenie bezpečnosti tohto protokolu a jeho implementácii v operačnom systéme Linux sa nachádza relatívne nenápadná slabina v podobe postranného kanálu prezrádzajúceho informácie, ktoré je možné využiť na zistenie informácií umožňujúcich komukoľvek na Internete efektívne zaútočiť na ľubovoľné TCP spojenie a počítače uskutočňujúce toto spojenie. Hoci sa nachádza v Linuxe, zaútočiť pomocou nej je možné aj na užívateľov Windows a iných operačných systémov.
V rozšírení protokolu TCP / IP paradoxne určenom na zvýšenie bezpečnosti tohto protokolu a jeho implementácii v operačnom systéme Linux sa nachádza relatívne nenápadná slabina, ktorá má ale veľmi vážne následky.
TCP / IP
TCP / IP protokol respektíve skrátene TCP je protokol, ktorý umožňuje na Internete dvom zariadeniam s IP adresami uskutočniť spojenie a posielať si po ňom v oboch smeroch stream dát.
Kým samotný protokol IP negarantuje vôbec doručenie paketov a poradie ich doručenia, úlohou TCP je práve eliminovať tieto potenciálne problémy, spoľahlivo doručovať dáta medzi dvomi zariadeniami a to v poradí, v akom boli posielané.
Bezpečnosť TCP
Ďalším problémom Internetu a protokolu IP je skutočnosť, že na Internete sa vo všeobecnosti neoveruje pravosť IP adresy uvedenej v IP paketoch ako adresa zdroja paketu. Útočníci tak môžu posielať pakety tváriace sa ako pakety poslané z ľubovoľnej IP adresy.
Takéto pakety vo vhodnom tvare by sa mohli bez ďalších ochrán tváriť ako súčasť dát zasielaných v TCP spojení medzi úplne inými dvomi zariadeniami alebo napríklad takéto TCP spojenie zatvoriť.
TCP ale chráni aj proti takýmto prípadom a to číslami portov a konceptom 32-bitových poradových čísiel jednotlivých posielaných bajtov v oboch smeroch, označovaných ako tzv. sequence a ACK čísla.
U rozličných serverových služieb je samozrejme číslo portu známe. Klient pripájajúci sa na server ale môže používať ľubovoľný port neznámy útočníkovi, ktorý nedokáže odchytávať jeho komunikáciu.
Zároveň pri vzniku spojenia si pripájajúci sa klient a server zvolia počiatočné poradové čísla posielaných dát tak, aby neboli útočníkovi, ktorý nedokáže odchytávať ich komunikáciu, známe. Jeho pakety neobsahujúce správne hodnoty týchto čísiel sú tak následne zahadzované.
Slabina
Práve na posilnenie TCP proti útokom, pri ktorých útočník háda port a poradové čísla posielaných bajtov, vzniklo rozšírenie TCP protokolu RFC 5961 z roku 2010. Ako jeho autori sú uvedení zamestnanci Cisca a Huawei.
Pri týchto útokoch sa útočník bez akéhokoľvek prístupu ku komunikácii medzi klientom a serverom snaží zaútočiť na spojenie medzi ľubovoľným iným klientom a ľubovoľným serverom. Kontaktuje pri tom server a používa falošnú IP adresu a port klienta, ktorého komunikáciu so serverom sa buď snaží prerušiť alebo do nej podvrhnúť dáta.
Rozšírenie pridáva ďalší mechanizmus kontroly, ktorý stále umožní legitímnemu klientovi zresetovať spojenie ale sťaží útoky na spojenia. Využíva k tomu odosielanie doplňujúcich ACK paketov označených ako tzv. ACK výzvy, napríklad po prijatí RST paketov snažiacich sa o zresetovanie spojenia ale nemajúcich presne očakávané poradové čísla alebo po prijatí SYN paketov v rámci existujúceho spojenia.
Základná schéma objavenej slabiny a útoku proti nej, kliknite pre zväčšenie (obrázok: Kalifornská univerzita v Riverside)
Aby sa tento mechanizmus nedal využiť na vyčerpanie zdrojov servera, rozšírenie navrhuje limitovať maximálne množstvo ACK paketov posielaných za týmto účelom za jednotku času z jedného počítača. Práve tento limit je ale postranným kanálom prezrádzajúcim informácie.
Protokol v RFC 5961 je navrhnutý totiž tak, že informácia či server poslal v reakcii na falošný paket ACK výzvu umožní útočníkovi postupne efektívne zistiť port klienta aj konkrétne aktuálne poradové čísla na danom spojení. Túto informáciu útočník samozrejme priamo ale nemá, keď ACK výzvy posielané ako odpoveď na jeho pokusy sú serverom posielané legitímnemu klientovi.
Práve vďaka limitu, ktorý je v Linuxe nastavený na sto paketov s ACK výzvami za sekundu, môže ale útočník túto informáciu získať. Takéto pakety sa totiž bežne vôbec neposielajú a či ho server legitímnemu klientovi po falošnom pakete útočníka poslal môže útočník zistiť jednoducho tak, že uskutoční následne so serverom legitímne vlastné spojenie, pošle sto paketov generejúcich na serveri ACK výzvy a spočíta počet prijatých výziev.
Ak ich prijme sto, server predtým v danej sekundu neposlal inú ACK výzvu. Ak ich dostane len 99, bol dosiahnutý limit a teda server poslal legitímnemu klientovi ACK výzvu.
Útoky
Slabinu odhalil tím z Kalifornskej univerzity v Riverside, ktorý zároveň navrhol aj implementoval praktický útok.
Vyššie popísaný jednoduchý postranný kanál umožňuje útočníkovi, ktorý pozná len IP adresu servera s operačným systémom Linux, serverový port služby a IP adresu pripojeného klienta, v kombinácii najmä s binárnym vyhľadávaním komunikáciou so serverom zistiť TCP port dlhšie otvoreného spojenia použitý klientom a tiež poradové čísla streamov dát v oboch smeroch.
Ak na spojení neprebieha aktívna legitímna komunikácia, útok expertov dokázal tieto dáta zistiť v závislosti na ďalších okolnostiach s úspešnosťou 90+% a za približne 40 až 80 sekúnd.
So znalosťou týchto dát môže následne útočník bez problémov násilne ukončiť spojenie, voči ktorému útočil, zaslaním RST paketu so sfalšovanou IP adresou klienta.
Zároveň môže na server aj klienta ale poslať aj podvrhnuté dáta, ktoré budú považované za legitímne dáta od druhej strany. Ak je na danom TCP spojení nasadený šifrovaný protokol, napríklad SSL, tento útok samozrejme nie je prakticky realizovateľný a vyššia vrstva dáta nezašifrované správnym kľúčom neakceptuje. Ak ale ide o nešifrované spojenie, napríklad prístup na web stránku cez HTTP, môže útok podvrhnúť klientovi legitímne dáta tváriace sa ako dáta z webového servera, ktoré jeho prehliadač aj zobrazí.
To je práve aj scenár zrejme najnebezpečnejšieho potenciálneho masového zneužitia objavenej slabiny a útoku. Útočník môže totiž len na základe znalosti IP adresy užívateľa odkiaľkovek z Internetu bez schopnosti realizovať Man-In-The-Middle útok podstrčiť užívateľovi do prehliadača dáta, ak pozná nejaký webový server navštevovaný užívateľom a využívajúci Linux. Vzhľadom na dĺžku trvania útoku ešte musí ísť o server, spojenia na ktorý zostávajú napríklad kvôli doťahovaniu dát otvorené dlhšie.
Demonštrácia útoku na klienta navštevujúceho USA Today (video: Kalifornská univerzita v Riverside)
Experti, ktorí slabinu objavili, prakticky demonštrovali takéto podstrčenie dát užívateľovi pri návšteve stránky novín USA Today.
Hoci sa slabina nachádza v Linuxe, ohrození sú aj užívatelia Windows a ďalších operačných systémov. Útok totiž zistí všetky potrebné dáta z linuxového serveru, ku ktorému sa užívateľ pripája. Na operačnom systéme klienta v takomto prípade nezáleží a útočník môže získané informácie využiť na podstrčenie dát klientovi, ktorý môže používať ľubovoľný iný operačný systém.
Ochrana
Z moderných operačných systémov implementoval rozšírenie RFC 5961 plne zatiaľ len Linux, vo verzii 3.6 v septembri roku 2012. Zraniteľný je tak už od tohto roku, pričom rozšírenie mohlo byť teoreticky distribúciami backportované aj do skorších verzií.
Slabina bola odstránená v novej verzii jadra 4.7.
Windows, FreeBSD a macOS podľa expertov zraniteľné nie sú, keď rozšírenie zatiaľ plne neimplementovali.
Na zraniteľnej verzii jadra Linuxu je možné slabine a jej zneužitiu zabrániť nastavením limitu na počet ACK výziev za sekundu na výrazne vyššie číslo, nastavením net.ipv4.tcp_challenge_ack_limit = 999999999 v /etc/sysctl.conf. Pre aplikovanie nového nastavenia je samozrejme potrebné uskutočniť sysctl -p.
thanks for all the phish
Od: kekeket
|
Pridané:
11.8.2016 17:53
wow tak toto je riadna diera, namiesto DNS hijackingu a setupovania fejkovych wifi hotspotov v obchodnych domoch, konecne mame novy nastroj na phishing.
Operačný systém Windows 10 je doteraz našim najbezpečnejším systémom. To sme dosiahli mnoho sofistikovanými postupmi, okrem iného neimplementovaním protokolov ktoré môžu obsahovať skryté zraniteľnosti. Namiesto toho sme vo Windows 10 Anniversary Update pridali naše vlastné rozšírenia protokolu TCP, o ktorých presne vieme na ktorých miestach sú zraniteľné.
Najlepšia spáva je, že sme rozšírili našu iniciatívu Get Windows 10, a môžete získať tento systém úplne zdarma ešte ďalších 5 minút. Neprepásnite príležitosť nechať sa spásť a získajte OS zajtrajška už dnes!!!
to vazne chces, aby ms implementoval kazdu deravu picoviny, ktoru nejaky kokot vypoti z analu?
windows pouziva cca 90% obyvatelstva, pri takej cielovej skupine a takomto manazmente implementacie kodu, by si musel pocuvat o novych zranitelnostiach kazdy den... a niekedy aj dvakrat...
Re: Titulok príspevku musí mať dĺžku aspoň 5 znakov.
Od: Jochka bezpecnostni tehnyk
|
Pridané:
12.8.2016 0:32
Je nutne overit sha256 hash janky h. z dovodu mozneho pozmenenenia pri prenose. hash posielame postou (aj s kvetami) v obalke so znamkou s jankou h. a logom istej nemenovanej komercnej televizie. sanozrejme, prenos dat sa uskutocni cez wifi vo velkom kancli, janka sa vytlaci na 3d tlaciarni (tiez cez wifi). link na subor jankah.xyz dostanete skrateny cez dopice.sk. prosime, pouzivajte na otvorenie operu 9.11.
(update.dsl.sk v 0.93)
Otazky pre redakciu
Od: Verny citatel
|
Pridané:
12.8.2016 9:06
Vazena redakcia DSL.sk,
prosim Vas o odpoved na moje otazky:
1. mali ste / mate na vasich serveroch nasadenu zranitelnu verziu linuxu ? Je hypoteticky mozne, ze som cital na vasich strankach v poslednych mesiacoch az rokoch cudzie nepravdy a zil mimo reality ?
Ak sa podpisem "vas citatel" namiesto "vas verny citatel", tak uz nemam pravo na odpoved ?
Dobrovolne sa priznavam, ze som neverny - chodim aj na ine IT weby
Ci som alebo nie som pravidelny citatel, nie je jasne.
Ci niektori useri (potencialne redaktori dsl.sk) postuju niektore prispevky, aby odviedli pozornost od istych otazok, nie je jasne.
A to kto dokaze poslat 100 requestov
Od: rolh
|
Pridané:
12.8.2016 13:41
A to kto dokaze poslat 100 requestov za sekundu? (nemyslim lokalnu siet) Ved to je na jeden request potrebny ping pod 10ms (obojsmerne) + dalsie vplyvy.
Robil som testy ale cez 27 som sa nedostal a to mam optiku 500Mps
ACK - global / lokal
Od: mešuge
|
Pridané:
14.8.2016 21:43
Takže tie ACK paketi sú limitované komplet na všetki spojeňia za sekundu...
pošlem paket tváriaci sa, že iďe odinakiaľ, a ACK sa tošle tam inakiaľ, iba ak prebieha komunikácia!
Ja pošlem v rámci legálneho ďalšieho spojeňia so serverom daľšie paketi akože odo mňa, na ktoré dostávam odpoveď ACK paketom...
tak že problém je vlastňe v globálnej limitácii ACK paketov za sekundu na všetki spojeňia! Namiesto na každé spojeňie zvlášť....
Hoci sa nachádza v Linuxe, zaútočiť pomocou nej je možné aj na užívateľov Windows a iných operačných systémov.
Ňiekto to "odflákol", ale už je to opravené.. A?
Trochu od veci ale dám to sem
Od: Koliba Kormorán
|
Pridané:
18.8.2016 15:47
Už niekolko rokov zakazujem na desktopoch nepotrebné porty TCP a nechávam len UDP, napr velmi nebezpečný TCP port 135 pre RCP, ktorý má windows firewall bežne otvorený dokorán, pritom ho nepotrebuje ani k vzdialenej ploche ani k ničomu užitočnému, teda ak si spravujete PC sami a nemáte server.
Banda pokrytcov
Od: FeroW
|
Pridané:
16.9.2016 9:25
To je parada, ako si tam ti linux fani zvatlaju v diskusii nekonecne chobotiny a tvaria sa zakryt, ze linux zasa ukazal, ak je to sracka. Linux je smejd vo svojom principe, ako nieco co nejky trkvas zbuchal doma, a potom dalisi amateri do toho vrazili dlasi chaos. Ale kedze je to zdarma, tak nam to nadrbali do infrastruktury internetu.
Re: Banda pokrytcov
Od: člen byndy pokrytcov
|
Pridané:
24.9.2016 22:36
Trochu po termíne ale milý FeroW myslíš si, že bandou pokrytcov sú aj prevádzkovatelia serverov z TOP500?
Prečo tam asi nepoužívajú "šmejďácky" windows vie každý kto len trochu použije rozum.