Czym jest ukryty kanał czasowy
Ukryty kanał czasowy to podklasa kanału ukrytego, w której informacja przenoszona jest nie w zapisanych wartościach, lecz w czasie zdarzeń. Dwa procesy, nadawca i odbiorca, współdzielą zasób, którego użycie można obserwować: połączenie sieciowe, dysk lub procesor. Nadawca koduje wiadomość, zmieniając moment wystąpienia zdarzeń lub ich czas trwania. Odbiorca obserwuje strumień zdarzeń, mierzy odstępy i odczytuje wiadomość. Żaden bajt nie trafia tam, skąd czyta inny proces. Sygnał istnieje wyłącznie we wzorcu czasów.
Pojęcie wpisuje się w ogólną historię kanałów ukrytych. Badania nad problemem izolacji (confinement) z początku lat 70. XX wieku pokazały, że proces może przeciekać informacje, nawet gdy formalnie nie wolno mu się komunikować. Późniejsze kryteria systemów zaufanych, np. amerykański TCSEC, uczyniły analizę kanałów ukrytych, w tym czasowych, obowiązkową częścią oceny systemów o wysokiej gwarancji. Oceny formalne zwykle nie wymagają eliminacji kanałów czasowych, lecz ich identyfikacji, oszacowania przepustowości i ograniczenia pojemności tam, gdzie to ważne.
Dwie cechy wyróżniają tę klasę. Po pierwsze, obie strony zwykle mają uprawniony dostęp do współdzielonego zasobu, więc zwykła kontrola dostępu nie zamknie kanału: zasób dalej działa zgodnie z przeznaczeniem i przenosi ukryty sygnał. Po drugie, szum degraduje sygnał. Losowe opóźnienia między nadawcą a odbiorcą, np. jitter sieci, przerwania szeregowania czy równoległe obciążenie, mogą zniekształcić bit. Dlatego kanały czasowe są znacznie wolniejsze od kanałów magazynowania, a nadawcy poświęcają szybkość na redundancję.
Jak informacja jest kodowana w czasie
Nadawca i odbiorca uzgadniają z góry schemat kodowania, a potem wykorzystują wspólny strumień zdarzeń jako nośnik. Najczęstsze kodowania:
| Kodowanie | Jak działa |
|---|---|
| Modulacja odstępów między pakietami | Krótka przerwa niesie jeden symbol, długa inny |
| Kluczowanie obecnością | Obecność lub brak zdarzenia koduje jeden bit |
| Kolejność zdarzeń | Kolejność dotykanych zasobów niesie symbole |
| Czas zajętości zasobu | Czas trzymania zasobu niesie wartość |
Ukryte kanały czasowe w praktyce
Każdy obserwowalny strumień zdarzeń, na który dwie strony mogą wpływać i który mogą mierzyć, może stać się kanałem czasowym. Najbardziej znane rodziny:
- Ruch sieciowy: modulowane odstępy w ruchu TCP/IP, tempo zapytań DNS lub serie pingów. Szyfrowanie nie ukrywa tego rytmu, bo dane żyją w czasie, a nie w treści.
- Urządzenia pamięci masowej: jeden proces trzyma głowicę dysku nad ścieżką, a drugi mierzy czas wyszukiwania. To klasyczny przykład z literatury badawczej.
- Procesor i pamięć: procesy spowalniają się nawzajem w mierzalny sposób. Na tym opiera się kilka współczesnych ataków mikroarchitektonicznych.
- Interaktywne strumienie: odstępy między naciśnięciami klawiszy, zdarzenia myszy czy czas kolejki wydruku. Każdy strumień ze znacznikami czasu, który może obserwować osoba z zewnątrz, da się modulować.
Dlaczego trudniej je wykryć niż kanały magazynowania
Kanał magazynowania zostawia dowody, które można sprawdzić: pole nagłówka ma dziwną wartość, pakiet nietypową długość, a atrybut pliku się zmienia. Kanał czasowy nie zostawia żadnej wartości. Sygnał istnieje tylko w różnicach między czasami zdarzeń, a inspekcja treści tych różnic nie widzi, bo sama treść jest normalna.
Normalne systemy są pełne zmienności czasowej: jitter sieci, przeciążenia, ludzkie pauzy. Kanał czasowy ukrywa się w tym szumie, więc wykrywanie musi być statystyczne. Trzeba zbudować bazę rozkładu odstępów między zdarzeniami i oznaczać podejrzaną regularność lub mało prawdopodobne wzorce. Udowodnienie braku kanału czasowego jest praktycznie niemożliwe. Realny cel to utrzymać jego przepustowość na niskim poziomie, a wzorce na tyle widoczne, by były bezużyteczne.
Przepustowość kontra skrytość to podstawowy kompromis. Kanał przesyłający bity szybko tworzy nienaturalny rytm, który odróżnia się od zachowania ludzi i aplikacji. Cierpliwy nadawca, ograniczony do kilku bitów na minutę, wtapia się w tło, ale potrzebuje dni na przeniesienie istotnego pliku. Obrońcy wykorzystują ten sam kompromis: limity szybkości i dodany szum zmuszają nadawcę do wolnego trybu, a profile bazowe i wykrywanie anomalii podnoszą koszt szybkiego.
| Cecha | Kanał magazynowania | Kanał czasowy |
|---|---|---|
| Zostawia ślad w jednym rekordzie | ||
| Wykrywalny przez inspekcję treści | ||
| Wymaga statystycznej bazy odniesienia |
Wykrywanie i ograniczanie
Ponieważ nośnikiem jest uprawniona aktywność, przeciwdziałania łączą obserwację statystyczną z działaniami osłabiającymi sam kanał:
- Statystyczna analiza ruchu wykrywa regularność w stylu metronomu, której nie produkują użytkownicy.
- Wykrywanie anomalii behawioralnych: profile użytkowników wychwytują trwałe odchylenia od wolnych transferów.
- Limitowanie szybkości ogranicza liczbę zdarzeń, czyniąc duże transfery bardzo wolnymi.
- Kontrola szumu i szeregowania: losowe planowanie utrudnia odbiorcy odczyt sygnału nadawcy.
- Ograniczanie wspólnych ścieżek: listy dozwolonych protokołów usuwają zasoby potrzebne kanałowi.
Jak to wygląda w Anexet
Reguły statystyczne funkcji wykrywania zagrożeń wewnętrznych działają na tym samym rodzaju zarejestrowanych zdarzeń. Konsola administratora może grupować wysłane pakiety sieciowe w przedziały od jednej sekundy do dziesięciu minut, dzięki czemu krótki zryw wyraźnie odcina się od spokojnego tła.
Od czego zacząć
Zacznij od kanałów, które mogą przenosić ukryty rytm: strumieni sieciowych, dyskowych i interaktywnych. Bazy odniesienia wymagają okresu normalnej aktywności, z którego mogą się uczyć, dlatego zakładaj je przed incydentem, a nie po nim.
Kanał czasowy najczęściej wykorzystuje ktoś, kto już jest w środku: zagrożenie wewnętrzne z uprawnionym dostępem. Dlatego monitoring musi obejmować kanały, z których ludzie faktycznie korzystają.
Czytaj dalej: Techniczny wyciek informacji: czym jest i jak się chronić?.
Kanał czasowy nigdy nie zapisuje sekretu. Zostawia tylko rytm, a rytm jest tym, czego monitoring musi się nauczyć.
Jak rozwiązuje to Anexet
Anexet nie wykonuje analizy ukrytych kanałów czasowych w sensie formalnym: dowodzenie, czy współdzielone zasoby systemu dopuszczają kanał czasowy, to inżynieria bezpieczeństwa na poziomie projektu i wykracza poza zakres produktu. Kanału, który niczego nie zapisuje i nie zmienia treści, nie da się wykluczyć żadnym narzędziem monitorującym, a Anexet tego nie twierdzi.
Produkt dostarcza warstwę statystyczną nad obserwowalną aktywnością. Reguły bezpieczeństwa nieprzerwanie porównują zarejestrowane zdarzenia każdego użytkownika z progami w ustalonych oknach czasowych we wszystkich przechwytywanych kanałach, dzięki czemu gwałtowne skoki poza profilem, aktywność po godzinach i trwałe odchylenia, które ostatecznie wywołuje transfer oparty na czasie, stają się widoczne i przypisywalne.
Statystyczne reguły bezpieczeństwa
automatyczny monitoring aktywności użytkowników w kanałach komunikacji: reguła uruchamia się, gdy liczba zdarzeń (wiadomości, e-maile, przesłane pliki, odwiedzone strony) przekroczy zadany próg w ciągu godziny, dnia albo tygodnia, z kontrolą oddzielnie dla każdego użytkownika.
Pełna widoczność kanałów
agenci na stacjach roboczych przechwytują pocztę, ruch WWW, komunikatory, magazyny chmurowe, drukowanie, urządzenia wymienne i protokoły sieciowe. Ukryty transfer i tak musi wygenerować swoje zdarzenia nośne w kanałach, które są rejestrowane.
Rekordy z sygnaturą czasową i przypisaniem
każde zdarzenie jest zapisywane z użytkownikiem, kanałem i czasem, więc osoba prowadząca sprawę może sprawdzić, czy nietypowe wzorce czasowe pokrywają się z inną aktywnością człowieka.
Punktacja ryzyka
oflagowane odchylenia zasilają wynik ryzyka użytkownika, korelując anomalie wolumenu i czasu z innymi wskaźnikami ryzyka wewnętrznego.
Uczciwy zakres
to statystyka progowa nad zarejestrowanymi zdarzeniami: praktyczna pomoc zawężająca przestrzeń, w której może się ukrywać powolny transfer, a nie substytut formalnej analizy kanałów ukrytych.
Funkcja wykrywania zagrożeń wewnętrznych
Dowiedz się więcej