Wirtualnie czy bezpiecznie?

O bezpieczeństwo systemów i aplikacji uruchamianych w modelu wirtualnym trzeba zadbać co najmniej tak dobrze, jak przy modelu tradycyjnym.

Wirtualizacja systemowa umożliwia uruchamianie kilku systemów operacyjnych i aplikacji na jednej maszynie. Należy pamiętać, że samo przeniesienie systemu i oprogramowania do środowiska wirtualnego nie zapewni automatycznie większej odporności na przełamanie zabezpieczeń. Jeśli system ma luki przy eksploatacji bezpośrednio na sprzęcie, to prawdopodobnie nadal będzie je miał w środowisku wirtualizowanym. Oznacza to, że mechanizmy aktualizacji, kontroli spójności systemu oraz zarządzania nim nadal muszą być wykorzystywane w takim samym stopniu, co przedtem. Jest to szczególnie ważne, gdy w wysoce konsolidowanym środowisku eksploatowanych jest wiele maszyn.

Łatwość klonowania systemów wraz z aplikacjami sprawia, że w środowisku wirtualizowanym pracuje więcej systemów niż w tradycyjnym. Wynika to głównie stąd, że rozwój projektów nie zawsze wymaga zakupu nowego serwera. W miarę rozwoju firmy, systemów robi się coraz więcej, a każdy musi być zaktualizowany na czas. Z tego wynika także, iż w rozległych środowiskach niezbędne są narzędzia do zapewnienia aktualności wszystkich systemów oraz rozbudowane środowisko testowe, przeznaczone do wdrażania aktualizacji zgodnie z polityką firmy i najlepszymi praktykami.

Problematyczny interfejs

Bardzo często niewielkie firmy wirtualizują systemy operacyjne w ten sposób, że każdy z nich korzysta ze wspólnej, wirtualizowanej karty sieciowej w trybie bridge. Jest to dość niebezpieczny scenariusz, bowiem bardzo prosto można w ten sposób przechwycić ruch sieciowy od innych maszyn. Wystarczy zainstalować odpowiednie oprogramowanie manipulujące, takie jak ettercap, które potrafi manipulować pakietami ARP i odpowiednio zmieniać drogę pakietów. Ponieważ w najprostszej konfiguracji pakiety takie nie wychodzą poza infrastrukturę wirtualizacji, nie przechodzą przez zestaw przełączników sieciowych, wykrycie takiego sniffera wcale nie jest proste.

W pewnych przypadkach można zrealizować sniffing bez wysyłania żadnego pakietu. Do przechwycenia znacznej części ruchu wystarczy zdobyć uprawnienia systemowe na jednej wirtualnej maszynie. W ten sposób można próbować przejąć bardzo dużą ilość informacji przy minimalnym nakładzie pracy. Rozwiązaniem jest przyjęcie żelaznej zasady przypisania konkretnego interfejsu fizycznego do maszyny wirtualnej oraz przepuszczanie ruchu przez zaporę sieciową. Są też inne rozwiązania tego problemu, polegające na integracji infrastruktury sieciowej i odpowiednim przypisywaniu interfejsów do maszyn wirtualnych.

Uwaga na pliki

Maszyna wirtualna to jest zestaw plików, które zawierają informacje o sposobie uruchomienia zasobów zawartych w pliku wirtualnego dysku. Gdy system umieszczony w takim środowisku nie pracuje, można stosunkowo łatwo podmienić lub zmodyfikować jego zawartość. Jest to znacznie łatwiejsze niż w przypadku systemu instalowanego wprost na sprzęcie, gdzie wymagany jest dostęp fizyczny do wyłączonego komputera. Dostępne narzędzia do modyfikacji plików wewnątrz wirtualnego dysku sprawiają, że w ten sposób można bardzo sprawnie umieścić rootkita wewnątrz typowych systemów (Windows, Linux, Solaris). Atak tą drogą można wykonać bardzo szybko i sprawnie. Nie wymaga on nawet uprawnień systemowych wewnątrz chronionej maszyny, wystarczy możliwość zapisu do pliku maszyny wirtualnej w zasobie. Jest to szczególnie groźny sposób ataku, gdyż nie pozostawia śladów w systemach IPS i odbywa się przy wyłączonym systemie operacyjnym.

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

TOP 200