Co sprawia, że test penetracyjny jest legalny

Te same działania z upoważnieniem są usługą, a bez niego przestępstwem. Jakie dokumenty tworzą upoważnienie, kto może je podpisać i gdzie zwykle są luki.

Opublikowano4 min czytania

Tester wykonujący test penetracyjny robi to samo co intruz: szuka drogi do środka i z niej korzysta. Przepisy o przestępstwach komputerowych w większości krajów nie pytają o intencje. Pytają, czy dostęp był objęty upoważnieniem. Cała różnica między usługą a przestępstwem to zestaw dokumentów, podpisanych przez właściwą osobę przed rozpoczęciem pracy.

Ten artykuł opisuje te dokumenty. Nie jest poradą prawną: prawo różni się w zależności od kraju, a o tym, co ma zastosowanie w Twoim przypadku, decydują Twoi prawnicy.

Dokumenty

Umowa

Umowa handlowa: co zostanie wykonane, do kiedy, za ile, z jaką odpowiedzialnością i jaką poufnością. Sama umowa nie jest upoważnieniem. Zobowiązuje strony wobec siebie nawzajem; sama w sobie nie określa, co wolno atakować.

Pisemne upoważnienie

Oświadczenie, którym właściciel systemów zezwala na test. Powinno wskazywać:

  • systemy, przez adres, domenę albo inny jednoznaczny identyfikator;
  • okres, w którym testy są dozwolone;
  • osoby lub firmę, którym wolno testować;
  • osobę podpisującą i charakter, w jakim ta osoba podpisuje.

Testerzy mają je przy sobie, dosłownie lub w przenośni, przez cały projekt. Gdy dostawca hostingu albo organ ścigania pyta, co się dzieje, odpowiedzią jest właśnie ten dokument.

Zasady prowadzenia testów

Granice techniczne: które techniki są dozwolone, a które wyłączone, godziny testów, dopuszczalna częstotliwość żądań, co się dzieje, gdy system traci stabilność, do kogo dzwonić w nocy. NIST SP 800-115 traktuje zasady prowadzenia testów jako obowiązkowy element planowania, a PTES z tego samego powodu umieszcza je w fazie ustaleń wstępnych: pytania, których nie rozstrzygnięto przed testem, rozstrzyga się w trakcie incydentu.

Opis zakresu

Lista tego, co jest objęte zakresem, i tego, co jest poza nim. Wyłączenia są tak samo ważne jak to, co zakres obejmuje: dostawca płatności obsługujący finalizację zamówienia, współdzielona platforma firmy hostingowej, system jednokrotnego logowania należący do spółki matki.

Poufność i ochrona danych

Umowa o zachowaniu poufności (NDA), podpisana przed wymianą szczegółów technicznych. Jeśli tester może natrafić na dane osobowe, także umowa powierzenia przetwarzania danych. W Unii Europejskiej wynika to z art. 28 RODO, gdy tester przetwarza dane osobowe w imieniu klienta.

Kto może podpisać

Upoważnienie jest warte tyle, ile umocowanie osoby, która je podpisuje.

  • Właściciel systemu, a nie jego użytkownik. Firma nie może upoważnić do testowania produktu SaaS, który subskrybuje.
  • Osoba uprawniona do reprezentowania firmy. Programista, który bez wiedzy kierownictwa zamawia test systemu produkcyjnego pracodawcy, nie udzielił żadnego upoważnienia.
  • Każdy właściciel, jeśli jest ich kilku. System prowadzony przez jedną firmę na infrastrukturze innej może wymagać upoważnienia od obu.

Staranny wykonawca to weryfikuje: sprawdza rejestr handlowy i własność domen oraz potwierdza zamówienie oficjalnym kanałem firmy. Wykonawca, który o to nie pyta, powinien Cię zaniepokoić.

Podmioty trzecie

Twoje upoważnienie obejmuje to, co należy do Ciebie. Wokół tego zwykle są systemy, które do Ciebie nie należą.

Dostawcy chmury. Duzi dostawcy publikują zasady testowania zasobów, które klienci uruchamiają na ich platformach. W chwili pisania tego tekstu AWS, Microsoft Azure i Google Cloud pozwalają klientom testować własne zasoby bez uprzedniej zgody, w granicach zasad, które każdy z nich publikuje; AWS wymienia ponadto usługi, które wolno testować. Testy odporności na ataki typu odmowa usługi (DoS) ograniczają wszyscy trzej. Zasady się zmieniają, dlatego sprawdza się je przed każdym projektem, a nie odtwarza z pamięci z poprzedniego.

Hosting i usługi zarządzane. Hosting współdzielony, zarządzane bazy danych i sieci dostarczania treści mają własne warunki. Niektóre wymagają powiadomienia, inne całkowicie zabraniają testów.

Dostawcy i partnerzy. Integracja z partnerem nie rozszerza Twojego upoważnienia na tę część integracji, która należy do partnera. Bez pisemnej zgody partnera testy kończą się na Twojej granicy.

Typowe luki

  • Test się zaczął, a upoważnienie jest wciąż „w trakcie podpisywania”.
  • Zakres wymienia domenę, a aplikacja, która za nią stała, w zeszłym miesiącu przeniosła się pod inny adres.
  • Upoważnienie podpisał ktoś, kto nie miał umocowania, by je podpisać.
  • Środowisko produkcyjne jest objęte zakresem, a nikt nie powiadomił zespołu utrzymania.
  • Spółka zależna w innym kraju jest testowana na podstawie upoważnienia spółki matki.

Każda z nich sprawia, że w części prac test przestaje być objęty upoważnieniem, a żadnej z nich nie widać od strony technicznej.

Bug bounty to też upoważnienie

Program bug bounty to upoważnienie udzielone publicznie: zasady programu mówią, co i jak wolno testować, a kto ich przestrzega, działa za zgodą właściciela. Klauzula safe harbor dodaje zobowiązanie właściciela, że nie podejmie kroków prawnych przeciwko badaczom, którzy pozostają w granicach zasad. Wiąże ona tylko właściciela. Nie zmienia prawa karnego i nie wiąże podmiotów trzecich, dlatego zasad trzeba przestrzegać dokładnie, a system bez programu nie jest celem.

W skrócie

Zanim zostanie wysłany pierwszy pakiet, powinny istnieć: umowa, pisemne upoważnienie podpisane przez osobę uprawnioną do jego podpisania, zasady prowadzenia testów, zakres z wyłączeniami i zgoda każdego podmiotu trzeciego, którego systemów dotyczą testy. Szczegóły tego, jak to robimy, są na stronie „Przebieg współpracy”.

Zapytanie

Napisz, co trzeba przetestować

  • Bezpłatne sprawdzenie strony
  • Odpowiedź w ciągu 1 dnia roboczego
  • NDA przed przekazaniem szczegółów technicznych
  • Stała cena płatnych projektów
  • Bez zobowiązań

Wyślij zapytanie

Opisz systemy i cel. Menedżer odpowie w ciągu 1 dnia roboczego: zada pytania doprecyzowujące i zaproponuje kolejny krok.

Komu odpowiedzieć

Odpowiadamy na ten adres, chyba że wybierzesz inny kanał.

Osoba prowadząca jednoosobową działalność gospodarczą wpisuje swoje imię i nazwisko.

Preferowany kanał kontaktu
Co sprawdzić
Interesujące Cię usługi

Zaznacz wszystkie, które pasują.

Bezpłatne sprawdzenie

Sprawdzamy Twoją stronę bezpłatnie

Jeśli nie znajdziemy problemów, raport również otrzymujesz bezpłatnie. Za raport płacisz tylko wtedy, gdy znajdziemy problemy, a jego cena zależy od ich liczby i istotności.

Warunki bezpłatnego sprawdzenia bezpieczeństwa strony

Bezpieczeństwo aplikacji

Infrastruktura i chmura

Symulacja ataków

AI, Web3 i kryptografia

Programy i kontrola

Bezpieczeństwo aplikacji

Bezpłatne sprawdzenie bezpieczeństwa strony

Patrzymy na Twoją stronę z zewnątrz, tak jak atakujący, i sprawdzamy, czy można się na nią włamać: słabe ustawienia, nieaktualne oprogramowanie, publicznie dostępne pliki, niebezpieczne formularze. Sprawdzenie jest bezpłatne.

Bezpieczeństwo aplikacji

Testy penetracyjne aplikacji webowych

Próbujemy włamać się do Twojej aplikacji webowej tak, jak zrobiłby to prawdziwy atakujący: zalogować się na cudze konta, odczytać dane innych klientów, zmienić ceny lub zamówienia. Dowiadujesz się, co jest możliwe, zanim dowiedzą się tego przestępcy.

Bezpieczeństwo aplikacji

Testy bezpieczeństwa API

API to kanał, przez który Twoja aplikacja, strona internetowa i partnerzy wymieniają dane z Twoimi serwerami. Sprawdzamy, czy nikt nie może przez nie odczytać ani zmienić cudzych danych.

Bezpieczeństwo aplikacji

Testy penetracyjne aplikacji mobilnych

Badamy Twoją aplikację na iOS lub Androida i stojące za nią serwery: co aplikacja przechowuje w telefonie, co można z niej wydobyć i czy da się podmienić jej żądania.

Bezpieczeństwo aplikacji

Przegląd bezpieczeństwa kodu

Nasi specjaliści czytają kod źródłowy Twojego produktu i znajdują błędy, które prowadzą do włamania, także te niewidoczne z zewnątrz.

Infrastruktura i chmura

Ocena bezpieczeństwa chmury i Kubernetesa

Sprawdzamy, jak skonfigurowana jest Twoja chmura (AWS, Azure, Google Cloud, Kubernetes): kto ma dostęp do czego, które dane są otwarte na internet i jak daleko zajdzie atakujący po pierwszym błędzie.

Infrastruktura i chmura

Testy penetracyjne infrastruktury

Testujemy Twoje serwery i sieć biurową z zewnątrz i od środka: czy atakujący może dostać się do środka, a gdy już tam jest, dotrzeć do systemu księgowego, poczty lub kopii zapasowych.

Infrastruktura i chmura

Ocena zewnętrznej powierzchni ataku

Znajdujemy wszystko, co Twoja firma wystawia do internetu, także to, o czym zapomniano: stare strony, serwery testowe, hasła, które wyciekły. Potem pokazujemy, co z tego można zaatakować.

Infrastruktura i chmura

Bezpieczeństwo CI/CD i łańcucha dostaw

Sprawdzamy drogę, jaką Twój kod przechodzi od programisty do klienta: serwery budowania, biblioteki zewnętrzne, klucze dostępu. Kto kontroluje tę drogę, kontroluje Twój produkt.

Symulacja ataków

Operacje Red Team

Ćwiczenie na pełną skalę. Nasz zespół odgrywa prawdziwego atakującego z konkretnym celem, na przykład dotarciem do danych klientów, a Ty widzisz, czy Twoja obrona go zauważy i zatrzyma.

Symulacja ataków

Ćwiczenia Purple Team

Nasi atakujący i Twoi obrońcy pracują ramię w ramię: pokazujemy technikę ataku, Twój zespół sprawdza, czy ją widzi, a luki w monitoringu są zamykane na miejscu.

Symulacja ataków

Testy socjotechniczne

Testujemy ludzi, a nie maszyny: e-maile phishingowe, telefony i wiadomości, których atakujący używają, by zdobyć hasła. Dowiadujesz się, ilu pracowników dałoby się oszukać i na czym skupić szkolenia.

AI, Web3 i kryptografia

Testy bezpieczeństwa AI i LLM

Jeśli Twój produkt ma chatbota lub inny model AI, sprawdzamy, czy da się go namówić do ujawnienia poufnych danych, złamania własnych zasad albo działania w cudzym imieniu.

AI, Web3 i kryptografia

Audyt smart kontraktów

Zanim smart kontrakt zacznie przechowywać pieniądze, szukamy w jego kodzie błędów, które pozwoliłyby komuś wypłacić lub zamrozić środki. Po wdrożeniu takich błędów nie da się poprawić.

AI, Web3 i kryptografia

Przegląd kryptografii

Sprawdzamy, jak Twój produkt szyfruje dane i chroni klucze: czy wybrano właściwe algorytmy i czy są prawidłowo stosowane. Błąd w tym miejscu sprawia, że szyfrowanie staje się bezużyteczne.

Programy i kontrola

Zarządzanie programem bug bounty

Bug bounty to program, w którym niezależni badacze szukają podatności w Twoim produkcie i otrzymują nagrodę za każdą, którą znajdą. Uruchamiamy i prowadzimy taki program dla Ciebie.

Programy i kontrola

Program ujawniania podatności (VDP)

Publiczna strona i procedura, które mówią badaczom, jak bezpiecznie zgłosić Ci podatność. Bez nich zgłoszenia giną albo przychodzą w formie gróźb. Uruchamiamy ten proces i obsługujemy przychodzące zgłoszenia.

Programy i kontrola

Ciągłe testy penetracyjne

Zamiast jednego testu w roku testujemy każdą istotną zmianę w Twoim produkcie przez cały rok, aby nowa podatność nie czekała miesiącami na wykrycie.

Programy i kontrola

Testy penetracyjne na potrzeby zgodności

Test penetracyjny zorganizowany tak, aby jego raport zaakceptował audytor, regulator lub duży klient: PCI DSS, DORA, NIS2, ISO/IEC 27001, SOC 2.

Interesujące Cię usługi

Jeszcze nie wiem

Wybierz tę opcję, jeśli nie wiesz, której usługi potrzebujesz. Opisz zadanie własnymi słowami, a specjalista zaproponuje usługę w odpowiedzi.

Domena lub adres URL strony internetowej albo głównego systemu do testów, na przykład app.example.com.

Co wymaga testów, dlaczego teraz oraz ewentualny termin lub wymóg zgodności. Bez haseł, kluczy i szczegółów podatności.

Potwierdzenia

Nie przesyłaj przez ten formularz danych logowania, kluczy ani szczegółów podatności. Bezpieczny kanał uzgadniamy po pierwszej odpowiedzi.

Automatyczna weryfikacja chroniąca przed nadużyciami