The SpyBolt
FinTech

Wykrycie 8 krytycznych podatności w systemie finansowym

Przeprowadziliśmy głęboki audyt architektury dla platformy pożyczkowej. Znaleźliśmy dziury w logice autoryzacji, które mogły doprowadzić do kradzieży danych.

8 krytycznych luk usuniętych
KlientSzybkaPożyczka.pl
BranżaFinTech
HarmonogramWrzesień 2024

Weszliśmy do projektu w momencie, gdy system API platformy SzybkaPożyczka.pl był wystawiony na ryzyko. Przez 11 dni nasz dwuosobowy zespół analizował każdy punkt styku aplikacji z bazą danych, aby wyłapać błędy, których nie widziały standardowe skanery.

Audyt bezpieczeństwaSpring BootGitLab CI/CDAPI SecurityPentesty

Wyzwanie

Klient zarządzał siecią 12 mikroserwisów, które obsługiwały wnioski o pożyczki w czasie rzeczywistym. Problem zaczął się od dziwnego wzrostu błędnych logowań – odnotowano 412 takich przypadków w ciągu zaledwie 3 godzin w jeden wtorek. Wewnętrzny zespół 4 programistów nie mógł namierzyć źródła problemu, a ryzyko wycieku danych osobowych 14 tysięcy aktywnych użytkowników rosło z każdą godziną. Głównym wyzwaniem była nieszczelna logika autoryzacji, gdzie zmiana jednego parametru ID w adresie URL pozwalała podejrzeć historię kredytową innej osoby.

Podejście

Prace zaczęliśmy od statycznej analizy kodu (SAST) przy użyciu dedykowanych reguł dla frameworka Spring Boot. Następnie przeszliśmy do testów dynamicznych (DAST), skupiając się na module CreditEngine. Skupiliśmy się na ręcznej weryfikacji 37 endpointów API. Odkryliśmy, że tokeny sesji nie były poprawnie sprawdzane pod kątem uprawnień użytkownika. Szczerze mówiąc, był to typowy błąd wynikający z pośpiechu przy wdrażaniu nowej wersji systemu, ale skutki mogły być fatalne dla reputacji firmy w Kielcach i całej Polsce.

Rozwiązanie

Wdrożyliśmy nową warstwę walidacji na bramie API (API Gateway), która blokuje każde zapytanie niepasujące do identyfikatora sesji. Skonfigurowaliśmy automatyczne skanowanie bezpieczeństwa w potoku GitLab, które teraz sprawdza każdy commit pod kątem 142 znanych wzorców podatności. Dodatkowo przepisaliśmy middleware odpowiedzialny za autoryzację, wprowadzając mechanizm Policy-Based Access Control, co zamknęło drogę do manipulacji parametrami ID.

Rezultaty

W ciągu niecałych dwóch tygodni ustabilizowaliśmy system i zabezpieczyliśmy dane klientów, eliminując ryzyko kar finansowych i kradzieży tożsamości.

8
krytycznych luk usuniętych w 11 dni
2.3s
średni czas skanowania kodu w CI/CD
0
nieautoryzowanych prób dostępu po wdrożeniu

Harmonogram

  1. 3 Wrzesień 2024
    Start audytu i skanowanie statyczne 12 mikroserwisów.
  2. 7 Wrzesień 2024
    Wykrycie luki IDOR w module CreditEngine.
  3. 14 Wrzesień 2024
    Wdrożenie poprawek i testy regresyjne na środowisku staging.

"The SpyBolt znalazło błędy, które nasze automatyczne narzędzia kompletnie pominęły. Nie dostaliśmy tylko suchego raportu, ale konkretne instrukcje, jak naprawić kod krok po kroku."

Marek Wiśniewski CTO, SzybkaPożyczka.pl Październik 2024