Luki dnia zerowego
Zero-day to luka, o której sprzedawca jeszcze nie wie. Dopóki sprzedawca nie będzie wiedział i nie będzie mógł wydać łatki, każdy system, w którym działa luka w kodzie, jest narażony na niebezpieczeństwo. Zero-days napędzają zarówno ataki o największej sile oddziaływania, jak i wielomilionowy rynek brokerów exploitów. Zrozumienie cyklu życia wyjaśnia, dlaczego niektóre ataki są tak niszczycielskie.
Poniżej znajduje się pełna treść artykułu w języku angielskim.
A Luka typu zero-day to luka w zabezpieczeniach, o której dostawca nie wie, której dotyczy luka — „dni zero” to liczba dni, jakie upłynęły od chwili, gdy dostawca dowiedział się o jej istnieniu. Termin ten czasami oznacza, że luka jest również aktywnie wykorzystywana („dzień zerowy w środowisku naturalnym”), a innym razem oznacza po prostu okres przed pojawieniem się łatki.
Cykl życia
- Odkrycie. Ktoś — badacz, osoba atakująca, agencja wywiadowcza — znajduje lukę błąd.
- Decision. Znalazca wybiera, co zrobić: zgłosić sprzedawcy (odpowiedzialne ujawnienie), sprzedać brokerowi exploitów, samodzielnie wykorzystać exploit, usiąść na nim.
- Okres przed ujawnieniem. Jeśli zostanie zgłoszony, sprzedawca ma czas (zwykle 90 dni, czasami negocjowany) na opracowanie poprawka. W przypadku zachowania prywatnego okres ten jest nieograniczony.
- Aktywne wykorzystywanie, jeśli ma to zastosowanie. Atakujący wykorzystujący exploit przeciwko prawdziwym celom. Może się zdarzyć przed ujawnieniem lub później.
- Poprawki dostawcy. Wydawana jest poprawka, często z przypisanym kodem CVE.
- Disclosure. Badacze i dostawcy publikują szczegółowe informacje, umożliwiając innym obrońcom wykrywanie i mitigate.
- Masowe wykorzystanie. Teraz publiczne szczegóły sprawiają, że jest on dostępny dla mniej wyrafinowanych atakujących; niezałatane systemy stają się masowymi celami.
Okres poprzedzający ujawnienie informacji jest niebezpieczny. Sprzedawca wie lub nie; badacze nie mają sygnatur wykrywających; obrońcy nie mogą zastosować określonych środków zaradczych.
Ile warte są dni zerowe
Tdwa rynki:
- Programy nagród za błędy płacą od 5 do 200 tys. dolarów za typowe krytyczne luki w zabezpieczeniach. Najwyżsi (Apple Security Research, Google's Vulnerability Reward Program) płacą od 1 do 2 mln dolarów za pełne exploity łańcucha.
- Brokerzy exploitów, tacy jak Zerodium, Crowdfense i dział badawczy NSO Group, płacą od 500 tys. do 2,5 mln dolarów za najbardziej wartościowe kategorie — pełnołańcuchowy RCE iOS, odpowiedniki Androida, przeglądarka piaskownica ucieka.
Cena szarej strefy za poważne dni zerowe znacznie przekracza legalne nagrody. Różnica w cenach stwarza dylemat etyczny dla badaczy, którzy je znajdują. Sprzedaż brokerom oznacza, że błąd będzie nadal wykorzystywany; zgłoszenie sprzedawcy oznacza, że problem zostanie naprawiony. Różni badacze dokonują różnych wyborów z różnych powodów.
Kto korzysta z dni zerowych
- Agencje wywiadowcze państw narodowych. NSA, GCHQ, FSB, MSS i ich odpowiedniki utrzymują ofensywne zespoły cybernetyczne, które kupują lub opracowują rozwiązania typu zero-day. Wyciek z Krypty 7 ujawnił zestaw narzędzi TAO CIA; ujawnienia Snowdena ujawniły podobne na skalę NSA.
- Komercyjni cybernajemnicy. NSO Group (Pegasus), Cellebrite, Cyt rox, Candiru — sprzedają exploity klientom rządowym. Rząd Stanów Zjednoczonych nałożył na wiele z nich sankcje.
- Grupy ransomware. Coraz częściej korzystają z dni zerowych w celu uzyskania pierwszego dostępu. Eksploatacja Cl0p MOVEit w 2023 r. uderzyła w setki organizacji.
- Grupy zaawansowanego trwałego zagrożenia (APT). Długo działające zespoły stowarzyszone z państwami narodowymi, które przygotowują pozycję, wykorzystując dni zerowe do wykorzystania w przyszłości.
Większe zagrożenia dnia zerowego incydenty
- Stuxnet (2010) — Cztery dni zerowe systemu Windows plus exploity PLC Siemens. Wykorzystywane przeciwko irańskiemu wzbogacaniu broni jądrowej.
- Pegasus exploity zerowego kliknięcia w iOS (wiele, 2016–2024) — Łańcuchy exploitów dla systemu iOS należące do NSO Group, wykorzystywane przeciwko dziennikarzom i aktywistom na całym świecie.
- SolarWinds (2020) — Atak na łańcuch dostaw obejmujący dzień zerowy w procesie kompilacji.
- ProxyLogon / ProxyShell (2021) — Luki w zabezpieczeniach programu Microsoft Exchange Server wykorzystywane masowo przed powszechnym wdrożeniem poprawek.
- Log4Shell (2021) — Krytyczne rejestrowanie Java luka w bibliotece; powszechne wykorzystanie w ciągu kilku dni.
- MOVEit Transfer (2023) — exploit grupy Cl0p uderzył w tysiące organizacji.
- iOS Zdarzenia wyzwalające tryb blokady (2022–2025) — znaleziono wiele wyrafinowanych łańcuchów, co skłoniło firmę Apple do wprowadzenia wzmocnionych zabezpieczeń mode.
Wyścig okienek poprawek
Po ujawnieniu i załataniu dnia zerowego masowa eksploatacja często następuje w ciągu kilku godzin. Osoby atakujące dokonują inżynierii wstecznej łatki, identyfikują ścieżkę kodu podatną na ataki i opracowują działające exploity. Obrońcy ścigający się, by załatać łatki, mierzą się z asymetrią: napastnicy muszą jedynie znaleźć niezałatane systemy, obrońcy muszą załatać wszystkie systemy.
Ujawnione okno umożliwiające masową eksploatację po łataniu się kurczy. ProxyShell w ciągu kilku dni przeszedł od ujawnienia do masowej eksploatacji. Log4Shell był wykorzystywany, zanim usłyszało o tym wielu administratorów systemu.
Co mogą zrobić obrońcy
Ogólne zabezpieczenia, które redukują wpływ dnia zerowego:
- Sandboxing. Nawet udany exploit przeciwko komponentowi działającemu w trybie piaskownicy (przeglądarka, przeglądarka dokumentów) ma ograniczone możliwości zasięg.
- Dogłębna ochrona. Żadna pojedyncza luka nie zapewnia pełnego dostępu, jeśli architektura warstwowa jest solidna.
- Segmentacja sieci. Zaatakowany host dociera do mniejszej części sieci. Zobacz nasz artykuł na temat segmentacji .
- Wykrywanie zachowań. Nowoczesny EDR wychwytuje złośliwe zachowanie nawet bez określonych sygnatur.
- Tźródła informacji o zagrożeniach. Po opublikowaniu wskaźników naruszenia organizacje mogą szukać wcześniejszych intrusion.
- Tryb blokady Apple i jego odpowiedniki. W przypadku osób wysokiego ryzyka (dziennikarze, aktywiści, kadra kierownicza) wzmacnianie na poziomie platformy wyłącza funkcje wysokiego ryzyka.
- Popraw natychmiast po nadejściu poprawek. Skrócenie czasu narażenia na niezałatane poprawki jest największym pojedynczym wyzwaniem zmienna.
Debata na temat ujawniania informacji
Normy dotyczące odpowiedzialnego ujawniania informacji są dobrze ugruntowane, ale na marginesie kwestionowane:
- W Google Project Zero obowiązuje 90-dniowy termin z 14-dniowym dodatkowym okresem. Ujawnianie ma miejsce niezależnie od tego, czy dostawca wprowadził poprawkę, czy nie.
- Niektórzy badacze opowiadają się za krótszymi terminami (60 dni) lub dłuższymi (180 dni) w zależności od wagi.
- Skoordynowane ujawnianie (dostawca + badacz + zainteresowane strony na niższym szczeblu łańcucha dostaw) trwa dłużej, ale zmniejsza szkody uboczne.
- „Twarde ujawnianie informacji” bez ostrzeżenia jest czasami stosowane w przypadku dostawców, którzy wielokrotnie ponoszą porażkę aby zająć się raportami.
Etyka różni się w zależności od kontekstu. Wspólna norma: dostawcy powinni niezwłocznie naprawiać luki; badacze powinni dać im szansę; szersza społeczność powinna się o tym dowiedzieć, gdy pojawi się łatka.
Często zadawane pytania
- Jakie jest prawdopodobieństwo, że dzień zerowy będzie miał na mnie wpływ?
- W przypadku zwykłych użytkowników większość ataków typu zero-day jest wycelowana w organizacje o dużej wartości lub określone osoby. Zdarzenia masowego wykorzystania (Log4Shell, ProxyShell) wpływają na każdego za pośrednictwem oprogramowania w jego życiu, ale ochrona jest łatana, gdy nadejdzie poprawka. W przypadku ukierunkowanych ataków przeciwko Tobie musisz być celem o dużej wartości z przeciwnikami na szczeblu stanowym.
- Czy powinienem się martwić Pegasusem lub podobnym oprogramowaniem szpiegującym?
- Jeśli jesteś dziennikarzem, aktywistą, dysydentem lub politykiem interesującym się wrogim rządem – tak, zastosuj środki ostrożności, takie jak tryb blokady i dyscyplina operacyjna. W przypadku zwykłych użytkowników w demokracjach ryzyko jest na tyle niskie, że wystarczą praktyczne zabezpieczenia (aktualizowanie urządzeń, unikanie podejrzanych łączy, używanie sprzętu głównych dostawców z aktualizacjami zabezpieczeń).
- Czy program antywirusowy może wychwycić ataki dnia zerowego?
- AV oparty na sygnaturach zwykle nie może tego zrobić — nie ma sygnatury nieznanego ataku. Behawioralny EDR (CrowdStrike, Defender for Endpoint, SentinelOne) jest bardziej skuteczny, ponieważ patrzy na to, co robią procesy, a nie jak wyglądają. Współczynnik wykrywalności nie jest doskonały; nawet wyrafinowany EDR pomija niektóre wyrafinowane exploity dnia zerowego.
- Dlaczego dostawcy nie naprawiają wszystkich błędów przed wysyłką?
- Złożoność oprogramowania przekracza budżet audytu. Nowoczesne systemy operacyjne składają się z setek milionów linii kodu. Kompleksowa analiza jest niemożliwa; dostawcy znajdują błędy, których znalezienie jest dla nich priorytetem. Ponadto niektóre kategorie błędów (warunki wyścigu, kanały boczne) są nieodłącznie związane z interakcjami sprzętu i oprogramowania, których nie wyłapuje żaden audyt.
- Czy istnieją sposoby na walkę z dniami zerowymi na poziomie platformy?
- Tak, strukturalnie. Języki bezpieczne dla pamięci (Rust, Go) eliminują klasy błędów. Ograniczenia sprzętowe (CET, MTE, uwierzytelnianie wskaźnika ARM) utrudniają eksploatację. Sandboxing ogranicza obrażenia. Trendem ostatnich 15 lat jest stopniowe hartowanie; trend ma większe znaczenie niż jakikolwiek konkretny dzień zerowy.