26.10.2021 | 07:55

Anna Wasilewska-Śpioch

Podstawy Bezpieczeństwa: Mniej znane funkcje podnoszące bezpieczeństwo użytkowników Windowsa

Jak włączyć przeglądanie stron internetowych w środowisku izolowanym, czy da się unieszkodliwić makra w dokumentach pakietu Office, używane na potęgę do infekowania komputerów i co ma do tego PowerShell – dowiecie się z dzisiejszego poradnika.

Nie sposób w jednym artykule omówić wszystkich narzędzi dostępnych w systemie Windows, które mogą podnieść bezpieczeństwo jego użytkowników, jeśli tylko zostaną odpowiednio skonfigurowane. Jakiś czas temu pokazaliśmy w cyklu Podstawy Bezpieczeństwa, jak uruchomić piaskownicę (ang. sandbox), ale nie jest to jedyna możliwość skorzystania z izolowanego środowiska, jaką daje nam Microsoft.

Podstawy Bezpieczeństwa
Artykuł stanowi część nowego cyklu pod patronatem Aruba Cloud, czyli Podstawy Bezpieczeństwa. Doradzamy w nim, jak podnosić bezpieczeństwo codziennego używania komputerów, telefonów i internetu. Nawet jeśli nie znajdziecie w nim niczego nowego (chociaż warto najpierw sprawdzić!), to zawsze możecie te wpisy podsyłać swoim bliskim i znajomym – im na pewno się przydadzą. W poprzednich odcinkach pokazywaliśmy, jak używać menedżerów haseł, włączyć dwuskładnikowe uwierzytelnianie, zadbać o bezpieczeństwo i prywatność w usługach Google, na Facebooku i Twitterze, odpowiednio skonfigurować bardziej i mniej popularne przeglądarki oraz dobrać do nich wtyczki. Sprawdziliśmy, co oferuje Microsoft Defender i jak wypada w porównaniu z innymi antywirusami, a także czy warto instalować antywirusa na komórce. Wyjaśniliśmy też, jak poradzić sobie z telemetrią w systemie Windows 10, jak go bezpiecznie skonfigurować i jak robić w nim kopie zapasowe i szyfrować dyski.

Przeglądanie w środowisku izolowanym

Przeglądarkę Edge (i nie tylko ją) można zintegrować z mechanizmem Microsoft Defender Application Guard, co pozwoli nam na odseparowanie otwieranych stron internetowych od systemu operacyjnego i zapobiegnie jego infekcji tą drogą. Funkcja taka pojawiła się najpierw w Windowsie 10 dla przedsiębiorstw (wydanie Enterprise), później trafiła do edycji Education i Professional, nie doczekali się jej tylko użytkownicy wersji Home i nie wiadomo, czy zostanie to naprawione po aktualizacji do Windowsa 11.

Application Guard domyślnie jest nieaktywny. Aby to zmienić, musimy upewnić się, że mamy włączoną wirtualizację – w tym celu naciskamy na klawiaturze Ctrl + Shift + Esc i w nowo otwartym oknie „Menedżera zadań” zaglądamy do zakładki „Wydajność”, szukając odpowiedniej opcji. Jeśli okaże się aktywna, możemy przejść do kolejnego kroku. W przeciwnym wypadku trzeba będzie włączyć sprzętowe wsparcie dla wirtualizacji w ustawieniach płyty głównej (BIOS/UEFI). Nie możemy niestety podać uniwersalnej metody, jak to zrobić, gdyż sposób wejścia do BIOS-u, jego układ i dostępne opcje mogą się różnić w zależności od producenta (stosownych porad warto poszukać na firmowej stronie).

Włączanie przeglądania w środowisku izolowanym

Gdy już z tym sobie poradzimy, otwieramy menu „Start” i zaczynamy wpisywać słowo „włącz”. Wśród wyników wyszukiwania zobaczymy opcję „Włącz lub wyłącz funkcje systemu Windows” – klikamy w nią i na liście dostępnych funkcji znajdujemy „Hyper-V” oraz „Microsoft Defender Application Guard”. Zaznaczamy znajdujące się obok nich pola wyboru, potwierdzamy przyciskiem „OK”, czekamy dłuższą chwilę, aż system zainstaluje wybrane komponenty i restartujemy komputer na żądanie. Przy okazji – jeśli tego jeszcze nie zrobiliśmy – możemy odinstalować przestarzałą przeglądarkę Internet Explorer (wystarczy usunąć zaznaczenie tej opcji, jak na zrzucie ekranu).

Korzystanie z funkcji Application Guard w Microsoft Edge i Google Chrome

Od tego momentu wszelkie podejrzane strony będziemy mogli odwiedzać, korzystając z dostępnej w Edge opcji „Nowe okno Application Guard”, co w praktyce oznacza przeniesienie przeglądarki do maszyny wirtualnej z własnym jądrem i usługami systemowymi – strony będą otwierane w uproszczonym kontenerze, oddzielonym od systemu operacyjnego za pomocą technologii Hyper-V. Istnieją też odpowiednie wtyczki do Google Chrome i Firefoksa, które wymagają jednak zainstalowania dodatkowej aplikacji ze sklepu Microsoft Store. Jeśli się na to zdecydujemy, uzyskamy możliwość rozpoczynania sesji Application Guard po kliknięciu w ikonę rozszerzenia na pasku menu wybranej przeglądarki. Możemy też wtedy zobaczyć opcję „Zezwalaj firmie Microsoft na zbieranie danych diagnostycznych” – sugerujemy ją wyłączyć.

Przy okazji warto rozwiać wątpliwości dotyczące opcji „Nowe okno InPrivate” (którą także widzimy na zrzucie ekranu). Jej odpowiednikiem w Google Chrome jest „Nowe okno incognito”, a w Firefoksie – „Nowe okno prywatne”. Wiele osób jest przekonanych, że przeglądanie w trybie prywatnym zapewnia anonimowość i zapobiega śledzeniu ich poczynań w sieci. Jak bardzo się mylą, udowadnia zyskująca ostatnio na popularności strona Nothing Private – podajemy na niej swoje imię, włączamy okno incognito i ponownie odwiedzamy stronę, przekonując się, że zostaliśmy rozpoznani (zwłaszcza jeśli korzystamy ze standardowych ustawień przeglądarki). Tak działa fingerprinting. Autor projektu wyjaśnia na GitHubie, jakich użył technologii, a my w jednym z wcześniejszych artykułów pokazywaliśmy, jak część z nich wyłączyć. Przeglądając coś w trybie prywatnym – bez zastosowania dodatkowych środków – nie ukryjemy swojej aktywności przed właścicielami odwiedzanych stron i reklamodawcami, z którymi nawiązali oni współpracę. Mało tego, jeśli korzystamy z komputera w pracy, to zatrudniająca nas firma może być w stanie monitorować strony, które przeglądamy bez względu na okno, w jakim to robimy. Tak samo jak dostawca usług internetowych, gdy jesteśmy w domu. Do czego więc służy tryb prywatny w przeglądarkach? Do ukrywania naszych działań przed innymi osobami korzystającymi z tego samego komputera – choć też nie w stu procentach, bo aplikacja nie zapisze wprawdzie naszej historii przeglądania, ciasteczek czy haseł, ale nie usunie też pobranych plików i dodanych zakładek.

Unieszkodliwianie makr

Wielu użytkowników systemu Windows korzysta także z różnych edycji pakietu biurowego Microsoft Office, a jednym z najpopularniejszych scenariuszy ataków od lat pozostaje nakłanianie potencjalnych ofiar do włączenia makr w dokumentach towarzyszących wiarygodnie wyglądającym e-mailom. Wśród rozpowszechnianych w ten sposób szkodników dominują trojany bankowe (TrickBot, Qbot, Dridex, Zloader i szereg innych), których funkcjonalność stale się rozszerza, wykraczając poza kradzież danych uwierzytelniających. Eksperci odnotowali więc z ulgą, że w pierwszym tygodniu października do użytkowników pakietu Office 365 trafiła wiadomość o planowanym wyłączeniu przestarzałych makr Excela 4.0, zwanych także makrami XLM (nie mylić z XML). Dziwić może, że stało się to tak późno, wspomniane makra są bowiem w użyciu od 1992 r. i od dawna mają nowszy zamiennik w postaci makr VBA (czyli tworzonych w języku Visual Basic for Applications). Zmiany w ustawieniach mają zostać wdrożone do połowy grudnia. Jeśli nie chce nam się tyle czekać albo korzystamy z innej wersji pakietu Office, możemy dokonać ich samodzielnie – w tym celu po uruchomieniu Excela klikamy w zakładkę „Plik” i przechodzimy do „Opcji” na dole po lewej stronie okna. Wybieramy najpierw „Centrum zaufania”, następnie „Ustawienia Centrum zaufania…”. Zaglądamy do sekcji „Ustawienia makr”, usuwamy zaznaczenie pola wyboru przy opcji „Włącz makra programu Excel 4.0, gdy są włączone makra języka VBA” i potwierdzamy przyciskiem „OK”.

Wyłączanie makr

Jak widać na zrzucie ekranu, domyślnym ustawieniem w przypadku makr VBA jest „Wyłącz […] z powiadomieniem”. Czy powinniśmy to tak zostawić? Makra służą do automatyzacji często powtarzanych, złożonych operacji na komórkach arkusza kalkulacyjnego, takich jak filtrowanie, sortowanie, formatowanie i wiele innych. Wszystko zależy więc od tego, czy na co dzień korzystamy z zawierających je dokumentów. Jeśli tak, powyższe ustawienie będzie dobrym wyborem – bylebyśmy nie klikali bezmyślnie w przycisk „Włącz zawartość” za każdym razem, gdy zobaczymy go po otwarciu pliku. Makra mogą bowiem posłużyć do przeprowadzenia ataku bezplikowego (ang. fileless), który polega na pobraniu szkodliwego kodu do pamięci komputera za pomocą specjalnie przygotowanych, zapisanych w nich poleceń PowerShella. Otwieranie niezaufanych dokumentów w tzw. widoku chronionym i ostrzeżenia wyświetlane przy próbie jego pominięcia mają uczulić użytkowników na taką możliwość. Jeśli z makr nie korzystamy albo konfigurujemy system z myślą o mniej zaawansowanych użytkownikach (np. nieobeznanych z technologią rodzicach), to powinniśmy wybrać opcję „Wyłącz makra języka VBA bez powiadomienia”.

Warto mieć na uwadze, że wprowadzone zmiany w ustawieniach będą dotyczyć tylko programu, w którym ich dokonaliśmy (w omawianym przypadku Excela), ale makra – jako zestawy poleceń automatyzujących pewne czynności – mogą się znaleźć w dokumentach otwieranych także w innych aplikacjach pakietu Office, np. w Wordzie czy Outlooku. Aby się przed nimi zabezpieczyć, powinniśmy zajrzeć do „Centrum zaufania” każdej z aplikacji, wybierając odpowiednie ustawienie – użytkownikom początkującym zalecamy opcję „Wyłącz wszystkie makra i nie wyświetlaj powiadomień” (rozróżnienie na makra VBA i XLM wprowadzono tylko w Excelu). Powstaje pytanie: czy da się to zrobić szybciej i prościej? Cóż, jeśli używamy systemu Windows 10 Pro i mamy odpowiednie szablony administracyjne, to możemy skorzystać z „Edytora lokalnych zasad grupy”. Aby go uruchomić, na klawiaturze komputera wciskamy klawisz z logo Windowsa i literę R, w nowo otwartym oknie wpisujemy gpedit.msc i klikamy „OK”.

Edytor lokalnych zasad grupy

W lewej części okna – w sekcji „Konfiguracja użytkownika” – rozwijamy pozycję „Szablony administracyjne” i wybieramy interesujący nas program z pakietu Office, np. Microsoft Excel 2016. Przechodzimy do pozycji „Excel Options” (w przypadku Worda będzie to „Word Options” itd.), w kolejnym kroku do „Security” i na końcu do „Trust Center”. Teraz na liście po prawej stronie znajdujemy ustawienie „Macro Notification Settings”, dwukrotnie klikamy i w nowo otwartym oknie włączamy tę opcję, wybieramy – w zależności od potrzeb – albo „Disable VBA macros without notification”, albo „Disable VBA macros with notification”. Upewniamy się, że opcja „Enable Excel 4.0 macros when VBA macros are enabled” nie jest zaznaczona i zatwierdzamy zmianę, klikając w przycisk „OK”. Możemy też zablokować uruchamianie makr we wszystkich plikach pobranych z internetu – w tym celu wracamy do „Trust Center” i włączamy opcję „Block macros from running in Office files from the Internet”. Powyższe czynności powtarzamy dla każdej aplikacji z pakietu Office.

Wyłączanie makr w „Edytorze lokalnych zasad grupy”

Może się też zdarzyć, że po rozwinięciu pozycji „Szablony administracyjne” nie zobaczymy żadnych programów Office, mimo że mamy je zainstalowane. W takim przypadku możemy się udać na stronę Microsoftu umożliwiającą pobranie odpowiednich szablonów w postaci samorozpakowującego się archiwum – po ściągnięciu na dysk uruchamiamy je i wskazujemy miejsce rozpakowania. Interesować nas będą pliki, które znajdą się w katalogu admx, można je bowiem wykorzystać do zarządzania ustawieniami poszczególnych aplikacji z pakietu Office 2016, 2019, 2021 oraz 365. Zawartość tego katalogu należy przekopiować do lokalizacji Windows\PolicyDefinitions na dysku lokalnym (katalogi en-US zostaną scalone, pozostałe wersje językowe możemy usunąć, oczywiście prócz pl-PL). Jeśli wszystko zrobimy jak trzeba, po uruchomieniu „Edytora lokalnych zasad grupy” powinniśmy zobaczyć interesujące nas opcje.

Mogłoby się wydawać, że w systemie Windows 10 Home nie da się z tego narzędzia skorzystać – próbując go uruchomić, otrzymamy komunikat o niemożności znalezienia pliku gpedit.msc. Nie oznacza to jednak, że na dysku stosownych plików faktycznie nie ma. Aby włączyć „Edytor lokalnych zasad grupy”, możemy użyć następującego kodu:

@echo off 
pushd "%~dp0" 
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3.mum >%TEMP%\temp.txt  dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3.mum >>%TEMP%\temp.txt 
for /f %%i in ('findstr /i . %TEMP%\temp.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i" 
echo Gotowe!
pause

Wystarczy skopiować go do systemowego notatnika i zapisać jako plik wsadowy, czyli z rozszerzeniem .bat. Teraz klikamy w niego prawym przyciskiem myszy i uruchamiamy jako administrator – otworzy się „Wiersz polecenia” (cmd.exe), który załatwi resztę. Po zakończeniu procedury, która potrwa niecałe 10 minut, będziemy mogli używać „Edytora lokalnych zasad grupy” również w wersji Home.

Dodawanie gpedit.msc do Windowsa 10 Home

Ktoś mógłby zapytać, czy warto tak kombinować, skoro istnieje wbudowany w system Antimalware Scan Interface (AMSI), który został wyposażony w możliwość blokowania uzłośliwionych makr – najpierw VBA, a od niedawna także XLM. Domyślnie AMSI współpracuje z Microsoft Defenderem, można go jednak zintegrować z oprogramowaniem antywirusowym innych producentów – wystarczy uaktywnić odpowiednią opcję w ustawieniach. Fakty są niestety takie, że wymyślono już wiele sposobów na ominięcie tego mechanizmu i wciąż powstają nowe. Naszym zdaniem warto korzystać ze wszystkich dostępnych metod unieszkodliwiania makr.

Nakładanie ograniczeń na PowerShella

W poprzednim rozdziale wspomnieliśmy o skryptach PowerShella, które po uruchomieniu (np. przez szkodliwe makra) mogą przyczynić się do zainfekowania komputera. Jak temu przeciwdziałać? Nie wszyscy zdają sobie sprawę z tego, że Microsoft, wprowadzając do systemu nową wersję PowerShella, nie usunął starej, gorzej zabezpieczonej. Warto samodzielnie ją odinstalować, aby uniemożliwić przestępcom downgrade, czyli obniżenie wersji tego programu w celu przeprowadzenia ataku. Aby to zrobić, otwieramy menu „Start” i za pomocą systemowej wyszukiwarki znajdujemy znane już nam narzędzie „Włącz lub wyłącz funkcje systemu Windows”. Wśród dostępnych opcji wyszukujemy „Windows PowerShell 2.0”, usuwamy zaznaczenie i potwierdzamy to przyciskiem „OK”.

Wyłączanie starej wersji PowerShella

Inna sprawa, że to nie wystarczy, by móc korzystać z najnowszej wersji PowerShella – Microsoft zautomatyzował aktualizację wielu składników Windowsa, ale tego akurat nie. Chodzi o to, że w 2016 r. jego kod źródłowy został otwarty i przeniesiony z platformy .NET Framework na .NET Core, co pozwoliło na udostępnienie programu użytkownikom różnych dystrybucji Linuksa i macOS. Wydany rok wcześniej Windows 10 był (i jest) dostarczany z PowerShellem stworzonym w .NET Frameworku, który dotrwał do wersji 5.1, przejście na PowerShella opartego na .NET Core wymaga ręcznej ingerencji, o którą przeciętnych posiadaczy komputera nie podejrzewamy. Sprawdźmy zresztą – po kliknięciu w przycisk „Start” wpiszmy słowo „power”. Na pierwszym miejscu w wynikach wyszukiwania najprawdopodobniej zobaczymy aplikację Windows PowerShell. Wybieramy opcję uruchomienia jej jako administrator i wpisujemy polecenie $PSVersionTable, aby przekonać się, z jakiej wersji programu korzystamy. Aktualizacji możemy dokonać na dwa sposoby – uruchamiając pobrany z GitHuba odpowiedni plik instalacyjny .msi (wybieramy edycję stable) albo z poziomu samej aplikacji, wpisując polecenie:

iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
Aktualizacja PowerShella do wersji 7.1.5

Warto tylko mieć na uwadze, że wykonując powyższe działania, nie pozbędziemy się wbudowanej w system wersji 5.1 – program jest instalowany w innym katalogu, jego plik wykonywalny nosi inną nazwę (pwsh.exe zamiast powershell.exe) – można więc będzie używać obu aplikacji równolegle. Dlatego powinniśmy się zastanowić, czy jest nam to potrzebne, zanim przeprowadzimy aktualizację.

Przejdźmy teraz do nakładania ograniczeń, czyli zmiany zasad wykonywania skryptów. Za pomocą polecenia Get-ExecutionPolicy -List wyświetlimy zakres obowiązywania poszczególnych zasad. Na zrzucie ekranu poniżej możecie zobaczyć domyślnie ustawione wartości w obu wersjach PowerShella. „Undefined” oznacza, że nie określono żadnych zasad wykonywania skryptów – ze strony Microsoftu można się dowiedzieć, że w takim przypadku na klienckich wersjach Windowsa obowiązuje tryb „Restricted”, a na serwerowych „RemoteSigned” (to samo uzyskamy, korzystając z parametru „Default”). W trybie „Restricted” nie ma możliwości uruchamiania jakichkolwiek skryptów, choć pojedyncze polecenia mogą być wykonywane. W trybie „RemoteSigned” można bez ograniczeń uruchamiać skrypty zapisane na lokalnym komputerze, a te pochodzące z internetu muszą być podpisane przez zaufanego wydawcę. Oprócz wymienionych istnieją jeszcze trzy ustawienia: „AllSigned” pozwala na uruchamianie wyłącznie podpisanych skryptów, „Bypass” zdejmuje wszelkie ograniczenia, a „Unrestricted” umożliwia wykonywanie wszystkich skryptów, ale w niektórych przypadkach wyświetla ostrzeżenia.

Domyślne zasady wykonywania skryptów

Przyjrzyjmy się teraz zakresom. „MachinePolicy” i „LocalMachine” dotyczą wszystkich użytkowników komputera, a „UserPolicy” i „CurrentUser” – danego użytkownika. Sposób wykonywania skryptów w zakresach „MachinePolicy” i „UserPolicy” można modyfikować tylko w „Edytorze lokalnych zasad grupy”. Ustawienia „LocalMachine” i „CurrentUser” są zapisywane w rejestrze systemu Windows i da się je zmienić z poziomu PowerShella, podobnie jak „Process”, który ma wpływ jedynie na bieżącą sesję tego programu. Im wyżej na liście znajduje się dany zakres, tym wyższy priorytet mają ustawione w nim zasady. Mniej zaawansowanym użytkownikom i takim, którzy na co dzień nie korzystają z PowerShella, zalecamy wybranie trybu „Restricted”. Aby to zrobić, używamy poleceń:

Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope CurrentUser
Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope LocalMachine
Zmiana zasad wykonywania skryptów w PowerShellu

W starszej wersji PowerShella będziemy musieli potwierdzić swój wybór, wpisując odpowiednią literę. Jeśli w którymś momencie restrykcyjne zasady zaczną nam zawadzać, to nic nie stoi przeszkodzie, byśmy aktywowali potrzebny nam tryb w ramach danej sesji (czyli w zakresie „Process”). Należy przy tym pamiętać, że nałożenie ograniczeń na PowerShella może ochronić nas przed atakami, ale całkowicie ich nie wyeliminuje, istnieją bowiem sposoby na ominięcie odgórnie ustawionych zasad.

Nadal nie są to wszystkie narzędzia, które warto wziąć pod uwagę, konfigurując system Windows, by nie sprawiał kłopotów i był bezpieczniejszy. W najbliższym czasie możecie spodziewać się jeszcze co najmniej jednego poradnika na ten temat. Dajcie znać w komentarzach, co powinniśmy w nim uwzględnić.

Dla zachowania pełnej przejrzystości: Patronem cyklu jest Aruba Cloud. Za opracowanie i opublikowanie tego artykułu pobieramy wynagrodzenie.

Powrót

Komentarze

  • 2021.10.26 11:16 Zdzich

    Odnośnie Group Policy Administrative Templates polecam http://www.admx.help

    Odpowiedz
  • 2021.10.27 19:56 termos

    Czy do tego „triku” z kontenerem wirtualnym w przeglądarce coś jeszcze jest potrzebne bo u mnie nie działa.

    Odpowiedz
    • 2021.11.11 09:57 Anna Wasilewska-Śpioch

      Jakiej wersji Windowsa używasz? Bo np. w Home nie da się uruchomić tej funkcji.

      Odpowiedz
  • 2021.10.31 15:15 jasc

    „Dajcie znać w komentarzach, co powinniśmy w nim uwzględnić”
    .
    Windows7 – bo to nadal jest i będzie dość liczna grupa użytkowników.

    Odpowiedz

Zostaw odpowiedź do Zdzich

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Podstawy Bezpieczeństwa: Mniej znane funkcje podnoszące bezpieczeństwo użytkowników Windowsa

Komentarze