Badanie 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, wymagane są między innymi role i uprawnienia.
- Przepływ 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 blokowym. Ta lista kontrolna może być przydatna w środowiskach wysoce regulowanych, aby zweryfikować podjęte kroki lub po prostu jako bramę jakości dla siebie.
- Kroki badania: zawiera szczegółowe wskazówki krok po kroku dotyczące tego konkretnego badania.
- Odzyskiwanie: zawiera ogólne kroki umożliwiające odzyskanie/złagodzenie problemu z atakiem z użyciem nielegalnej zgody aplikacji.
- Dokumentacja: zawiera więcej materiałów do czytania i materiałów referencyjnych.
Wymagania wstępne
Poniżej przedstawiono ogólne ustawienia i konfiguracje, które należy wykonać podczas badania w przypadku udzielania zgody aplikacji. Przed rozpoczęciem badania upewnij się, że zapoznaj się z typami uprawnień zgody opisanymi w artykule Typy uprawnień zgody.
Dane klienta
Aby rozpocząć proces badania, potrzebne są następujące dane:
- Szczegóły wskaźników naruszenia (IoCs)
- Data i godzina zauważeniu zdarzenia
- Zakres dat
- Liczba kont z naruszeniem zabezpieczeń
- Nazwa kont z naruszonym naruszeniem
- Role konta z naruszonym naruszeniem
- Czy konta są wysoce uprzywilejowane (ogólna dostępność programu Microsoft Exchange, SharePoint)?
- Czy istnieją aplikacje dla przedsiębiorstw związane ze zdarzeniem?
- Czy 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ł AzureAD PowerShell.
- Masz uprawnienia administratora globalnego w dzierżawie, względem której jest uruchamiany skrypt.
- Masz przypisaną rolę administratora lokalnego na komputerze używanym do uruchamiania skryptów.
Uwaga
Moduły usług Azure AD i MSOnline programu PowerShell są przestarzałe od 30 marca 2024 r. Aby dowiedzieć się więcej, przeczytaj aktualizację o wycofaniu. Po tej dacie obsługa tych modułów jest ograniczona do pomocy dotyczącej migracji do zestawu MICROSOFT Graph PowerShell SDK i poprawek zabezpieczeń. Przestarzałe moduły będą nadal działać do 30 marca 2025 r.
Zalecamy migrację do programu Microsoft Graph PowerShell w celu interakcji z identyfikatorem Entra firmy Microsoft (dawniej Azure AD). W przypadku typowych pytań dotyczących migracji zapoznaj się z często zadawanymi pytaniami dotyczącymi migracji. Uwaga: wersje 1.0.x usługi MSOnline mogą wystąpić zakłócenia po 30 czerwca 2024 r.
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 Enter.
Instalowanie modułu MSOnline programu PowerShell
Uruchom aplikację programu Windows PowerShell z podwyższonym poziomem uprawnień (uruchom jako administrator).
Uruchom to polecenie, aby umożliwić programowi PowerShell uruchamianie podpisanych skryptów.
Set-ExecutionPolicy RemoteSigned
Zainstaluj moduł MSOnline za pomocą tego polecenia.
Install-Module -Name MSOnline -Verbose
Uwaga
Jeśli zostanie wyświetlony monit o zainstalowanie modułów z niezaufanego repozytorium, wpisz Y i naciśnij Enter.
Pobierz skrypt AzureADPSPermissions z usługi GitHub
Pobierz skrypt Get-AzureADPSPermissions.ps1 z usługi GitHub do folderu, z którego uruchamiasz skrypt. Plik wyjściowy "permissions.csv" jest również zapisywany w tym samym folderze.
Otwórz wystąpienie programu PowerShell jako administrator i otwórz folder, w którym zapisano skrypt.
Połącz się z katalogiem
Connect-AzureAD
przy użyciu polecenia cmdlet . Oto przykład.Connect-AzureAD -tenantid "aaaabbbb-0000-cccc-1111-dddd2222eeee" -AccountId "user1@contoso.onmicrosoft.com"
Uruchom to polecenie programu PowerShell.
Get-AzureADPSPermissions.ps1 | Export-csv -Path "Permissions.csv" -NoTypeInformation
Odłącz sesję usługi AzureAD za pomocą tego polecenia.
Disconnect-AzureAD
Terminologie zgody
Co to są udzielanie 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 ich organizacji/poszczególnych danych.
Aplikacja ma dostęp do danych na podstawie określonego użytkownika lub całej organizacji. Osoby atakujące mogą nadużywać tych zgody, aby uzyskać trwałość środowiska i uzyskać dostęp do poufnych danych. Tego typu 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 uprawnionego użytkownika. W scenariuszach, w których konto administratora zostało naruszone, rejestracja i udzielenie zgody są przeznaczone dla całej 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 domyślnie 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 we wszystkich plikach w organizacji.
Uwaga
Dzięki umożliwieniu użytkownikom udzielenia aplikacji dostępu do danych użytkownicy mogą łatwo uzyskiwać przydatne aplikacje i być produktywne. Jednak w niektórych sytuacjach ta konfiguracja może stanowić zagrożenie, jeśli nie jest monitorowana i kontrolowana ostrożnie.
Role, które mogą udzielić zgody w imieniu organizacji
Aby móc udzielić zgody administratora dla całej dzierżawy, musisz zalogować się przy użyciu co najmniej jednej z następujących ról:
- Administrator aplikacji
- Administrator aplikacji w chmurze
Typy zgody
- Administrator — wskazuje, że administrator udzielił zgody (w imieniu organizacji)
- Indywidualny użytkownik — wskazuje, że udzielono użytkownikowi zgody i ma dostęp tylko do informacji o tym użytkowniku
- Zaakceptowane wartości
- AllPrincipals — zgoda administratora dla całej dzierżawy
- Podmiot zabezpieczeń — zgoda pojedynczego użytkownika dla danych związanych tylko z tym kontem
Zgoda i uprawnienia
Rzeczywiste środowisko użytkownika udzielania zgody różni się w zależności od zasad ustawionych w dzierżawie użytkownika, zakresie urzędu użytkownika (lub roli) 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ą żądane i czy chcą kierować użytkowników przez przepływ zgody użytkownika lub przepływ 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.
Przepływ zgody administratora — gdy deweloper aplikacji kieruje użytkowników do punktu końcowego zgody administratora z zamiarem rejestrowania zgody dla całej dzierżawy. Aby upewnić się, że przepływ zgody administratora działa prawidłowo, 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, w których użytkownik nie jest zalogowany. Są to na przykład aplikacje, które działają jako usługi w tle lub demony. Uprawnienia aplikacji mogą być wyrażane tylko przez administratora.
Aby uzyskać więcej informacji, zobacz:
- Przepływ pracy zgody administratora na potrzeby zatwierdzania przez administratora dla określonych aplikacji
- Program weryfikacji wydawcy
- Konfigurowanie sposobu wyrażania przez użytkowników końcowych zgody na aplikacje
Klasyfikowanie ryzykownych uprawnień
W systemie istnieją tysiące (przynajmniej) uprawnień i nie można ich wyświetlić ani przeanalizować. Poniższa lista zawiera często nieprawidłowe uprawnienia i inne, które mogłyby spowodować katastrofalny wpływ w przypadku nieprawidłowego użycia.
Na wysokim poziomie firma Microsoft zaobserwowała, że następujące uprawnienia delegowane "root" (App+User) są nadużywane w przypadku ataków wyłudzających zgodę. 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.*
- Lud.*
- Pliki.*
- Notatki.*
- Directory.AccessAsUser.All
- User_Impersonation
Pierwsze siedem uprawnień na poprzedniej liście jest przeznaczonych dla programu Microsoft Graph i odpowiedników interfejsu API "starsza wersja", takich jak usługa Azure Active Directory (Azure AD) Graph i interfejs REST programu Outlook. Ósmym uprawnieniem jest usługa Azure Resource Manager (ARM) i może być również niebezpieczna dla dowolnego interfejsu API, który uwidacznia poufne dane przy użyciu tego ogólnego zakresu personifikacji.
Na podstawie obserwacji zespołu reagowania na zdarzenia firmy Microsoft osoby atakujące używają 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 są ogólnie powszechne i ukierunkowane na użytkowników końcowych, a nie spear phishing wobec administratorów, którzy mogą rzeczywiście wyrazić zgodę na niebezpieczne uprawnienia. Zaleca się stosowanie bąbelków aplikacji z tym "krytycznym" poziomem 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 Uprawnienia aplikacji. 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, 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.
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 z naruszeniem zabezpieczeń
- Nazwy kont z naruszeniem zabezpieczeń
- Role kont, których bezpieczeństwo jest naruszone
- Czy naruszone konta są wysoce uprzywilejowane, użytkownik standardowy lub kombinacja
Role
Musisz mieć przypisane następujące role:
- Rola administratora lokalnego na komputerze, z którego uruchamiasz skrypt
Konfiguracja programu PowerShell
Skonfiguruj środowisko programu PowerShell, wykonując następujące kroki:
- Zainstaluj moduł Programu PowerShell usługi Azure AD.
- Uruchom aplikację programu 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 zabezpieczeń konta
- Ustawienia zgody aplikacji zmodyfikowane w dzierżawie
- Wykryto przyczynę stanu zdarzenia alertu/inspekcji "ryzykowną aplikację"
- Zauważono dziwne, wyglądające aplikacje
Możesz również pobrać zgodę aplikacji i inne listy kontrolne podręcznika incydentu jako plik programu Excel.
Kroki badania
Aby zbadać udzielanie zgody aplikacji, możesz użyć następujących dwóch metod:
- Azure Portal
- Skrypt programu PowerShell
Uwaga
Korzystając z witryny Azure Portal , można wyświetlić tylko granty zgody administratora z 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 — korzystanie z witryny Azure Portal
Możesz użyć centrum administracyjnego firmy Microsoft Entra, aby znaleźć aplikacje, które mają przyznane uprawnienia poszczególnych użytkowników.
- Zaloguj się do portalu Azure Portal jako administrator.
- Wybierz ikonę Microsoft Entra ID .
- Wybierz Użytkowników.
- Wybierz użytkownika, który chcesz przejrzeć.
- Wybierz 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 dotacji zgody, takich jak:
- Narzędzie HAWK
- Moduł reagowania na zdarzenia usługi AzureAD
- Skrypt Get-AzureADPSPermissions.ps1 z usługi GitHub
Program PowerShell jest najprostszym narzędziem i nie wymaga modyfikowania niczego w dzierżawie. Będziemy opierać nasze dochodzenie w sprawie publicznej dokumentacji z ataku Nielegalne udzielanie zgody.
Uruchom polecenie Get-AzureADPSPermissions.ps1
, aby wyeksportować wszystkie granty zgody OAuth i aplikacje OAuth dla wszystkich użytkowników dzierżawy 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 zapisano skrypt.
Połącz się z katalogiem przy użyciu następującego polecenia Connect-AzureAD . Oto przykład.
Connect-AzureAD -tenantid "aaaabbbb-0000-cccc-1111-dddd2222eeee" -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ę odłączenie sesji firmy Microsoft Entra za pomocą tego polecenia.
Disconnect-AzureAD
Uwaga
Wykonanie skryptu może potrwać kilka godzin, w zależności od rozmiaru i skonfigurowanych uprawnień, a także połączenia.
Skrypt tworzy plik o nazwie Permissions.csv.
Otwórz plik, a następnie przefiltruj lub sformatuj dane w tabeli i zapisz je jako
.xlxs
plik.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 osób w dzierżawie. Natywne aplikacje platformy Microsoft 365 wymagają tego uprawnienia, aby działały poprawnie. Każda aplikacja firmy innej niż Microsoft z tym uprawnieniem powinna być uważnie przeglądana.
W kolumnie Uprawnienie (F) przejrzyj uprawnienia, które ma każda delegowana aplikacja. Poszukaj uprawnień do odczytu i zapisu lub *. Wszystkie uprawnienia i dokładnie przejrzyj te uprawnienia, ponieważ mogą nie być odpowiednie.
Uwaga
Przejrzyj konkretnych użytkowników, którzy mają udzielone zgody. Jeśli użytkownicy o wysokim profilu lub dużym wpływie mają przyznane niewłaściwe zgody, należy zbadać dokładniej.
W kolumnie ClientDisplayName (C)wyszukaj aplikacje, które wydają się podejrzane, takie jak:
Aplikacje z błędnie napisanymi nazwami
Nietypowe lub mdłe nazwy
Nazwy brzmiące przez hakerów. Należy dokładnie przejrzeć te nazwy.
Przykładowe dane wyjściowe: Wszystkieprincipals i odczytaj wszystkie operacje zapisu. 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.
Oto kilka przydatnych wskazówek dotyczących przeglądania badań zasad zabezpieczeń informacji (ISP):
- ReplyURL/RedirectURL
- Wyszukaj podejrzane adresy URL
- Czy adres URL jest hostowany w podejrzanej domenie?
- Czy zostało to naruszone?
- Czy domena jest ostatnio zarejestrowana?
- Czy jest to domena tymczasowa?
- Czy w rejestracji aplikacji znajdują się 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 czy aplikacja jest zarejestrowana przez ryzykownego użytkownika)?
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ę u dostawcy OAuth 2.0, takiego jak Microsoft Entra ID.
Aplikacje są konfigurowane w sposób, który sprawia, że wydają się uzasadnione. Na przykład osoby atakujące mogą używać nazwy popularnego produktu dostępnego w tym samym ekosystemie.
Osoba atakująca uzyskuje link bezpośrednio od użytkowników, które mogą być wykonywane za pośrednictwem konwencjonalnego wyłudzania informacji na podstawie poczty e-mail, przez naruszenie niemalicious witryny internetowej lub za pośrednictwem innych technik.
Użytkownik wybierze link i zostanie wyświetlony autentyczny monit o zgodę z prośbą o udzielenie złośliwych uprawnień aplikacji do danych.
Jeśli użytkownik wybierze pozycję "Akceptuj", przyzna aplikacji uprawnienia dostępu do poufnych danych.
Aplikacja pobiera kod autoryzacji, który jest używany dla tokenu dostępu i potencjalnie token odświeżania.
Token dostępu służy do nawiązywania wywołań interfejsu API w imieniu użytkownika.
Jeśli użytkownik akceptuje, osoba atakująca może uzyskać dostęp do wiadomości e-mail użytkownika, reguł przesyłania dalej, plików, kontaktów, notatek, profilów i innych poufnych danych i zasobów.
Znajdowanie oznak ataku
W portalu usługi Microsoft 365 Defender pod adresem https://security.microsoft.comprzejdź do obszaru Inspekcja. Możesz też przejść bezpośrednio do strony Inspekcja, użyj polecenia https://security.microsoft.com/auditlogsearch.
Na stronie Inspekcja wyszukaj wszystkie działania i wszystkich użytkowników, w razie potrzeby wprowadź datę rozpoczęcia i datę zakończenia, a następnie wybierz pozycję Wyszukaj.
Wybierz pozycję Filtruj wyniki i w polu Działanie wprowadź wyrażenie zgody na aplikację.
Jeśli masz działanie w ramach zgody na udzielenie, przejdź do następnego kroku.
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ść ma wartość true, oznacza to, że ktoś mógł 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 wcześniej IoC, musisz przeprowadzić dalsze badanie, aby pozytywnie potwierdzić, że wystąpił atak.
Tworzenie spisu aplikacji z dostępem w organizacji
Aplikacje dla użytkowników można spisać przy użyciu centrum administracyjnego firmy Microsoft Entra, programu PowerShell lub indywidualnie wyliczać dostęp do aplikacji.
- Użyj centrum administracyjnego firmy Microsoft Entra do tworzenia spisu aplikacji i ich uprawnień. Ta metoda jest dokładna, ale można sprawdzić tylko jednego użytkownika jednocześnie, co może być czasochłonne, jeśli musisz sprawdzić uprawnienia kilku użytkowników.
- Używanie programu PowerShell do tworzenia spisu aplikacji i ich uprawnień. Ta metoda jest najszybsza i najbardziej dokładna, z najmniejszą ilością obciążeń.
- Zachęcaj 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ć centrum administracyjnego firmy Microsoft Entra, aby wyświetlić listę aplikacji, do których poszczególnych użytkowników udzielono uprawnień.
- Zaloguj się do witryny Azure Portal przy użyciu praw administracyjnych.
- Wybierz ikonę Microsoft Entra ID .
- Wybierz Użytkowników.
- Wybierz użytkownika, który chcesz przejrzeć.
- Wybierz Aplikacje.
Możesz wyświetlić listę aplikacji przypisanych do użytkownika oraz 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, ramy czasowe, do których miała dostęp nielegalna aplikacja, oraz uprawnienia, które miała aplikacja. Dziennik inspekcji można przeszukiwać w obszarze Zabezpieczenia i portal zgodności Microsoft Purview 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 są dostępne.
Jak zapobiegać atakom i ograniczać ryzyko?
Regularnie przeprowadzaj inspekcję aplikacji i przyznawanie uprawnień w organizacji, aby upewnić się, że żadne niepodjęone lub podejrzane aplikacje nie mają dostępu do danych.
Przeglądanie, wykrywanie i korygowanie nielegalnych dotacji zgody w usłudze Office 365. aby uzyskać więcej najlepszych rozwiązań i zabezpieczeń przed podejrzanymi aplikacjami, które żądają zgody OAuth.
Jeśli Twoja organizacja ma odpowiednią licencję:
- Użyj więcej funkcji inspekcji aplikacji OAuth w usłudze Microsoft Defender dla Chmury Apps.
- Użyj skoroszytów usługi Azure Monitor, aby monitorować uprawnienia i działania związane z zgodą. Skoroszyt usługi Consent Insights zawiera widok aplikacji według liczby nieudanych żądań zgody. Może to być pomocne w określaniu priorytetów aplikacji dla administratorów w celu przejrzenia i podjęcia decyzji, czy udzielić 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ę.
Gdy aplikacja zostanie wyłączona w firmie Microsoft Entra, nie może uzyskać nowych tokenów dostępu do danych, a inni użytkownicy nie mogą się zalogować ani wyrazić zgody na aplikację.
Uwaga
Jeśli podejrzewasz, że napotkasz złośliwą aplikację w organizacji, lepiej ją wyłączyć niż usunąć. Jeśli usuniesz tylko aplikację, może ona zostać zwrócona później, jeśli inny użytkownik udzieli zgody. 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. Te zalecane zabezpieczenia ograniczają wszystkie typy 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 polegającym na wyrażaniu zgody na wpływ na identyfikator firmy Microsoft i usługę Office 365, zapoznaj się z następującymi zaleceniami:
Ustawianie zasad
To ustawienie ma 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 ze zweryfikowanych wydawców i określonych typów uprawnień sklasyfikowanych jako niskie skutki.
Uwaga
Powyższe zalecenia są sugerowane na podstawie najbardziej idealnych, bezpiecznych konfiguracji. Jednak ze względu na to, że zabezpieczenia są precyzyjną równowagą między funkcjami i operacjami, najbezpieczniejsze konfiguracje mogą powodować większe obciążenie dla administratorów. Jest to decyzja najlepiej podjęta po konsultacji z administratorami.
Konfigurowanie zgody krokowej opartej na ryzyku — domyślnie włączone, jeśli zgoda użytkownika na udzielanie jest włączona
Zgoda na krok po kroku oparta na ryzyku pomaga zmniejszyć narażenie użytkowników na złośliwe aplikacje, które wysyłają nielegalne żądania zgody. Jeśli firma Microsoft wykryje ryzykowne żądanie zgody użytkownika końcowego, żądanie wymaga "kroku" zgody administratora. Ta funkcja jest domyślnie włączona, ale powoduje zmianę zachowania tylko po włączeniu zgody użytkownika końcowego.
Po wykryciu ryzykownego żądania zgody zostanie wyświetlony monit o zgodę 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. W przypadku włączenia 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 uprawnień do tej aplikacji, zanim będzie można jej używać. 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 mają nakład pracy operacyjnej. Ustawienia zgody i zgody użytkownika są obecnie dostępne w wersji zapoznawczej . Gdy wszystko będzie gotowe do ogólnej dostępności, funkcja "Zezwalaj na zgodę użytkownika ze zweryfikowanych wydawców, dla wybranych uprawnień" powinna zmniejszyć nakład pracy 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 rejestracjach aplikacji Firmy Microsoft Entra.
- Asystent integracji analizuje rejestrację aplikacji i testuje ją względem 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 do monitorowania — i zapewnia prawidłowe skonfigurowanie każdego etapu.
- Ułatwia to pracę niezależnie od tego, czy integrujesz swoją pierwszą aplikację, czy jesteś ekspertem, który chce poprawić swoje umiejętności.
Edukuj organizację na temat taktyki wyrażania 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 wydają się pochodzić z legalnych aplikacji lub firm, ale pozwalają wyrazić zgodę 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ższ poziom użycia aplikacji zweryfikowanych przez wydawcę. 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 zaufane aplikacje, takie jak aplikacje opracowane przez organizację lub 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 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 kontroli technicznej
- Konfigurowanie harmonogramu tworzenia w celu przejrzenia aplikacji ze zgodą
- Za pomocą programu PowerShell można wyłączyć podejrzane lub złośliwe aplikacje, wyłączając aplikację
Powiązana zawartość
- 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 identyfikatorze Entra firmy Microsoft
- Zapoznaj się z uprawnieniami i strukturą wyrażania zgody w Platforma tożsamości Microsoft.
- Omówienie różnicy między uprawnieniami delegowanymi aplikacji a uprawnieniami aplikacji.
- Konfigurowanie sposobu, w jaki użytkownicy końcowi wyrażają zgodę na aplikacje
- Nieoczekiwana aplikacja na mojej liście aplikacji
- Wykrywanie i korygowanie bezprawnie udzielonych zgód
- Jak i dlaczego są dodawane aplikacje entra firmy Microsoft
- Obiekty aplikacji i jednostki usługi w usłudze Microsoft Entra ID
- Microsoft Entra 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.
- Rejestracja aplikacji a aplikacje dla przedsiębiorstw
- Uprawnienia
- KrebsOnSecurity w witrynie AppConsent Phishing
Dodatkowe podręczniki reagowania na zdarzenia
Zapoznaj się ze wskazówkami dotyczącymi identyfikowania i badania następujących dodatkowych typów ataków:
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)
- Reagowanie na zdarzenia XDR w usłudze Microsoft Defender
- Microsoft Defender dla Chmury (Azure)
- Reagowanie na zdarzenia w usłudze Microsoft Sentinel
- Przewodnik zespołu reagowania na zdarzenia firmy Microsoft udostępnia najlepsze rozwiązania dla zespołów ds. zabezpieczeń i liderów
- Przewodniki reagowania na zdarzenia firmy Microsoft ułatwiają zespołom ds. zabezpieczeń analizowanie podejrzanych działań