Tajne połączenie

Shimmer to pomysł na technikę, która może zwiększyć bezpieczeństwo krótkich połączeń do ważnych usług wykorzystywanych przez administratorów systemów IT.

Shimmer to pomysł na technikę, która może zwiększyć bezpieczeństwo krótkich połączeń do ważnych usług wykorzystywanych przez administratorów systemów IT.

Niektóre połączenia, m.in. dostęp przez SSH do istotnego serwera, wymagają szczególnej ochrony. Wystawienie usługi na jej natywnym porcie jest często zaproszeniem włamywaczy do spróbowania sił. Dlatego warto zwrócić uwagę na niektóre pomysły, takie jak rozwijany przez Sourceforge.net projekt open source Shimmer, który wprowadza interesującą technikę ciągłej zmiany portów wykorzystywanych przez usługi.

Techniki ochrony portów

Najprostszym zabezpieczeniem jest uruchomianie usług na portach, które standardowo nie są z nimi kojarzone. Niestety, skanowanie stosujące znane narzędzia, takie jak nmap, pozwala odkryć porty, na których faktycznie pracują jakieś usługi, a wówczas można spróbować połączyć się z odpowiednim portem i uzyskać odpowiedź, jaka to jest usługa.

Innym, powszechnie wykorzystywanym pomysłem na obronę przed skanowaniem jest tzw. port-knocking. Aby otworzyć dane połączenie, należy wykonać odpowiednią sekwencję połączeń na różne zamknięte porty. Oprogramowanie zabezpieczające system analizuje próby połączeń i jeśli sekwencja jest właściwa, reguły zapory firewall są tak modyfikowane, by zezwolić na połączenie do usługi docelowej z konkretnego adresu IP. W prostych rozwiązaniach sekwencja połączeń pozwalających na uzyskanie dostępu jest stała i przez to możliwa do względnie łatwego przechwycenia za pomocą sniffera. Istnieje także bardziej zaawansowana wersja techniki port-knocking, wykorzystująca wysyłanie tylko jednego, zaszyfrowanego pakietu, pełniącego rolę klucza.

Pomysł na utajnienie

Technika określana jako Shimmer (shimmer.sourceforge.net), to nowy pomysł na podwyższenie bezpieczeństwa krótkich połączeń do ważnych usług, takich jak SSH. Stawia on wyższą poprzeczkę dla potencjalnych włamywaczy, gdyż wykorzystuje technikę inicjowania komunikacji na często zmieniany port, który jest określany za pomocą technik kryptograficznych. Funkcjonalnie pomysł ten przypomina mechanizmy typu trunking (zmiana częstotliwości roboczej) stosowane w niektórych sieciach radiowych do zwiększenia wykorzystania przepustowości, ale w tym wypadku ma inny cel - podwyższenie bezpieczeństwa inicjowanych połączeń. Shimmer umożliwia ukrywanie istnienia usług, dzięki automatycznemu blokowaniu nieudanych prób połączeń.

Koncepcja zakłada przekazywanie połączenia przez zaporę do aplikacji Shimmer pełniącej rolę pośrednika. Technologia ta nie stosuje klucza, który statycznie otwiera połączenie, a mechanizm ciągłej zmiany portów. Klient i serwer mają oczywiście tajny klucz służący do obliczenia, który port ze zdefiniowanej wcześniej listy posłuży do inicjacji połączenia w danej chwili. Pozostałe są pułapką, zamykającą połączenie z danego IP na określony czas (zazwyczaj 15 minut). Czas ten jest przedłużany po każdym nieudanym połączeniu. Technologia ta wykorzystuje algorytm określany jako C3PO (Cryptographically Constantly Changing Port Opening).

W odróżnieniu od techniki port-knocking, nie istnieje sekwencja niezbędna do uzyskania połączenia, a port jest zmieniany co minutę. Próba przejęcia połączenia wymaga wykrycia odpowiedniego portu za pierwszym razem, w przeciwnym razie adres IP wykorzystywany przez włamywacza trafia na czarną listę. Program Shimmer potrafi przekierowywać porty do różnych usług (zwanych mirażami). Algorytm określa, który port ma być uruchomiony, oraz tworzy klucz na podstawie aktualnego czasu, nazwy mirażu i hasła. Za pomocą tego klucza szyfruje się liczby od 1 do 15, a potem przypisuje je do portów z odpowiedniego, wcześniej zdefiniowanego zakresu. Pierwszy obliczony port jest portem połączenia, pozostałe wiodą do pułapki.

Ze względów bezpieczeństwa Shimmer nie przekazuje żadnych sygnałów czasu i synchronizacji usługi. W tym drugim przypadku, dla zapewnienia niezbędnej synchronizacji, utrzymywane są trzy komplety portów: jeden synchroniczny, drugi obliczony dla zegara opóźnionego o minutę, trzeci - dla przyspieszonego. Obniża to niestety poziom bezpieczeństwa, ale jest to niezbędne do zapewnienia działania połączeń.

Blaski i cienie Shimmera

Ponieważ miraży może być więcej niż jeden, stąd też podobieństwo techniki Shimmer do systemów radiowej komunikacji trunkingowej. Zwiększenie liczby miraży utrudnia obliczenie właściwej sekwencji, można też utworzyć fałszywy miraż, który będzie wiódł do pułapki, włączającej alarm. Ważną zaletą Shimmera jest fakt, że umożliwia inicjowanie połączenia także w warunkach podsłuchu, gdy prosty statyczny port-knocking zostanie szybko odkryty. Technika ta chroni również przed odkryciem usługi przez skanowanie portów, gdyż intruz zostaje zablokowany przy pierwszym trafieniu w port przekierowany do pułapki.

Niestety, metoda ta ma też wady. Do obliczenia portów używana jest nazwa mirażu, co w praktyce nie jest najlepszym pomysłem, gdyż po odgadnięciu nazwy, możliwe jest przeprowadzenie obliczeń wykorzystujących technikę brute-force - czyli analizę danych, zebranych z dużej ilości połączeń. To mało prawdopodobne, ale możliwe. Choć jest to bardziej kłopotliwe, można uniknąć tego zagrożenia, używając losowych nazw różnych miraży.

Oprócz tego należy pamiętać, że metoda ta nie jest stuprocentowo odporna na sniffing, gdyż już po kilku minutach nasłuchu można odkryć moment przełączania portów po stronie klienta.

Obecnie dostępna wersja klienta Shimmer podaje jedynie numer właściwego portu, który można przekazać do aplikacji otwierającej połączenie, takiej jak klient SSH. Oznacza to, że połączenie będzie trwało tylko przez krótki czas. Przeciętnie wynosi on dwie minuty, jeśli obie maszyny są synchroniczne (np. korzystają z NTP), maksymalnie zaś mniej niż trzy minuty przy odpowiednio małej różnicy czasu wskazywanego przez zegary maszyn.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200