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:
- 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.
- 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.
- Wstrzyknięcie kodu – Złośliwy kod zostaje po cichu wstawiony do legalnej aktualizacji oprogramowania lub wersji biblioteki.
- 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ą.
- 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.