A túlprivilegált engedélyek és alkalmazások csökkentése

Fejlesztőként, aki olyan alkalmazásokat szeretne megtervezni és implementálni, amelyek a zéró megbízhatóság alapelveit követik, a legkisebb jogosultsággal szeretné növelni az alkalmazásbiztonságot. Elengedhetetlen, hogy csökkentse az alkalmazás támadási felületét és a biztonsági incidensek hatását.

Ebből a cikkből megtudhatja, hogy az alkalmazások miért nem kérhetnek több engedélyt, mint amennyi szükséges. Megismerheti a túlárazás fogalmát. Javaslatokat és ajánlott eljárásokat fedezhet fel az alkalmazások jogosultságainak korlátozására, a hozzáférés kezelésére és a biztonság javítására.

Mi az a túljogosultság?

Túlárúság akkor fordul elő, ha egy alkalmazás több engedélyt kér vagy kap, mint amennyi a megfelelő működéshez szükséges. A cikk további részében a nem használt és redukálható engedélyek példáival javíthatja a túlzott jogosultság megértését.

Nem használt engedélyek

Ebben a nem használt kulcsos példában képzelje el, hogy három zárt ajtó (kék, sárga és zöld) található az alábbi ábrán látható módon.

Az ábrán három ajtó látható a nem használt engedélyek szemléltetéséhez megfelelő kulcsokkal.

Az ön eszközei az ajtók mögött vannak. Van három kulcs (kék, sárga és zöld), amelyek lehetővé teszik, hogy nyissa meg a megfelelő ajtót. A kék kulcs például megnyithatja a kék ajtót. Ha csak a sárga ajtóhoz kell hozzáférnie, csak a sárga kulcsot kell hordania.

Az objektumok védelme érdekében csak akkor kell a szükséges kulcsokat tárolnia, ha szüksége van rájuk, és a nem használt kulcsokat biztonságos helyen kell tárolnia.

Csökkenthető engedélyek

Az redukálható kulcsok példája bonyolultabb, mint a nem használt kulcs példája, amelyhez most két speciális kulcsot adunk hozzá az alábbi ábrán látható módon.

A diagramon három ajtó látható a megfelelő kulcsokkal, bemutatva a csökkenthető engedélyeket.

Az első fekete kulcs egy olyan kulcs, amely képes megnyitni az összes ajtót. A második fekete kulcs kinyithatja a sárga és a zöld ajtókat. Ha csak a sárga és a zöld ajtókhoz kell hozzáférnie, csak a második fekete kulcsot kell hordania. A jelkulcsot a redundáns zöld kulccsal biztonságos helyen tárolhatja.

A Microsoft identitásplatform esetében a hozzáférési engedélyek jelentik a kulcsot. Az erőforrások és Ön, a kulcsbirtokos, mind alkalmazások. Ha tisztában van a szükségtelen kulcsok hordozásának kockázatával, tisztában van azzal a kockázattal, hogy az alkalmazások szükségtelen engedélyekkel rendelkeznek.

Engedélyhiány és kockázat

Hogyan segíthetnek az ajtók és kulcsok annak megértésében, hogy hogyan fordul elő a túl jogosultság? Miért rendelkezhet az alkalmazás a megfelelő engedélyekkel egy feladat végrehajtásához, de mégis túlprivilegált? Tekintsük át azt az engedélybeli rést, amely az alábbi diagram eltérését okozhatja.

Az ábrán az engedélyek és a megadott engedélyek és a felhasznált engedélyek ideje látható.

Az X tengely az Időt , az Y tengely pedig az Engedélyeket jelöli. A mért idő kezdetekor engedélyt kér és kap az alkalmazáshoz. Ahogy az üzlet növekszik és idővel változik, új jogosultságokat ad hozzá az igények támogatására, és a megadott engedélyek növekedési üteme emelkedik. A használt engedélyek alacsonyabbak lehetnek a megadott engedélyeknél , ha elfelejti eltávolítani a szükségtelen engedélyeket (például ha az alkalmazás nem törik meg), ami engedélyhiányt eredményez.

Az alábbiakban érdekes megfigyeléseket talál a Microsoft identitásplatformjában.

  • A Microsoft Graph több mint 4000 API-val rendelkezik.
  • Több mint 200 Microsoft Graph-engedély érhető el a Microsoft identitásplatformján.
  • A fejlesztők számos adathoz férhetnek hozzá, és részletességet alkalmazhatnak az alkalmazások által kért engedélyekre.
  • Vizsgálataink során megállapítottuk, hogy az alkalmazások csak 10% engedélyt használnak a forgatókönyveikhez.

Alaposan gondolja át az alkalmazás által igényelt engedélyeket. Óvakodjon az engedélyhiánytól, és rendszeresen ellenőrizze az alkalmazásengedélyeket.

A biztonság kompromittálódott a túlprivilegáltak esetében

Vizsgáljuk meg egy példával az engedélyhiányból eredő kockázatokat. Ez a kompromittáló forgatókönyv két szerepkörből áll: az informatikai rendszergazda és a fejlesztő.

  • Rendszergazda: Jeff bérlői rendszergazda, aki biztosítja, hogy a Microsoft Entra-azonosítóban lévő alkalmazások megbízhatóak és biztonságosak legyenek. Jeff feladata az, hogy hozzájárulást adjon az alkalmazásfejlesztők által igényelt engedélyekhez.
  • Fejlesztő: Kelly egy alkalmazásfejlesztő, aki a Microsoft identitásplatformját használja, és az alkalmazások tulajdonosa. Kelly feladata annak biztosítása, hogy az alkalmazások megfelelő engedélyekkel rendelkezzenek a szükséges feladatok elvégzéséhez.

Az alábbi gyakori jogkörkihasználási biztonsági sérülékenységi forgatókönyv általában négy szakaszból áll.

Az ábra egy biztonsági kompromisszumos forgatókönyv négy szakaszát mutatja be.

  1. A fejlesztő megkezdi az alkalmazás konfigurálását és a szükséges engedélyek hozzáadását.
  2. Az informatikai rendszergazda áttekinti a szükséges engedélyeket, és jóváhagyást ad.
  3. A rossz szereplő elkezdi feltörni a felhasználói hitelesítő adatokat, és sikeresen feltöri a felhasználói identitást.
  4. Ha a felhasználó több alkalmazás tulajdonosa, az is túlprivilegált. A rossz szereplő gyorsan használhatja a megadott engedély jogkivonatát a bizalmas adatok lekéréséhez.

Túlprivilegált alkalmazások

Az entitások túlprivilegáltak, ha a szükségesnél több engedélyt kérnek vagy kapnak. A Microsoft identitásplatformon a túlprivilegált alkalmazás definíciója minden olyan alkalmazás, amely nem használt vagy visszavezethető engedélyekkel rendelkezik.

Használjuk a Microsoft Graphot a Microsoft identitásplatformjának részeként egy valós példában, hogy jobban megértsük a fel nem használt és a redukálható engedélyeket.

Az ábrán a nem használt és redukciós engedélyek láthatóak.

A nem használt engedély akkor fordul elő, ha az alkalmazás olyan engedélyeket kap, amelyek nem szükségesek a kívánt tevékenységekhez. Például naptáralkalmazást készít. A naptáralkalmazás megkapja és kéri a Files.ReadWrite.All engedélyt. Az alkalmazás nem integrálható egyetlen fájl API-jával sem. Ezért az alkalmazás nem használt engedéllyel rendelkezik Files.ReadWrite.All .

A redukciós engedélyt nehezebb felderíteni. Ez akkor fordul elő, ha az alkalmazás kevés engedélyt kap, de alacsonyabb jogosultsági szintű alternatívával rendelkezik, amely elegendő hozzáférést biztosít a szükséges feladatokhoz. A naptáralkalmazás példájában az alkalmazás engedélyt kér és kap Files.ReadWrite.All . Azonban csak a bejelentkezett felhasználó OneDrive-járól kell fájlokat olvasnia, és soha nem kell új fájlokat létrehoznia vagy módosítania a meglévőket. Ebben az esetben az alkalmazás csak részben használja a Files.ReadWrite.All-t, amiért vissza kell minősítenie a Files.Read.All-re.

Javaslatok a túlprivilegált forgatókönyvek csökkentésére

A biztonság utazás, nem cél. A biztonsági életciklusnak három különböző fázisa van:

  • Megelőzés
  • auditálás
  • Remediation

Az alábbi ábra a túlprivilegált forgatókönyvek csökkentésére vonatkozó javaslatokat mutatja be.

Az ábrán a túlprivilegált forgatókönyvek megelőzésére, naplózására és szervizelésére vonatkozó javaslatok láthatók.

  • Megelőzés: Alkalmazás létrehozásakor teljes mértékben megismerheti az alkalmazás által indítandó API-hívásokhoz szükséges engedélyeket. Csak a forgatókönyv engedélyezéséhez szükséges elemet kérje le. A Microsoft Graph dokumentációja egyértelmű hivatkozásokat tartalmaz a legtöbb jogosultsági engedélyre vonatkozó minimális jogosultsági engedélyekre az összes végponton. Ügyeljen a túlprivilegált forgatókönyvekre, amikor meghatározza, hogy mely engedélyekre van szüksége.
  • Naplózás: Önnek és az informatikai rendszergazdáknak rendszeresen át kell tekintenie a meglévő alkalmazások korábban megadott jogosultságait.
  • Szervizelés: Ha Ön vagy az informatikai rendszergazdák túlprivilegált alkalmazást észlelnek az ökoszisztémában, ne kérj jogkivonatokat a túljogosított engedélyhez. Az informatikai rendszergazdáknak vissza kell vonniuk a megadott hozzájárulásokat. Ehhez a lépéshez általában kódmódosításra van szükség.

Ajánlott eljárások a minimális jogosultsági jogosultság fenntartásához

A minimális jogosultsági engedélyek alkalmazásokkal való fenntartásának két fő ösztönzője az alkalmazások bevezetésének ösztönzése és a terjedés leállítása.

A diagram az elfogadás ösztönzését és a terjedés megállítását szemlélteti.

  • A bevezetést egy megbízható alkalmazás létrehozásával ösztönözheti az ügyfelek számára, amely elkerüli a túlzott engedélykéréseket. Az alkalmazásengedélyeket csak arra korlátozza, amire a feladat elvégzéséhez szüksége van. Ez a gyakorlat csökkenti a támadások potenciális robbanási sugarát, és növeli az alkalmazások ügyfélbevezetését. Az alkalmazások által igényelt engedélyek áttekintésekor és az alkalmazásengedélyek megadásának eldöntésekor nagyobb ellenőrzésre van szükség.
  • Állítsa le a terjedést azáltal, hogy a rosszindulatú személyek nem férhetnek hozzá túlterjeszkedő jogosultságokkal további hozzáféréshez. Amikor olyan alkalmazást hoz létre, amely szükségtelen engedélyeket kér, az a legkevésbé valószínű, hogy jóváhagyást kap, vagy akár el is utasíthatják. A károk ellenőrzésének legjobb módja annak megakadályozása, hogy a rossz szereplők emelt szintű jogosultsághoz jussanak, ami növeli a kompromisszum hatókörét. Ha például az alkalmazásnak csak a felhasználói alapvető információkat kell User.ReadBasic.All elolvasnia, akkor a OneDrive, az Outlook, a Teams és a bizalmas adatok biztonságban lesznek, ha egy alkalmazás biztonsága sérül.

Következő lépések