Zdalny dostęp, szybkie wsparcie użytkowników i możliwość bezpiecznego zarządzania urządzeniami...
Co to jest sandboxing?
Uruchamianie obcej aplikacji, skryptu lub pliku bezpośrednio na lokalnym systemie operacyjnym zawsze wiąże się z ryzykiem infekcji środowiska i spowodowania trudnych do naprawienia szkód. W praktyce większość działów IT, czy software house’ów nie dysponuje wolnymi maszynami, na których można eksperymentować niezależnie od rezultatu, ale branża IT już dawno znalazła rozwiązanie tego problemu. Jest nim sandboxing. Na czym polega tytułowa piaskownica i gdzie się ją stosuje?
Czego dowiesz się z tego artykułu:
- Sandboxing pozwala na uruchomienie pliku lub aplikacji w odizolowanym, bezpiecznym środowisku.
- Proces wirtualizacji może być przeprowadzany bezpośrednio na urządzeniu lub w chmurze.
- Sandboxing wykorzystuje się m.in. w tworzeniu i testowaniu oprogramowania lub cyberbezpieczeństwie.
Sandbox — co to znaczy i jak działa piaskownica?
W slangu IT poprzez sandboxing rozumie się technikę bezpieczeństwa pozwalającą na uruchomienie programu w odizolowanym środowisku. Odizolowanym, czyli takim, w którym dany plik lub skrypt ma ograniczony dostęp do zasobów systemowych, więc nie może wprowadzać w nich żadnych zmian. Jak łatwo się domyślić, sam termin pochodzi od słowa piaskownica (ang. sandbox), czyli wydzielonego obszaru, w obrębie którego dzieci mogą się bezkarnie bawić.
Środowisko piaskownicy posiada część zwirtualizowanych zasobów sprzętowych i zasobów systemu, ale wyłącznie w zakresie niezbędnym do uruchomienia testowanego kodu. W ten sposób eliminuje się ryzyko interakcji programu z zasobami zewnętrznymi. Proces sandboxingu bazuje na trzech mechanizmach:
- wirtualizacja (ang. virtualization),
- kontrola dostępu (ang. access control),
- technikach anty-unikowych (ang. anti-evasion technologies) stosowanych głównie w programach antywirusowych.
Wirtualizacja polega na symulowaniu istnienia zasobów logicznych, w tym mocy obliczeniowej procesora, pamięci RAM, czy przestrzeni dyskowej. Oczywiście oprogramowanie może dokonać symulacji wyłącznie w granicach możliwości sprzętowych. Innymi słowy, użytkownik może zażądać, aby wirtualizacja 2 TB pamięci odwzorowała 500 GB pamięci dysku, ale już nie 3 TB. Środowisko używane do wirtualizacji zapewnia wysoki poziom bezpieczeństwa całej operacji. Sandboxing można wdrożyć na kilka sposobów, w tym jako:
- maszynę wirtualną — bardziej złożona metoda polegająca na odwzorowaniu działania całego komputera, w zależności od konfiguracji może utrzymywać kontakt z systemem macierzystym lub zerwać go całkowicie,
- kontener — prostsza forma wirtualizacji, która angażuje mniej zasobów sprzętowych, rezerwując ich dokładnie tyle, ile jest niezbędne do uruchomienia aplikacji.
Nawet wysoki poziom izolacji niekiedy wymaga, aby aplikacja sięgnęła po zasoby dostępne na komputerze. W tym celu narzędzia umożliwiające sandboxing są wyposażone w specjalny silnik, tzw. access control rule engine, który definiuje reguły zachowania się programu. W ten sposób można ograniczyć interakcje uruchamianej aplikacji np. z siecią, czy ograniczyć jej przenikanie przez firewalle.

Przyjrzyjmy się sytuacji, kiedy program antywirusowy umieszcza w piaskownicy zawirusowany plik. Złośliwe oprogramowanie najprawdopodobniej będzie usiłowało wydostać się na zewnątrz w celu zainfekowania systemu. W celu zapewnienia zwiększonego bezpieczeństwa, procedura sandboxingu wykorzystuje różnego rodzaju mechanizmy antyunikowe, w tym:
- ukrywanie informacji o wirtualnej maszynie w rejestrze,
- zwracanie informacji o nieistnieniu symlinka (dowiązania symbolicznego), kiedy złośliwe oprogramowanie usiłuje utworzyć połączenie z systemem zewnętrznym,
- ukrywanie procesów usługowych oraz szczegółowych informacji o sandboxingu.
Zalety sandboxingu
Korzystanie z sandboxingu niesie ze sobą wymierne korzyści dla użytkownika. Przede wszystkim są to:
- ograniczenie ryzyka infekcji systemu macierzystego (hosta),
- możliwość wykrycia zagrożeń typu zero-day, które nie zostały dostrzeżone przez producenta,
- możliwość koegzystowania z innymi mechanizmami zabezpieczeń, jak firewall, programy antywirusowe, czy oprogramowanie klasy Intrusion Prevention System,
- możliwość obserwowania zachowań złośliwego oprogramowania w celu ukierunkowania rozwoju zabezpieczeń.
Gdzie stosuje się sandboxing?
Sandboxing może być wykorzystany na kilka sposobów. Twórcy oprogramowania sięgają po piaskownicę, ponieważ umożliwia ona testowanie kodu źródłowego w czasie rzeczywistym w różnych środowiskach. Można skorzystać z niego, aby np. utworzyć maszynę wirtualną z systemem Linux na komputerze z systemem Windows. Dla firm to duża oszczędność i elastyczność pracy, ponieważ nie muszą inwestować w rozbudowaną infrastrukturę IT.
Zastosowanie piaskownic jest widoczne także w cyberbezpieczeństwie. Antywirusy wykorzystują sandboxing, aby odizolować podejrzany plik i przeskanować go w poszukiwaniu zagrożeń.
Warto wspomnieć, że sandboxing może być zastosowany na dwa sposoby:
- maszyna wirtualna oparta na urządzeniach (ang. appliance-based sandboxing) — wymaga fizycznego zainstalowania na komputerach, co może stanowić problem dla organizacji o strukturze rozproszonej, ponieważ utrata dostępu do intranetu powoduje, że ochrona znika,
- maszyna wirtualna w chmurze (ang. cloud-based sandboxing) — bezpieczne środowisko wirtualizacji jest dostępne w chmurze, niezależnie od położenia punktów końcowych; to duża oszczędność i ułatwienie dla personelu pracującego zdalnie.
Czym jest Windows Sandbox?
Nie zawsze musisz instalować specjalne programy do wirtualizacji, aby móc pracować bezpiecznie. Narzędziem umożliwiającym sandboxing jest Windows Sandbox, który znajdziesz w systemach operacyjnych Windows 10 Pro oraz Windows 11 Pro. Pozwala ono na uruchomienie odizolowanej, dynamicznej kopii systemu operacyjnego powiązanej linkami z podstawowymi plikami systemowymi. Ważne jest to, że piaskownica Windows zajmuje około 100 MB, musi jednak uruchomić pełny system Windows, co wpływa zarówno na obciążenie RAM, jak i CPU. Praca na tych samych zasobach, co host pozwala na przykład na zaoszczędzenie pamięci RAM, która jest wykorzystywana dynamicznie, czy optymalne wykorzystanie układu graficznego.
Pomimo przydatności, faktem pozostaje jednak to, że Windows Sandbox nie zawsze gwarantuje pełne bezpieczeństwo. Narzędzie działa w osobnej podsieci, ale nadal może nawiązać łączność z siecią główną za pomocą translacji adresów sieciowych NAT (ang. Network Address Translation). To „furtka”, przez którą malware może usiłować dostać się do bazowych zasobów. Do innych przypadków wydostania się oprogramowania malware na zewnątrz należy zaliczyć luki typu zero-day, luki w bezpieczeństwie wynikające z braku aktualizacji Windowsa, czy tzw. VM Escape, czyli proces, kiedy oprogramowanie zaczyna wchodzić w interakcję z hostem.
Z każdą piaskownicą należy obchodzić się ostrożnie, choć niewątpliwie jest to niezwykle użyteczne narzędzie.





















