Linux i rootkit'y
Każdy system operacyjny można skompromitować na wiele sposobów. Bardzo często tworzy się wirusy, trojany i inny malware w celu pozyskania cennych informacji umieszczonych na atakowanych komputerach. W dobie powszechności sieci Internet, popularne stają się próby wykorzystania mocy komputerów do stworzenia sieci przestępczej. Za pomocą różnych dziur w systemach operacyjnych instaluje się malware, którego zadaniem jest wykonywanie określonego typu ataku. Wszystkie zarażone komputery tzw. zombie, czekają na centralny rozkaz rozpoczęcia ataku na ofiarę jaką może być np. serwer instytucji rządowej.
Zarażone komputery tworzą tzw. botnet, który do sterowania najczęściej wykorzystuje sieć IRC. W systemie Linux mimo bardzo szczelnej architektury samego jądra systemu, można znaleźć luki, za pomocą których możliwe staje się wprowadzenie złośliwego kodu. Sam kod w większości systemów Linux'owych nie jest niebezpieczny, bo musi najpierw uzyskać prawa root'a. W uzyskaniu praw root'a pomocne są tzw. RootKity. Są to programy pomocne w ukrywaniu złośliwego kodu w systemie. RootKity najczęściej dystrybuowane są za pomocą spreparowanych paczek zawierających narzędzia systemowe, a czasem nawet jądro systemu w celu ukrycia działania kodu złośliwego. Czasem podmieniany jest plik binarny procesu sshd np. w celu umożliwienia zdalnego zalogowania się do systemu za pomocą specjalnego hasła.
Istnieje kilka metod na uchronienie się przed tego typu atakami. Jedną z najprostszych zasad jakiej należy się trzymać, jest korzystanie jedynie z podpisanych repozytoriów z pakietami do danej dystrybucji. Daje nam to gwarancję powszechności kodu w nich zawartych (ew. kompromitacja serwerów z paczkami będzie szybciej rozpoznana). Inną metodą jest sprawdzanie systemu za pomocą narzędzi skanujących pliki i uprawnienia pod kątem zmian mogących świadczyć o próbie przechwycenia systemu.
Jednym z takich narzędzi jest program chkrootkit, daje nam on możliwość przeskanowania systemu w dość szybki sposób obrazując czy, jakiś program lub plik nie zostały podmienione. Wywołanie programu bez parametrów wykonuje skanowanie z pełnym wyświetleniem szczegółów co może nie być czytelne, dlatego polecam wywołanie następujące:
Takie wywołanie wyświetli po przeskanowaniu komputera jedynie ostrzeżenia. Należy dokładnie przeanalizować wynik działania skanera, bo nie zawsze wskazuje on na prawdziwą infekcję. Dla przykładu wyjście z programu:
oznacza jedynie tyle, że wymieniony proces (dhclient3) nasłuchuje broadcastów, co w przypadku klienta DHCP jest jak najbardziej normalnym zachowaniem.
Jeszcze ciekawszym i bardziej rozbudowanym programem do wyszukiwania RootKit'ów jest rkhunter. Ma on o wiele bardziej złożone mechanizmy skanowania, a co najciekawsze, można podzielić proces skanowania na etapy (skanowanie praw, skanowanie binariów, wyszukiwanie RootKit'ów, itp.). Dodatkowo sam program po wywołaniu w konsoli w bardziej przejrzysty sposób przedstawia kolejne etapy skanowania oraz wyniki swojej pracy.
Przykład wywołania tylko skanera portów:
Myślę, że wszyscy fani Linux'a, którzy są przekonani o jego niepodważalnym bezpieczeństwie powinni zainteresować się wymienionymi wyżej programami, żeby ich komputery nie zasiliły armii botnetu.
