The SpyBolt
Wiedza

Koniec z ręcznym sprawdzaniem bibliotek – czas na SCA

Autor Karol Wiśniewski, Założyciel The SpyBolt·15 grudnia 2024·7 min czytania

Prawie 83% kodu w nowoczesnych aplikacjach to gotowe biblioteki pobrane z sieci, a nie kod napisany przez Twoich programistów. W The SpyBolt widzimy to codziennie: zespół pisze świetne funkcje, ale pod spodem działają setki paczek, których nikt nie aktualizował od 18 miesięcy. Jeden błąd w takiej bibliotece i całe bezpieczeństwo Twojej firmy w Kielcach leży, mimo że Twój własny kod jest czysty.

Ukryta masa Twojego oprogramowania

Kiedy otwierasz plik konfiguracyjny przeciętnej aplikacji webowej, widzisz listę kilkunastu głównych bibliotek. To jednak tylko wierzchołek góry lodowej, bo każda z tych bibliotek dociąga kolejne. W ostatnim audycie, który robiliśmy dla lokalnego software house'u w październiku 2024 roku, naliczyliśmy dokładnie 156 takich zależności. Programista nie jest w stanie śledzić biuletynów bezpieczeństwa dla każdej z nich, bo musiałby spędzać na tym 4 godziny dziennie zamiast pisać kod. To fizycznie niemożliwe, żeby ręcznie sprawdzać każdą zmianę w wersji 2.3.1 jakiegoś niszowego narzędzia do formatowania dat.

Problem narasta, gdy projekt żyje dłużej niż rok. Biblioteki starzeją się szybciej niż sprzęt komputerowy. To, co było bezpieczne w styczniu, w czerwcu może mieć już opublikowaną lukę krytyczną. W The SpyBolt często spotykamy się z sytuacją, gdzie firma używa biblioteki do generowania PDF-ów, która ma znaną dziurę pozwalającą na przejęcie serwera. Nikt o tym nie wiedział, bo nikt nie zaglądał do kodu tej biblioteki od momentu jej instalacji. Skupienie się tylko na własnym kodzie to jak montowanie pancernych drzwi do domu ze ścianami z dykty. Blokujemy luki w kodzie, zanim trafią na produkcję, ale musimy patrzeć na całość, a nie tylko na to, co napisaliśmy sami.

Twój własny kod to tylko 17% całości. Reszta to biblioteki, których pewnie nigdy nie sprawdzałeś pod kątem luk.

Czym jest SCA i dlaczego ratuje Twój czas?

SCA, czyli Software Composition Analysis, to nic innego jak zautomatyzowany spis inwentarza połączony z bazą wiedzy o błędach. Zamiast kazać człowiekowi czytać nudne raporty, wdrażamy narzędzie, które robi to w 2 minuty i 14 sekund przy każdym wypchnięciu kodu na serwer. Mechanizm skanuje listę wszystkich paczek i porównuje ich wersje z publicznymi bazami CVE. Jeśli znajdzie coś podejrzanego, od razu dostajesz powiadomienie: 'Wersja 1.4.2 ma krytyczny błąd, zaktualizuj do 1.4.54'. To proste, konkretne błędy i proste naprawy, które nie wymagają tygodni analizy.

Wdrożenie SCA w procesie DevSecOps pozwala uniknąć tak zwanej 'bezpieczniackiej paranoi'. Zamiast blokować wszystko, narzędzie wskazuje tylko te biblioteki, które faktycznie stanowią zagrożenie w Twoim konkretnym przypadku. W naszej pracy w Kielcach stawiamy na praktyczne podejście – nie chcemy zarzucać programistów tysiącem ostrzeżeń o niskim priorytecie. Skupiamy się na tych 3-5 trafieniach, które realnie pozwalają hakerowi wejść do systemu. Dzięki temu zespół deweloperski nie czuje, że bezpieczeństwo ich spowalnia, a Ty masz pewność, że nie budujesz na zgniłych fundamentach.

Czym jest SCA i dlaczego ratuje Twój czas?

Konkretne wyniki automatyzacji

Spójrzmy na liczby z jednego z naszych wdrożeń z początku 2024 roku. Mała firma z branży e-commerce miała 124 paczki zewnętrzne. Przed naszą interwencją aktualizacje robili raz na kwartał, co zajmowało jednemu seniorowi około 6 godzin pracy – i to tylko dla najważniejszych bibliotek. Po wdrożeniu skanowania SCA proces ten skrócił się do zera. Narzędzie automatycznie sprawdza kod przy każdym commicie. Jeśli pojawi się nowa luka, informacja trafia na Slacka w ciągu 47 sekund. Oszczędność czasu pracownika to około 24 godziny w skali roku, co przy obecnych stawkach IT daje wymierne oszyczędności rzędu 3800 PLN na samym czasie pracy.

Prawdziwa wartość leży jednak w uniknięciu przestojów. Średni koszt załatania luki, gdy system już został zhakowany, jest 11 razy wyższy niż koszt regularnej aktualizacji biblioteki. Skanujemy, łatamy, zabezpieczamy – to nasza metoda na to, by uniknąć telefonów o 3:00 rano, że dane klientów wyciekły przez błąd w starym sterowniku bazy danych. W The SpyBolt nie obiecujemy cudów, ale pokazujemy, jak za pomocą prostych automatów zamknąć najczęstsze drogi ataku. To nie jest kwestia 'czy' znajdzie się luka w bibliotece, ale 'kiedy'. Z SCA dowiesz się o tym pierwszy.

Jak zacząć bez wywracania wszystkiego do góry nogami?

Wielu właścicieli firm boi się, że wdrożenie bezpieczeństwa to projekt na pół roku, który sparaliżuje pracę działu IT. Prawda jest taka, że podstawowe skanowanie SCA można skonfigurować w 3-6 godzin. Zaczynamy od audytu obecnych zależności. Zazwyczaj w pierwszej rundzie znajdujemy około 8-12 bibliotek do natychmiastowej wymiany. Nie musisz naprawiać wszystkiego naraz. Przygotowujemy plan, co załatać dzisiaj, a co może poczekać do następnego sprintu. To uczciwe postawienie sprawy – wiemy, że biznes musi działać, a terminy gonią.

Kolejnym krokiem jest wpięcie skanera w Twój proces budowania aplikacji (CI/CD). Dzięki temu żaden nowy kod z dziurawą biblioteką nie trafi na produkcję. Programista dostanie czerwone światło już na swoim komputerze. To najtańsza metoda dbania o bezpieczeństwo, jaką znamy. Jeśli prowadzisz firmę w Kielcach lub okolicach i masz wrażenie, że nikt nie zaglądał pod maskę Twojego oprogramowania od czasu jego powstania, warto zacząć właśnie od tego. Bezpieczeństwo od pierwszej linii kodu zaczyna się od wiedzy, co ten kod w ogóle zawiera.

Podstawowy skan bibliotek konfigurujemy w 4 godziny. To najszybszy sposób na podniesienie odporności Twojej aplikacji.

Podsumowanie i następne kroki

Zarządzanie bibliotekami to nie jest jednorazowe zadanie, ale proces, który raz dobrze ustawiony, działa sam w tle. W The SpyBolt od 8 lat pomagamy małym zespołom ogarnąć ten chaos. Nie potrzebujesz do tego armii specjalistów, wystarczą odpowiednio dobrane narzędzia i ktoś, kto wie, jak je skonfigurować, żeby nie sypały fałszywymi alarmami. Nasze doświadczenie z 47 dostarczonych projektów pokazuje, że SCA to najniżej wiszący owoc w dziedzinie cyberbezpieczeństwa. Małym nakładem pracy eliminujesz ogromne ryzyko.

Jeśli chcesz sprawdzić, jak to wygląda u Ciebie, nie musisz kupować drogich licencji. Możemy zacząć od szybkiego przeglądu Twojego pliku z zależnościami. Przygotujemy dla Ciebie pisemną estymację w ciągu 24 godzin, wskazując, które elementy wymagają uwagi natychmiastowej. Nie oferujemy ogólnych porad, tylko konkretną listę bibliotek, które mogą Ci zaszkodzić. To pragmatyczne podejście, które sprawdza się najlepiej w codziennym biznesie. Skontaktuj się z nami i przestań zgadywać, co siedzi w Twoim kodzie.

Podsumowanie i następne kroki