Czym jest kanał ukryty
Pojęcie sięga wczesnych lat 70. XX wieku, kiedy badania nad problemem izolacji (confinement problem) pokazały, że proces może wyciekać informacje, mimo że zakazano mu komunikacji. Butler Lampson sformułował ten problem w 1973 roku, a w tym samym roku C. Lamb opisał, jak analizować współdzielone zasoby systemu pod kątem takiego wycieku.
Późniejsze kryteria systemów zaufanych, zwłaszcza amerykański standard TCSEC, uczyniły analizę kanałów ukrytych formalnym wymogiem dla produktów o wysokim poziomie zaufania.
Wszystkie kanały ukryte łączy niewłaściwe wykorzystanie zasobu w celu, którego jego twórcy nigdy nie zamierzali. Zasób jest legalny, np. nagłówki pakietów, zegary systemowe, kolejki wydruku czy rozwiązywanie nazw, i nadal wykonuje swoją zwykłą funkcję, przenosząc ukryty ładunek. Ponieważ zachowanie nośnika jest oczekiwane, transfer nie wzbudza uwagi, chyba że ktoś go celowo szuka.
Kanały pamięciowe kontra kanały czasowe
Inżynieria bezpieczeństwa tradycyjnie dzieli kanały ukryte na dwie klasy, w zależności od współdzielonego zasobu, który wykorzystują.
W kanale pamięciowym jeden proces zapisuje w miejscu, które odczytuje inny, np. w polu identyfikatora pakietu IP, w długości zapytania DNS, w atrybutach pliku lub w nieużywanym miejscu nagłówka protokołu. Każdy zapisany stan koduje jeden lub więcej bitów.
W kanale czasowym jeden proces moduluje, kiedy lub jak długo korzysta ze współdzielonego zasobu, np. odstępy między pakietami, wzorce obciążenia procesora czy kolejność zdarzeń. Odbiorca mierzy czas i odkodowuje wiadomość. Nigdzie nic nie jest zapisywane.
W praktyce granica się zaciera: długość pakietu można uznać za pamięć, a wzorce serii pakietów za czas. Podział określa jednak, jak kanał zostaje odnaleziony podczas przeglądu projektu i jak jest wykrywany w eksploatacji. Kanały pamięciowe oferują większą przepustowość, a czasowe są wolniejsze, ale jeszcze trudniejsze do odróżnienia od normalnego zachowania.
Tunelowanie przez DNS i ICMP
Najważniejsze przykłady z rzeczywistości wykorzystują infrastrukturę, którą zapory niemal nigdy nie blokują, ponieważ rozwiązywanie nazw i podstawowa diagnostyka są niezbędne:
| Technika | Nośnik, który wykorzystuje | Jak ukrywa dane |
|---|---|---|
| Tunelowanie DNS | Zapytania o rozwiązanie nazw | Bajty zakodowane w poddomenach zapytań do serwera nazw atakującego |
| Tunelowanie ICMP | Pakiety diagnostyczne echo | Dowolne dane w polu ładunku każdego pakietu echo |
| Manipulacja nagłówkami | Pola nagłówków IP i TCP | Bity ukryte w numerach sekwencyjnych, flagach lub nieużywanych bajtach |
| Modulacja czasowania | Odstępy i serie pakietów | Celowe opóźnienia lub serie, widoczne tylko w statystyce |
Dlaczego kanały ukryte mają znaczenie dla ryzyka wewnętrznego
Dla złośliwego insidera kanały ukryte rozwiązują zasadniczy problem kradzieży danych: standardowe kanały są monitorowane. E-mail, przesyłanie plików w internecie, komunikatory i nośniki wymienne mogą być sprawdzane, więc insider, który chce niepostrzeżenie wynieść bazę klientów, potrzebuje drogi, której nie pilnuje żadna reguła kontroli. Tunelowanie przez DNS lub ICMP daje dokładnie taką drogę.
Kanały ukryte służą też zewnętrznym atakującym. Ruch command-and-control, aktualizacje złośliwego oprogramowania i etapowa eksfiltracja danych rutynowo udają dozwolone protokoły. Dla obrońców wniosek jest niewygodny: czysty dziennik standardowych kanałów nie dowodzi, że żadne dane nie wyciekły, tylko że nie wyciekły kanałami, które są monitorowane.
Monitorowanie standardowych kanałów pokazuje, co przez nie wyciekło, a nie to, czy wyciekło coś innego.
Jak to wygląda w Anexet
Agenty Anexet przechwytują ruch na poziomie protokołów, więc sesje HTTP, FTP, SMTP, IMAP i POP3 są widoczne na punkcie końcowym. W konsoli każdy protokół ma własny przełącznik i filtr portów, a statystyki pokazują przechwycone sesje TCP i pakiety w czasie. Połącz to z monitorowaniem ruchu internetowego i systemem DLP Anexet, aby powiązać kontekst przeglądania z treścią każdego transferu.
1 / 2
Wykrywanie i przeciwdziałanie
Wykrywanie kanałów ukrytych jest trudniejsze niż nadzór nad standardowymi, ponieważ aktywność nośnika jest legalna. Całkowita eliminacja jest rzadko osiągalna. Realistycznym celem jest obniżenie przepustowości kanału ukrytego poniżej tego, czego potrzebuje atakujący, i zwiększenie szans na zauważenie próby.
Praktyczne programy łączą warstwy z poniższej tabeli:
| Warstwa | Co robi | Kiedy stosowana |
|---|---|---|
| Analiza na poziomie projektu | Wykrywa potencjalne kanały ukryte we współdzielonych zasobach przed wdrożeniem | Przed wdrożeniem |
| Ograniczanie ruchu wychodzącego | Dopuszcza tylko potrzebne protokoły i zatwierdzone serwery nazw, ogranicza ICMP | Konfiguracja sieci |
| Linia bazowa ruchu i wykrywanie anomalii | Wyłapuje długie etykiety zapytań, nietypową entropię i nienormalne wolumeny | W eksploatacji |
| Ograniczanie przepustowości | Ogranicza wolumen ruchu, przez co duża eksfiltracja staje się niepraktycznie wolna | W eksploatacji |
| Widoczność na punktach końcowych | Procesy, połączenia i aktywność użytkowników nadają kontekst subtelnym anomaliom | W eksploatacji |
Od czego zacząć
Zacznij od kanałów, które firma domyślnie zostawia otwarte, takich jak DNS i wychodzący ICMP, a następnie dodaj kontekst behawioralny, żeby nietypowe użycie tych kanałów wskazywało konkretnego użytkownika. Analiza kanałów ukrytych należy do przeglądu projektu, a monitorowanie daje obrońcom przewagę w eksploatacji.
Czytaj dalej: Techniczny wyciek informacji: czym jest i jak się chronić?.
Ukrytych kanałów nie da się wykluczyć w całości, ale można je uczynić wolnymi, kosztownymi i widocznymi.
Jak rozwiązuje to Anexet
Anexet nie twierdzi, że wykrywa każdy kanał ukryty. Formalna analiza kanałów ukrytych to dyscyplina na poziomie projektu, a ukrytych kanałów czasowych nie da się w pełni wykluczyć żadnym produktem monitorującym. Anexet zapewnia widoczność na punktach końcowych nad kanałami, w których zwykle osadzane są ukryte transfery, dzięki czemu nietypowa aktywność staje się tam widoczna.
Agenty na punktach końcowych przechwytują ruch protokołów sieciowych (HTTP/HTTPS, FTP, SMTP, IMAP, POP3), rejestrują aktywność w sieci i adresy URL oraz stosują analizę treści do wszystkiego, co przechodzi standardowymi kanałami. Dane wrażliwe są wychwytywane, zanim znikną w tunelu, gdy nadal znajdują się na widocznej ścieżce. Architektura on-premise trzyma przechwycony ruch, treść i logi w infrastrukturze organizacji.
Przechwytywanie ruchu sieciowego
Agenty przechwytują ruch na poziomie protokołów, m.in. HTTP/HTTPS, FTP, SMTP, IMAP i POP3. Opcjonalny serwer ruchu sieciowego dodaje centralne przechwytywanie ruchu lustrzanego z filtrami IP i MAC.
Widoczność aktywności w sieci
Adresy URL, przesyłanie plików i sesje webmaila są rejestrowane na punkcie końcowym. To dokładnie ten kontekst, w którym muszą działać narzędzia tunelowania przez DNS i przez sieć.
Analiza treści
Tezaurusy bezpieczeństwa (170 gotowych słowników), banki skrótów i cyfrowe odciski palców wykrywają, kiedy pliki wrażliwe są przenoszone lub przekształcane, i sygnalizują przygotowania do eksfiltracji, zanim dane opuszczą standardowy kanał.
Kontekst behawioralny
Monitorowanie aktywności użytkowników i ocena ryzyka wiążą anomalie sieciowe z użytkownikiem, który je wywołał. Nietypowy ruch zewnętrzny o nietypowej porze ma większe znaczenie, gdy da się go przypisać.
Monitorowanie ruchu internetowego
Dowiedz się więcej