Chciałbym użyć VirtualBox do zainstalowania oprogramowania, które nie powinno mieć dostępu do mojego komputera-hosta (i odwrotnie). Jednak przewiduję również możliwość próbowania bardziej „niebezpiecznych” rzeczy, takich jak próba uruchomienia exploitów zero-day i zobaczenia, co mogą zrobić.
Jak odizolować maszynę wirtualną od hosta? Powinienem (lub może nie?) Skonfigurować zaporę między gościem a gospodarzem? Czy dodatki dla gości stanowią zagrożenie bezpieczeństwa? Co z udostępnionymi katalogami?
W tej chwili na maszynie gościa trwają testy GNU / Linux Debian.
security
virtualbox
Giusti
źródło
źródło
Odpowiedzi:
Zacznę od stwierdzenia, że to pytanie jest bardzo szerokie i pokazuje bardzo mało oryginalnych badań i że ta odpowiedź nie powinna być postrzegana jako zachęta do tego rodzaju pytań. Zamiast tego ta odpowiedź ma na celu dostarczenie bardzo podstawowych wskazówek bezpieczeństwa dla osób, które dopiero zaczynają od analizy złośliwego oprogramowania.
Przy założeniu, że korzystasz ze znanego, wcześniej zbadanego złośliwego oprogramowania, sposób izolacji środowiska zależy w dużej mierze od tego, do czego zdolne jest to złośliwe oprogramowanie. Niektóre ogólne zasady mające zastosowanie do większości współczesnego złośliwego oprogramowania mogą być następujące:
Odizoluj swoją maszynę wirtualną od Internetu. Może to być tak proste, jak brak skonfigurowania przekazywania interfejsu do komputera-gościa, i zapobiega komunikowaniu się złośliwego oprogramowania z potencjalnymi węzłami dowodzenia i kontroli, które mogłyby nakazać mu działanie w nieprzewidziany sposób.
Użyj odpowiedniego hiperwizora. Istnieje kilka głównych na rynku, w tym VirtualBox, HyperV, QEMU i macOS
Hypervisor.framework
, aby wymienić tylko kilka; niektóre z nich są aktywnie atakowane przez złośliwe oprogramowanie i w zależności od wersji mogą być podatne na złośliwe oprogramowanie wyłamujące się z maszyny gościa.Zdecydowanie nie instaluj dodatków gości ani analogów innych platform. Dosłownie celem tego rodzaju oprogramowania jest ustanowienie integracji między gościem a gospodarzem, skutecznie osłabiając separację między nimi. Nie jestem badaczem złośliwego oprogramowania, ale zdziwiłbym się, gdyby nie było złośliwego oprogramowania, które byłoby specjalnie atakowane na tego rodzaju powierzchni.
Aby odnieść się bezpośrednio do niektórych punktów:
W tym momencie maszynę wirtualną można dość dokładnie odizolować, ale niektóre funkcje muszą nadal przechodzić przez hosta mniej więcej bezpośrednio, przy niewielkiej ochronie hiperwizora. Od samego początku większość maszyn wirtualnych innych niż KVM (takich jak VirtualBox) nie będzie dzielić jądra z systemem operacyjnym hosta. To samo służy jako bloker dla wielu klas exploitów, w szczególności blokując możliwość uruchamiania dowolnych wywołań systemowych na jądrze hosta (z zauważalną gwiazdką, że zepsuta implementacja warstwy VM może pozwolić na obejście tego przez złośliwe oprogramowanie w mniej oczywisty sposób).
Twoja maszyna wirtualna nadal ma przestrzeń procesową na sprzęcie maszyny hosta - i chociaż nie jest to generalnie ryzyko, ponieważ nowoczesne systemy operacyjne zapewniają przyzwoitą izolację przestrzeni procesowej, nadal można jej używać do wykorzystywania ataków na bardzo niskim poziomie, takich jak młot linowy , gdzie proces sekwencyjnie zapisuje w pamięci w określony sposób, dopóki nie będzie w stanie odczytać sąsiednich bloków pamięci, których nie posiada - skutecznie umożliwiając wyciek pamięci między procesami.
Warto również zauważyć, że izolacja ma tendencję do zanikania, gdy chcesz wykonać zasadniczo dowolny rodzaj operacji wejścia / wyjścia: wejście i wyjście koniecznie oznacza przejście, które odsłania powierzchnię ataku, którą można wykorzystać do wykonywania akcji hosta. Obejmuje to przekazywanie HID, takie jak mysz i klawiatura, a także takie rzeczy, jak przechodzenie przez sieć - chociaż ogólnie zależy to od tego, jak dobrze zaimplementowano przekazywanie We / Wy w maszynie wirtualnej.
To zależy, ale generalnie nie jest to zły pomysł . Większość głównych platform obsługuje zapory ogniowe na poziomie hiperwizora. Są one co najmniej tak liberalne jak zapora ogniowa na komputerze hosta, co z kolei jest co najmniej tak samo liberalne jak zapora sieciowa LAN lub VLAN. Jeśli chcesz to wykorzystać zamiast całkowicie odciąć dostęp do sieci poprzez rozłączenie interfejsów sieci wirtualnej, zaleciłbym zbadanie portów i hostów wybranych celów złośliwego oprogramowania i przejście od tego.
Tak . Pozwalają na wszelkiego rodzaju integracje między maszyną hosta a maszyną gościa i nie zawsze zawierają otwarte specyfikacje, w których można zobaczyć, co jest otwierane; patrz wyżej.
To zależy od tego, jak to robisz, ale często jest to zły pomysł . Wiele hiperwizorów robi to, tworząc wirtualny dysk zamontowany w maszynie gościa, której katalog główny znajduje się w tym katalogu. W zależności od implementacji tego mechanizmu, który może się nieco różnić w zależności od frameworka, możesz być bezpieczny, w zależności od tego, jakie szkodliwe oprogramowanie próbujesz przetestować.
Obawiam się, że przeprowadziłeś bardzo mało badań w tym zakresie i że możesz w końcu zaszkodzić swojemu komputerowi lub swoim danym. Zanim przejdziesz dalej, radzę przyjrzeć się różnym mechanizmom izolacji w popularnych systemach operacyjnych (KVM), w jaki sposób integrują się one z platformami wirtualizacji wyższego poziomu ( maszyna wirtualna ), kontenerami ( kontener ) i
chroot
mechanizmem ( chroot ), aby nazwać kilka), kiedy każdy jest odpowiedni i co mogą, a czego nie mogą zrobić. W tym momencie będziesz mógł lepiej ocenić, czy możesz bezpiecznie bawić się złośliwym oprogramowaniem w odpowiednio odizolowanym środowisku.Wreszcie, nie powinieneś angażować się w próby pracy z nowym lub mało znanym złośliwym oprogramowaniem (chyba że jesteś doświadczonym badaczem bezpieczeństwa, ale ta odpowiedź nie jest skierowana do doświadczonych badaczy bezpieczeństwa). Złośliwi aktorzy są niezwykle kreatywni, jeśli chodzi o to, co wykorzystują i jak to wykorzystują. Aby się o tym przekonać, rzuć okiem na ostatnie rozmowy DEFCON, które nie koncentrują się wokół inżynierii społecznej lub uzyskania fizycznego dostępu za pomocą środków mechanicznych.
źródło