Cyberbezpieczeństwo

Bezpieczeństwo aplikacji i systemów

Aplikacje firmowe są stałym celem ataków. Sprawdzamy, gdzie są podatności, mówimy, które z nich naprawdę mają znaczenie, i zamykamy je, zanim znajdzie je ktoś inny.

Skąd naprawdę biorą się podatności

Większość tego, co wychodzi w audycie aplikacji, nie jest egzotyczna. Panel administracyjny dostępny z otwartego internetu. Biblioteka trzy wersje główne do tyłu. Upload plików, który ufa nazwie przesłanego pliku. Endpoint API, który sprawdza, czy jesteś zalogowany, ale nie sprawdza, czy rekord, o który pytasz, należy do Ciebie.

Nudne problemy. I to właśnie one kończą się incydentami, bo znajdowanie ich na skalę całego internetu jest tanie i w pełni zautomatyzowane. Nikt nie przygląda się Twojej aplikacji osobiście. Coś przeczesuje sieć w poszukiwaniu znanego błędu w znanej wersji, a Twój serwer albo odpowiada, albo nie.

To wyznacza kolejność pracy. Zaczynamy od problemów częstych, tanich w sprawdzeniu i tanich w wykorzystaniu, i schodzimy niżej. Jeśli czas ma się skończyć, to niech skończy się na przypadkach niszowych.

Aplikacja to nie cała powierzchnia ataku

Aplikacja nigdy nie istnieje sama. Działa na serwerze, rozmawia z bazą, wywołuje zewnętrzne API i jest wdrażana przez pipeline, który trzyma poświadczenia. Przegląd kończący się na kodzie pomija większość tego, do czego atakujący może sięgnąć.

Dlatego patrzymy szerzej. Sama aplikacja: uwierzytelnianie, uprawnienia, walidacja danych wejściowych, sesje, obsługa plików. Konfiguracja wokół niej: ustawienia serwera i frameworka, otwarte porty, interfejsy administracyjne, TLS, nagłówki bezpieczeństwa. Drzewo zależności. I punkty integracji, w których uprawnienia zwykle narastają. Klucze API to najlepszy przykład. Powstają dla jednej integracji, dostają szerokie uprawnienia, bo tak było szybciej, i nikt nie rotuje ich przez cztery lata.

Osobno warto wspomnieć o środowiskach testowych. Bardzo często są kopią produkcji z prawdziwymi danymi, słabszymi hasłami i bez monitoringu, wystawioną na subdomenie, której nikt nie wyłączył.

Znalezienie to łatwiejsza połowa

Skaner uruchomi każdy. Skaner zwraca listę, większość tej listy to szum, a całość przychodzi bez informacji, co ma znaczenie akurat u Ciebie.

Wartościowa praca to selekcja. Przy każdym znalezisku zadajemy trzy pytania: czy w Twojej konfiguracji da się do tego dotrzeć, co to daje atakującemu i ile kosztuje naprawa. Klasy problemów, które regularnie okazują się warte uwagi:

Braki w kontroli uprawnień. Endpoint potwierdza tożsamość, ale nie sprawdza uprawnienia do zasobu. Zmieniasz identyfikator w adresie i dostajesz cudze dane. Skanery łapią to rzadko, bo trzeba rozumieć, co te dane znaczą.

Nieaktualne zależności. Nie każda ma znaczenie. Znaczenie mają te w ścieżkach obsługujących dane z zewnątrz.

Rozjechana konfiguracja. Coś zostało otwarte przy migracji albo w trakcie awarii i nigdy nie wróciło do poprzedniego stanu.

Obsługa poświadczeń. Klucze w repozytorium, w plikach środowiskowych wrzuconych przez przypadek albo współdzielone między środowiskami, przez co wyciek z testów staje się problemem produkcji.

Brak limitów zapytań. Logowanie, reset hasła i wyszukiwarka, które bez mrugnięcia okiem przyjmą kilka tysięcy prób na minutę.

Poprawki, które się utrzymują

Łatka zamyka jedną dziurę. Nie sprawi, że taka sama dziura nie wróci w funkcji, która powstanie za kwartał.

Tam, gdzie to proporcjonalne do skali, wolimy zmiany, które sprawiają, że bezpieczna droga staje się domyślna: uprawnienia egzekwowane centralnie, a nie pamiętane osobno przy każdym endpoincie; sekrety pobierane z jednego zarządzanego źródła; alerty o podatnościach wpięte w build, żeby kolejne zgłoszenie trafiło do programisty, a nie donikąd. Taka zmiana kosztuje więcej na starcie i zauważalnie mniej w każdym kolejnym miesiącu.

Nie wszystko na to zasługuje. Czasem właściwą odpowiedzią jest zaktualizowanie biblioteki, sprawdzenie efektu i powrót do pracy.

Czego to nie rozwiązuje

Bezpieczeństwo aplikacji to jedna warstwa. Nie pomoże, jeśli laptop pracownika zostanie przejęty i atakujący wejdzie z ważną sesją, bo od tego jest ochrona urządzeń końcowych. Nie pomoże, jeśli ktoś skasuje bazę produkcyjną, bo od tego są kopie zapasowe. I jest obrazem stanu, aktualnym w dniu, w którym powstał.

Wolimy powiedzieć to wprost, niż sprzedawać audyt jako gwarancję. Uczciwa wersja brzmi tak: dobry audyt praktycznie eliminuje tanie, automatyczne ataki i podnosi koszt pozostałych na tyle, że większość atakujących idzie szukać łatwiejszego celu.

Co dostajesz

Audyt konfiguracji aplikacji i serwerów

Uporządkowany przegląd tego, jak skonfigurowane są aplikacja i maszyny, na których działa: uwierzytelnianie, obsługa sesji, wystawione interfejsy, TLS i nagłówki bezpieczeństwa.

Przegląd zależności i aktualizacji

Zestawiamy drzewo zależności ze znanymi podatnościami i oddzielamy te faktycznie osiągalne w Twojej konfiguracji od tych, które skaner zgłosił, ale nikt ich nie wykorzysta.

Zabezpieczenie API i integracji

Kontrola uprawnień na każdym endpoincie, klucze o ograniczonym zakresie zamiast jednego wspólnego i limity zapytań tam, gdzie endpoint da się zasypać ruchem.

Ochrona przed atakami automatycznymi

Zabezpieczenia przed ruchem, który nigdy nie śpi: brute force na logowaniu i panelach, credential stuffing, próby wstrzyknięć i XSS.

Raport z priorytetami

Każde znalezisko opisane zrozumiałym językiem: co daje atakującemu, jak jest prawdopodobne i ile kosztuje naprawa. Ułożone tak, żeby zacząć od góry i skończyć, gdy ryzyko jest akceptowalne.

Wsparcie przy naprawach

Możemy przekazać raport Twoim programistom, pracować razem z nimi albo wdrożyć poprawki sami. Raport, z którym nikt nic nie zrobi, niczego nie poprawia.

Jak pracujemy

  1. 01

    Mapujemy powierzchnię ataku

    Sprawdzamy, co jest naprawdę wystawione na zewnątrz: domeny, subdomeny, panele administracyjne, API, zapomniane środowiska testowe. Od takich miejsc często zaczyna się atak.

  2. 02

    Testujemy i przeglądamy

    Automatyczne skanowanie znanych klas problemów, a następnie ręczny przegląd logiki uprawnień, procesów biznesowych i konfiguracji, czyli tego, z czym skanery radzą sobie najgorzej.

  3. 03

    Priorytetyzujemy w Twoim kontekście

    Znaleziska układamy według tego, czy da się do nich dotrzeć i co dają atakującemu w Twoim środowisku, a nie według ogólnej punktacji. Teoretyczny problem w narzędziu wewnętrznym to nie pożar.

  4. 04

    Naprawiamy według priorytetów

    Aktualizacje, zmiany konfiguracji i poprawki w kodzie, zaczynając od wszystkiego, do czego da się dotrzeć z internetu bez logowania. Każdą zmianę weryfikujemy, zanim uznamy ją za zamkniętą.

  5. 05

    Ustawiamy powtarzalne kontrole

    Alerty o podatnościach w zależnościach, skanowanie w pipelinie i termin kolejnego przeglądu, żeby obraz nie zdezaktualizował się tydzień po naszym wyjściu.

Narzędzia i technologie

Tam, gdzie istnieje dobre narzędzie open source, wybieramy je zamiast zamkniętego. Bez uzależnienia od jednego dostawcy i z kosztami, które da się przewidzieć.

  • OWASP ZAP
  • Semgrep
  • Trivy
  • Nuclei
  • Gitleaks
  • OSV-Scanner
  • Sentry
  • Burp Suite
  • Dependabot
  • GitHub Actions
  • Cloudflare WAF
  • Vercel WAF

Najczęściej zadawane pytania

Pozostałe usługi w tej kategorii

Przeczytaj opinie firm, które nam zaufały

Zawsze są kilka kroków do przodu.

Mikołaj

CEO & Founder, GBS®

Zobacz na Clutch
GBS® logo

Dostarczone znacznie wcześniej niż termin.

Yasniel

CEO, IMEGA Sp z o.o.

Zobacz na Clutch

Indywidualne podejście ZanReal jest imponujące.

Adam

Executive, w-studio.pl

Zobacz na Clutch

Wiedza i intuicja biznesowa czynią ich wartościowym partnerem.

Magda

Designer, DIGITALUNI

Zobacz na Clutch

Szybkie rozwiązania, które obniżyły koszty o 99%.

Andrei Kapytau

Team Lead, busel.uk

Zobacz na Clutch

+20% dostarczalności dla naszych kampanii e-mail.

Joan Calabria

Sales Director, 36NORTH

Zobacz na Clutch
36NORTH logo

Najnowsze

Poradniki techniczne, bezpieczeństwo i nasze doświadczenia z budowania rozwiązań AI.

Które podatności w Twojej aplikacji naprawdę mają znaczenie?

Napisz do nas

Opowiedz nam, jak zbudowana jest Twoja aplikacja i z czym się łączy, a zaproponujemy zakres audytu i obszary, od których warto zacząć.

Zanek

Nie nadążasz za zmianami w świecie AI?

Pozwól, że weźmiemy to na siebie. Co tydzień destylujemy najważniejsze wydarzenia ze świata AI w skupiony, 5-minutowy przegląd — żebyś był na bieżąco bez szumu.

Dowiedz się więcej
Tygodnik AIonline
Wyselekcjonowane wiadomości AI do porannej kawy. Co tydzień.
Wyślij mi swój email, żeby się zapisać.