Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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. Poznajesz termin overprivilege. Odkryjesz zalecenia i najlepsze rozwiązania, aby ograniczyć uprawnienia w aplikacjach, zarządzać dostępem i poprawiać bezpieczeństwo.
Czym jest nadmierne przywilejowanie?
Overprivilege występuje, gdy aplikacja żąda lub otrzymuje więcej uprawnień niż wymaga jej prawidłowego działania. Popraw swoją wiedzę na temat nadmiernych uprawnień, korzystając z przykładów nieużywanych i zredukowanych 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.
Redukowalne uprawnienia
Przykład kluczy redukowalnych jest bardziej skomplikowany niż przykład nieużywanego klucza, do którego teraz dodajemy dwa klucze specjalne, jak pokazano na poniższym diagramie.
Pierwszy czarny klucz to klucz, który może otwierać wszystkie drzwi. Drugi czarny klucz może otworzyć żółte i zielone drzwi. Gdy potrzebujesz tylko dostępu do żółtych i zielonych drzwi, nosisz tylko drugi klucz. Klucz dostępu należy zachować w bezpiecznej lokalizacji z nadmiarowym zielonym kluczem.
W przypadku platformy 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ępują nadmierne przywileje? 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 pozwolenie dla swojej aplikacji. W miarę jak firma rozwija się i zmienia z biegiem czasu, dodajesz nowe uprawnienia, aby sprostać swoim potrzebom, co prowadzi do wzrostu nachylenia Udzielonych Uprawnień. Używane uprawnienia mogą być niższe niż uprawnienia przyznane, w przypadku zapomnienia o usunięciu zbędnych uprawnień (na przykład, jeśli aplikacja się nie psuje), co spowoduje lukę w uprawnieniach.
Poniżej przedstawiono interesujące obserwacje na platformie tożsamości firmy Microsoft.
- W programie Microsoft Graph mamy ponad 4000 interfejsów API.
- Ponad 200 uprawnień programu Microsoft Graph jest dostępnych na platformie tożsamości firmy Microsoft.
- Deweloperzy mają dostęp do szerokiego zakresu danych i mogą zastosować stopień szczegółowości do uprawnień, których żądają ich aplikacje.
- W naszych badaniach ustaliliśmy, że aplikacje w pełni wykorzystują tylko 10% uprawnień w swoich scenariuszach.
Dokładnie zastanów się nad uprawnieniami wymaganymi przez aplikację. Uważaj na lukę uprawnień i regularnie sprawdzaj uprawnienia aplikacji.
Zabezpieczenia naruszone z powodu nadmiernych uprawnień
Przyjrzyjmy się bliżej zagrożeniom, które wynikają z luk uprawnień w przykładzie. Ten kompromitują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 korzysta z platformy tożsamości firmy Microsoft i jest właścicielem aplikacji. Zadaniem Kelly jest zapewnienie, że aplikacje mają odpowiednie uprawnienia do wykonywania wymaganych zadań.
Poniższy często spotykany scenariusz naruszenia zabezpieczeń z powodu nadmiernych uprawnień zwykle ma cztery etapy.
- Deweloper rozpoczyna konfigurowanie aplikacji i dodawanie wymaganych uprawnień.
- Administrator IT przegląda wymagane uprawnienia i udziela zgody.
- Złośliwy aktor rozpoczyna łamanie poświadczeń użytkownika i pomyślnie włamuje się do tożsamości użytkownika.
- Jeśli użytkownik jest właścicielem wielu aplikacji, jest również nadmiernie uprzywilejowany. Złośliwy podmiot może szybko wykorzystać token przyznanych uprawnień do pobrania poufnych danych.
Aplikacje ponaduprzywilejowane
Jednostka jest nadmiernie nadprzywilejowana, gdy pyta lub otrzymuje więcej uprawnień niż potrzebuje. Definicja aplikacji ponadprzywilejowanej na platformie tożsamości firmy Microsoft jest dowolną aplikacją z nieużywanymi lub redukowalnymi uprawnieniami.
Użyjmy Microsoft Graph jako części platformy Microsoft Identity w praktycznym przykładzie, aby lepiej zrozumieć nieużywane uprawnienia i ograniczalne uprawnienia.
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 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 redukowalne jest trudniejsze do zidentyfikowania. Występuje, gdy aplikacja otrzymuje niewiele uprawnień, ale ma mniej uprzywilejowaną alternatywę, która zapewni dostateczny poziom dostępu do wykonywania zadań. W przykładzie aplikacji kalendarza, Twoja aplikacja żąda i otrzymuje uprawnienia Files.ReadWrite.All. 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 korzysta z Files.ReadWrite.All tylko częściowo, więc należy obniżyć wersję do Files.Read.All.
Zalecenia dotyczące ograniczania sytuacji z nadmiernymi uprawnieniami
Bezpieczeństwo to podróż, a nie miejsce docelowe. Cykl życia zabezpieczeń obejmuje trzy odrębne fazy:
- Profilaktyka
- Auditing
- Remediation
Na poniższym diagramie przedstawiono zalecenia dotyczące zmniejszania scenariuszy nadmiernie uprzywilejowanych.
- Zapobiegaj: Podczas tworzenia aplikacji w pełni zrozum wymagane uprawnienia dla wywołań interfejsu API, które musi wykonać twoja aplikacja. Zażądaj tylko tego, co jest niezbędne do włączenia scenariusza. Dokumentacja programu Microsoft Graph zawiera jasne odwołania do uprawnień o najmniejszym stopniu uprzywilejowania do najbardziej uprzywilejowanych 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, przestań żądać tokenów dla uprawnień naduprzywilejowanych. Administratorzy IT powinni odwołać udzielone zgody. Ten krok zwykle wymaga zmiany kodu.
Najlepsze praktyki utrzymywania zasady najmniejszych uprawnień
Dwie główne zachęty do utrzymania zasady najmniejszych uprawnień w aplikacjach to zwiększenie adopcji aplikacji i powstrzymanie ich 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, że źli aktorzy nie mogą korzystać z nadmiernych uprawnień w celu uzyskania dalszego dostępu. Podczas tworzenia aplikacji, która prosi o niepotrzebne uprawnienia, jest mało prawdopodobne, aby została zatwierdzona lub jej prośba została całkowicie odrzucona. Najlepszym sposobem kontroli szkód jest uniemożliwienie złośliwym podmiotom uzyskania podwyższonych uprawnień, które zwiększają zakres naruszenia. Jeśli na przykład twoja aplikacja ma
User.ReadBasic.Alldo odczytu wyłącznie podstawowych informacji o użytkowniku, wówczas dane w OneDrive, Outlook, Teams oraz wszelkie inne poufne informacje pozostają bezpieczne nawet 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 uzyskać z tokenów Microsoft Entra. Wyjaśniono w nim, jak dostosować tokeny w celu zwiększenia elastyczności i kontroli przy jednoczesnym zwiększeniu poziomu zabezpieczeń Zero Trust aplikacji z najniższymi uprawnieniami.
- Konfigurowanie roszczeń grupowych i ról aplikacji w tokenach pokazuje, jak skonfigurować aplikacje z wykorzystaniem definicji ról aplikacji oraz jak przypisać grupy zabezpieczeń do konkretnych ról aplikacji. Te metody pomagają zwiększyć elastyczność i kontrolę przy jednoczesnym zwiększeniu zabezpieczeń Zero Trust aplikacji zgodnie z zasadą najmniejszych uprawnień.
- Osiągnięcie gotowości do Zero Trust w aplikacjach: projektowanie w oparciu o zasadę najmniejszych uprawnień ułatwia projektowanie aplikacji zgodnie z zasadą najmniej uprzywilejowanego dostępu za pomocą platformy tożsamości Microsoft.
- Zwiększenie bezpieczeństwa aplikacji przy użyciu zasady najniższych uprawnień pomaga zmniejszyć obszar ataków aplikacji i wpływ naruszenia zabezpieczeń (na promień wybuchu [blast radius]), jeśli wystąpi w aplikacji zintegrowanej z platformą 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.