Szpieg w stogu danych

W firmach i instytucjach, które traktują bezpieczeństwo danych poważnie, włamanie poprzez sieć stało się trudne. Ci, którym naprawdę zależy, zgromadzili zasoby ludzkie i narzędzia pozwalające kontrolować, co dzieje się w sieci. Podwyższenie poprzeczki nie pozostało bez reakcji - zamiast próbować obchodzić coraz doskonalsze zabezpieczenia sieciowe włamywacze zabrali się do sprawy inaczej, biorąc za cel serwery baz danych.

Rootkity dla baz danych są trudniejsze do wykrycia i usunięcia, niż rootkity dla systemów operacyjnych. Zjawisko narasta, ale wiedzy o nim, a tym bardziej profesjonalnych narzędzi diagnostycznych wciąż brak.

Osiągnięcia włamywaczy w radzeniu sobie z zabezpieczeniami baz danych są doprawdy zastanawiające. Okazuje się, że nawet wielce szacowne marki kwestię bezpieczeństwa traktowały dotychczas, najdelikatniej mówiąc, po macoszemu. Dla jasności: tu nie chodzi o kilka drobnych błędów w kodzie, które zdarzają się w każdym większym produkcie software'owym. Chodzi o wady konstrukcyjne oraz całe morze błędów przeróżnego kalibru, wskazujących na niedostatki testowania.

Ostatnio pojawiło się jeszcze jedno zagrożenie dla serwerów baz danych - powstały dla nich dedykowane rootkity! Tak, działanie tych programów jest analogiczne do tych, które od wielu lat są postrachem administratorów sieciowych systemów operacyjnych. A zatem wszystkie dotychczasowe metody zabezpieczania danych w bazach trzeba przemyśleć jeszcze raz, a być może nawet wprowadzić radykalne zmiany. Na początek obejdzie się bez solidnego audytu istniejącej konfiguracji bazy danych.

Baza jak system

Rootkit to aplikacja, której zadaniem jest ukrywanie plików i procesów w systemie operacyjnym. Nowoczesne serwery baz danych to środowiska składające się z wielu procesów i setek wątków. Są już tak rozległe i skomplikowane, że zaczynają przypominać systemy operacyjne (mają niezależne od systemu operacyjnego środowiska wykonawcze, składają się z wielu usług, zarządzają zasobami i same odtwarzają się po awariach). W przyszłości serwery baz danych staną się jeszcze bardziej złożone, co autorom rootkitów jest na rękę.

Logicznie myśląc, pojawienie się rootkitów działających w środowisku bazodanowym było tylko kwestią czasu. Zbiega się to w czasie z powszechnym wykorzystywaniem baz danych do składowania informacji w przedsiębiorstwach - obecnie nie można sobie wyobrazić nawet średniej wielkości firmy, bez bazy danych obsługującej takie systemy, jak ERP. Jeśli wdrożenie było rozsądnie przeprowadzone, w tej bazie jest dużo danych - firmy wybierają zazwyczaj rozwiązania zintegrowane, gdzie wszystkie dane są przechowywane w jednej bazie.

Napisanie prostego rootkita dla bazy Oracle jest bardzo łatwe. Wystarczy pół godziny, wliczając czas potrzebny na napisanie skryptu PL/SQL automatyzującego późniejszą instalację. Mimo prostoty, skuteczność rootkita jest bardzo wysoka. Doświadczeni, a przy tym dociekliwi administratorzy być może i wykryliby go, ale nie za pomocą standardowych procedur i narzędzi.

Rzut oka na archiwa list dyskusyjnych wystarczy, by dowiedzieć się, że podobne pomysły nurtowały hakerów od dawna, i to wcale nie wyłącznie w odniesieniu do serwerów Oracle. Podobnie skutecznie działają rootkity dla bazy SQL Server 2000. Rootkit ten niebawem będzie przystosowany do pracy w najnowszym produkcie bazodanowym Microsoftu, choć poprzeczka jest tu nieco wyższa. Do kompletu przewidziano także instalator przypominający dodatek Service Pack.

Strojanowanie systemu operacyjnego zapewniające łatwe wejście włamywaczowi oraz ukrycie tego faktu za pomocą stosownego rootkita daje dostęp do zasobów. Jednakże są już dostępne narzędzia do wykrywania rootkitów. Są lepsze i gorsze - wiele z nich nie radzi sobie z coraz nowocześniejszymi rootkitami. Nadal jednak istnieje możliwość, wprawdzie bardzo pracochłonnego, ale skutecznego ręcznego sprawdzenia systemu.

W każdej firmie poważnie traktującej bezpieczeństwo istnieje środowisko testowe, będące wierną kopią środowiska produkcyjnego, zatem warto skorzystać z możliwości porównania plików. Wiele systemowych rootkitów można ę w ten sposób wykryć - dystrybucja systemu Linux uruchamiana z płyty CD umożliwiająca obliczenie sum kontrolnych wszystkich plików przy niedziałającym systemie głównym jest potężną bronią w rękach doświadczonego administratora i działa na wielu platformach.

Co może rootkit w bazie

Rootkity w bazach danych są dla danych groźniejsze, niż rootkity instalujące się w systemach operacyjnych. Po pierwsze, dlatego że mało kto zdaje sobie sprawę z ich istnienia - zjawisko jest stosunkowo nowe, a do wykrycia rootkita w bazie doświadczenie zdobyte z rootkitami systemowymi nie wystarczy. Do znalezienia rootkita w bazie trzeba dogłębnej wiedzy o wewnętrznym funkcjonowaniu konkretnego serwera baz danych (a nawet konkretnej wersji), jak również o jego interakcjach z systemem operacyjnym.

Błędy lub przekroczenia uprawnień w jej środowisku mogą nigdy nie ujawnić się jako zagrożenia - nawet wtedy, gdy serwer bazy danych zostanie obstalowany zaporami i sondami systemów do wykrywania włamań. Specyfika konstrukcji baz danych oraz fakt, że instalowane są one często w systemie na prawach użytkownika z przywilejami administracyjnymi, sprawiają, że baza żyje w systemie niejako własnym życiem. Cała sprawa sprowadza się do tego, aby stworzyć w bazie danych użytkownika o prawach administracyjnych i ukryć go przed administratorem. Dalej idzie już jak z płatka...

Pełna treść artykułu dostępna jest w nowym Raporcie Computerworld: Dane na celowniku

Więcej o bezpieczeństwie IT piszemy w centrum Bezpieczeństwo Computerworld.

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

TOP 200