Zabezpiecz interfejsy API i aplikacje internetowe za pomocą skanera Probely DAST

Biorąc pod uwagę, że mniej więcej jedna trzecia wszystkich znanych naruszeń bezpieczeństwa jest bezpośrednim wynikiem udanego ataku na aplikację internetową, niezwykle ważne jest przetestowanie bezpieczeństwa aplikacji internetowych i interfejsów API.

Nie tylko musisz upewnić się, że Twoje aplikacje internetowe są bezpieczne ze względów regulacyjnych, ale także (powinieneś) dbać o dane swojego klienta i narażenie na ryzyko dla Twojej firmy.

Z pewnością masz wiele opcji, jeśli chodzi o zabezpieczanie aplikacji internetowych, wszystkie z ich zaletami i wadami. Niektóre rozwiązania polegają na identyfikowaniu problemów z bezpieczeństwem w kodzie źródłowym aplikacji. Inne chronią Twoje aplikacje przed atakami. A inne polegają na dynamicznym testowaniu bezpieczeństwa aplikacji internetowych w czasie wykonywania, tak jak zrobiłby to haker.

Niniejszy artykuł koncentruje się na tym ostatnim przypadku, a mianowicie na prawdopodobnie. To, co czyni Probely interesującym w porównaniu z innymi, to fakt, że rozwiązuje dwa główne problemy skanerów podatności na ataki sieciowe: zasięg skanowania nowoczesnych aplikacji internetowych i jakość wyników.

Probely ma dwie różne edycje: samoobsługową przeznaczoną dla małych i średnich firm oraz drugą przeznaczoną dla przedsiębiorstw lub firm z wieloma aplikacjami internetowymi i interfejsami API.

Probely koncentruje się na zapewnianiu wyjątkowego pokrycia w nowoczesnych środowiskach programistycznych i eliminowaniu fałszywych alarmów dzięki wynikom skanowania opartego na dowodach, jednocześnie umożliwiając integrację skanowania DAST z cyklem rozwoju.

Zbyt dobre by było prawdziwe?

Czytaj dalej, aby dowiedzieć się o mojej analizie Probely.

Czym dokładnie zajmuje się Probely?

Mając na uwadze programistów i firmy każdej wielkości, Probely testuje Twoje aplikacje i interfejsy API, skanując je w celu znalezienia problemów z bezpieczeństwem i luk w zabezpieczeniach. Po zakończeniu testowania zawiera wskazówki, jak rozwiązać wykryte problemy.

Twoi programiści i inżynierowie bezpieczeństwa mogą pracować z Probely poprzez intuicyjny interfejs użytkownika. Ale jeśli potrzebujesz mocy i elastyczności, możesz polegać na ich w pełni funkcjonalnym interfejsie API, ponieważ stosują podejście programistyczne oparte na interfejsie API. Ich API zapewnia wszystkie funkcje, które widzisz w interfejsie użytkownika, umożliwiając integrację Probely z potokiem CI/CD, narzędziem do zarządzania lukami w zabezpieczeniach, orkiestratorem lub narzędziem do śledzenia problemów. Jeśli korzystasz z popularnych, możesz mieć gotową integrację. Tak jest w przypadku narzędzi takich jak JIRA, Jenkins, Azure DevOps, DefectDojo, CircleCI i Slack. Ale jeśli opracowałeś własny moduł do śledzenia problemów lub narzędzie do orkiestracji, interfejs API jest do zrobienia.

Zasięg, indeksowanie i dokładność

Probely używa pająka nowej generacji do poruszania się po bogatych aplikacjach Javascript w taki sam sposób, jak zwykła przeglądarka, co skutkuje doskonałym pokryciem witryny, co jest problemem dla wielu innych narzędzi DAST. Ten pająk jest idealny do aplikacji jednostronicowych, takich jak te oparte na React lub Angular JS.

Należy pamiętać, że skaner może zidentyfikować luki w zabezpieczeniach tylko na znalezionych stronach. Dlatego dobry pająk ma ogromne znaczenie.

Probely oferuje również różne profile skanowania, w zależności od środowiska, które chcesz przetestować. Możesz ustawić mniej inwazyjny profil skanowania, jeśli chcesz przeskanować swoje środowisko produkcyjne. Jeśli testujesz swoje środowisko kontroli jakości, możesz ustawić dokładniejszy profil, aby uzyskać dokładniejsze skanowanie. Testując środowisko przedprodukcyjne, możesz zidentyfikować i naprawić luki w zabezpieczeniach przed wdrożeniem aplikacji w środowisku produkcyjnym.

Raportowanie

Chociaż Probely wykrywa obszerną listę luk w zabezpieczeniach, koncentruje się na zgłaszaniu tego, co jest istotne i bez fałszywych alarmów. W przypadku niektórych klas luk dostarcza dowodów na to, że luka jest prawdziwa, oszczędzając czas Twojego zespołu na sprawdzanie, czy luki są prawdziwe i istotne.

Probely zapewnia obszerne raporty z poziomu interfejsu, ale może również synchronizować informacje o lukach w zabezpieczeniach z narzędziem do śledzenia problemów lub narzędziem do zarządzania lukami w zabezpieczeniach, co pozwala dopasować Probely do istniejących przepływów pracy związanych z bezpieczeństwem i programowaniem.

Probely może przetestować Twoje oprogramowanie pod kątem luk, takich jak te wymienione w OWASP TOP 10 i wiele innych. Może również pomóc w osiągnięciu zgodności, sprawdzając określone wymagania PCI-DSS, RODO, HIPAA i ISO270-01.

Zaczerpnięte z raportu OWASP TOP 10, od razu zobaczysz, co jest nie tak z tą zgodnością.

Interfejs

Interfejs jest prosty i łatwy w nawigacji, co pozwala szybko rozpocząć pracę. Wersja Enterprise umożliwia kontrolowanie użytkowników, ról i ustawianie niestandardowych ról. Etykiet można również używać do organizowania użytkowników, zasobów i luk w zabezpieczeniach w celu lepszego zarządzania bezpieczeństwem aplikacji internetowych. Ponieważ wszystkie funkcje są dostępne za pośrednictwem interfejsu API, możesz łatwo zintegrować Probely z innymi aplikacjami i procesami bezpieczeństwa przedsiębiorstwa.

Jeśli korzystasz z Jira lub Azure Boards, możesz skonfigurować Probely tak, aby automatycznie wysyłał wszystkie luki do narzędzia do śledzenia problemów. Kiedy programista naprawi i zamknie problem w narzędziu do śledzenia problemów, automatycznie uruchomi on ponowny test na Probely, który sprawdzi, czy luka w zabezpieczeniach została prawidłowo naprawiona. Jeśli tak nie jest, problem zostanie ponownie otwarty w narzędziu do śledzenia problemów. Dzięki temu Twój zespół programistów może obsłużyć raport o lukach w zabezpieczeniach, jak każdy inny błąd, bezpośrednio w narzędziu do śledzenia problemów, nawet bez korzystania z interfejsu Probely. Nieźle, co? 🙂

Pierwsze kroki 🚀

Do celów testowych korzystałem z wersji Probely Enterprise.

Oferują również edycję standardową i różne plany do wyboru, w tym plan bezpłatny. W planie darmowym skanowanie sprawdza tylko trzy klasy luk: flagi plików cookie, nagłówki bezpieczeństwa i problemy z SSL/TLS. Plan Pro oferuje większość funkcji i koncentruje się na małych i średnich firmach oraz organizacjach, które mają pięć lub mniej celów do przeskanowania.

Wersja Enterprise koncentruje się na organizacjach, które mają dużą liczbę celów i zawiera dodatkowe funkcje, takie jak te, które są powszechne w oprogramowaniu dla przedsiębiorstw: użytkownicy, grupy, role i uprawnienia. Umożliwia także skanowanie celów wewnętrznych (w sieci prywatnej) poprzez zainstalowanie dostarczonego agenta.

Dodanie celu

Dodanie celu jest łatwe. Po zalogowaniu się na swoje konto musisz przejść do strony Cele i kliknąć Dodaj. Następnie podajesz nazwę, adres URL i jedną lub więcej etykiet — np. Testowanie, Produkcja, Rozwój itp. — dla nowego celu. Aby Probely przeskanował ten cel jako samodzielny interfejs API bez wspierającej aplikacji internetowej, należy zaznaczyć odpowiednią opcję, aby zidentyfikować go jako cel API.

Jeśli Twój cel nie jest widoczny w Internecie i zainstalowałeś agenta Probely w swojej sieci prywatnej, możesz wybrać agenta, którego chcesz użyć podczas dodawania celu.

Po dodaniu celu musisz potwierdzić jego własność, ponieważ Probely potrzebuje dowodu, że masz uprawnienia niezbędne do przeprowadzenia na nim skanowania. Istnieją dwie alternatywne metody sprawdzania poprawności celu: załadowanie pliku z dostarczoną zawartością do katalogu głównego celu lub dodanie wpisu TXT do rekordu DNS z nazwą domeny i określoną zawartością rekordu. Po zatwierdzeniu celu możesz go zeskanować, naciskając przycisk Skanuj.

Możesz sprawdzić postęp i status skanowania, przechodząc do zakładki Skany na pulpicie nawigacyjnym Probely. Ta strona pokaże Ci, kiedy skanowanie się rozpoczęło i co do tej pory znalazło. Wyniki są pokolorowane według istotności, więc na pierwszy rzut oka można zobaczyć, czy istnieją krytyczne problemy, które należy natychmiast rozwiązać.

Jeśli Twoja witryna ma stronę logowania i chcesz, aby Probely wykonała skanowanie za nią, musisz podać dane uwierzytelniające, które pozwolą jej zaindeksować witrynę jako uwierzytelniony użytkownik. Probely obsługuje większość metod uwierzytelniania stron logowania.

Skanowanie interfejsu API

Aby przeskanować cel API, Probely potrzebuje podania jego schematu. Robisz to podczas dodawania celu interfejsu API, podając adres URL schematu OpenAPI lub przesyłając schemat, jeśli wcześniej zapisałeś go jako plik lokalny. Opcja URL pozwala Probely pobrać schemat przed każdym skanowaniem, zapewniając, że zawsze działa z najnowszą wersją twojego schematu.

Istnieją również różne opcje w zakresie metod uwierzytelniania dostępu do API. Probely obsługuje nie tylko tokeny statyczne, ale także umożliwia dynamiczną konfigurację uwierzytelniania podczas skanowania interfejsów API. Możesz skonfigurować punkt końcowy logowania, w którym Probely może uzyskać token uwierzytelniający, lub możesz ustawić niestandardowy nagłówek ze stałym kluczem API. Możesz również podać niestandardowe wartości parametrów, których Probely użyje dla tych znalezionych w schemacie.

Po zakończeniu konfigurowania uwierzytelniania i parametrów interfejsu API możesz rozpocząć skanowanie, naciskając przycisk Skanuj teraz. Po kilku sekundach będziesz mógł śledzić postęp skanowania na tej samej stronie skanowania. Po zakończeniu skanowania możesz pobrać raport pokrycia, który pokazuje wszystkie znalezione punkty końcowe i każdy kod odpowiedzi. Ten raport pokaże również, czy wystąpiły awarie punktów końcowych.

Sprawdzanie wyników

Strona wyników pokazuje wyniki skanowania natychmiast po ich znalezieniu, nawet jeśli skanowanie jest w toku. Każde znalezisko zawiera istotność (wysoka, średnia lub niska), odpowiedni cel i adres URL, opis znaleziska, godzinę i datę wykrycia, jego stan (ustalony lub nie) i osobę, do której został przypisany oraz czy wpływa na PCI- Zgodność z DSS lub OWASP.

Oprócz informowania Cię o wykrytych lukach w zabezpieczeniach strona z wynikami jest również przydatna do przydzielania zespołowi luk do naprawienia. Aby to zrobić, kliknij pole wyboru po lewej stronie i wybierz cesjonariusza z rozwijanego menu.

Probely dostarcza również informacji, jak naprawić wykryte luki. Wraz z tymi instrukcjami możesz zobaczyć pełne żądanie i odpowiedź oraz dowody.

Na stronie Pulpit nawigacyjny można zobaczyć różne wykresy, które podsumowują ryzyko bezpieczeństwa zeskanowanych celów. Wykresy przedstawiają trendy różnych interesujących metryk, takich jak oceny ryzyka, średni czas naprawy problemów i poziomy istotności. Możesz także rzucić okiem na witryny, które wymagają największej uwagi, oraz na ranking 5 luk o największej częstości występowania.

Wreszcie, na stronie Integracje możesz skonfigurować Probely do integracji z wieloma różnymi narzędziami do zarządzania projektami, komunikacji w zespole, śledzenia problemów i nie tylko. Dostępne integracje obejmują Azure Boards, DefectDojo, Slack, Jira, Jenkins i CircleCI.

Narzędzie dla programistów i zespołów bezpieczeństwa

Dla zwinnych zespołów programistycznych czas wprowadzenia produktu na rynek jest najwyższym priorytetem. Cokolwiek możesz zrobić, aby zminimalizować czas potrzebny na wdrożenie oprogramowania do produkcji bez uszczerbku dla jakości, jest bardzo mile widziane. Probely właśnie to oferuje – opłacalny sposób na poprawę bezpieczeństwa Twoich stron internetowych i interfejsów API, pomagając Ci dotrzymywać obietnic związanych z harmonogramem i dostarczać wysokiej jakości oprogramowanie.

Zespołom ds. bezpieczeństwa Probely zapewnia platformę do zabezpieczania aplikacji internetowych i zarządzania lukami w zabezpieczeniach, które wymagają naprawy. Pozwala również odciążyć niektóre testy bezpieczeństwa bezpośrednio zespołom programistycznym, jednocześnie pełniąc rolę nadzorcy.

Probely oferuje bezpłatne wersje próbne, licencje ewaluacyjne dla przedsiębiorstw i prezentacje produktów. Kontakt prawdopodobnie rozpocząć.