Incydent związany z CrowdStrike uwydatnił, jak łatwo globalne systemy IT mogą ulec awarii, podkreślając tym samym znaczenie solidnych procedur aktualizacji oprogramowania.

Seria niefortunnych zdarzeń zaczęła się 19 lipca – zainicjował ją krytyczny błąd platformy Falcon, który doprowadził do masowych awarii systemów, szczególnie na komputerach z systemem Windows. Problem został wywołany przez aktualizację oprogramowania (nazywaną obecnie „Channel 291 incident”), która spowodowała niespójność danych wejściowych, co z kolei doprowadziło do błędów pamięci i pojawienia się słynnego „niebieskiego ekranu śmierci” na milionach komputerów.

Analiza przyczyn ujawniła, że problem wynikał z połączenia kilku luk bezpieczeństwa oraz nie dość skrupulatnych testów systemu dostarczania treści w trybie szybkiej reakcji CrowdStrike. Te dwa czynniki zaowocowały wprowadzeniem nowego typu szablonu, który nie został odpowiednio przetestowany i doprowadził do katastrofalnej awarii systemów.

Incydent ten miał poważne konsekwencje i zakłócił funkcjonowanie nawet tak ważnych sektorów, jak opieka zdrowotna, bankowość i transport lotniczy. Firma CrowdStrike przeprosiła za zaistniałą sytuację i zadeklarowała wdrożenie szeregu działań naprawczych – w tym wzmocnionych procedur testowych oraz ściślejszą współpracę z Microsoftem w celu zapobiegania podobnym sytuacjom w przyszłości.

W wyniku błędu w oprogramowaniu CrowdStrike, „niebieski ekran śmierci” (BSOD) pojawił się na ekranach około 8,5 miliona urządzeń na całym świecie. Problemy te dotknęły blisko 60% firm z listy Fortune 500, intensywnie korzystających z rozwiązań CrowdStrike – zwłaszcza w USA. Szacuje się, że straty wynikające z tej sytuacji sięgają miliardów dolarów.

– Incydent z CrowdStrike dał nam do zrozumienia, jak ważne jest nieustanne doskonalenie procedur bezpieczeństwa i przygotowanie na potencjalne zagrożenia, które mogą wynikać z błędów, a niekoniecznie z wrogich działań – podkreśla Aleksander Kostuch, inżynier firmy Stormshield, specjalizującej się w rozwiązaniach z zakresu bezpieczeństwa IT.

Jeszcze zanim producent zaproponował oficjalne rozwiązania, zaczęły pojawiać się pierwsze metody obejścia problemu. Dla firm masowo korzystających z oprogramowania, w którym wystąpił błąd, największym wyzwaniem było uzyskanie bezpośredniego dostępu do uszkodzonych urządzeń.

– Naprawa wymagała ręcznej interwencji, polegającej na uruchomieniu komputerów w trybie awaryjnym i usunięciu określonych plików systemowych. Zdalna reakcja helpdesku była niemożliwa, ponieważ zawieszony komputer wymagał fizycznej interwencji, a w wielu korporacjach obsługa IT funkcjonuje na zasadzie outsourcingu, często z innego kraju. Na wizytę serwisanta trzeba było poczekać, co wydłużało czas awarii i prowadziło do gigantycznych strat. Proces naprawy był czasochłonny, a dodatkowe komplikacje pojawiały się w firmach korzystających z szyfrowania dysków BitLocker – dodaje ekspert Stormshield.

Aby wykluczyć tego typu incydenty, należy pamiętać o zasadzie zapewnienia administratorom sieci pełnej kontroli nad każdą istotną aktualizacją – uwzględniając ich indywidualną decyzję o wdrożeniu aktualizacji oprogramowania typu EDR lub firmware na urządzeniach. Choć właściwa polityka aktualizacji jest kluczowa dla zachowania maksymalnego bezpieczeństwa, to incydent z CrowdStrike pokazuje, że diabeł tkwi w szczegółach.

– Owszem, aktualizacje są niezbędne, ale powinniśmy trzymać się zasady, że nowe wersje oprogramowania nie mogą być automatycznie wdrażane na wszystkich urządzeniach. Administrator musi najpierw przetestować aktualizację na grupie pilotażowej. Ustanowienie grupy testowej to jedna z najlepszych praktyk, które możemy wdrożyć, by zminimalizować skutki ewentualnych błędów. Jeśli po określonym czasie w środowisku testowym pojawi się problem, można wstrzymać masową aktualizację, zapobiegając sparaliżowaniu całej organizacji – wyjaśnia Aleksander Kostuch.

Eksperci Stormshield podpowiadają, jak zorganizować bezpieczne środowisko testowe aktualizacji oprogramowania:

  1. Ustal grupę urządzeń, które będą pierwszymi odbiorcami aktualizacji, wybierając urządzenia reprezentatywne dla różnych typów sprzętu i konfiguracji, aby jak najlepiej odwzorować środowisko produkcyjne. Zasadnym jest, aby w grupie pilotażowej znalazły się zarówno starsze, jak i nowsze urządzenia, co pozwala zidentyfikować potencjalne problemy w szerszym zakresie.
  2. W środowisku testowym warto symulować rzeczywiste obciążenia i typowe scenariusze użytkowania, aby sprawdzić, jak aktualizacja wpływa na wydajność i stabilność systemu. Symulacje mogą obejmować różne formy aktywności, jak praca z dużymi plikami, intensywna komunikacja sieciowa, a także testy funkcjonalności specyficzne dla danej organizacji.
  3. Zbieraj szczegółowe logi, które pozwolą na szybką identyfikację i diagnozę problemów, automatyczne raportowanie incydentów czy inne błędy krytyczne. Pomoże to w szybkim reagowaniu.
  4. Definiuj procedury i narzędzia pozwalające na szybkie wycofanie problematycznych aktualizacji w środowisku testowym, zanim zostaną wdrożone na większą skalę. To może obejmować tworzenie punktów przywracania systemu, backupów, korzystania z zapasowych partycji lub snapshotów maszyn wirtualnych przed wdrożeniem aktualizacji.
  5. Oprócz standardowych testów, warto przetestować scenariusze awaryjne, takie jak przywracanie systemu po awarii, restart systemu po BSOD czy odtwarzanie danych z backupu. Umożliwia to przygotowanie się na najgorsze scenariusze.
  6. Zalecane jest dokładnie udokumentowanie potencjalnego ryzyka i metody postępowania w przypadku problemów.
  7. Przed każdą aktualizacją dobrze jest dokonać ocenę ryzyka, analizując aspekty krytyczności aktualizacji i jej wpływ na organizację, a także potencjalne zagrożenia i korzyści związane z wdrożeniem.
  8. Dodatkowo w przypadku aktualizacji o wysokim ryzyku, warto z wyprzedzeniem poinformować użytkowników i właścicieli usług oraz zadbać o wsparcie techniczne w okresie przejściowym.

– Opisany model należy traktować jako idealny. Najbliższe funkcjonowania zgodnie z nim są banki i instytucje finansowe. Warto zwrócić uwagę, że oprogramowanie umożliwia wybór pomiędzy ręczną i kontrolowaną aktualizacją, a w pełni automatyczną. Tak jest w przypadku większości programów EDR, podobnych do CrowdStrike Falcon czy Stormshield Endpoint Security, które oferują możliwość aktualizacji ręcznych. Choć korzystanie z tej opcji wymaga większego zaangażowania, to może przynieść wiele korzyści – podsumowuje Aleksander Kostuch.

Eksperci podkreślają, jak ważne są plany ciągłości działania (BCP) oraz procedury odzyskiwania dostępu do danych i systemów IT po awarii (DR). Powody awarii mogą być różne – od ataków cybernetycznych po klęski żywiołowe.

– Wcześniejsze przygotowanie planów ciągłości działania jest kluczowe. Plany te określają, jak firma będzie działać w sytuacji kryzysowej, nawet jeśli będzie musiała przenieść operacje do innej lokalizacji. Jednak samo przygotowanie planów to za mało – trzeba je regularnie testować i dostosowywać do zmieniających się warunków – podkreśla Paweł Śmigielski, country manager Stormshield w Polsce.

źródło: informacja prasowa
grafiki przygotowane przez DALL-E od ChatGPT