GeSWall – izolowanie aplikacji w oparciu o politykę ograniczania dostępu
|GeSWall to jedna z darmowych aplikacji, która oferuje ochronę systemu operacyjnego przed atakiem malware i wirusów opierając swoje działanie na izolowaniu uruchamianych aplikacji, które mają ograniczone prawa do modyfikowania plików i wpisów w rejestrze. Zasada działania jest zupełnie inna od tradycyjnej ochrony na bazie antywirusa, gdzie użytkownik sam musi dokonać wyboru w przypadku wykrycia szkodliwego pliku. W przypadku złej decyzji, plik może spowodować poważne uszkodzenie systemu. GeSWall działa inaczej – izoluje aplikacje od systemu, nakładając na nie restrykcje, a szkodliwe pliki nie będą mieć prawa do wykonywania niepożądanych zmian w systemie.
GeSWall 2.9.2 tutorial, opis, instrukcja, jak używać
Polityka ograniczania dostępu
Izolowana aplikacja ma nałożone restrykcje:
- Może odczytać, ale nie może modyfikować zaufanych zasobów.
- Nie może odczytać lub zmodyfikować poufnych zasobów.
- Nie może monitorować wciskanych klawiszy klawiatury (keylogging).
- Nie może przechwytywać zrzuty ekranu zaufanych okien aplikacji.
- Nie może odczytać zawartości schowka z zaufanych aplikacji.
- Może tworzyć nowe niezaufane zasoby, np. pliki.
- Może odczytać lub modyfikować niezaufane zasoby.
Restrykcje i efekty:
- brak dostępu do kernela (jądra systemu) – zapobiega infekcjom przez rootkity w trybie jądra i keyloggerom
- dostęp do zaufanych plików, rejestru, procesów itp. w trybie tylko do odczytu – zapobiega infekcjom przez rootkity w trybie użytkownika, keyloggerom i każdym innym złośliwym oprogramowaniem
- brak zaplanowanych ponownych uruchomień – zapobiega infekcjom przez backdoory, boty zombie i robaki
- brak dostępu do poufnych plików – zapobiega wyciekowi poufnych informacji
Wszystkie zasoby są traktowane jako zaufane (trusted), z wyjątkiem tych tworzonych przez izolowane aplikacje. Zasoby tworzone przez aplikacje izolowane są niezaufane (untrusted). Poufne (confidential) są te zasoby, które są oznaczone jako poufne w bazie danych.
Komunikaty i ostrzeżenia
Pobieramy plik instalacyjny i instalujemy aplikacje. Instalacja jest typowa i nie sprawi żadnych trudności. Po zakończeniu wymagany będzie restart komputera.
Po restarcie aplikacja automatycznie chroni system. Baza programu ma domyślnie skonfigurowane najczęściej używane przeglądarki internetowe, gdzie przy każdym ich uruchamianiu wyświetla okienko z pytaniem, czy uruchomić program w izolacji czy normalnie. A dlaczego przeglądarki internetowe? A to dlatego, że większość szkodliwych plików i infekcji przez malware pochodzi właśnie z Internetu. Z GeSWall można bezpiecznie surfować po internecie, otwierać załączniki e-mail, czatować, wymieniać pliki, itp., nie zwracając uwagi na zagrożenia płynące z internetu.
W sytuacji, gdy aplikacja próbuje uzyskać połączenie z internetem lub próbuje odczytać niezaufane zasoby, wyświetli się okienko:
W okienku mamy możliwość wyboru trybu uruchamiania:
- Yes – uruchomienie programu w izolacji
- No – uruchomienie programu normalnie, bez izolacji
Możemy zapamiętać wybór zaznaczając 'Do not ask again’. Mamy czas 85s na podjęcie decyzji, po zakończeniu odliczania aplikacja uruchomi się automatycznie w izolacji.
Uruchomiona izolowana aplikacja oznaczona jest kolorowym paskiem tytułu oraz ikoną „G”. Po kliknięciu na ikonę możemy zmienić kolor paska tytułu i zrestartować program jako nie izolowany.
Każdy plik pobrany z internetu / utworzony / zmodyfikowany za pomocą izolowanej aplikacji będzie oznaczony jako niezaufany. Wizualnie ikona pliku ma czerwone obramowanie oraz ikonę „G”. Pamiętać trzeba, że skopiowanie plików w inne miejsce za pomocą nie zaizolowanej aplikacji usuwa etykietę „niezaufane”. Etykieta nie jest usuwana, w momencie zmiany nazwy pliku lun jego przeniesienia w obrębie jednej partycji. Z pomocą menu kontekstowego możemy także oznaczyć plik jako zaufany (Label as Trusted) lub nie zaufany (Label as Untrusted).
Jeżeli plik jest wykonywalny (.exe), uruchamiając go GeSWall wyświetli okienko z propozycją uruchomienia w izolacji. Jest to ochrona przez modyfikacją systemu, ponieważ niezaufane pliki są bardzo często powodującymi infekcje w systemie.
Z reguły pakiety instalacyjne (setup) nie zadziałają, jeżeli uruchomione zostaną jako izolowane. Jeżeli pakiet uważamy za zaufany, uruchamiamy go bez izolacji wybierając „No”.
Gdy instalator jest niezaufany, uruchomienie go w izolacji nie pozwoli na instalację, z powodu restrykcji i braku możliwości zapisu w katalogu Progrm Files. GeSWall stosowany jest w celu zapobiegania ataków dokonanych przez zainstalowane zaufane aplikacje, jak przeglądarki internetowe, komunikatory, poczta e-mail, klient p2p i tak dalej. Dlatego w tym przypadku, chcąc przetestować taki instalator jest skorzystanie z w pełni zwirtualizowanych środowisk.
W przypadku, gdy pliki nie są wykonywalne, izolowana jest domyślna aplikacja służąca do ich otwierania. Np. otwierając plik PDF izolowany jest czytnik pdf np. Foxit Reader. Ale uwaga – aplikacja musi być w bazie danych GeSWall (opis poniżej).
Kiedy izolowana aplikacja próbuje uzyskać dostęp do poufnych plików, wyświetli się ostrzeżenie. W celu ochrony prywatności, GeSWall odmówi dostępu do pliku, ale mamy możliwość autoryzacji np. w przypadku chęci dodania załącznika do e-maila.
Program integruje się z menu kontekstowym Explorera dodając trzy funkcje:
- Run Isolated – uruchomienia pliku w izolacji
- Application Wizard: dodanie aplikacji do bazy danych
- Label as Untrusted / Trusted: oznaczenie pliku jako nie /zaufany
GeSWall wyświetla komunikaty:
- w momencie, gdy aplikacja próbuje uzyskać dostęp do zasobów. Są to powiadomienia informacyjne o blokadzie dostępu do plików, rejestru, procesów. Pozwala zobaczyć co aktualnie blokuje program. Klikając ikonę w zasobniku systemowym koło zegara możemy określić, które powiadomienia mają się wyświetlać lub całkowicie je wyłączyć oraz określić czas ich wyświetlania.
- w momencie wykrycia ataku. Blokowane są podejrzane operacje typowe dla złośliwego oprogramowania. Możemy zakończyć proces klikając w 'Terminate’
GeSWall Console
Przystawka MMC (Microsoft Management Console) GeSWall Console pozwala na szczegółowe sterowanie programem.
Security Level
GeSWall obsługuje kilka poziomów zabezpieczeń, a aktualnie włączony oznaczony jest czerwoną strzałką.
- Isolate jailed applications: izolowane są tylko więzione aplikacje.
- Isolate known applications: izolowane są aplikacje, które znajdują się w bazie programu. Domyślny tryb.
- Auto-isolation, no pop-up dialogs: podobny do poprzedniego, ale bez wyskakujących okienek. Program izoluje aplikacje bez pytania użytkownika.
GeSWall Summary
Ogólne podsumowanie działania programu, zawierający liczbę restrykcji, ataków i izolowanych aplikacji.
Resources
Sekcja zawierająca definicje zaufanych i niezaufanych zasobów. Polityka ograniczenia dostępu używa tych definicji do izolowania aplikacji.
Domyślnej listy najlepiej nie modyfikować. Można za to dodawać nowe zasoby z menu AkcjaAdd Resource.
W Security Class określamy klasę bezpieczeństwa, czyli co mogą, a czego nie izolowane aplikacje:
- Trusted: zasoby są zaufane i nie mogą być modyfikowane (odczyt jest możliwy). Domyślnie wszystkie zasoby są zaufane.
- Confidential: zasoby są poufne i nie mogą być odczytywane oraz modyfikowane. Domyślnym folderem jest My DocumentsConfidential. Dlatego albo tworzymy taki folder lub określamy inny i kopiujemy do niego poufne pliki.
- Deny Create: zakaz tworzenia zasobów. Domyślnie aplikacje mogą tworzyć pliki i foldery bez ograniczeń, ale nie mogą tworzyć kluczy w rejestrze.
- Untrusted: zasoby są niezaufane i mogą być modyfikowane.
- Threat gates i System: zastrzeżone do użytku wewnętrznego GeSWall
- Restricted for Trusted: zasoby, które nie mogą być modyfikowane, nawet przez zaufane aplikacje.
W Resource Type wskazujemy typ zasobu: plik, folder, rejestr, urządzenie, sieć, obiekt systemu, sekcje pamięci lub „any”, czyli wszystkie możliwe zasoby (nie zalecane). Można także określić zasoby podając właściciela lub nazwę zasobów.
Przykładowo, dodałem folder „c:Downloads” jako mój poufny katalog:
Applications
Sekcja zawiera definicje aplikacji wraz ze szczegółowymi zasadami, które stanowią bazę danych aplikacji. Aplikacje są podzielone na grupy np. komponenty systemu i GeSWall, przeglądarki internetowe, klienty e-mail, przeglądarki dokumentów, multimedia.
Z menu AkcjaAdd Group dodać możemy nową grupę. Wybierając menu Akcja/Add Application mamy możliwość dodania nowej aplikacji do grupy.
W File name wskazujemy plik wykonywalny aplikacji.
W Security Level ustalamy Poziom zabezpieczeń:
- Never isolate – aplikacja jest zaufana i nigdy nie będzie izolowana
- Isolate on access – aplikacja jest zaufana, ale gdy próbuje nawiązać połączenie z siecią lub uzyskać dostęp do niezaufanych zasobów, pojawi się okno z prośbą o izolację.
- Auto-isolation, no pop-ups – to samo co Isolate on access, ale izolacja odbywa się automatycznie.
- Always start isolated – aplikacja izolowana podczas jej startu, automatycznie.
- Untrusted (Jail) – więzienie aplikacji, która nie ma uprawnień domyślnych i może uzyskać dostęp tylko do specjalnie wyznaczonych zasobów.
Przykładowo dodałem program Free Download Manager do rozpoznawanych aplikacji. Po dodaniu aplikacja stanie się rozpoznawalna przez GeSWall i w momencie dodania nowego pliku do kolejki pobierania wyświetli okienko, czy zaizolować program. Wówczas pobierane pliki będą oznaczane jako niezaufane, jeżeli aplikacje uruchomimy w izolacji:
Identycznie dodajemy dowolną inną aplikację, zazwyczaj zaznaczając Isolate on access. Wówczas otwierając niezaufane pliki izolowana będzie aplikacja je otwierająca. Np. dodając program 7-zip w momencie otwierania niezaufanego archiwum RAR pojawi się okienko z prośbą o izolacje. Tutaj napiszę tez, że wypakowanie niezaufanego archiwum w zaufanej aplikacji, wypakowane pliki będą zaufane.
Do każdej definicji aplikacji można dodać szczególne zasady dostępu: menu Akcja/Add Rule. W 'Access Permission’ określamy opcję:
- Allow: aplikacja może odczytywać i modyfikować zasoby
- Redirect: aplikacja może odczytać zasoby, ale w momencie modyfikacji tworzona jest kopia pliku / klucza w rejestrze i na niej wykonywana jest modyfikacja. Kopia taka jest usuwana podczas zamykania aplikacji.
- Read Only: dostęp do zasobu tylko do odczytu
- Deny: odmowa dostępu
Reguły te są ładowane w momencie startu aplikacji, jeśli aplikacja jest uruchomiona wymagany jest jej restart. Mają tez wyższy priorytet od tych ogólnych reguł.
Przykładowa zasada, która pozwala na dostęp do klucza rejestru:
Untrusted Files
Wszystkie pliki, które są utworzone przez izolowane aplikacje są oznaczane jako niezaufane (untrusted). Domyślnie lista ta jest pusta. Aby utworzyć lub odświeżyć listę plików musimy wykonać skanowanie: menu „ActionStart scan:”. Po zapełnieniu listy, każdy element oznaczony jest nazwą pliku, podana jest lokalizacja na dysku, aplikacja, która go utworzyła oraz data ostatniej modyfikacji.
Zaznaczając dany plik lub grupę plików, z menu kontekstowego mamy do dwóch opcji:
- Delete file: trwałe usunięcie pliku z dysku
- Label as trusted: oznaczenie pliku jako zaufany
Wynik skanowania jest buforowany i wyświetlany przy kolejnym uruchomieniu. Rozpoczynając nowe skanowanie uzyskamy zaktualizowaną listę plików.
Isolated Applications
Lista aplikacji, które są uruchomione w izolacji. Wyświetlane są szczegółowe informacje o procesie – tytuł okna, ścieżka do procesu, opis, producent. Przyciskiem „Terminate” wyłączymy dany proces. Aby zamknąć wszystkie wybieramy menu „ActionTerminate all”. Aby odświeżyć listę wybieramy menu „ActionRefresh” lub wciskamy klawisz „F5”.
Logs
Program, w przypadku blokady dostępu do zasobów, zapisuje wszystkie zdarzenia do logów. Typy restrykcji:
READONLY access – dostęp ograniczony tylko do odczytu
REDIRECT access – dostęp został przekierowany do lokalnej kopii
DENY access – odmowa dostepu
DENY message – odmowa wysłania komunikatu w oknie
GeSWall jako firewall
Program możemy użyć także do ograniczania dostępu do sieci.
Aby wszystkie izolowane aplikacje nie miały możliwości połączenia się z siecią musimy dodać nowy, poufny zasób w sekcji Resource:
Poziom Confidential ustanawia zakaz dostępu do sieci izolowanym aplikacjom. Natomiast wybierając Restricted for Trusted zablokujemy dostęp do sieci wszystkim aplikacjom, w tym zaufanym. Takie ustawienie blokuje dostęp do sieci dla całego systemu (wyjątkiem sa systemowe procesy System, services.exe, svchost.exe, lsass.exe and winlogon.exe) i należy go udzielić dla poszczególnych aplikacji.
Oprócz globalnych ustawień, jest możliwość dodania szczegółowej zasady do konkretnej aplikacji. Ustawienia te mają pierwszeństwo nad ustawieniami globalnymi. W przykładzie zablokowałem dostęp do mojej strony:
Znak „*” oznacza wszystkie hosty w sieci.
Jako host można także wpisać konkretną stronę, używając nazwy DNS lub adresu IP np.
update.microsoft.com
192.168.1.17
W momencie próby połączenia się z siecią wyświetli się komunikat o zablokowaniu:
Ochrona systemu
1. Przeglądając Internet izolujemy przeglądarki internetowe – wówczas żadne pliki, które zostaną pobrane czy też automatycznie uruchomione w wyniku ataku drive-by download nie zainfekują systemu.
2. Jeżeli do pobierania plików używamy managera pobierania, dodajemy go do bazy GeSWall – pobierane pliki będą wówczas oznaczane jako niezaufane, a ich uruchomienie wyświetli komunikat z prośbą o izolację od systemu.
3. Dodajemy do bazy aplikacji wszystkie programy, które służą do otwierania danych plików. Wówczas otwierając np. niezaufane pliki PDF czy archiwa spakowane (zip, rar, 7z), wyświetli się okienko z prośbą o izolację czytnika.
4. W Windows 7 z włączoną technologią UAC nie można oznaczać plików jako nie / zaufane za pomocą opcji z menu kontekstowego. Rozwiązaniem może być użycie zewnętrznego managera plików np. FreeCommander. Uruchamiając program jako administrator możemy oznaczać pojedyncze pliki jako zaufane (trusted) lub niezaufane (untrusted).
5. Wykorzystując zewnętrzny manager plików i uruchamiając go w izolacji, możemy bezpiecznie przeglądać dyski przenośne, bez ryzyka infekcji z pendrajwów.
„GeSWall jest dziurawy i przepuszcza pliki”
Czytając teorie niektórych użytkowników tej aplikacji, niektórzy nie zrozumieli zasad działania tego programu. Uruchamiają aplikacje jako izolowane, w dodatku mogą to być nawet próbki wirusów. Następnie zamykają aplikacje i następnie przeglądając pliki na dysku znajdują pliki utworzone przez izolowany program. Automatycznie określają program jako dziurawy, przepuszczający pliki, że nic nie chroni, i że system mają zainfekowany.
Odpowiadając – nie mają racji. GeSWall otóż pozwala na tworzenie plików na dysku izolowanym aplikacjom. Ale zasadniczą różnicą jest to, że pliki są oznaczone etykietą Untrusted – niezaufane, a same nie mają żadnej zdolności do zainfekowania systemu. Można je traktować nawet jako atrapy.
Plik utworzone lub zmodyfikowane przez izolowane aplikacji są oznaczone jako „niezaufane”. Jeśli plik jest:
- wykonywalny (.exe) i skrypty – GeSWall klasyfikuje proces jako stwarzający zagrożenie i automatycznie izoluje go przy uruchamianiu
- sterownikiem lub biblioteką (.dll) – GeSWall zapobiega jego ładowaniu do jądra i procesów zaufanych
Przykładowo zainstalowałem program Burnaware, który jest na dysku, ale całkowicie oddzielony od systemu (ikony plików mają charakterystyczną literę G):
Fajnie wszystko opisane, widać ze masz dużą wiedzą. Trzymaj tak dalej pozdro.