Virtual-IT.pl - data center cloud computing SDx AI storage network cybersecurity

Artykuły

Gospodarka w pogoni za API vs bezpieczeństwo firm

CybersecurityInterfejsy programistyczne aplikacji (API) pozwalają organizacjom korzystać z funkcjonalności udostępnianych przez daną aplikację w innej aplikacji. Umożliwia to firmom korzystanie z dostępnych już zasobów, bez konieczności budowania aplikacji od zera. API przekształca modele biznesowe, bezpośrednio generuje przychody, dlatego jego potencjał i skala zastosowania gwałtownie rośnie. Cyberprzestępcy już to wykorzystują.

W 2015 r., przychody generowane przez API stanowiły w koszyku gigantów takich jak eBay i Salesforce odpowiednio 60% i 50%. W tym samym roku, na forum społeczności API portalu programmableweb.com zarejestrowanych było 12 tys. użytkowników, których liczba w 2019 r. niemal się podwoiła.

2019 Application Protection Report, opracowany przez F5 Labs, wskazuje, że naruszenia odnotowane w ostatnim roku koncentrowały się na dużych platformach ze znaczną liczbą interfejsów API i aplikacjach mobilnych zależnych od kilku takich interfejsów. Każde wykryte naruszenie było wynikiem źle skonfigurowanej kontroli dostępu. Szeroko otwarte API - czyli zbyt szerokie uprawnienia stanowią więc jedno z największych zagrożeń dla biznesu.

Biznes ma niską świadomość skali potencjalnych zagrożeń. Tymczasem obserwujemy niepokojący trend - programiści ułatwiający sobie pracę używają dróg na skróty. Dowodzi tego badanie North Carolina State University. Wykazało, że w serwisie internetowym dla projektów programistycznych GitHub, który udostępnia darmowy hosting programów open source i prywatnych repozytoriów wykryto ponad 100 tys. repozytoriów kodów zawierających tokeny API oraz klucze kryptograficzne w postaci tekstu otwartego, do którego jest możliwy dostęp z zewnątrz . Dzięki łatwemu dostępowi do tych zasobów, cyberprzestępcom udaje się pozyskać informacje w ramach całej infrastruktury aplikacji! Dlatego wywołania API, czyli próby połączeń są podatne na ataki przez iniekcję szkodliwego kodu, łamanie haseł i kluczy kryptograficznych oraz szpiegowanie sesji.

Dobre praktyki API dla bezpieczeństwa biznesu:

Pełna wiedza - należy dowiedzieć się, gdzie dokładnie w organizacji wykorzystywane są interfejsy API, jakie mają funkcje w operacjach. Warto prowadzić pogłębione wywiady z zespołami ds. rozwoju i operacyjnymi, uzyskać szczegółowe informacje i przygotować oceny ryzyka.

Uwierzytelnianie - Raport F5 na temat stanu usług aplikacji w 2019 r. wykazał, że 25% ankietowanych organizacji nie korzysta z uwierzytelniania API. 38% stwierdziło, że robiło to „przez pewien czas”, a 37% „przez większość czasu”. To duży problem. Istnieją różne formy uwierzytelniania API i przed podjęciem wyboru zaleca się podejście uwzględniające potencjalne ryzyko. Dane uwierzytelniające są kluczem dostępu do zasobów całej organizacji i powinny być przechowywane w bezpieczny sposób. Może to być kombinacja użytkownik/hasło (dla komputerów lub użytkowników) lub kluczy API (które są uproszczonymi ciągami uwierzytelniania o określonych konkretnych zastosowaniach).

Autoryzacja - interfejsy API nie powinny przekazywać do aplikacji  nieautoryzowanych lub nieprzefiltrowanych danych wejściowych, ponieważ tworzy to ścieżkę do ataków metodą injection. Dostępy do interfejsu API trzeba traktować zgodnie z zasadą minimalizacji uprawnień. Kontrola dostępu oparta na rolach jest najlepszym rozwiązaniem. Możliwe jest również zdefiniowanie konkretnych sekwencji działań, które odpowiadają konkretnemu przypadkowi użycia interfejsu API.

Rejestrowanie połączeń API - konieczne jest rejestrowanie i monitorowanie wszystkich połączeń. Dobrą praktyką jest również rejestrowanie zasobów, które są obsługiwane przez interfejsy API.  
Szyfrowanie - coraz częściej szyfrujemy ruch użytkowników w Internecie, a przecież ruch poprzez interfejsy API niczym się nie różni. Szyfrowanie i weryfikowanie certyfikatów w tym obszarze powinno być obligatoryjne.

Wdrożenie narzędzi bezpieczeństwa API - warto zapoznać się z dostępnymi na rynku rozwiązaniami. Wśród nich można wymienić korzystanie  serwerów proxy lub zapory sieciowej rozpoznającej API celem sprawdzania, weryfikowania i ograniczania żądania dostępu. Niektóre usługi bezpieczeństwa API mogą analizować klienta źródłowego i próbować ustalić, czy żądanie jest uzasadnione czy złośliwe.
Nieustanne testowanie - systematyczne przeprowadzanie testów jest niezbędne dla aktualizacji zabezpieczeń. Dobrym rozwiązaniem może być również wyznaczenie nagrody za wykrywanie błędów interfejsu API (bug bounty) i zaangażowanie w ten sposób proaktywnych specjalistów ds. cyberbezpieczeństwa.


Ireneusz WiśniewskiAutor: Ireneusz Wiśniewski, dyrektor zarządzający F5 Poland

 

 

 

 

 

 

Logowanie i rejestracja