Miało być bezpieczniej, a otworzono groźną lukę: w linuksowe systemy można wstrzyknąć złośliwe pakiety TCP

Strona głównaMiało być bezpieczniej, a otworzono groźną lukę: w linuksowe systemy można wstrzyknąć złośliwe pakiety TCP
15.08.2016 14:45
Miało być bezpieczniej, a otworzono groźną lukę: w linuksowe systemy można wstrzyknąć złośliwe pakiety TCP

Początek sierpnia obfitował w doniesienia o przeróżnych problemach z bezpieczeństwem przeróżnych systemów informatycznych – a to jeszcze nie koniec. Podczas konferencji Usenix pokazano, jak zaimplementowany w Linuksie nowy standard, który miał uczynić internetowy protokół TCP odporniejszym na ataki, w rzeczywistościpozwala nawet na zdalne uruchomienie złośliwego kodu na podatnychmaszynach. Zagrożone są dosłownie miliardy pracujących podkontrolą Linuksa urządzeń – od serwerów, przez androidowesmartfony, po inteligentne pralki czy telewizory.

bEJGLdrF

Dokument RFC 5961przedstawia utwardzoną wersję implementacji protokołu TCP, któraw założeniu miała stać się odporniejsza na wstrzykiwaniesfałszowanych pakietów w ustanowione połączenie sieciowe, np. wcelu przeprowadzenia ataku man-in-the-middle czy denial-of-service. Wcałości RFC 5961 trafiło do Linuksa wraz z jądrem 3.6 –inne systemy operacyjne do tej pory standardu tego w całości niezaimplementowały.

I dobrze dla nich. Amerykańscy badacze z University of California– Yue Cao, Zhiyun Qian, Zhongjie Wang, Tuan Dao oraz Srikanth V.Krishnamurthy, przedstawili metodę ataku, która poprzezwykorzystanie subtelnej podatności w „utwardzonym” standardzieTCP, pozwala napastnikowi odkryć, czy dwa dowolne hosty wsieci komunikują się po TCP, a jeśli tak, to odkryć numerysekwencji pakietów, by przerwać ich połączenie lub wstrzyknąćwłasne pakiety o dowolnej zawartości. Metodę tę dokładnieopisano w artykulept. Off-Path TCP Exploits: Global Rate Limit Considered Dangerous,opublikowanym już w ramach materiałów konferencyjnych tegorocznejkonferencji Usenix – spodziewajcie się więc niebawem ciekawychataków.

Wiadomości przesyłane po protokole TCP są dzielone przez nadawcę na sekwencje pakietów danych, rozpoznawalne po swoich unikatowych numerach. Odbiorca przyjmując pakiety danych, składa je w pierwotną wiadomość. Nowy atak wykorzystuje tzw. side channel, poboczne źródło informacji, pozwalając w ciągu kilkudziesięciu sekund zgadnąć sekwencję numerów pakietów TCP, wykorzystując do tego jedynie adresy IP komunikujących się hostów.

350187331955091393

Tym pobocznym źródłem informacji stały się wprowadzone do TCP specjalne odpowiedzi typu challenge ACK (potwierdzenie z wyzwaniem) oraz limity ustawione na pakiety kontrolne TCP. Napastnik wysyłając sfałszowane pakiety, doprowadza do sytuacji sporu o współdzielony zasób – w tym wypadku licznik globalnego limitu pakietów kontrolnych. Obserwując wpływ tej operacji na licznik poprzez próbkowanie pakietów, jest w stanie odkryć sekwencje numerów pakietów TCP. Co szczególnie istotne, napastnik nie musi tu się silić na atak typu man-in-the-middle, wystarczy, że zna adresy IP stron komunikacji.

CVE-2016-5969: Pure Off-path TCP attack demo by using a side channel in Recent Linux Kernel

Możliwości tego ataku przedstawiono podczas prezentacji na Useniksie: w ciągu kilkunastu sekund udało się wstrzyknąć własny kod HTML w komunikację między stroną internetową USA Today, a przeglądarką. To jednak małe piwo, w porównaniu tego, co wspomniany atak może zrobić użytkownikom sieci Tor – wśród których wielu przecież korzysta z linuksowych dystrybucji, takich jak np. Tails. Zrywając tym atakiem wybrane połączenia między węzłami Tora, napastnik może zmusić nieświadome ofiary do korzystania z kontrolowanych przez niego węzłów wyjściowych sieci – i odkryć ich tożsamość oraz wychodzącą komunikację.

bEJGLdrH

Łatki usuwające tę podatność pojawiły się już dla głównych dystrybucji, trzeba jednak pamiętać, że większość tych wszystkich urządzeń Internetu Rzeczy nigdy ich nie dostanie. Najprostszym sposobem zablokowania ataku jest dodanie do pliku konfiguracyjnego /etc/sysctl.cfg linijki net.ipv4.tcp_challenge_ack_limit = 999999999 a następnie wydanie polecenia sysctl -p by włączyć nową regułę. Oczywiście trzeba mieć do tego uprawnienia roota – co ma więc powiedzieć użytkownik linuksowego telewizora?

Jeszcze raz podkreślamy, że zagrożeni są użytkownicy linuksowych systemów z kernelem 3.6 i nowszymi, a więc w praktyce większości używanych dziś i wspieranych dystrybucji. Użytkownicy innych niż linuksowe systemów (a więc Windows, macOS czy FreeBSD) mogą spać spokojnie. W nich pełnej implementacji RFC 5961 nie znajdziecie. Przypominamy zarazem, że Android to na tym poziomie też Linux i też jest podatny na wspomniany atak.

Programy

Aktualizacje
Aktualizacje
Nowości
Udostępnij:
bEJGLdsD