Dostęp do obiektów i funkcji
Sprawdzamy identyfikatory obiektów, relacje między kontami i funkcje administracyjne: czy serwer konsekwentnie odmawia dostępu poza uprawnieniami?
Bezpieczeństwo API
Badamy dostęp do obiektów i funkcji, tokeny, zmiany stanu oraz wymianę danych między usługami. Raport pokazuje, jak można nadużyć sekwencji żądań i gdzie trzeba wzmocnić kontrolę po stronie serwera.
Napisz, jaki system chcesz sprawdzić, z jakiego powodu i w jakim terminie. Odpowiemy, jakie informacje pomogą przygotować propozycję. Dokumentację i dane dostępowe przekażesz później uzgodnionym, bezpiecznym kanałem.
Od 2007 roku rozwijamy doświadczenie w bezpieczeństwie IT.
Ręczna analiza wspierana narzędziami i oceną ryzyka.
Uzgodnione re-testy pomagają sprawdzić wdrożone poprawki.
Co sprawdzamy
Badanie projektujemy wokół operacji, ról i danych. Test samego API lub połączenie go z aplikacją webową ustalamy przed rozpoczęciem.
Sprawdzamy identyfikatory obiektów, relacje między kontami i funkcje administracyjne: czy serwer konsekwentnie odmawia dostępu poza uprawnieniami?
Analizujemy wydawanie, używanie i unieważnianie tokenów oraz egzekwowanie uprawnień w kolejnych żądaniach.
Badamy zmianę kolejności żądań, powtórzenie operacji i przejścia między stanami, które mogą prowadzić do nieuprawnionego działania lub ujawnienia danych.
Sprawdzamy parametry i komunikaty błędów oraz sposób, w jaki API przekazuje dane do powiązanych usług objętych testem.
Kiedy zaplanować test
Test ma sens przed udostępnieniem API, po zmianach w autoryzacji i integracjach, przy wymaganiach klienta lub w ramach okresowej kontroli. Wielkość i złożoność operacji wpływają na plan prac.
Co otrzymujesz po teście
Każde ustalenie opisujemy w kontekście badanego systemu: jak powstaje problem, co może umożliwić i jak go usunąć. Ocena ryzyka i priorytety pomagają zespołowi ułożyć prace naprawcze.
Zanonimizowany przykładowy raport załączamy do ofert przygotowywanych po ustaleniu zakresu testu.
Jak pracujemy
W każdym etapie wiadomo, co przygotować, co badamy i jak wykorzystać wyniki.
Pytamy o system, powód testu, oczekiwany termin i decyzje, które mają wesprzeć wyniki.
Określamy granice testu, środowisko, role, dostęp i dopuszczalne scenariusze.
Wybieramy kanał komunikacji i bezpieczny sposób przekazania dokumentacji oraz danych dostępowych.
Ręcznie analizujemy system, korzystamy z narzędzi pomocniczych i sprawdzamy możliwe scenariusze ataku.
Przekazujemy opis ustaleń, ocenę ryzyka i rekomendacje. Wyjaśniamy je zespołowi technicznemu.
Po wdrożeniu poprawek sprawdzamy je ponownie na wcześniej uzgodnionych zasadach.
Pytania przed testem
Nie. Możemy zbadać samo API albo połączyć je z testem aplikacji webowej. Przed rozpoczęciem określimy objęte badaniem operacje, role i powiązane usługi.
Na początek wystarczy krótki opis systemu, powód testu i oczekiwany termin. Później dopytamy o funkcje, role, środowisko i potrzebne dostępy. Na tej podstawie określimy granice prac i przygotujemy wycenę.
Czas zależy od wielkości i złożoności systemu, liczby ról oraz planowanych scenariuszy. Harmonogram przygotujemy po poznaniu systemu i granic badania.
Skaner pomaga znaleźć potencjalne problemy. Ręczny test sprawdza, czy i w jakich warunkach można je wykorzystać. Pozwala też zbadać role, przebieg operacji i zależności, których sama lista wyników skanowania nie wyjaśnia.
Nie. Model dobieramy do systemu i powodu testu. Black box oznacza ograniczoną wiedzę o systemie; grey box wykorzystuje uzgodniony dostęp i informacje; white box zakłada szerszy wgląd, na przykład do dokumentacji lub kodu.
Może, jeśli wcześniej ustalimy dopuszczalne działania i zabezpieczenia organizacyjne. Przy środowisku produkcyjnym omawiamy możliwy wpływ na usługi, okna prac, osoby kontaktowe i sposób reagowania na zakłócenia.
Omawiamy ustalenia z zespołem technicznym. Po wdrożeniu poprawek pozostajemy z klientem do zakończenia uzgodnionych re-testów. Ich warunki i obszary określamy wspólnie.
Odpowiemy, jakich informacji potrzebujemy do przygotowania propozycji. Omówimy system, powód testu, środowisko i dostęp. Dokumentację oraz dane dostępowe przekażesz później uzgodnionym, bezpiecznym kanałem.
Wystarczy opis systemu, powodu testu i oczekiwanego terminu. W odpowiedzi wskażemy informacje potrzebne do przygotowania propozycji.