Badanie udzielania zgody aplikacji
Ten artykuł zawiera wskazówki dotyczące identyfikowania i badania ataków na zgodę aplikacji, ochrony informacji i minimalizowania dalszych zagrożeń.
Ten artykuł zawiera następujące sekcje:
- Wymagania wstępne: Obejmuje określone wymagania, które należy wykonać przed rozpoczęciem badania. Na przykład rejestrowanie, które powinno być włączone, role i uprawnienia wymagane, między innymi.
- Przepływu pracy: Przedstawia przepływ logiczny, który należy wykonać, aby wykonać to badanie.
- Lista kontrolna: Zawiera listę zadań dla każdego z kroków na wykresie przepływowym. Ta lista kontrolna może być przydatna w wysoce regulowanych środowiskach, aby sprawdzić, co zrobiono, lub po prostu jako bramę jakości dla siebie.
- Kroki badania: Zawiera szczegółowe wskazówki krok po kroku dotyczące tego konkretnego badania.
- Odzyskiwania: Zawiera ogólne kroki umożliwiające odzyskanie/złagodzenie problemu z atakiem na udzielenie zgody nielegalnej aplikacji.
- Odwołania: Zawiera dodatkowe materiały do czytania i materiałów referencyjnych.
Wymagania wstępne
Poniżej przedstawiono ogólne ustawienia i konfiguracje, które należy wykonać w celu przeprowadzenia badania dla grantów zgody aplikacji. Przed rozpoczęciem badania upewnij się, że znasz typy uprawnień zgody wyjaśnione w temacie Typy uprawnień zgody.
Dane klienta
Aby rozpocząć proces badania, potrzebne są następujące dane:
- Dostęp do dzierżawy jako konta globalnego Administracja — konto tylko w chmurze (a nie część środowiska lokalnego)
- Szczegóły wskaźników naruszenia (IoCs)
- Data i godzina, o której zauważono zdarzenie
- Zakres dat
- Liczba kont z naruszeniem zabezpieczeń
- Nazwy kont, na których naruszono bezpieczeństwo
- Role konta z naruszeniem zabezpieczeń
- Czy konta są wysoce uprzywilejowane (ga Microsoft Exchange, SharePoint)?
- Czy istnieją aplikacje dla przedsiębiorstw powiązane ze zdarzeniem?
- Czy wszyscy użytkownicy zgłaszali wszystkie aplikacje, które żądały uprawnień do danych w ich imieniu?
Wymagania systemowe
Upewnij się, że spełnisz następujące wymagania dotyczące instalacji i konfiguracji:
- Zainstalowano moduł Programu PowerShell usługi AzureAD.
- Masz uprawnienia administratora globalnego w dzierżawie, w której zostanie uruchomiony skrypt.
- Masz przypisaną rolę administratora lokalnego na komputerze, którego będziesz używać do uruchamiania skryptów.
Instalowanie modułu AzureAD
Użyj tego polecenia, aby zainstalować moduł AzureAD.
Install-Module -Name AzureAD -Verbose
Uwaga
Jeśli zostanie wyświetlony monit o zainstalowanie modułów z niezaufanego repozytorium, wpisz Y i naciśnij klawisz Enter.
Pobierz skrypt AzureADPSPermissions z usługi GitHub
Pobierz skrypt Get-AzureADPSPermissions.ps1 z usługi GitHub do folderu, z którego zostanie uruchomiony skrypt. Plik wyjściowy "permissions.csv" zostanie również zapisany w tym samym folderze.
Otwórz wystąpienie programu PowerShell jako administrator i otwórz folder, w którym został zapisany skrypt.
Połącz się z katalogiem
Connect-AzureAD
przy użyciu polecenia cmdlet . Oto przykład.Connect-AzureAD -tenantid "2b1a14ac-2956-442f-9577-1234567890ab" -AccountId "user1@contoso.onmicrosoft.com"
Uruchom to polecenie programu PowerShell.
Get-AzureADPSPermissions.ps1 | Export-csv -Path "Permissions.csv" -NoTypeInformation
Rozłącz sesję usługi AzureAD za pomocą tego polecenia.
Disconnect-AzureAD
Terminologia wyrażania zgody
Co to są granty zgody aplikacji?
Zgoda to proces udzielania autoryzacji aplikacji w celu uzyskania dostępu do chronionych zasobów w imieniu użytkowników. Administrator lub użytkownik może zostać poproszony o zgodę na zezwolenie na dostęp do danych organizacji/poszczególnych osób.
Aplikacja ma dostęp do danych na podstawie określonego użytkownika lub całej organizacji. Takie zgody mogą jednak być niewłaściwie używane przez osoby atakujące, aby uzyskać trwałość środowiska i uzyskać dostęp do poufnych danych. Tego rodzaju ataki są nazywane nielegalnymi grantami zgody, które mogą wystąpić za pośrednictwem wiadomości e-mail wyłudzania informacji, naruszenia zabezpieczeń konta użytkownika za pośrednictwem sprayu haseł lub gdy osoba atakująca zarejestruje aplikację jako legalnego użytkownika. W scenariuszach, w których konto globalne Administracja zostało naruszone, rejestracja i udzielenie zgody są przeznaczone dla całego dzierżawy, a nie tylko dla jednego użytkownika.
Aby aplikacja mogła uzyskać dostęp do danych organizacji, użytkownik musi udzielić aplikacji odpowiednich uprawnień. Różne uprawnienia umożliwiają uzyskiwanie dostępu na różnych poziomach. Domyślnie wszyscy użytkownicy mogą wyrażać zgodę na aplikacje w przypadku uprawnień, które nie wymagają zgody administratora. Na przykład użytkownik może wyrazić zgodę na zezwolenie aplikacji na dostęp do skrzynki pocztowej, ale nie może wyrazić zgody na dostęp aplikacji do odczytu i zapisu do wszystkich plików w organizacji.
Uwaga
Dzięki umożliwieniu użytkownikom udzielania aplikacji dostępu do danych użytkownicy mogą łatwo uzyskiwać przydatne aplikacje i pracować wydajnie. Jednak w niektórych sytuacjach ta konfiguracja może stanowić zagrożenie, jeśli nie jest monitorowana i dokładnie kontrolowana.
Role, które mogą udzielić zgody w imieniu organizacji
Aby móc udzielić zgody administratora dla całej dzierżawy, musisz zalogować się jako jeden z następujących elementów:
- Administrator globalny
- Administrator aplikacji
- Administrator aplikacji w chmurze
Typy zgody
- Administrator — Wskazuje, że zgoda została podana przez administratora (w imieniu organizacji)
- Użytkownik indywidualny — Wskazuje, że zgoda została udzielona przez użytkownika i ma dostęp tylko do informacji o tym użytkowniku
- Zaakceptowane wartości
- AllPrincipals — Zgoda administratora dla całej dzierżawy
- Podmiot zabezpieczeń — Użytkownik wyraził zgodę tylko na dane związane z tym kontem
Zgoda i uprawnienia
Rzeczywiste środowisko użytkownika udzielania zgody będzie się różnić w zależności od zasad ustawionych w dzierżawie użytkownika, zakresie urzędu (lub roli) użytkownika oraz typu uprawnień żądanych przez aplikację kliencka. Oznacza to, że deweloperzy aplikacji i administratorzy dzierżawy mają pewną kontrolę nad środowiskiem wyrażania zgody. Administratorzy mają elastyczność ustawiania i dezaktywowania zasad w dzierżawie lub aplikacji w celu kontrolowania środowiska zgody w dzierżawie. Deweloperzy aplikacji mogą dyktować, jakie typy uprawnień są wymagane i czy chcą kierować użytkowników za pośrednictwem przepływu zgody użytkownika, czy też przepływu zgody administratora.
Przepływ zgody użytkownika — gdy deweloper aplikacji kieruje użytkowników do punktu końcowego autoryzacji z zamiarem rejestrowania zgody tylko dla bieżącego użytkownika.
Administracja przepływ zgody — gdy deweloper aplikacji kieruje użytkowników do punktu końcowego zgody administratora z zamiarem rejestrowania zgody dla całej dzierżawy. Aby zapewnić prawidłowe działanie przepływu zgody administratora, deweloperzy aplikacji muszą wyświetlić listę wszystkich uprawnień we właściwości RequiredResourceAccess w manifeście aplikacji.
Uprawnienia delegowane a uprawnienia aplikacji
Delegowane uprawnienia są używane przez aplikacje, które mają zalogowanego użytkownika i mogą mieć zgody zastosowane przez administratora lub użytkownika.
Uprawnienia aplikacji są używane przez aplikacje uruchamiane bez zalogowanego użytkownika. Na przykład aplikacje uruchamiane jako usługi w tle lub demony. Uprawnienia aplikacji mogą być wyrażane tylko przez administratora.
Aby uzyskać więcej informacji, zobacz:
- Administracja przepływ pracy zgody na potrzeby zatwierdzania przez administratora dla określonych aplikacji
- Program weryfikacyjny wydawcy
- Konfigurowanie sposobu wyrażania przez użytkowników końcowych zgody na aplikacje
Klasyfikowanie ryzykownych uprawnień
W systemie istnieją tysiące (przynajmniej) uprawnień, a nie wykonalne, aby wyświetlić listę lub przeanalizować wszystkie te uprawnienia. Poniższa lista będzie dotyczyć często nieprawidłowych uprawnień, a inne, które mogłyby spowodować katastrofalny wpływ w przypadku nieprawidłowego użycia.
Na wysokim poziomie zaobserwowaliśmy, że następujące uprawnienia delegowane "root" (App+User) są niewłaściwie wykorzystywane w atakach wyłudzających informacje o zgody. Element główny odpowiada najwyższemu poziomowi. Na przykład Kontakty.* oznacza uwzględnienie wszystkich delegowanych permutacji uprawnień kontaktów: Contacts.Read, Contacts.ReadWrite, Contacts.Read.Shared i Contacts.ReadWrite.Shared.
- Mail.* (w tym Mail.Send*, ale nie Mail.ReadBasic*)
- Kontakty. *
- MailboxSettings.*
- Ludzie.*
- Pliki.*
- Uwagi.*
- Directory.AccessAsUser.All
- User_Impersonation
Pierwsze siedem uprawnień na powyższej liście jest przeznaczonych dla programu Microsoft Graph i odpowiedników "starszego" interfejsu API, takich jak usługa Azure Active Directory (Azure AD) Graph i interfejs REST programu Outlook. Ósme uprawnienie dotyczy usługi Azure Resource Manager (ARM) i może być również niebezpieczne dla dowolnego interfejsu API, który uwidacznia poufne dane z tym zakresem personifikacji ogólnej.
Zgodnie z naszą obserwacją osoby atakujące używały kombinacji pierwszych sześciu uprawnień w 99% ataków wyłudzających informacje o zgody. Większość osób nie myśli o delegowanej wersji Mail.Read lub Files.Read jako uprawnienia wysokiego ryzyka, jednak ataki, które widzieliśmy, są zwykle szeroko rozpowszechnionymi atakami wymierzonymi w użytkowników końcowych, a nie wyłudzaniem informacji wobec administratorów, którzy mogą rzeczywiście wyrazić zgodę na niebezpieczne uprawnienia. Zaleca się stosowanie aplikacji bąbelkowych z tymi "krytycznymi" poziomami uprawnień wpływu. Nawet jeśli aplikacje nie mają złośliwego zamiaru i jeśli zły aktor miał naruszyć tożsamość aplikacji, cała organizacja może być zagrożona.
Aby uzyskać uprawnienia o największym wpływie na ryzyko, zacznij tutaj:
- Uprawnienia aplikacji (AppOnly/AppRole) wszystkich powyższych uprawnień, jeśli mają zastosowanie
Delegowane i AppOnly wersje następujących uprawnień:
- Application.ReadWrite.All
- Directory.ReadWrite.All
- Domain.ReadWrite.All*
- EduRoster.ReadWrite.All*
- Group.ReadWrite.All
- Member.Read.Hidden*
- RoleManagement.ReadWrite.Directory
- User.ReadWrite.All*
- User.ManageCreds.All
- Wszystkie inne uprawnienia AppOnly, które zezwalają na dostęp do zapisu
Aby uzyskać listę uprawnień o najniższym wpływie na ryzyko, zacznij tutaj:
- User.Read
- User.ReadBasic.All
- Open_id
- Poczta e-mail
- Profil
- Offline_access (tylko w przypadku parowania z innymi uprawnieniami na tej liście "najniższego ryzyka")
Wyświetlanie uprawnień
Aby wyświetlić uprawnienia, przejdź do ekranu Rejestracja w aplikacji dla przedsiębiorstw.
Wybierz pozycję Wyświetl uprawnienia interfejsu API.
Wybierz pozycję Dodaj uprawnienie , a zostanie wyświetlony następujący ekran.
Wybierz pozycję Microsoft Graph , aby wyświetlić różne typy uprawnień.
Wybierz typ uprawnień używanych przez zarejestrowaną aplikację: Uprawnienia delegowane lub Uprawnieniaaplikacji. Na powyższej ilustracji wybrano pozycję Uprawnienia aplikacji .
Możesz wyszukać jedno z uprawnień o dużym ryzyku, takich jak EduRoster.
Wybierz pozycję EduRoster i rozwiń uprawnienia.
Teraz możesz przypisać lub przejrzeć te uprawnienia.
Aby uzyskać więcej informacji, przeczytaj Uprawnienia programu Graph.
Przepływ pracy
Możesz również wykonać następujące czynności:
- Pobierz grant zgody aplikacji i inne przepływy pracy podręcznika reagowania na zdarzenia jako plik PDF.
- Pobierz udzielanie zgody aplikacji i inne przepływy pracy podręcznika reagowania na zdarzenia jako plik programu Visio.
Lista kontrolna
Ta lista kontrolna służy do przeprowadzania weryfikacji zgody aplikacji.
Wymagania
Upewnij się, że masz dostęp do dzierżawy jako Administracja globalnej. Jest to konto tylko w chmurze i nie jest częścią środowiska lokalnego.
Wskaźniki naruszenia (IoC)
Sprawdź następujące wskaźniki naruszenia (IoC):
- Kiedy zauważono zdarzenie?
- Zakres dat zdarzenia (jak daleko po lewej stronie jest post celu?)
- Liczba kont, których bezpieczeństwo jest naruszone
- Nazwy kont, których bezpieczeństwo jest naruszone
- Role kont, których bezpieczeństwo jest naruszone
- Czy konta z naruszeniem zabezpieczeń są wysoce uprzywilejowane, użytkownik standardowy lub kombinacja
Role
Musisz mieć przypisane następujące role:
- administrator globalny prawa do dzierżawy w celu wykonania skryptu
- Rola administratora lokalnego na komputerze, z którego będzie uruchamiany skrypt
Konfiguracja programu PowerShell
Skonfiguruj środowisko programu PowerShell przy użyciu następujących elementów:
- Zainstaluj moduł Azure AD PowerShell.
- Uruchom aplikację Windows PowerShell z podwyższonym poziomem uprawnień. (Uruchom jako administrator).
- Skonfiguruj program PowerShell do uruchamiania podpisanych skryptów.
- Pobierz skrypt Get-AzureADPSPermissions.ps1 .
Wyzwalacze badania
- Naruszenie konta
- Ustawienia zgody aplikacji zmodyfikowane w dzierżawie
- Wykryto przyczynę stanu alertu/inspekcji "ryzykownej aplikacji"
- Zauważono dziwne aplikacje wyglądające
Możesz również pobrać grant zgody aplikacji i inne listy kontrolne podręcznika incydentu jako plik programu Excel.
Kroki badania
Do zbadania udzielania zgody aplikacji można użyć następujących dwóch metod:
- Azure Portal
- Skrypt programu PowerShell
Uwaga
Użycie Azure Portal pozwoli zobaczyć tylko Administracja granty zgody w ciągu ostatnich 90 dni i w oparciu o to zalecamy użycie metody skryptu programu PowerShell tylko w celu zmniejszenia kroków badania rejestracji przez osobę atakującą.
Metoda 1 — używanie Azure Portal
Za pomocą portalu usługi Azure Active Directory można znaleźć aplikacje, do których każdy użytkownik ma przyznane uprawnienia.
- Zaloguj się do Azure Portal jako administrator.
- Wybierz ikonę usługi Azure Active Directory .
- Wybierz pozycję Użytkownicy.
- Wybierz użytkownika, który chcesz przejrzeć.
- Wybierz pozycję Aplikacje.
- Możesz wyświetlić listę aplikacji przypisanych do użytkownika oraz uprawnienia, które mają te aplikacje.
Metoda 2 — używanie programu PowerShell
Istnieje kilka narzędzi programu PowerShell, których można użyć do zbadania nielegalnych udzielań zgody, takich jak:
- Narzędzie HAWK
- Moduł reagowania na zdarzenia w usłudze AzureAD
- Skrypt Get-AzureADPSPermissions.ps1 z usługi GitHub
Program PowerShell jest najłatwiejszym narzędziem i nie wymaga modyfikowania niczego w dzierżawie. Będziemy opierać nasze dochodzenie w sprawie dokumentacji publicznej z ataku nielegalnej zgody grantu.
Uruchom Get-AzureADPSPermissions.ps1
polecenie , aby wyeksportować wszystkie udzielanie zgody OAuth i aplikacje OAuth dla wszystkich użytkowników w dzierżawie do pliku .csv . Zobacz sekcję Wymagania wstępne, aby pobrać i uruchomić Get-AzureADPSPermissions
skrypt.
Otwórz wystąpienie programu PowerShell jako administrator i otwórz folder, w którym został zapisany skrypt.
Połącz się z katalogiem przy użyciu następującego polecenia Connect-AzureAD . Oto przykład.
Connect-AzureAD -tenantid "2b1a14ac-2956-442f-9577-1234567890ab" -AccountId "user1@contoso.onmicrosoft.com"
Uruchom to polecenie programu PowerShell.
Get-AzureADPSPermissions.ps1 | Export-csv c:\temp\consentgrants\Permissions.csv -NoTypeInformation
Po zakończeniu działania skryptu zaleca się rozłączenie sesji Azure AD za pomocą tego polecenia.
Disconnect-AzureAD
Uwaga
Ukończenie skryptu może potrwać kilka godzin, w zależności od rozmiaru i skonfigurowanych uprawnień oraz połączenia.
Skrypt tworzy plik o nazwie Permissions.csv.
Otwórz plik, przefiltruj lub sformatuj dane w tabeli i zapisz jako plik xlxs (do filtrowania).
Nagłówki kolumn dla danych wyjściowych są wyświetlane na tej ilustracji.
W kolumnie ConsentType(G) wyszukaj wartość AllPrinciples. Uprawnienie AllPrincipals umożliwia aplikacji klienckiej dostęp do zawartości wszystkich użytkowników w dzierżawie. Natywne aplikacje platformy Microsoft 365 wymagają tego uprawnienia do poprawnej pracy. Każda aplikacja spoza firmy Microsoft z tym uprawnieniem powinna być uważnie przeglądana.
W kolumnie Uprawnienia(F) przejrzyj uprawnienia, które ma każda aplikacja delegowana. Poszukaj uprawnień do odczytu i zapisu lub *. Wszystkie uprawnienia i należy je dokładnie przejrzeć, ponieważ mogą nie być odpowiednie.
Uwaga
Przejrzyj konkretnych użytkowników, którzy mają przyznane zgody. Jeśli użytkownicy z wysokim profilem lub dużym wpływem mają przyznane nieodpowiednie zgody, należy dokładniej zbadać tę sprawę.
W kolumnie ClientDisplayName(C)poszukaj aplikacji, które wydają się podejrzane, takie jak:
Aplikacje z błędnie napisanymi nazwami
Nietypowe lub blandzkie nazwy
Nazwy brzmiące przez hakerów. Należy dokładnie przejrzeć te nazwy.
Przykładowe dane wyjściowe: AllPrincipals i odczyt wszystkich zapisów. Aplikacje mogą nie mieć żadnych podejrzanych nazw, takich jak nazwy bland i używają grafu MS. Jednak przeprowadź badania i określ przeznaczenie aplikacji oraz rzeczywiste uprawnienia, które mają aplikacje w dzierżawie, jak pokazano w tym przykładzie.
Poniżej przedstawiono kilka przydatnych wskazówek dotyczących przeglądania dochodzeń dotyczących zasad zabezpieczeń informacji:
- ReplyURL/RedirectURL
- Wyszukaj podejrzane adresy URL
- Czy adres URL jest hostowany w podejrzanej domenie?
- Czy zostało to naruszone?
- Czy domena jest niedawno zarejestrowana?
- Czy jest to domena tymczasowa?
- Czy w rejestracji aplikacji istnieją linki do umowy dotyczącej usługi/usługi?
- Czy zawartość jest unikatowa i specyficzna dla aplikacji/wydawcy?
- Czy dzierżawa, która zarejestrowała aplikację, została nowo utworzona lub naruszona (na przykład aplikacja jest zarejestrowana przez użytkownika zagrożonego)?
Szczegóły ataku udzielania zgody
Techniki ataków
Chociaż każdy atak ma tendencję do różnicy, podstawowe techniki ataku to:
Osoba atakująca rejestruje aplikację za pomocą dostawcy OAuth 2.0, takiego jak Azure AD.
Aplikacja jest skonfigurowana w sposób, który sprawia, że wydaje się uzasadniony. Na przykład osoby atakujące mogą używać nazwy popularnego produktu dostępnego w tym samym ekosystemie.
Osoba atakująca otrzymuje link bezpośrednio od użytkowników, co może odbywać się za pośrednictwem konwencjonalnego wyłudzania informacji na podstawie poczty e-mail, przez naruszenie niezwiązanej ze złośliwą witryną internetową lub za pośrednictwem innych technik.
Użytkownik wybiera link i jest wyświetlany autentyczny monit o zgodę z prośbą o udzielenie złośliwych uprawnień aplikacji do danych.
Jeśli użytkownik wybierze pozycję "Zaakceptuj", przyzna aplikacji uprawnienia dostępu do poufnych danych.
Aplikacja pobiera kod autoryzacji, który jest używany do tokenu dostępu i potencjalnie token odświeżania.
Token dostępu służy do tworzenia wywołań interfejsu API w imieniu użytkownika.
Jeśli użytkownik zaakceptuje, osoba atakująca może uzyskać dostęp do poczty użytkownika, reguł przesyłania dalej, plików, kontaktów, notatek, profilu i innych poufnych danych i zasobów.
Znajdowanie oznak ataku
Otwórz Centrum zgodności zabezpieczeń&.
Przejdź do pozycji Wyszukaj i wybierz pozycję Wyszukiwanie w dzienniku inspekcji.
Wyszukaj (wszystkie działania i wszystkich użytkowników) i wprowadź datę rozpoczęcia i datę zakończenia, jeśli jest to wymagane, a następnie wybierz pozycję Wyszukaj.
Wybierz pozycję Filtruj wyniki i w polu Działanie wprowadź wartość Zgoda na aplikację.
Jeśli masz działania w ramach zgody na udzielenie, kontynuuj zgodnie z poniższymi zaleceniami.
Wybierz wynik, aby wyświetlić szczegóły działania. Wybierz pozycję Więcej informacji , aby uzyskać szczegółowe informacje o działaniu.
Sprawdź, czy właściwość IsAdminContent jest ustawiona na wartość "True".
Uwaga
Ten proces może potrwać od 30 minut do 24 godzin, aby odpowiedni wpis dziennika inspekcji był wyświetlany w wynikach wyszukiwania po wystąpieniu zdarzenia.
Zakres czasu przechowywania rekordu inspekcji i przeszukiwania w dzienniku inspekcji zależy od subskrypcji platformy Microsoft 365, a w szczególności typu licencji przypisanej do określonego użytkownika. Jeśli ta wartość jest prawdziwa, oznacza to, że osoba mająca dostęp administratora globalnego mogła udzielić szerokiego dostępu do danych. Jeśli jest to nieoczekiwane, wykonaj natychmiastowe kroki w celu potwierdzenia ataku.
Jak potwierdzić atak?
Jeśli masz co najmniej jedno wystąpienie wymienionych powyżej operacji we/wy, należy przeprowadzić dalsze badanie, aby pozytywnie potwierdzić, że wystąpił atak.
Tworzenie spisu aplikacji z dostępem w organizacji
Możesz spisać aplikacje dla użytkowników przy użyciu portalu usługi Azure Active Directory, programu PowerShell lub indywidualnie wyliczać dostęp do aplikacji.
- Użyj portalu usługi Azure Active Directory do tworzenia spisu aplikacji i ich uprawnień. Ta metoda jest dokładna, ale możesz sprawdzić tylko jednego użytkownika jednocześnie, co może być czasochłonne, jeśli musisz sprawdzić uprawnienia kilku użytkowników.
- Użyj programu PowerShell do tworzenia spisu aplikacji i ich uprawnień. Ta metoda jest najszybsza i najbardziej dokładna, z najmniejszą ilością nakładu pracy.
- Zachęcamy użytkowników do indywidualnego sprawdzania swoich aplikacji i uprawnień oraz zgłaszania wyników administratorom w celu skorygowania.
Aplikacje spisu przypisane do użytkowników
Możesz użyć portalu usługi Azure Active Directory, aby wyświetlić listę aplikacji, do których każdy użytkownik udzielił uprawnień.
- Zaloguj się do witryny Azure Portal przy użyciu praw administracyjnych.
- Wybierz ikonę usługi Azure Active Directory .
- Wybierz pozycję Użytkownicy.
- Wybierz użytkownika, który chcesz przejrzeć.
- Wybierz pozycję Aplikacje. Możesz wyświetlić listę aplikacji przypisanych do użytkownika i uprawnienia przyznane tym aplikacjom.
Określanie zakresu ataku
Po zakończeniu tworzenia spisu dostępu do aplikacji przejrzyj dziennik inspekcji, aby określić pełny zakres naruszenia. Wyszukaj użytkowników, których dotyczy problem, przedziały czasowe, do których miała dostęp nielegalna aplikacja, oraz uprawnienia, które miała aplikacja. Dziennik inspekcji można przeszukiwać w Centrum zabezpieczeń i zgodności platformy Microsoft 365.
Ważne: Jeśli inspekcja nie została włączona przed możliwym atakiem, nie będzie można zbadać, ponieważ dane inspekcji nie będą dostępne.
Jak zapobiegać atakom i ograniczać ryzyko?
Regularnie przeprowadzaj inspekcję aplikacji i udzielono uprawnień w organizacji, aby upewnić się, że żadne nieprzyzwoiszone lub podejrzane aplikacje nie otrzymały wcześniej dostępu do danych.
Przejrzyj, wykryj i skorygowaj nielegalne udzielanie zgody w Office 365 w celu uzyskania dodatkowych najlepszych rozwiązań i zabezpieczeń przed podejrzanymi aplikacjami, które żądają zgody OAuth.
Jeśli Twoja organizacja ma odpowiednią licencję:
- Użyj dodatkowych funkcji inspekcji aplikacji OAuth w Microsoft Defender for Cloud Apps.
- Użyj skoroszytów usługi Azure Monitor do monitorowania uprawnień i działań związanych ze zgodą. Skoroszyt Usługi Consent Insights zawiera widok aplikacji według liczby żądań zgody zakończonych niepowodzeniem. Może to być pomocne w określaniu priorytetów aplikacji dla administratorów w celu przejrzenia i podjęcia decyzji o udzieleniu im zgody administratora.
Jak zatrzymać i skorygować nielegalny atak na udzielenie zgody?
Po zidentyfikowaniu aplikacji z nielegalnymi uprawnieniami natychmiast wyłącz aplikację zgodnie z instrukcjami w temacie Wyłączanie aplikacji. Następnie skontaktuj się z pomoc techniczna firmy Microsoft, aby zgłosić złośliwą aplikację.
Po wyłączeniu aplikacji w dzierżawie Azure AD nie można uzyskać nowych tokenów dostępu do danych, a inni użytkownicy nie będą mogli się zalogować ani wyrazić zgody na aplikację.
Uwaga
Jeśli podejrzewasz, że napotkasz złośliwą aplikację w organizacji, lepiej jest wyłączyć ją niż ją usunąć. Jeśli usuniesz tylko aplikację, może ona zostać zwrócona później, jeśli inny użytkownik wyrazi zgodę. Zamiast tego wyłącz aplikację, aby upewnić się, że nie może wrócić później.
Zalecane zabezpieczenia
Kroki ochrony organizacji
Istnieją różne typy ataków polegających na wyrażaniu zgody, ale w przypadku korzystania z tych zalecanych mechanizmów obronnych, które zniwelują wszelkie rodzaje ataków, zwłaszcza wyłudzanie zgody, gdzie osoby atakujące mogą nakłonić użytkowników do udzielenia złośliwej aplikacji dostępu do poufnych danych lub innych zasobów. Zamiast próbować ukraść hasło użytkownika, osoba atakująca szuka uprawnień do uzyskania dostępu do cennych danych przez osobę atakującą.
Aby zapobiec atakom ze strony zgody na Azure AD i Office 365, zapoznaj się z następującymi zaleceniami:
Ustawianie zasad
To ustawienie będzie miało wpływ na użytkownika i może nie mieć zastosowania do środowiska. Jeśli zezwolisz na wszelkie zgody, upewnij się, że administratorzy zatwierdzają żądania.
Zezwalaj na zgody dla aplikacji tylko od zweryfikowanych wydawców i określonych typów uprawnień sklasyfikowanych jako niski wpływ.
Uwaga
Powyższe zalecenia są sugerowane na podstawie najbardziej idealnych, bezpiecznych konfiguracji. Jednak ze względu na to, że zabezpieczenia są równoważące między funkcjami i operacjami, najbezpieczniejsze konfiguracje mogą powodować dodatkowe obciążenia dla administratorów. Jest to decyzja najlepiej podjęta po konsultacji z administratorami.
Konfigurowanie zgody krokowej opartej na ryzyku — jest domyślnie włączona, jeśli zgoda użytkownika na udzielanie jest włączona
Zgoda krokowa oparta na ryzyku pomaga zmniejszyć narażenie użytkowników na złośliwe aplikacje, które zgłaszają nielegalne żądania zgody. Jeśli firma Microsoft wykryje ryzykowne żądanie zgody użytkownika końcowego, żądanie będzie wymagać "kroku" w celu zgody administratora. Ta funkcja jest domyślnie włączona, ale spowoduje to zmianę zachowania tylko po włączeniu zgody użytkownika końcowego.
Po wykryciu ryzykownego żądania zgody zostanie wyświetlony monit o wyrażenie zgody wskazujący, że wymagane jest zatwierdzenie przez administratora. Jeśli przepływ pracy żądania zgody administratora jest włączony, użytkownik może wysłać żądanie do administratora w celu dalszej weryfikacji bezpośrednio z poziomu monitu o wyrażenie zgody. Jeśli nie jest włączona, zostanie wyświetlony następujący komunikat:
AADSTS90094: <clientAppDisplayName> musi mieć uprawnienia dostępu do zasobów w organizacji, które może udzielić tylko administrator. Poproś administratora o udzielenie uprawnienia do tej aplikacji, aby można było z niej korzystać. W takim przypadku zdarzenie inspekcji zostanie również zarejestrowane przy użyciu kategorii "ApplicationManagement" typu działania "Zgoda na aplikację" i Przyczyna stanu "Wykryto ryzykowną aplikację".
Uwaga
Wszystkie zadania wymagające zatwierdzenia przez administratora będą miały obciążenie operacyjne. Ustawienia zgody i zgody użytkownika są obecnie dostępne w wersji zapoznawczej . Gdy będzie ona gotowa do ogólnej dostępności, funkcja "Zezwalaj na zgodę użytkownika od zweryfikowanych wydawców, dla wybranych uprawnień" powinna zmniejszyć obciążenie administratorów i jest zalecana dla większości organizacji.
Poinformuj deweloperów aplikacji, aby postępowali zgodnie z zaufanym ekosystemem aplikacji.
Aby ułatwić deweloperom tworzenie wysokiej jakości i bezpiecznych integracji, ogłaszamy również publiczną wersję zapoznawcza asystenta integracji w Azure AD rejestracji aplikacji.
- Asystent integracji analizuje rejestrację aplikacji i testuje ją pod kątem zestawu zalecanych najlepszych rozwiązań w zakresie zabezpieczeń.
- Asystent integracji wyróżnia najlepsze rozwiązania, które są istotne w każdej fazie cyklu życia integracji — od programowania po monitorowanie — i zapewnia prawidłowe skonfigurowanie każdego etapu.
- Zaprojektowano ją tak, aby ułatwić ci pracę, niezależnie od tego, czy integrujesz pierwszą aplikację, czy też jesteś ekspertem, który chce poprawić swoje umiejętności.
Poinformuj organizację o taktykach zgody (taktyka wyłudzania informacji, zgoda administratora i użytkownika ):
- Sprawdź, czy nie ma słabej pisowni i gramatyki. Jeśli wiadomość e-mail lub ekran zgody aplikacji zawiera błędy pisowni i gramatyczne, prawdopodobnie będzie to podejrzana aplikacja.
- Zachowaj czujne oko na nazwy aplikacji i adresy URL domen. Osoby atakujące lubią fałszować nazwy aplikacji, które sprawiają, że pochodzą z legalnych aplikacji lub firm, ale umożliwiają wyrażanie zgody na złośliwą aplikację.
- Przed wyrażeniem zgody na aplikację upewnij się, że rozpoznasz nazwę aplikacji i adres URL domeny.
Podwyższanie poziomu i zezwalanie na dostęp do zaufanych aplikacji
- Podwyższanie poziomu użycia zweryfikowanych przez wydawcę aplikacji. Weryfikacja wydawcy pomaga administratorom i użytkownikom końcowym zrozumieć autentyczność deweloperów aplikacji. Do tej pory zweryfikowano ponad 660 aplikacji przez 390 wydawców.
- Skonfiguruj zasady zgody aplikacji, zezwalając użytkownikom na wyrażanie zgody tylko na określone zaufane aplikacje, takie jak aplikacje opracowane przez organizację lub od zweryfikowanych wydawców.
- Poinformuj organizację o tym, jak działają nasze uprawnienia i struktura wyrażania zgody.
- Zapoznaj się z danymi i uprawnieniami, o które prosi aplikacja, oraz dowiedz się, jak działają uprawnienia i zgoda w ramach naszej platformy.
- Upewnij się, że administratorzy wiedzą, jak zarządzać żądaniami zgody i oceniać je.
Przeprowadź inspekcję aplikacji i wyrażonych zgody w organizacji, aby upewnić się, że używane aplikacje uzyskują dostęp tylko do potrzebnych danych i przestrzegają zasad najniższych uprawnień.
Środki zaradcze
- Informowanie klienta i zapewnianie świadomości i szkolenia na temat zabezpieczania udzielania zgody aplikacji
- Zaostrzenie procesu udzielania zgody aplikacji za pomocą zasad organizacyjnych i mechanizmów kontroli technicznej
- Konfigurowanie harmonogramu tworzenia w celu przeglądania aplikacji ze zgodą
- Za pomocą programu PowerShell można wyłączyć podejrzane lub złośliwe aplikacje, wyłączając aplikację
Odwołania
Źródło zawartości tego artykułu jest następujące:
- Ochrona ataków aplikacji pracowników zdalnych
- Wspieranie bezpiecznego i godnego zaufania ekosystemu aplikacji
- Badanie ryzykownych aplikacji OAuth
- Zarządzanie zgodą na aplikacje i ocenianie żądań zgody
- Wyłączanie logowania użytkowników dla aplikacji dla przedsiębiorstw w usłudze Azure Active Directory
- Zapoznaj się z uprawnieniami i strukturą wyrażania zgody w Platforma tożsamości Microsoft.
- Zapoznaj się z różnicą między delegowanymi uprawnieniami i uprawnieniami aplikacji.
- Konfigurowanie sposobu, w jaki użytkownicy końcowi wyrażają zgodę na aplikacje
- Nieoczekiwana aplikacja na liście aplikacji
- Wykrywanie i korygowanie bezprawnie udzielonych zgód
- Jak i dlaczego są dodawane aplikacje Azure AD
- Obiekty aplikacji i jednostki usługi w usłudze Azure Active Directory
- Azure AD Config Documentor
- Zarządzanie zgodą na aplikacje i ocenianie żądań zgody
- Get-AzureADServicePrincipal
- Kompilacja 2020: wspieranie bezpiecznego i godnego zaufania ekosystemu aplikacji dla wszystkich użytkowników
- Konfigurowanie przepływu pracy zgody administratora
- Administratorzy powinni dokładnie ocenić wszystkie żądania zgody przed zatwierdzeniem żądania, zwłaszcza gdy firma Microsoft wykryła ryzyko.
- Rejestracja aplikacji a aplikacje dla przedsiębiorstw
- Uprawnienia
- KrebsOnSecurity on AppConsent Phishing
Dodatkowe podręczniki reagowania na zdarzenia
Zapoznaj się ze wskazówkami dotyczącymi identyfikowania i badania tych dodatkowych typów ataków:
- Phishing
- Spray haseł
- Microsoft DART ransomware approach and best practices (Podejście i najlepsze rozwiązania firmy Microsoft do oprogramowania wymuszającego okup dart firmy Microsoft
Zasoby reagowania na zdarzenia
- Omówienie produktów i zasobów zabezpieczeń firmy Microsoft dla nowych i doświadczonych analityków
- Planowanie usługi Security Operations Center (SOC)
- Proces rekomendacji i najlepszych rozwiązań dotyczących procesu reagowania na zdarzenia
- Microsoft 365 Defender reagowanie na zdarzenia
- Microsoft Defender for Cloud (Azure)
- Reagowanie na zdarzenia w usłudze Microsoft Sentinel