Kolejni klienci Salesforce padli ofiarą włamania w wyniku nadużycia zaufanej integracji aplikacji zewnętrznej, tym razem związanej z aplikacją Battlecards firmy Klue.
Incydent wyszedł na jaw 17 czerwca, gdy Salesforce zawiesił integrację Battlecards po wykryciu nietypowej aktywności, która mogła umożliwić nieuprawniony dostęp do części danych klientów za pośrednictwem połączenia aplikacji z Salesforce.
Salesforce podkreślił, że przyczyną nie była luka w zabezpieczeniach samej platformy Salesforce. Incydent wiązał się natomiast z połączeniem aplikacji Klue oraz z nadużyciem tokenów OAuth w celu uzyskania dostępu do zintegrowanych środowisk klientów.
Ten przypadek to kolejne przypomnienie, że integracje SaaS należą dziś do najważniejszych, a zarazem najsłabiej monitorowanych dróg dostępu do wrażliwych danych biznesowych.
Co się stało?
Cyberprzestępcy uzyskali dostęp do środowisk Salesforce, nadużywając tokenów OAuth powiązanych z integracją Klue.
Według ReliaQuest atakujący uwierzytelnili się za pomocą przejętego konta usługi integracji Klue i wygenerowali tokeny OAuth, które dały im dostęp do połączonych instancji Salesforce.
Po wejściu do środowiska atakujący użyli zautomatyzowanych skryptów w Pythonie do wyodrębniania danych za pośrednictwem interfejsu Salesforce REST API.
W co najmniej jednym zaobserwowanym środowisku aktywność obejmowała blisko 1000 zapytań w ciągu 15 minut, po czym przez kilka godzin trwała nieprzerwana eksfiltracja danych.
Taki schemat wskazuje na ukierunkowaną operację masowego pobierania danych. Atakujący zdawali się najpierw wyliczać dostępne dane, następnie wyodrębniać to, do czego mieli dostęp, i przechodzić dalej.
Włamanie do zaplecza Klue
Huntress, jedna z poszkodowanych organizacji, ujawniła, że w wyniku incydentu doszło do przejęcia jej danych w Salesforce.
Według Huntress atakujący włamali się do systemu zaplecza powiązanego z platformą analizy rynku Klue.
Do włamania miało dojść już 11 czerwca, kiedy w systemie służącym do łączenia Klue z różnymi platformami oprogramowania innych firm pojawiło się anomalne zachowanie.
Atakujący wprowadzili aktualizację kodu, która pozwalała zbierać tokeny OAuth wykorzystywane przez klientów Klue do łączenia tej usługi z własnymi systemami.
Huntress poinformowała, że początkowy dostęp prawdopodobnie uzyskano za pomocą dawno nieużywanych, ale wciąż aktywnych danych uwierzytelniających, utworzonych na potrzeby testów integracji z oprogramowaniem zewnętrznym, która ostatecznie nigdy nie została wdrożona.
To właśnie te nieużywane dane uwierzytelniające stały się punktem wejścia.
Dlaczego tokeny OAuth są tak niebezpieczne
Tokeny OAuth zaprojektowano tak, aby aplikacje mogły uzyskiwać dostęp do danych i usług bez konieczności ciągłego podawania haseł przez użytkowników.
Jest to przydatne i niezbędne w integracjach SaaS, ale stwarza poważne ryzyko, gdy tokeny zostaną skradzione lub nadużyte.
Jeśli atakujący zdobędzie prawidłowy token OAuth, może uzyskać dostęp do połączonych systemów tak, jakby był zaufaną aplikacją.
Taki dostęp może omijać wiele tradycyjnych mechanizmów bezpieczeństwa, ponieważ:
- połączenie wygląda na legalne
- aplikacja jest już zatwierdzona
- token może mieć szerokie uprawnienia
- aktywność API może przypominać normalne działanie integracji
- hasło użytkownika nie jest potrzebne
- uwierzytelnianie wieloskładnikowe (MFA) może nie zostać wyzwolone
- dostęp może trwać do momentu unieważnienia tokenu
Dlatego kradzież tokenów OAuth stała się dziś jednym z głównych zagrożeń dla bezpieczeństwa SaaS.
Znany schemat: Salesloft Drift, Gainsight i Klue
ReliaQuest zwrócił uwagę, że incydent z Klue wpisuje się w ten sam schemat nadużywania zewnętrznych integracji OAuth, który zaobserwowano we wcześniejszych włamaniach w ekosystemie Salesforce z udziałem Salesloft Drift i Gainsight.
Wspólny wzorzec jest prosty:
- Zaufana integracja SaaS zostaje przejęta.
- Atakujący zbierają lub nadużywają tokenów OAuth.
- Tokeny dają dostęp do środowisk Salesforce klientów.
- Atakujący używają API do wyliczania i wyodrębniania danych.
- Ofiary mogą nie zauważyć ataku od razu, ponieważ aktywność wygląda tak, jakby pochodziła z legalnej integracji.
To problem łańcucha dostaw w obrębie ekosystemu SaaS.
Organizacje mogą zabezpieczyć sam Salesforce, a mimo to narażać dane przez połączone aplikacje z długotrwałymi tokenami i szerokimi uprawnieniami API.
Jakie dane zostały wykradzione?
Dokładny zakres zależy od klienta i uprawnień integracji.
Huntress ujawniła, że skradzione dane z Salesforce obejmowały:
- kontakty biznesowe
- wyceny
- dane związane ze sprzedażą
- korespondencję związaną ze sprzedażą
Inne poszkodowane organizacje mogły narazić inne dane, w zależności od tego, do czego miała dostęp ich integracja z Klue.
W wielu organizacjach Salesforce zawiera wrażliwe informacje handlowe, takie jak:
- kontakty klientów
- szanse sprzedaży
- dane cenowe
- notatki dotyczące transakcji
- umowy
- szczegóły odnowień
- informacje o partnerach
- dane o lejku sprzedażowym
- komunikacja wewnętrzna
- historia kont
Nawet jeśli dane te nie obejmują haseł ani danych kart płatniczych, mogą być bardzo cenne dla szantażu, wywiadu konkurencyjnego, phishingu i przejęć firmowej poczty e-mail (business email compromise).
Zagrożone mogły być także inne platformy
Dyrektor generalny Klue Jason Smith poinformował, że atakujący użyli tokenów OAuth, aby uzyskać dostęp do wybranych platform zewnętrznych, w tym Salesforce, a następnie dotarli do danych w kilku połączonych środowiskach klientów.
Klue miało wyłączyć integrację z Salesforce oraz z kilkoma innymi aplikacjami, w tym:
- HubSpot
- Microsoft SharePoint
- Zoom
- Google Drive
Nie wiadomo, które dodatkowe platformy, jeśli w ogóle, zostały przejęte.
Ta niepewność ma znaczenie, ponieważ integracje SaaS często łączą wiele systemów biznesowych. Przejęty token integracji może otworzyć więcej niż jedne drzwi.
Możliwy związek z Icarus
Wcześniejsze ataki związane z Salesforce przypisywano ShinyHunters, jednak ta najnowsza fala wydaje się dziełem innej grupy, znanej jako Icarus.
Huntress otrzymała e-mail z żądaniem okupu od cyberprzestępców, którzy twierdzili, że posiadają skradzione dane z Salesforce, i grozili ich upublicznieniem, jeśli firma nie podejmie „właściwej decyzji”.
W wiadomości zawarto unikalny klucz komunikatora Session do prowadzenia negocjacji.
Huntress ustaliła, że identyfikator Session odpowiada wartościom wymienionym na stronie z wyciekami w darknecie należącej do Icarus, nowej grupy, która pojawiła się w kwietniu.
W momencie ustaleń na stronie grupy wymieniona była jedna ofiara, a wpis z 12 czerwca ostrzegał, że nadchodzą „wielkie korporacje”.
Sugeruje to, że incydent z Klue może być częścią szerszej operacji wymuszeń.
Nadużycie przejętej firmowej infrastruktury poczty e-mail
Huntress ustaliła również, że e-maile z żądaniem okupu wysłano z trzech firmowych domen pocztowych należących do Global Retail Brands, australijskiego detalisty sprzedającego sprzęt AGD i artykuły do domu.
Śledczy sądzą, że osoby z grupy Icarus mogły przejąć infrastrukturę tego detalisty i wykorzystać jego serwer pocztowy do złośliwych działań.
Dodaje to kolejną warstwę do kampanii.
Atakujący mogą łączyć skradzione dane SaaS, przejęte integracje i nadużywaną firmową infrastrukturę poczty e-mail, aby próby wymuszenia wyglądały wiarygodniej i trudniej było je zablokować.
Huntress zgłosiła tę aktywność australijskiemu Centrum Cyberbezpieczeństwa (Australian Cyber Security Centre).
Dlaczego integracje SaaS są tak cennym celem
Integracje SaaS są atrakcyjne, ponieważ często mają zaufany dostęp do wielu środowisk jednocześnie.
Pojedyncza integracja może łączyć się z:
- Salesforce
- HubSpot
- SharePoint
- Google Drive
- Zoom
- Slack
- platformami poczty e-mail
- narzędziami obsługi klienta
- systemami marketingowymi
- platformami analitycznymi
Integracje te często opierają się na tokenach OAuth, kontach usług, kluczach API i długotrwałych danych uwierzytelniających.
Jeśli atakujący przejmą dostawcę integracji lub stare dane uwierzytelniające w jego środowisku, mogą uzyskać dostęp do wielu klientów naraz.
Dlatego integracje SaaS trzeba traktować jak uprzywilejowaną infrastrukturę.
Co organizacje powinny zrobić teraz
ReliaQuest zalecił, aby organizacje natychmiast unieważniły i wystawiły na nowo wszystko, co jest powiązane z integracją Klue.
Obejmuje to:
- hasła kont usług
- tokeny odświeżania
- klucze tajne klienta
- aktywne uprawnienia OAuth
- uprawnienia połączonych aplikacji
Organizacje powinny również sprawdzić aktywność Salesforce API pod kątem nietypowych zachowań.
Kluczowe działania to:
- unieważnienie tokenów OAuth Klue
- ponowne wystawienie dotkniętych kluczy tajnych
- rotacja danych uwierzytelniających integracji
- przegląd połączonych aplikacji w Salesforce
- identyfikacja całego dostępu powiązanego z Klue
- kontrola aktywności Salesforce REST API
- monitorowanie dużej liczby zapytań
- przegląd eksportów danych
- sprawdzenie nietypowej aktywności kont usług
- wymuszenie listy dozwolonych adresów IP dla kont integracji
- ograniczenie dostępu aplikacji zewnętrznych do zatwierdzonych źródeł
- przegląd uprawnień przyznanych wszystkim integracjom SaaS
Jeśli wykryjesz podejrzaną aktywność API, załóż, że dane mogły zostać udostępnione, i rozpocznij reagowanie na incydent.
Możliwości wykrywania
Zespoły bezpieczeństwa powinny szukać oznak nadużycia OAuth i kradzieży danych za pośrednictwem API.
Przydatne sygnały to:
- nagłe skoki liczby zapytań Salesforce REST API
- nietypowy dostęp do API z kont powiązanych z Klue
- eksporty danych poza normalnymi godzinami pracy
- dostęp kont usług z nieoczekiwanych adresów IP
- zapytania o dużej liczbie w krótkich odstępach czasu
- anomalie w generowaniu tokenów OAuth
- nowa lub nietypowa aktywność połączonych aplikacji
- dostęp do obiektów, z których integracja zwykle nie korzysta
- powtarzające się wyliczanie rekordów Salesforce
- aktywność API, po której następuje kontakt w sprawie wymuszenia
Wykrywanie powinno koncentrować się na zachowaniu, a nie tylko na znanych wskaźnikach.
Atakujący może używać prawidłowych tokenów i autoryzowanych interfejsów API, więc aktywność może nie przypominać tradycyjnego włamania.
Jak ograniczyć ryzyko związane z integracjami SaaS
Organizacje powinny przejrzeć wszystkie zewnętrzne integracje SaaS, nie tylko Klue.
Zalecane zabezpieczenia obejmują:
- prowadzenie inwentarza połączonych aplikacji
- regularny przegląd zakresów (scopes) OAuth
- usuwanie nieużywanych integracji
- unieważnianie starych tokenów
- rotację długotrwałych danych uwierzytelniających
- stosowanie zasady najmniejszych uprawnień dla kont usług
- ograniczanie dostępu integracji według adresów IP tam, gdzie jest to możliwe
- wymaganie przeglądów bezpieczeństwa dostawców
- monitorowanie wzorców użycia API
- alarmowanie o nietypowej liczbie zapytań
- przegląd tego, kto może zatwierdzać nowe połączone aplikacje
- oddzielanie integracji wysokiego ryzyka od wrażliwych danych tam, gdzie to możliwe
Połączona aplikacja nie powinna mieć więcej uprawnień, niż potrzebuje.
Szersza lekcja: zaufane aplikacje wymagają ciągłej weryfikacji
Ten incydent pokazuje, że zaufanie do integracji SaaS nie może być statyczne.
Aplikacja zewnętrzna może być dziś zaufana, a jutro przejęta. Stare dane uwierzytelniające mogą zostać zapomniane, a mimo to pozostać aktywne. Integracja na zapleczu może po cichu zbierać tokeny. Legalne API może posłużyć do masowej eksfiltracji.
Oznacza to, że organizacje potrzebują ciągłej weryfikacji.
Zespoły bezpieczeństwa powinny wiedzieć:
- które aplikacje są połączone
- do jakich danych ma dostęp każda aplikacja
- z jakich kont korzystają aplikacje
- które tokeny są aktywne
- skąd pochodzą wywołania API
- czy zachowanie odpowiada normalnemu użyciu aplikacji
- czy wciąż istnieją nieużywane dane uwierzytelniające
- kto wewnętrznie odpowiada za każdą integrację
Bez takiej widoczności integracje SaaS stają się ślepymi punktami.
Podsumowanie
Incydent z Klue Battlecards to kolejne ostrzeżenie, że bezpieczeństwo Salesforce nie kończy się na samym Salesforce.
Atakujący coraz częściej obierają za cel zaufane integracje łączące się z Salesforce i innymi platformami SaaS. Dzięki nadużywaniu tokenów OAuth mogą uzyskiwać dostęp do wrażliwych danych klientów legalnymi ścieżkami API, które mogą omijać tradycyjne mechanizmy wykrywania.
Ten schemat powtórzył się już w wielu incydentach, w tym w przypadku Salesloft Drift, Gainsight i Klue.
Organizacje powinny unieważnić i wystawić na nowo dane uwierzytelniające powiązane z Klue, przejrzeć aktywność Salesforce API, wymusić listy dozwolonych adresów IP i przeprowadzić audyt wszystkich zewnętrznych połączonych aplikacji.
Kluczowa lekcja jest prosta: każda integracja SaaS to potencjalna ścieżka dostępu. Jeśli ma tokeny OAuth, uprawnienia API i zaufany dostęp do danych biznesowych, trzeba ją monitorować jak konto uprzywilejowane.