Linux i rootkit'y

2009-07-17 przez Tomasz Nowakowski | Kategoria: Linux

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:

chkrootkit -q

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:

eth0: PACKET SNIFFER(/sbin/dhclient3[9877])

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:

rkhunter --enable ports

rkhunter

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.


 

Menu

Kategorie

Czy wiesz że

strona spełniająca standardy W3C poprawnie wyświetlana jest nie tylko na komputerach PC, ale także na urządzeniach przenośnych.

Tagi na tej stronie

atakowanych celu cennych często informacji inny każdy komputerach linux malware operacyjny pozyskania rootkit skompromitować sposobów system trojany tworzy umieszczonych wirusy

Kanały RSS

Time: 0.6991 | Mem: 2.36MB