Środowisko Sandbox dla laika w Windows 10

Środowisko Sandbox dla laika w Windows 10

Autor: Amadeusz Labuda

Opublikowano: 3/24/2018, 12:00 AM

Liczba odsłon: 18283

Większość infekcji wynika obecnie z winy nieostrożności użytkowników

Systemy operacyjne są w dzisiejszych czasach o wiele trudniejsze do zainfekowania, niż miało to miejsce jeszcze kilka lat temu. Powód tego stanu rzeczy jest wyjątkowo banalny – niemal wszyscy korzystają obecnie z Internetu, ten zaś jest najistotniejszym nośnikiem wszelkiej maści złośliwego oprogramowania. Wobec tego faktu Microsoft nie mógł przejść obojętnie, w końcu to jego systemy operacyjne najczęściej padały ofiarą, przede wszystkim z uwagi na swoją popularność – również jako potencjalne cele ataków. Tak więc kolejne wydania Windows stawały się z biegiem czasu, sukcesywnie coraz bezpieczniejszym środowiskiem pracy i rozrywki. Niestety, nawet cały zastęp inżynierów nie był i raczej nie będzie w stanie pozbyć się z systemu operacyjnego największej luki w zabezpieczeniach – mowa tu rzecz jasna o czynniku ludzkim.

Zazwyczaj podczas korzystania z komputera domowego używamy do tego celu konta o uprawnieniach administracyjnych. Mimo iż jest to rozwiązanie wygodne i oferujące pełnię możliwości systemu operacyjnego, to niesie ze sobą niemało niebezpieczeństw. Najistotniejszym z nich jest to, że korzystając z konta administratora, dokonać możemy nieodwracalnych zmian w plikach systemowych, często zresztą nieświadomie. Oczywiście mamy również możliwość instalacji rozmaitych aplikacji, niestety, w tym także tych złośliwych i korzystających z uprawnień naszego konta w celu zainfekowania całego systemu. Rzecz jasna wirusy i im podobne zazwyczaj nie występują samodzielnie. Dużo częściej dołączone są one do instalatorów zwykłego oprogramowania, przez co ofiara zazwyczaj nie jest nawet świadoma zagrożenia. Dla przykładu, odpowiednio ukryty w instalce trojan potrafi pozostawać nieaktywny przez kilka miesięcy, aby w momencie odpowiednim dla cyberprzestępcy podłączyć komputer do tak zwanego botnetu, czyli sieci zainfekowanego sprzętu wykorzystywanej w atakach typu DDoS.

Schemat ataku przu użyciu sieci botnet

Suma kontrolna, czyli weryfikacja podejrzanych plików

Oczywiście istnieją metody pozwalające na zweryfikowanie, czy mamy do czynienia z bezpieczną aplikacją. Najlepszą z nich jest bodajże sprawdzenie tak zwanej sumy kontrolnej (checksum) pobranego pliku i porównanie jej z tą udostępnioną przez twórców programu. Jeśli są one tożsame, to oznacza to, że aplikacja nie różni się wcale od tej udostępnionej przez wydawcę. Jak łatwo jednak przewidzieć, proces ten jest dosyć skomplikowany i wymaga posłużenia się specjalnym oprogramowaniem (wersja łatwiejsza) lub konsolą systemu Windows (wersja trudniejsza). Prawdziwy problem pojawia się w sytuacji, w której suma kontrolna nie została nigdzie podana lub też korzystamy z pliku niepewnego pochodzenia. W teorii można takowy plik uruchomić, bowiem antywirus powinien zablokować uruchomienie złośliwego oprogramowania, jednak z doświadczenia wiem, że jest to igranie z ogniem. Na szczęście przy odrobinie wiedzy niemal zawsze można skorzystać z wyizolowanego środowiska, co pozwoli nam na uniknięcie ewentualnych infekcji.

Wirtualizacja, czyli czasochłonne lekarstwo na całe zło

Najbardziej znanym typem wydzielonego środowiska w systemie Windows są, bezapelacyjnie, maszyny wirtualne. Do ich stworzenia możemy skorzystać nie tylko z rozwiązań firm zewnętrznych, lecz również z wbudowanego w Windows 10 narzędzia zwanego Hyper-V. Mimo iż sam ten proces nie jest zbyt trudny, to zabiera sporo czasu – w końcu zakłada on między innymi instalację i konfigurację systemu Windows. Dodatkowo potrzebne jest do tego wyizolowanie niemałej przestrzeni dyskowej (również w Hyper-V), co dla wielu osób może okazać się problematyczne. Na szczęście dla maszyn wirtualnych istnieje całkiem poręczna alternatywa – środowisko sandbox.

Klasyczna wirtualizacja

Narodziny środowiska sandbox, czyli rozwiązania idealnego

Historia środowiska sandbox jest dosyć długa (jak na standardy technologii IT), bowiem jego powstanie ściśle wiąże się z systemem Hydra, nad którym prace trwały we wczesnych latach siedemdziesiątych dwudziestego wieku, na uniwersytecie Carnegie Mellon. Były to czasy, gdy wystarczył jeden błąd w kodzie, by wysypał się cały system. Hydra była wyjątkiem – w jej przypadku eksperymentalne kody oraz programy nie miały dostępu do mechanizmów wyższego poziomu, wskutek czego nie zachodziło ryzyko krytycznego błędu. Ideę tę podchwycili również inni twórcy, co doprowadziło do rozwoju dynamicznych domen systemowych, zwanych również trusted containers (w przypadku systemów Sun, obecnie Oracle) oraz jails (system FreeBSD). To właśnie te mechanizmy pozwalały w przeszłości na uruchomienie dowolnej aplikacji bez ryzyka, że wpłynie ona na działanie systemu jako całości. Oczywiście rozwiązania tego typu szybko się przyjęły z racji swojej niezaprzeczalnej przydatności, wskutek czego ich odpowiedniki dostępne są teraz w zasadzie w każdym systemie operacyjnym – również w Windowsie. Tak więc sandbox jest w skrócie zamkniętą przestrzenią testową, którą utworzyć możemy właściwie na dowolnym komputerze.

Piaskownica

Jak to właściwie działa?

Działanie środowiska typu sandbox doskonale obrazuje piaskownica (ta ze świata fizycznego), od której zresztą wzięła się jego nazwa. Dzieci mają to do siebie, że potrafią w mgnieniu oka wyrządzić w swoim otoczeniu masę szkód, czego świadom jest zapewne każdy rodzic – wystarczy wspomnieć popisane ściany czy potłuczone naczynia. Jeśli jednak naszą pociechę umieścimy w piaskownicy, zagrożenie dla otoczenia zasadniczo znika. W przypadku sandboksa w charakterze dzieci występują aplikacje, zaś piaskownicą jest wydzielona przestrzeń systemowa, która posiada ściśle określone granice. Dzięki temu nawet jeśli aplikacja okaże się potencjalnie niebezpieczna, nie będzie ona w stanie objąć swoim zasięgiem właściwego systemu operacyjnego. Największą zaletą omawianego środowiska jest jego dostępność, gdyż nie wymaga ono od nas kluczy licencyjnych czy też zbyt dużo przestrzeni dyskowej, jak ma to miejsce w przypadku pełnej wirtualizacji. W praktyce wystarczy jednokrotnie ściągnąć i zainstalować aplikację odpowiedzialną za tworzenie piaskownic (wydzielonych obszarów), po czym w dowolnej chwili w ciągu zaledwie kilku sekund przygotować tymczasowe środowisko testowe. Jest to przydatne nie tylko do weryfikacji niepewnych plików, lecz również do uruchamiania kilku aplikacji jednocześnie, co w standardowych warunkach często nie jest możliwe (limit aktywnych instancji).

Działanie piaskownicy

Czas na działania praktyczne

Jednym z najpopularniejszych programów do tworzenia piaskownic jest Sandboxie. Aplikacja ta nie tylko jest darmowa i dosyć prosta w obsłudze, lecz również bardzo łatwo znaleźć w sieci dotyczące jej poradniki. Z tych właśnie względów to nią posłużymy się w dalszej części tekstu, gdzie przeanalizujemy typowe scenariusze korzystania z piaskownicy. Nie traćmy zatem czasu i do dzieła!

Zanim jeszcze przejdziemy do właściwych testów, konieczna jest oczywiście instalacja samego oprogramowana oraz utworzenie niezbędnej piaskownicy. W tym celu udajemy się na oficjalną stronę Sandboxie, po czym przechodzimy do działu Download i klikamy widoczny po prawej stronie przycisk z logiem programu, co wywoła monit, w którym należy potwierdzić chęć pobrania instalatora. Kolejnym krokiem jest oczywiście jego uruchomienie, a następnie przejście przez proces instalacyjny. Pierwsze okno instalatora pozwala nam wybrać język polski, wobec czego zaznaczamy go na wysuwanej liście i potwierdzamy przyciskiem OK. Następnie czeka nas zapoznanie się z warunkami licencji, po czym, o ile się na nie zgodzimy, klikamy Zgadzam się. Kolejnym krokiem jest wybranie lokalizacji, w której zainstalowana ma być aplikacja oraz potwierdzenie wyboru za pomocą polecenia Zainstaluj. Gdy pasek postępu zapełni się, klikamy Dalej dwukrotnie (w następujących po sobie oknach). Aby zakończyć instalację, klikamy przycisk Zakończ. Po chwili Sandboxie uruchomi się i wyświetli nam okienko potwierdzające zgodność oprogramowania – potwierdzamy poprzez wybranie OK.

Fragment samouczka

Nadszedł czas, aby rozpocząć korzystanie z nowo zainstalowanej aplikacji oraz utworzyć pierwszą piaskownicę. Program wyświetli prosty samouczek wyjaśniający absolutne podstawy, wobec czego warto uważnie go prześledzić. Gdy już go ukończymy, czas na utworzenie naszej własnej piaskownicy. W teorii możemy oczywiście skorzystać z domyślnej, jednak warto pozostawić ją w razie czego w spokoju, jako dawcę ustawień konfiguracyjnych. W głównym menu z belki u góry wybieramy opcję Piaskownica, po czym Utwórz nową piaskownicę. W górnym polu okna, które się pojawi, należy wpisać pożądaną nazwę środowiska testowego, po czym z rozwijanej listy na dole wybrać DefaultBox i wcisnąć OK. Gdy już tego dokonamy, nasza piaskownica zostanie utworzona. Oczywiście zanim przejdziemy do dalszych działań, możemy zmienić jej ustawienia, jednak nie powinno być to konieczne. Od tego momentu ikonę Sanboxie znajdziemy w zasobniku systemowym.

Tworzenie piaskownicy

Testy podejrzanego pliku, który zamierzamy pobrać

Jednym z głównych zagrożeń, które napotkać możemy w sieci, są podejrzane pliki DOC i PDF. Trafiają one do nas zwykle za pośrednictwem wiadomości e-mail, którym cyberprzestępcy starają się nadać jak najbardziej urzędowy wygląd, często twierdząc, że to faktury i inne podobne dokumenty. Oczywiście mogą one zawierać złośliwy kod lub nie mniej szkodliwe makro, wobec czego najlepiej trzymać się od nich z daleka. Niestety, czasami ciekawość ludzka przezwycięża zdrowy rozsądek. Na szczęście w sytuacji kryzysowej pliki tego typu otworzyć możemy (choć nie jest to w ogóle zalecane) w zamkniętej piaskownicy. Oczywiście ewentualne pobieranie koniecznie należy wykonać przy pomocy przeglądarki uruchomionej w wydzielonym środowisku. W tym celu wywołujemy okno Sandboxie poprzez kliknięcie odpowiedniej ikonki w zasobniku systemowym prawym przyciskiem myszy i wybranie pozycji Pokaż okno. Gdy już to zrobimy, z górnej belki wybieramy opcję Piaskownica, następnie przechodzimy przez pozycję opisaną nazwą naszej piaskownicy do Uruchom w piaskownicy i klikamy Uruchom przeglądarkę internetową. Powielone zostaną w niej otwarte przez nas karty, zaś bezpieczną instancję rozpoznamy po żółtym obramowaniu okienka. Kolejnym krokiem jest przejście do strony, z której zamierzamy pobrać podejrzany plik, oraz jego pobranie. Gdy proces zostanie zakończony, wyświetli się nam komunikat o przeniesieniu pliku do piaskownicy – pod żadnym pozorem go nie przywracamy! Komunikat ten wystarczy zamknąć. Następnie za pośrednictwem chronionej przeglądarki otwieramy folder zapisu plików (inaczej świeże pobranie nie będzie widoczne). Ostatnim już krokiem jest otwarcie podejrzanego pliku, przy czym możliwe, że trzeba będzie skorzystać z opcji Otwórz za pomocą. Warto tu jeszcze zaznaczyć, że dla niektórych typów plików konieczna jest dodatkowa konfiguracja właściwości piaskownicy.

Uruchomienie bezpiecznej przeglądarki

Testy pobranego już wcześniej podejrzanego pliku

Czasami zdarza się, że podejrzeń odnośnie pobranej zawartości nabieramy dopiero po jej pobraniu, lecz jeszcze przed zapoznaniem się z nią. Nie jest to najlepsza sytuacja, bowiem nawet plik pozornie nieszkodliwy potrafi czasem zainfekować komputer złośliwym oprogramowaniem. Na szczęście za pomocą Sandboxie możemy go bez problemu zweryfikować, aczkolwiek bezpieczniejszym wyjściem jest oczywiście po prostu usunąć go z dysku. Aby uruchomić podejrzany plik w środowisku zamkniętym, wystarczy udać się do lokalizacji, w której się on znajduje, po czym kliknąć go prawym przyciskiem myszy i z wyświetlonej listy wybrać Uruchom w piaskownicy. Wywoła to menu Sandboxie, w którym zaznaczamy utworzoną wcześniej przez nas piaskownicę i wciskamy OK. Po chwili program zostanie uruchomiony, nie wyrządzając szkody naszemu systemowi.

Uruchomienie pliku w Sandboxie

Kilka słów na zakończenie

Oczywiście przedstawione powyżej scenariusze nie prezentują wszystkich możliwości oferowanych przez piaskownice, albowiem tych jest bez liku. Po odpowiedniej konfiguracji środowiska możliwe jest chociażby zainstalowanie i uruchomienie kilku aplikacji, które zwykle ograniczane są do zaledwie jednej aktywnej instancji. To właśnie z tego względu piaskownice bardzo często kojarzone są z programistami. Jakkolwiek by nie było, powyższy tekst przedstawia wiedzę potrzebną do rozpoczęcia przygody ze środowiskiem typu Sandbox, reszta zaś leży już wyłącznie w Waszych rękach. Drobna dygresja na koniec: mimo iż z założenia piaskownice należą do bezpiecznych struktur, nie warto ufać im całkowicie. W końcu nie istnieją systemy nie do złamania ani zabezpieczenia gwarantujące 100% bezpieczeństwa.