| Termin | Definicja |
|---|---|
| Bezpieczne makra | Bezpieczne makra to funkcje VBA uruchamiane wyłącznie w kontrolowanym środowisku, ograniczające ryzyko wykonania złośliwego kodu. Bezpieczne makra – czym są i do czego służąBezpieczne makra to procedury automatyzujące pracę w programach biurowych, arkuszach kalkulacyjnych oraz innych aplikacjach obsługujących język VBA, przygotowane tak, aby ich działanie było możliwe do sprawdzenia i ograniczone do potrzebnego zakresu. Samo użycie makra nie oznacza zagrożenia. Ryzyko pojawia się wtedy, gdy kod pochodzi z nieznanego źródła, wykonuje niejasne operacje albo otrzymuje zbyt szerokie uprawnienia do plików, procesów i ustawień systemu. Za bezpieczne można uznać przede wszystkim takie makra, których pochodzenie jest znane, cel został opisany, a kod został przeanalizowany przed uruchomieniem. Znaczenie ma również miejsce przechowywania pliku, sposób przekazywania dokumentu oraz ustawienia zabezpieczeń aplikacji. Dokument otrzymany pocztą elektroniczną, pobrany z przypadkowej strony lub przekazany przez komunikator powinien być traktowany ostrożnie, nawet jeśli jego nazwa i wygląd przypominają znany formularz. Makro może porządkować dane, tworzyć zestawienia, formatować raporty, sprawdzać kompletność pól albo przenosić informacje między arkuszami. Może jednak również otwierać pliki, zapisywać dane w innych lokalizacjach, uruchamiać polecenia systemowe i komunikować się z zasobami sieciowymi. Dlatego bezpieczeństwo nie wynika wyłącznie z krótkiego kodu. Jest efektem połączenia zaufanego źródła, ograniczonego zakresu działania, kontroli zmian i właściwej konfiguracji programu. Bezpieczne makra a zaufane źródło i kontrola koduNajważniejszym etapem oceny makra jest ustalenie, kto je przygotował i do czego ma służyć. Kod opisany w dokumentacji, powiązany z konkretnym procesem i przechowywany w kontrolowanym miejscu łatwiej zweryfikować niż procedurę znalezioną w przypadkowym pliku. Warto sprawdzić nazwę modułu, procedury uruchamiane przy otwarciu dokumentu oraz funkcje, które odwołują się do systemu plików, powłoki poleceń, rejestru lub połączeń sieciowych. Bezpieczna analiza nie polega na uruchomieniu kodu w celu sprawdzenia, co się wydarzy. Najpierw można otworzyć edytor VBA bez włączania procedur, przejrzeć moduły i wyszukać instrukcje odpowiedzialne za automatyczne wykonanie. Szczególnej uwagi wymagają procedury związane ze zdarzeniami otwierania dokumentu, zamykania pliku, zmianą arkusza oraz kliknięciem przycisku. Podejrzane są także fragmenty zaciemnione, złożone z długich ciągów znaków lub budujące polecenia w sposób utrudniający czytanie. Przydatne jest porównanie kodu z wersją zatwierdzoną przez osobę, która odpowiada za dokument. Każda modyfikacja powinna być opisana, a kopia wcześniejszej wersji zachowana w bezpiecznym miejscu. Dzięki temu można ustalić, kiedy pojawiła się zmiana i czy była zgodna z przeznaczeniem pliku. Jeżeli makro wymaga dostępu do zasobów, powinno być jasno wyjaśnione, dlaczego taki dostęp jest potrzebny oraz jakie dane mogą zostać odczytane lub zapisane. W praktyce warto rozdzielać dokumenty zawierające dane od kodu automatyzującego. Ogranicza to skutki pomyłki i ułatwia wymianę procedur bez kopiowania całych plików. Pomocne jest także stosowanie podpisu cyfrowego dla zatwierdzonych projektów VBA, ponieważ zmiana podpisanego kodu powoduje utratę ważności podpisu. Nie zastępuje to analizy, ale pozwala rozpoznać, czy plik pozostał zgodny z zaakceptowaną wersją. Bezpieczne makra – typowe problemy z uruchamianiemJednym z częstszych problemów jest całkowite blokowanie makr przez ustawienia programu. Takie zachowanie może być uzasadnione, gdy dokument pochodzi z nieznanego źródła, ale utrudnia pracę z poprawnymi formularzami i raportami. Inną sytuacją jest bezwarunkowe włączanie wszystkich makr, które usuwa ważną warstwę kontroli. Rozsądne ustawienie powinno pozwalać na ocenę dokumentu i wymagać świadomej decyzji przed uruchomieniem kodu. Ostrzeżenie dotyczące zawartości aktywnej nie powinno być zamykane bez sprawdzenia źródła pliku. Sam komunikat nie potwierdza, że makro jest złośliwe, ale również nie stanowi dowodu bezpieczeństwa. Należy ustalić, czy dokument był oczekiwany, czy pochodzi od właściwej osoby oraz czy jego treść odpowiada wcześniejszym ustaleniom. Podejrzane jest zwłaszcza żądanie włączenia makr w dokumencie, który ma rzekomo służyć wyłącznie do odczytu. Problemy mogą wynikać także z niezgodności wersji programu, brakujących bibliotek, odwołań do nieistniejących ścieżek oraz uprawnień użytkownika. W takich przypadkach nie powinno się zwiększać uprawnień na stałe tylko po to, aby ominąć błąd. Lepiej ustalić, która operacja nie działa, ograniczyć zakres dostępu i poprawić kod w sposób możliwy do udokumentowania. Niebezpieczne zachowanie może zostać ukryte w funkcji, która na pierwszy rzut oka wygląda jak zwykłe formatowanie. Przykładem jest procedura zapisująca kopię dokumentu w nieoczekiwanej lokalizacji, wysyłająca zawartość arkusza albo uruchamiająca dodatkowy plik. Dlatego analizie powinny podlegać nie tylko instrukcje modyfikujące komórki, lecz także wszystkie odwołania do plików, folderów, poleceń i połączeń zewnętrznych. Bezpieczne makra – praktyczne zasady codziennego użyciaPrzed uruchomieniem dokumentu można wykonać kilka prostych czynności. Należy sprawdzić rozszerzenie pliku, nadawcę, kontekst otrzymania oraz zgodność nazwy z oczekiwanym dokumentem. Warto przechowywać kopię roboczą i nie otwierać nieznanego pliku bezpośrednio z załącznika. Jeżeli dokument wymaga makr, powinno być jasne, jakie zadanie zostanie wykonane po ich włączeniu.
Testy powinny być prowadzone na danych, których utrata lub zmiana nie spowoduje problemów. Najpierw można sprawdzić działanie w pustym arkuszu, a następnie na kopii rzeczywistego dokumentu. Należy obserwować, czy makro modyfikuje wyłącznie przewidziane komórki, tworzy tylko oczekiwane pliki i nie zmienia ustawień programu. Wynik testu dobrze jest zapisać razem z wersją kodu oraz datą sprawdzenia. Bezpieczniejsza konstrukcja makra zakłada jawne wskazywanie zakresów, obsługę błędów i unikanie niepotrzebnych uprawnień. Kod powinien kończyć działanie, gdy brakuje pliku wejściowego, gdy użytkownik nie potwierdzi operacji albo gdy dane nie spełniają oczekiwanego formatu. Warto też wyświetlać zrozumiałe komunikaty zamiast wykonywać nieodwracalne działania bez informacji dla użytkownika. Kiedy zgłosić się w sprawie bezpiecznych makr do serwisuDo serwisu warto zgłosić się wtedy, gdy dokument sam uruchamia makra, pojawiają się niezrozumiałe okna, zmieniają się ustawienia zabezpieczeń albo po otwarciu pliku występuje nietypowa aktywność. Pomoc może być potrzebna również po przypadkowym włączeniu kodu, utracie dostępu do dokumentu, pojawieniu się nieznanych plików lub powtarzających się błędach działania aplikacji. Do analizy dobrze przygotować sam dokument, opis sytuacji oraz informację, z jakiego źródła został otrzymany, o ile przekazanie pliku jest bezpieczne. W Warszawskim Pogotowiu Komputerowym 24/7 można zlecić sprawdzenie komputera pod kątem problemów związanych z dokumentami, ustawieniami aplikacji i działaniem makr. Zakres prac powinien zostać ustalony po rozpoznaniu objawów, bez pochopnego włączania nieznanego kodu. W przypadku podejrzenia naruszenia bezpieczeństwa warto przerwać dalsze otwieranie dokumentu, zachować jego kopię i przekazać możliwie dokładny opis zdarzenia. Takie postępowanie ułatwia ocenę ryzyka oraz dobranie bezpiecznego sposobu dalszej pracy. |