(Fot. pixabay.com)
1. ARCHITEKTURA SIECI INTERNET
W latach 60. XX wieku agencja ARPA ufundowała projekt, którego celem było opracowanie systemu komunikacyjnego dla wojska. Głównym założeniem miała być odporność systemu na atak nuklearny, co samo w sobie eliminowało scentralizowaną lub nawet hierarchiczną architekturę. Projektanci postawili na wielowęzłową rozproszoną sieć z przełączaniem pakietowym (notabene jednym z nich był urodzony w Grodnie Paul Baran, inżynier pochodzenia polsko-żydowskiego). Przy takim rozwiązaniu wyeliminowanie nawet kilku węzłów nie powodowało przerwania łączności. Wynika to z samej natury „pakietowości”. Można to sobie wyobrazić w ten sposób, że dane do przesłania są dzielone na mniejsze kawałki, każdy wkładany do osobnej koperty i adresowany (nadawca/odbiorca), a po nadaniu w urzędzie pocztowym trafia do adresata. W tej analogii koperta jest odpowiednikiem pakietu, a urzędy pocztowe/sortownie to węzły sieci (tzw. routery). Jeśli któryś z węzłów lub któreś z połączeń padnie, pozostałe węzły automatycznie znajdą inną trasę dla pakietu i docelowo trafi on do systemu odbiorczego.
Eksperymentowano z różnymi protokołami sieciowymi (inaczej mówiąc, sposobami dzielenia danych na pakiety, adresowania ich, trasowania etc.) i ostatecznie w latach 80. zdecydowano się na tzw. stos IP (Internet Protocol stack). Stos to nic innego jak zbiór różnych protokołów, które realizują komunikację w sposób nieprzerwany i rzetelny (choć istnieją zastosowania nie wymagające tego drugiego).
Protokół IP używa adresacji numerycznej, co dla ludzi jest dość uciążliwe, bo nasze mózgi niespecjalnie przyswajają dużą ilość numerów (proszę sprawdzić, ile numerów telefonicznych Państwo pamiętają bez zaglądania do książki adresowej w smartfonie?). Dlatego opracowano system DNS (Domain Name System), którego zadaniem jest tłumaczenie łatwych do zapamiętania nazw (np. www.strategyandfuture.org) na odpowiednie numeryczne adresy IP (2.57.137.24). System DNS jest hierarchiczny, tj. występują w nim serwery rdzeniowe (Root Name Servers) oraz kilka rodzajów zwykłych serwerów DNS. Pominę tutaj sposób, w jaki odbywa się tłumaczenie nazw, bo nie jest to aż tak istotne dla naszych rozważań.
W tak zaprojektowanej sieci pozostaje odpowiedzieć na pytanie, skąd dany router (węzeł) ma wiedzieć, gdzie przesłać przychodzący pakiet. Za wymianę tych informacji odpowiadają protokoły routingu. To nic innego jak ciągła wymiana danych o dostępnych trasach, gdzie jakie sieci są osiągalne i jaka jest ich adresacja. Dla uproszczenia każdy router buduje sobie swoistą „mapę” sieci i według niej podejmuje decyzję, jak pokierować pakiet. Analogicznie urzędy pocztowe muszą prowadzić aktualny rejestr kodów pocztowych i odpowiadających im adresów województw/miast/ulic. Oczywiście dynamika zmian kodów pocztowych jest wręcz zerowa w porównaniu z siecią teleinformatyczną, gdzie zmiana trasy może być spowodowana chociażby chwilowym obciążeniem jakiegoś łącza.
Protokoły routingu dzieli się na dwa główne rodzaje: wewnętrzne (Interior) oraz zewnętrzne (Exterior). Poza aspektami technicznymi różnica między nimi zależy od tego, kto kontroluje sieć, w której dany protokół routingu działa. Sieć (lub grupę sieci) będącą pod kontrolą jednej organizacji nazywamy systemem autonomicznym (AS). Przykładowo sieci firmy Orange będą występować jako jeden AS (choć w praktyce duzi operatorzy posiadają wiele systemów AS). Analogicznie system pocztowy Polski ma swoją numerację kodów pocztowych i znajduje się pod jurysdykcją polskiej administracji, zatem stanowi swoisty „system AS”, natomiast Niemcy będą mieć własną adresację i „własny” AS.
Dlaczego o tym wspominam? Bo routing wewnątrz AS i pomiędzy systemami AS odbywa się na trochę innych zasadach. Gdy dany pakiet ma zostać wysłany poza dany system autonomiczny, sprawdza się, do jakiego docelowo AS musi zostać przekierowany. Analogicznie, gdy koperta jest adresowana do Niemiec, zostanie wysłana „na zachód”, gdy do Szwecji – „na północ”. W Internecie routing zewnętrzny jest realizowany przez protokół BGP.
Ten przydługi wstęp o architekturze był konieczny, aby Państwo mogli zrozumieć potencjalne sposoby atakowania (nazywane wektorami ataku).
2. ATAKI SIECIOWE W INTERNECIE
W tej części skupię się tylko na atakach sieciowych przeprowadzonych na dużym obszarze (np. na sieci krajowe), a nie w pojedynczych sieciach.
Polska posiada wiele redundantnych łączy zewnętrznych (z tzw. operatorami Tier-1) z naszymi sąsiadami. Implikuje to, że nie da się w prosty sposób odciąć całego polskiego Internetu od reszty świata. Jednocześnie nie oznacza to, że nie można próbować na niego negatywnie wpłynąć. Atak DDoS (Distributed Denial of Service) jest w miarę tanim sposobem na zakłócenie działania sieci. Polega on na wygenerowaniu dużego wolumenu ruchu, który odpowiednio skierowany może utrudnić działanie określonego serwisu lub grupy urządzeń/serwerów. Analogicznie do naszych wcześniejszych przykładów można to zobrazować szturmem tłumu ludzi na wiele urzędów pocztowych (przeciążenie routerów) lub pojawieniem się nadmiernego ruchu na drogach (zapchanie łączy). Takie ataki są notorycznie wykonywane, a bardziej znane, które w przeszłości dotknęły państwa lub ich części, to chociażby atak na Estonię (2007), Gruzję (2008), Kirgistan (2009) czy ataki na Ukrainę w czasie konfliktu z Rosją. Istnieje kilka sposobów radzenia sobie z takimi atakami i operatorzy są dość dobrze przećwiczeni w walce z nimi.
Oczywiście, można próbować przejąć kontrolę nad samymi urządzeniami (routerami), ale taka operacja musiałaby wymagać nieprawdopodobnie dużych zasobów. Mówimy potencjalnie o setkach, jeśli nie tysiącach kluczowych urządzeń (samych routerów są dziesiątki/setki tysięcy), których wyłączenie lub rekonfiguracja mogłaby spowodować niedostępność lub przeciążenia sieci w skali kraju. Ale proszę pamiętać, że nie mówimy o jednym typie urządzenia (producent, model), lecz dziesiątkach/setkach różnych modeli, w różny sposób skonfigurowanych, działających na różnych systemach operacyjnych, w różnych wersjach i u różnych operatorów. Skala jest przeogromna i przygotowanie/przeprowadzenie takiego ataku w sposób niezauważony jest prawie niemożliwe.
Łatwiej jest zakłócić działanie sieci poprzez wpływ na trasowanie pakietów (routing). Nie wymaga to dostępu do routerów i sprowadza się do „wstrzykiwania” fałszywych danych o routingu. W naszej analogii taki atak odpowiadałby celowej zmianie drogowskazów i nazw ulic tak, aby kurierzy kierowali się w niewłaściwe miejsca. Jeśli mamy dostęp do sieci operatora (np. Orange), to możemy zakłócić działanie routingu w jednym systemie AS. Co ważne, sam dostęp do usług operatora nie jest równoznaczny z możliwością widzenia danych o routingu i wpływania na nie. Poza tym, nawet jeśli uda nam się zafałszować routing wewnętrzny, to zasięg ataku jest ograniczony do jednego systemu AS. Wszystkie pozostałe są nietknięte.
Aby wpłynąć na dostępność całych systemów AS, należy posłużyć się protokołem BGP. Atakujący (np. wrogi kraj) zaczyna rozgłaszać, że dany system AS należący do kogoś w Polsce (np. Orange) jest teraz „dostępny” w sieciach atakującego kraju. Przykładowo, Rosja, chcąc przechwycić ruch do Onet.pl, wysyła update’y BGP do sąsiednich sieci (niepolskich), że „teraz AS, w którym znajduje się Onet.pl, jest w Rosji”. Użytkownik spoza Polski próbujący połączyć sie na Onet trafi do sieci rosyjskich. Ale również w takim scenariuszu trudno spowodować, aby wszystkie polskie AS stały się niedostępne na zewnątrz. Takie ataki są zresztą szybko wykrywane, a sam protokół BGP umożliwia pewne zabezpieczenie się przez spoofingiem AS. Co więcej, w Polsce Onet będzie nadal dostępny.
Inny wariant tego ataku to rozgłaszanie przez atakującego, że wszystkie „niepolskie Asy” są teraz w Rosji (takie update’y będą wysyłane do polskich routerów). Wtedy teoretycznie cały ruch do usług typu YouTube, Amazon etc. będzie z Polski niemożliwy. Ale, jak wspomniałem wcześniej, stosowane mechanizmy dość szybko taki atak wykryją i zablokują.
Jeszcze innym atakiem uprzykrzającym korzystanie z Internetu jest zaatakowanie systemu DNS. Jeśli Państwa komputer nie będzie mógł przetłumaczyć nazwy www.strategyandfuture.org na adres 2.57.137.24, to przeglądarka się podda i zwróci błąd. Ale to nie takie proste. System DNS jest hierarchiczny i rozproszony, więc nie da się go po prostu globalnie wyłączyć. Najważniejszymi elementami są serwery rdzeniowe i atak na nie może spowodować problemy z tłumaczeniem nazw (np. poprzez DDoS). Istnieje w sumie 13 root serwerów (https://en.wikipedia.org/wiki/Root_name_server), ale to nie są pojedyncze urządzenia, tylko całe grupy powielonych maszyn. Wielokrotnie przeprowadzano ataki na te systemy i żaden atak nie spowodował trwałego zaburzenia tego serwisu. Nadmienię, że wyłączenie systemu DNS nie powoduje, że same serwisy są nieosiągalne. Na poziomie sieciowym nadal można się do nich dostać, jeśli zna się adres IP. Dlatego, jeśli znają Państwo na przykład adres IP serwisu S&F, to odpowiednie przekonfigurowanie Państwa komputera umożliwi dalsze korzystanie z usług Drużyny Bartosiaka bez pomocy DNS.
No dobrze, a czemużby nie wyłączyć prądu w całej Polsce? W końcu tak zrobili Rosjanie na Ukrainie. Odpowiedź jest taka sama: to nie takie proste. Systemy OT/ICS, które zarządzają infrastrukturą przemysłową, są jeszcze bardziej złożone niż to,co znamy w IT. Złożoność polega na ich unikalnej konfiguracji. Przykładowo, u jednego producenta energii mogą być zastosowane urządzenia/kontrolery jednego dostawcy. A i tak ich konfiguracja powoduje, że zakłócenie ich działania wymaga osobnych przygotowań i wycelowanego właśnie w nieataku. I tak samo, jak w wypadku masowego przejmowania routerów, mamy tutaj do czynienia z wieloma producentami, wieloma modelami w różnych wersjach oprogramowania i konfiguracji. Pierwszy atak na sieć energetyczną na Ukrainie w grudniu 2015 roku właśnie z tego powodu miał bardzo ograniczony zasięg (kilkadziesiąt tysięcy osób) i czas trwania (w ciągu kilku godzin przywrócono energię elektryczną w większości gospodarstw domowych). Atak rozpoczął się na wiele miesięcy wcześniej i angażował zespół około 25–30 osób (tak twierdzą analitycy firmy Dragos, którzy brali udział w śledztwie). Drugi atak rok później (Ukraina, 2016) był wymierzony w inny segment sieci energetycznej (sieć przesyłową) i był bardziej znaczący. Pierwszy raz spróbowano zastosować automatyzację, ale ze względu na złożoność i różnorodność protokołów komunikacji urządzeń ICS miał on ograniczony efekt. Doświadczenia z Ukrainy spowodowały znaczny wzrost świadomości oraz opracowanie nowych sposobów radzenia sobie z takimi atakami (od kwestii proceduralnych i procesowych po rozwiązania software’owe i analityczne).
Podsumowując, atak na całą infrastrukturę kraju nie jest ani prosty, ani tani. Nie należy oczywiście zakładać, że nic nam nie grozi. Raczej należy spojrzeć na to realistycznie i spodziewać się ataku kombinowanego, który będzie powodował czasową degradację jakości usług z przejściową niedostępnością części z nich.
Strategy&Future publikuje wybrane teksty naszych subskrybentów kierując się wagą podejmowanych w nich tematów. Wszelkie prywatne opinie autorów tych tekstów, zamieszczane obecnie lub w przeszłości w innych miejscach, przedstawiają jedynie poglądy poszczególnych autorów, nie zaś wspólne stanowisko autora i Strategy&Future.
Autor
Daniel Weiss
Specjalista ds. cyberbezpieczeństwa. Podróżnik, miłośnik historii i dobrej kuchni.
Trwa ładowanie...