API Security (bezpieczeństwo API) to zestaw praktyk i zabezpieczeń, które chronią interfejsy programistyczne aplikacji (API, czyli sposób, w jaki programy „rozmawiają” ze sobą po sieci) przed nieautoryzowanym dostępem, nadużyciem logiki biznesowej, wyciekiem danych i atakami. Obejmuje sprawdzanie, kto wykonuje wywołanie i czy ma do tego prawo (uwierzytelnianie i autoryzacja), szyfrowanie przesyłanych danych, kontrolę danych wejściowych, ograniczanie ruchu, spis wszystkich endpointów oraz monitorowanie i wykrywanie nietypowych zachowań w warstwie aplikacji (zwykle ruch HTTP/HTTPS).
API to dziś główna powierzchnia ataku nowoczesnych aplikacji. Aplikacje mobilne, nowoczesne strony (SPA), urządzenia IoT, mikrousługi i integracje między firmami — wszystkie komunikują się przez API, które udostępniają logikę aplikacji i dane wrażliwe (w tym dane osobowe, czyli PII). W odróżnieniu od klasycznej ochrony stron WWW, bezpieczeństwo API musi radzić sobie z zagrożeniami typowymi dla komunikacji „maszyna do maszyny”, gdzie po drugiej stronie nie ma człowieka klikającego w przeglądarce.
Dlaczego API są częstym celem ataków?
API pokazują wprost operacje i dane po stronie serwera — często bez ekranu aplikacji, który ograniczałby dostępne akcje. Napastnik widzi, jak wyglądają żądania i odpowiedzi, może je zmieniać i powtarzać tysiące razy automatycznie. Główne powody ryzyka:
- Widoczna logika i dane – endpointy zwracają obiekty z identyfikatorami i polami, które łatwo zgadywać po kolei lub modyfikować.
- Brak interfejsu jako bariery – ukrycie przycisku w aplikacji niczego nie chroni; liczy się tylko kontrola po stronie serwera.
- Shadow API i zombie API – nieudokumentowane lub zapomniane, niezaktualizowane wersje endpointów wciąż działają i nikt ich nie pilnuje.
- Łatwa automatyzacja – wywołania API prosto opisać skryptem, co otwiera drogę do credential stuffingu (masowego logowania wykradzionymi hasłami), pobierania danych na masową skalę i nadużyć logiki biznesowej.
- Złożone integracje – ruch między mikrousługami wewnątrz systemu (tzw. east-west) bywa słabiej kontrolowany niż ruch z internetu (north-south).
Jakie są główne zagrożenia API? (OWASP API Security Top 10)
Branżowym punktem odniesienia jest OWASP API Security Top 10 (edycja 2023) — lista najczęstszych słabości typowych dla API:
- API1: Broken Object Level Authorization (BOLA) – serwer nie sprawdza, czy pytający ma prawo do danego obiektu. Wystarczy zmienić identyfikator w żądaniu (np.
/orders/123na/orders/124), by zobaczyć cudze dane. Najczęstsza i najgroźniejsza słabość. - API2: Broken Authentication – słabe lub źle wdrożone logowanie: podatność na credential stuffing, zgadywanie haseł (brute force), akceptowanie wygasłych lub źle sprawdzanych tokenów.
- API3: Broken Object Property Level Authorization – odpowiedź zwraca za dużo pól (nadmierna ekspozycja danych) albo pozwala zapisać pola, których klient nie powinien zmieniać (mass assignment).
- API4: Unrestricted Resource Consumption – brak limitów (na liczbę żądań, ich rozmiar, stronicowanie), co prowadzi do przeciążenia usługi (DoS) lub niespodziewanych kosztów.
- API5: Broken Function Level Authorization – zwykły użytkownik może wywołać funkcje administracyjne, bo brakuje kontroli uprawnień na poziomie pojedynczej operacji.
- API6: Unrestricted Access to Sensitive Business Flows – nadużycie kluczowych procesów (np. zakup, rejestracja) przez automatyzację, której nikt nie ogranicza.
- API7: Server Side Request Forgery (SSRF) – zmuszenie serwera, by sam wysłał żądanie do zasobów wewnętrznych, na podstawie niesprawdzonego adresu URL podanego przez napastnika.
- API8: Security Misconfiguration – błędne ustawienia: złe nagłówki, zbyt otwarty
CORS, ustawienia domyślne, brak szyfrowaniaTLS, zbyt szczegółowe komunikaty błędów. - API9: Improper Inventory Management – brak aktualnego spisu endpointów i wersji (stąd shadow/zombie API, niewyłączone wersje deweloperskie).
- API10: Unsafe Consumption of APIs – zbyt ufne przyjmowanie odpowiedzi z cudzych API (zewnętrznych) bez ich sprawdzenia i oczyszczenia.
Poza listą OWASP wciąż groźne są klasyczne ataki, gdy dane wejściowe trafiają do silnika wykonującego polecenia: SQL injection, NoSQL injection, command injection oraz manipulacja tokenami JWT (np. wymuszenie algorytmu none albo słaby sekret).
Czym różni się bezpieczeństwo REST, GraphQL i SOAP?
Rodzaj API wpływa na to, gdzie kryje się ryzyko i jak się przed nim bronić:
- REST – operacje na zasobach przez metody HTTP (
GET,POST,PUT,DELETE). Główne ryzyka to BOLA/IDOR (podmiana identyfikatora w adresie) i zwracanie zbyt wielu pól w odpowiedziachJSON. - GraphQL – jeden endpoint i bardzo elastyczne zapytania. Tu uważa się na kosztowne, głęboko zagnieżdżone zapytania (mogą przeciążyć serwer), na introspekcję, która ujawnia całą strukturę danych, oraz na kontrolę uprawnień osobno dla każdego pola.
- SOAP – komunikaty w formacie
XMLz WS-Security; typowe słabości to ataki na parser XML (XXE), nadmiernie rozbudowane payloady oraz błędy w obsłudze podpisów i szyfrowania.
Jak zabezpiecza się API? (mechanizmy i kontrole)
Skuteczna ochrona łączy kontrole na trzech poziomach: w samym projekcie aplikacji, na bramie API i w monitoringu:
- Uwierzytelnianie (kto pyta) – tokeny
OAuth 2.0/OpenID Connect,JWTz poprawnym sprawdzaniem podpisu i czasu ważności, klucze API dla integracji między systemami orazmTLStam, gdzie obie strony muszą się nawzajem zweryfikować. - Autoryzacja (czy wolno) – sprawdzana po stronie serwera dla każdego obiektu (chroni przed BOLA) i każdej funkcji (chroni przed broken function level authorization); zasada minimalnych uprawnień.
- Szyfrowanie przesyłanych danych –
TLS(HTTPS) dla całego ruchu, także wewnętrznego między usługami. - Kontrola danych wejścia i wyjścia – sprawdzanie żądań według wzorca (np. OpenAPI/JSON Schema), filtrowanie zwracanych pól, ochrona przed mass assignment.
- Ograniczanie zasobów – limity liczby żądań (rate limiting), spowalnianie nadmiernego ruchu (throttling), limity rozmiaru żądania, stronicowanie i kwoty.
- Brama API i WAAP – brama API (API gateway) zbiera w jednym miejscu uwierzytelnianie, kierowanie ruchu i limity; WAAP/WAF dokłada filtrowanie warstwy aplikacji, ale sam nie wykryje nadużyć logiki biznesowej.
- Spis i wykrywanie endpointów (discovery) – ciągłe odnajdywanie endpointów i wersji oraz usuwanie shadow/zombie API.
- Testy bezpieczeństwa – analiza kodu i działającej aplikacji (SAST/DAST), fuzzing API, testy penetracyjne i przeglądy wpięte w proces wdrożeń (CI/CD), czyli podejście shift-left / DevSecOps.
Dlaczego API Security jest ważne dla monitoringu i wykrywania?
Wiele ataków na API to nie pojedyncze włamania, lecz nadużycia logiki biznesowej, które wyglądają jak normalny ruch — bramy API i WAF przepuszczają takie żądania, bo formalnie są poprawne. Dlatego do ich wykrycia potrzeba telemetrii i analizy zachowania w warstwie aplikacji:
- Pełna telemetria wywołań – logi i dane o żądaniach i odpowiedziach (endpoint, metoda, kod statusu, tożsamość, ilość, czas) jako podstawa wykrywania.
- Wykrywanie enumeracji – sięganie po kolei do wielu identyfikatorów obiektów to typowy ślad BOLA/IDOR; serie odpowiedzi
401/403sygnalizują próby obejścia autoryzacji. - Anomalie ilości i tempa – nagłe skoki wywołań jednego endpointu, masowe pobieranie danych, credential stuffing (wiele logowań z różnymi danymi).
- Powiązanie z ruchem sieciowym – w architekturze mikrousług obserwacja ruchu wewnętrznego east-west (telemetria przepływów, NetFlow/IPFIX, logi service mesh) pomaga zauważyć boczne przemieszczanie się napastnika i nietypowe połączenia między usługami.
- Wykrywanie shadow API – bierne podglądanie ruchu ujawnia endpointy, których nie ma w dokumentacji i które wymykają się kontroli.
Dla zespołów SOC i rozwiązań NDR / monitoringu sieci API to warstwa, w której sygnałem ataku jest najczęściej wzorzec zachowania (kto, do jakich obiektów i jak często sięga), a nie pojedyncze złośliwe żądanie.
Dowiedz się więcej
- OWASP Top 10 — Wskazuje najczęstsze luki webowe, które często obejmują błędy w autoryzacji i zabezpieczeniu API.
- REST API — API Security dotyczy ochrony interfejsów REST przed nadużyciami, wyciekiem danych i błędną autoryzacją.
- Application Layer Attack (L7) — Ataki L7 często wykorzystują API jako punkt wejścia do aplikacji i kradzieży danych.
- Integracja logów audytu Sycope z SIEM w celu zwiększenia zgodności i monitorowania — Logi audytu wspierają wykrywanie nadużyć i śledzenie zdarzeń związanych z bezpieczeństwem API.
- Czym jest NetFlow i jak ten protokół jest wykorzystywany w praktyce? — NetFlow pomaga obserwować ruch do API i wykrywać nietypowe wzorce komunikacji.