Atak na łańcuch dostaw: gdy zagrożenie pochodzi z wnętrza oprogramowania

Instalujesz oprogramowanie od zaufanego dostawcy. Stosujesz się do najlepszych praktyk. Dbasz o aktualizacje. A mimo to – i tak dochodzi do naruszenia bezpieczeństwa. To niepokojąca rzeczywistość ataku na łańcuch dostaw, w którym zagrożenie nie wynika z bezpośredniego włamania, lecz pochodzi z czegoś, czemu już ufałeś.

Czym jest atak na łańcuch dostaw

Atak na łańcuch dostaw ma miejsce wtedy, gdy cyberprzestępca infiltruje cel w sposób pośredni – poprzez skompromitowanie dostawcy, biblioteki oprogramowania, mechanizmu aktualizacji lub komponentu sprzętowego, na którym cel polega. Zamiast atakować dobrze chronioną firmę wprost, atakujący szuka słabszego ogniwa gdzieś w sieci zależności, z których ta firma korzysta – i zatruwa je u źródła.

W efekcie złośliwy kod, backdoory lub oprogramowanie szpiegujące trafiają do tysięcy, a nawet milionów użytkowników automatycznie – często za pośrednictwem tych samych mechanizmów aktualizacji, które mają chronić bezpieczeństwo oprogramowania.

Jak to działa

Większość współczesnego oprogramowania opiera się na wielu warstwach zależności: bibliotekach zewnętrznych, pakietach open-source, usługach chmurowych i komponentach dostarczanych przez dostawców. Ta złożoność tworzy powierzchnię ataku, którą żadna pojedyncza organizacja nie jest w stanie w pełni monitorować.

Typowy przebieg ataku wygląda następująco:

  1. Identyfikacja celu – Atakujący wskazują powszechnie używanego dostawcę oprogramowania lub pakiet open-source, który stosuje słabsze praktyki bezpieczeństwa niż jego klienci.
  2. Kompromitacja – Atakujący infiltruje system budowania oprogramowania dostawcy, repozytorium kodu lub serwer aktualizacji. Może się to odbyć poprzez phishing, kradzież danych uwierzytelniających lub wykorzystanie luki w infrastrukturze samego dostawcy.
  3. Wstrzyknięcie kodu – Złośliwy kod zostaje po cichu wstawiony do legalnej aktualizacji oprogramowania lub wersji biblioteki.
  4. Dystrybucja – Zatruta aktualizacja jest podpisywana prawidłowymi certyfikatami i wysyłana do wszystkich użytkowników. Ponieważ pochodzi z zaufanego źródła, narzędzia bezpieczeństwa często jej nie wykrywają.
  5. Wykonanie – Złośliwe oprogramowanie działa w ukryciu na maszynie ofiary, potencjalnie zbierając dane uwierzytelniające, tworząc backdoory lub eksfiltrując dane.

Najbardziej głośnym przykładem jest atak na SolarWinds z 2020 roku. Hakerzy wstrzyknęli złośliwe oprogramowanie do rutynowej aktualizacji, która została następnie rozesłana do około 18 000 organizacji, w tym agencji rządowych USA. Naruszenie bezpieczeństwa pozostawało niewykryte przez wiele miesięcy.

Innym znanym przypadkiem był ekosystem pakietów NPM, w którym atakujący publikowali złośliwe pakiety o nazwach niemal identycznych z popularnymi bibliotekami – technika znana jako typosquatting – licząc na to, że programiści omyłkowo je zainstalują.

Dlaczego ma to znaczenie dla użytkowników VPN

Oprogramowanie VPN nie jest odporne na takie zagrożenia. Instalując klienta VPN, zakładasz, że aplikacja – oraz każda biblioteka, od której zależy – jest czysta. Atak na łańcuch dostaw wymierzony w dystrybucję oprogramowania dostawcy VPN mógłby teoretycznie dostarczyć skompromitowanego klienta, który ujawnia Twój prawdziwy adres IP, wyłącza kill switch lub rejestruje Twój ruch bez Twojej wiedzy.

Dlatego niezwykle ważne jest, aby:

  • Pobierać oprogramowanie VPN wyłącznie z oficjalnych źródeł – nigdy z zewnętrznych sklepów z aplikacjami ani serwisów lustrzanych.
  • Wybierać dostawców publikujących reprodukowalne buildy lub poddających się regularnym audytom zewnętrznym, dzięki czemu skompilowane oprogramowanie można niezależnie zweryfikować.
  • Sprawdzać certyfikaty podpisywania kodu, które potwierdzają, że oprogramowanie nie zostało zmodyfikowane od momentu opuszczenia programisty.
  • Aktualizować oprogramowanie na bieżąco, lecz jednocześnie śledzić wiadomości dotyczące bezpieczeństwa – jeśli dostawca ogłosi incydent w łańcuchu dostaw, działaj szybko.

Poza oprogramowaniem VPN ataki na łańcuch dostaw dotyczą szerszego zestawu narzędzi używanych do ochrony prywatności: przeglądarek, rozszerzeń przeglądarek, menedżerów haseł i systemów operacyjnych. Skompromitowane rozszerzenie przeglądarki może na przykład zniwelować wszystko to, co VPN robi w celu ochrony Twojej prywatności.

Szerszy kontekst

Ataki na łańcuch dostaw są szczególnie niebezpieczne, ponieważ wykorzystują zaufanie. Tradycyjne porady dotyczące cyberbezpieczeństwa mówią „pobieraj tylko z zaufanych źródeł" – tymczasem atak na łańcuch dostaw zamienia zaufane źródła w samo zagrożenie. Dlatego właśnie takie koncepcje jak architektura zero trust, software bill of materials (SBOM) oraz kryptograficzna weryfikacja pakietów oprogramowania zyskują coraz większe uznanie w społeczności bezpieczeństwa.

Dla zwykłych użytkowników wniosek jest prosty, lecz istotny: oprogramowanie, na którym polegasz, jest tylko tak bezpieczne, jak cały stojący za nim ekosystem. Bycie na bieżąco, wybieranie dostawców stosujących przejrzyste praktyki bezpieczeństwa oraz korzystanie z narzędzi takich jak audyty VPN w celu weryfikacji deklaracji dostawcy – to wszystko elementy budowania naprawdę odpornej ochrony prywatności.