Zmniejszanie uprawnień i aplikacji z nadmiernie uprawnieniami i aplikacjami
Jako deweloper mający na celu projektowanie i implementowanie aplikacji, które są zgodne z podstawowymi zasadami zero trust, chcesz zwiększyć bezpieczeństwo aplikacji z najniższymi uprawnieniami. Konieczne jest zmniejszenie obszaru ataków aplikacji i wpływu naruszenia zabezpieczeń.
W tym artykule dowiesz się, dlaczego aplikacje nie powinny żądać większej liczby uprawnień niż są potrzebne. Rozumiesz termin overprivileged i odkryj zalecenia oraz najlepsze rozwiązania dotyczące ograniczania uprawnień w aplikacjach w celu zarządzania dostępem i ulepszania zabezpieczeń.
Co to jest nadmiernie uprzywilejowane?
Nadmiernie uprzywilejowany występuje, gdy aplikacja żąda lub otrzymuje więcej uprawnień niż wymaga jej prawidłowego działania. Popraw swoją wiedzę na temat nadmiernie uprzywilejowanych przy użyciu przykładów nieużywanych i reducible uprawnień w pozostałej części tego artykułu.
Nieużywane uprawnienia
W tym przykładzie nieużywanego klucza załóżmy, że istnieją trzy zablokowane drzwi (niebieskie, żółte i zielone), jak pokazano na poniższym diagramie.
Twoje zasoby znajdują się za drzwiami. Masz trzy klucze (niebieskie, żółte i zielone), które umożliwiają otwarcie odpowiednich drzwi. Na przykład niebieski klucz może otworzyć niebieskie drzwi. Jeśli potrzebujesz tylko dostępu do żółtych drzwi, możesz nosić tylko żółty klucz.
Aby najlepiej chronić zasoby, należy nosić klucze potrzebne tylko wtedy, gdy są one potrzebne i zachować nieużywane klucze w bezpiecznej lokalizacji.
Uprawnienia reducible
Przykład kluczy reducible jest bardziej skomplikowany niż przykład nieużywanego klucza, do którego dodamy teraz dwa klucze specjalne, jak pokazano na poniższym diagramie.
Pierwszy czarny klucz to klucz dostępu, który może otwierać wszystkie drzwi. Drugi czarny klucz może otworzyć żółty i zielone drzwi. Gdy potrzebujesz tylko dostępu do żółtych i zielonych drzwi, nosisz tylko drugi czarny klucz. Klucz dostępu należy zachować w bezpiecznej lokalizacji z nadmiarowym zielonym kluczem.
W świecie tożsamości firmy Microsoft klucze są uprawnieniami dostępu. Twoje zasoby i ty, właściciel klucza, są aplikacjami. Jeśli rozumiesz ryzyko przenoszenia niepotrzebnych kluczy, wiesz o ryzyku, że aplikacje mają niepotrzebne uprawnienia.
Luka w uprawnieniach i ryzyko
W jaki sposób drzwi i klucze mogą pomóc zrozumieć, jak występuje nadmiernie uprzywilejowany? Dlaczego aplikacja może mieć odpowiednie uprawnienia do wykonywania zadania, ale nadal może być nadmiernie uprzywilejowana? Przyjrzyjmy się lukom uprawnień, które mogą spowodować rozbieżność na poniższym diagramie.
Oś X reprezentuje czas , a oś Y reprezentuje uprawnienia. Na początku mierzonego czasu żądasz i otrzymujesz uprawnienie dla aplikacji. Wraz z rozwojem firmy i zmianami w miarę upływu czasu dodajesz nowe uprawnienia do obsługi Twoich potrzeb i zwiększa się nachylenie uprawnień udzielonych . Używane uprawnienia mogą być niższe niż uprawnienia przyznane, gdy zapomnisz usunąć niepotrzebne uprawnienia (na przykład jeśli aplikacja nie zostanie przerwana), co spowoduje przerwanie uprawnień.
Oto interesujące obserwacje w Platforma tożsamości Microsoft.
- W programie Microsoft Graph mamy ponad 4000 interfejsów API.
- Ponad 200 uprawnień programu Microsoft Graph jest dostępnych w Platforma tożsamości Microsoft.
- Deweloperzy mają dostęp do szerokiego zakresu danych i możliwość zastosowania stopnia szczegółowości do uprawnień, których żądają ich aplikacje.
- W naszych badaniach ustaliliśmy, że aplikacje mają tylko 10% w pełni wykorzystywane uprawnienia do swoich scenariuszy.
Dokładnie zastanów się nad uprawnieniami, których aplikacja rzeczywiście wymaga. Uważaj na lukę uprawnień i regularnie sprawdzaj uprawnienia aplikacji.
Zabezpieczenia naruszone w przypadku nadmiernie uprzywilejowanych
Przyjrzyjmy się bliżej zagrożeniom, które wynikają z luk uprawnień w przykładzie. Ten obiecujący scenariusz obejmuje dwie role: administrator IT i deweloper.
- Administrator IT: Jeff jest administratorem dzierżawy, który zapewnia, że aplikacje w identyfikatorze Entra firmy Microsoft są wiarygodne i bezpieczne. Częścią zadania Jeffa jest udzielenie zgody na uprawnienia wymagane przez deweloperów aplikacji.
- Deweloper: Kelly jest deweloperem aplikacji, który używa Platforma tożsamości Microsoft i jest właścicielem aplikacji. Zadaniem Kelly jest zapewnienie, że aplikacje mają odpowiednie uprawnienia do wykonywania wymaganych zadań.
Poniższy typowy scenariusz naruszenia zabezpieczeń dla nadmiernie uprzywilejowanych zazwyczaj ma cztery etapy.
- Najpierw deweloper rozpoczyna konfigurowanie aplikacji i dodawanie wymaganych uprawnień.
- Po drugie administrator IT przegląda wymagane uprawnienia i udziela zgody.
- Po trzecie, zły aktor rozpoczyna pękanie poświadczeń użytkownika i pomyślnie hackuje tożsamość użytkownika.
- Jeśli użytkownik jest właścicielem wielu aplikacji, jest również nadmiernie wywłaszczone. Nieprawidłowy aktor może szybko użyć tokenu przyznanego uprawnienia do pobierania poufnych danych.
Aplikacje ponaduprzywilejowane
Jednostka jest nadmiernie nadprzywilejowana, gdy pyta lub otrzymuje więcej uprawnień niż potrzebuje. Definicja aplikacji nadrzędnej w Platforma tożsamości Microsoft to "dowolna aplikacja z nieużywanymi lub reducible uprawnieniami".
Użyjmy programu Microsoft Graph w ramach Platforma tożsamości Microsoft w rzeczywistym przykładzie, aby lepiej zrozumieć nieużywane uprawnienia i uprawnienia do reducible.
Nieużywane uprawnienie występuje, gdy aplikacja otrzymuje uprawnienia, które nie są niezbędne dla żądanych zadań. Na przykład tworzysz aplikację kalendarza. Aplikacja kalendarza żąda uprawnień i otrzymuje Files.ReadWrite.All
uprawnienia. Aplikacja nie integruje się z żadnymi interfejsami API plików. W związku z tym aplikacja ma nieużywane Files.ReadWrite.All
uprawnienia.
Uprawnienie reducible jest trudniejsze do odnalezienia. Występuje, gdy aplikacja otrzymuje kilka uprawnień, ale ma niższą alternatywę uprzywilejowaną, która zapewni wystarczający dostęp do wymaganych zadań. W przykładzie aplikacji kalendarza aplikacja żąda i otrzymuje Files.ReadWrite.All
uprawnienia. Jednak musi tylko odczytywać pliki z usługi OneDrive zalogowanego użytkownika i nigdy nie musi tworzyć nowych plików ani modyfikować istniejących. W takim przypadku aplikacja jest używana Files.ReadWrite.All
tylko częściowo, więc należy obniżyć jej dół do Files.Read.All
klasy .
Rekomendacje w celu zmniejszenia liczby scenariuszy z nadmierną wyjątkiem
Bezpieczeństwo to podróż, a nie miejsce docelowe. Cykl życia zabezpieczeń obejmuje trzy odrębne fazy:
- Zapobieganie
- Inspekcja
- Korekty
Na poniższym diagramie przedstawiono zalecenia dotyczące zmniejszania scenariuszy nadmiernie uprzywilejowanych.
- Zapobieganie: Podczas tworzenia aplikacji należy w pełni zrozumieć uprawnienia wymagane przez wywołania interfejsu API, które aplikacja musi wykonać, i zażądać tylko tego, co jest niezbędne do włączenia scenariusza. Dokumentacja programu Microsoft Graph zawiera jasne odwołania do uprawnień najniższych uprawnień do najbardziej uprzywilejowanych uprawnień dla wszystkich punktów końcowych. Należy pamiętać o scenariuszach z nadmiernymi uprawnieniami podczas określania potrzebnych uprawnień.
- Inspekcja: Ty i administratorzy IT powinni regularnie przeglądać wcześniej przyznane uprawnienia istniejących aplikacji.
- Korygowanie: jeśli ty lub administratorzy IT zauważysz nadprzywilejowaną aplikację w ekosystemie, należy zatrzymać żądanie tokenów dla uprawnień naduprzywilejowanych. Administratorzy IT powinni odwołać udzielone zgody. Ten krok zwykle wymaga zmiany kodu.
Najlepsze rozwiązania dotyczące utrzymywania uprawnień najniższych uprawnień
Dwie główne zachęty do utrzymania uprawnień najniższych uprawnień w aplikacjach napędzają wdrażanie aplikacji i zatrzymywanie rozprzestrzeniania się.
- Wspieranie wdrażania przez utworzenie wiarygodnej aplikacji dla klientów, którzy unikają nadmiernego żądania uprawnień. Ogranicz uprawnienia aplikacji tylko do tego, czego potrzebuje do ukończenia zadania. Ta praktyka zmniejsza potencjalny promień ataków i zwiększa wdrażanie aplikacji przez klientów. Zastosuj większą kontrolę podczas przeglądania uprawnień, które aplikacje żądają i decydują, czy przyznać uprawnienia aplikacji.
- Zatrzymaj rozprzestrzenianie się, zapewniając osobom atakującym możliwość korzystania z nadmiernych uprawnień w celu uzyskania dalszego dostępu. Podczas tworzenia aplikacji, która prosi o niepotrzebne uprawnienia, jest najmniej prawdopodobne, aby otrzymać zatwierdzenie lub całkowicie odmówić. Najlepszym sposobem kontrolowania uszkodzeń jest uniemożliwienie osobom atakującym uzyskania podwyższonego poziomu uprawnień, co zwiększa zakres naruszenia zabezpieczeń. Jeśli na przykład aplikacja musi
User.ReadBasic.All
odczytywać tylko podstawowe informacje o użytkowniku, wówczas zabezpieczenia aplikacji OneDrive, Outlook, Teams i wszelkie poufne dane są bezpieczne w przypadku naruszenia zabezpieczeń aplikacji.
Następne kroki
- Uzyskiwanie autoryzacji dostępu do zasobów pomaga zrozumieć, jak najlepiej zapewnić zero trust podczas uzyskiwania uprawnień dostępu do zasobów dla aplikacji.
- Tworzenie aplikacji z podejściem Zero Trust do tożsamości zawiera omówienie uprawnień i najlepszych rozwiązań dotyczących dostępu.
- Dostosowywanie tokenów opisuje informacje, które można otrzymywać w tokenach firmy Microsoft Entra. Wyjaśniono w nim, jak dostosować tokeny w celu zwiększenia elastyczności i kontroli przy jednoczesnym zwiększeniu poziomu zabezpieczeń zerowego zaufania aplikacji z najmniejszymi uprawnieniami.
- Konfigurowanie oświadczeń grup i ról aplikacji w tokenach pokazuje, jak skonfigurować aplikacje przy użyciu definicji ról aplikacji i przypisać grupy zabezpieczeń do ról aplikacji. Te metody pomagają zwiększyć elastyczność i kontrolę przy jednoczesnym zwiększeniu zabezpieczeń zerowego zaufania aplikacji z najmniejszymi uprawnieniami.
- Osiągnięcie gotowości zero trust w aplikacjach: projektowanie dla najniższych uprawnień ułatwia projektowanie aplikacji przy użyciu zasady najmniej uprzywilejowanego dostępu z Platforma tożsamości Microsoft.
- Zwiększenie bezpieczeństwa aplikacji dzięki zasadzie najniższych uprawnień pomaga zmniejszyć obszar ataków aplikacji i wpływ naruszenia zabezpieczeń (promień wybuchu) powinien wystąpić w aplikacji zintegrowanej z Platforma tożsamości Microsoft.
- Dokumentacja dotycząca uprawnień eksploratora programu Graph i programu Microsoft Graph ułatwia wybieranie wywołań interfejsu API programu Microsoft Graph w celu włączenia scenariusza aplikacji i znalezienia odpowiednich uprawnień od najmniej do najbardziej uprzywilejowanych.