Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Chyby zabezpečení v ověření podpisového tokenu rozšíření modelů identit můžou umožnit zvýšení oprávnění
Publikováno: 10. ledna 2017
Verze: 1.0
Shrnutí
Společnost Microsoft vydává tento poradce pro zabezpečení, který poskytuje informace o ohrožení zabezpečení ve veřejné verzi rozšíření modelů identit 5.1.0. Toto rady také poskytuje pokyny k tomu, co můžou vývojáři dělat, aby se zajistilo, že se jejich aplikace správně aktualizují.
Společnost Microsoft si je vědoma ohrožení zabezpečení ve veřejné verzi Microsoft.IdentityModel.Tokens 5.1.0, kde mohou být tokeny podepsané symetrickými klíči zranitelné vůči manipulaci. Pokud se k ověření identity uživatele používá token podepsaný symetrickým klíčem a aplikace provádí rozhodnutí na základě ověřené identity daného uživatele, může aplikace učinit nesprávná rozhodnutí, která vedou ke zvýšení oprávnění.
Vývojářům doporučujeme aktualizovat všechny aplikace tak, aby používaly balíček verze 5.1.1 nebo vyšší.
Faktory pro zmírnění rizika
Algoritmus podpisu tokenu je určen zprostředkovatelem identity, který aplikace používá k ověření uživatele. K tomuto problému jsou ohroženy pouze symetrické podpisové algoritmy a žádní známí zprostředkovatelé veřejných identit používají algoritmy symetrického podpisu. Tokeny podepsané zprostředkovateli identit pomocí asymetrických podpisových algoritmů nejsou zranitelné vůči manipulaci s klíči.
ASP.NET šablony dodávané pro použití v sadě Visual Studio se neváže s ohroženou verzí tohoto balíčku.
Společnost Microsoft vyzývá všechny vývojáře, aby aktualizovali své balíčky bez ohledu na to, jestli se používají k ověřování tokenů podepsaných algoritmem symetrického klíče, aby se chránili před budoucím použitím komponent sami nebo softwarem třetích stran.
Ovlivněný software
Pokud používá balíček Microsoft.IdentityModel.Tokens verze 5.1.0, dojde k ovlivnění projektu Rozhraní Microsoft .NET Core nebo .NET Framework.
Ovlivněný balíček a verze | |
---|---|
Název balíčku | Verze balíčku |
Microsoft.IdentityModel.Tokens | 5.1.0 |
Nejčastější dotazy k poradenství
Návody vědět, jestli mě to ovlivní?
.NET má dva různé typy závislostí: přímé a tranzitivní. Pokud má váš projekt .NET Framework nebo .NET Core přímou nebo tranzitivní závislost na některém z ovlivněných balíčků uvedených v části Ovlivněný software, může to být ovlivněno.
Přímé závislosti
Přímé závislosti nastanou, když do projektu přidáte balíček. Pokud například do projektu přidáte balíček Microsoft.IdentityModel.Tokens, pak jste využili přímou závislost na Microsoft.IdentityModel.Tokens.
Přímé závislosti jsou zjistitelné kontrolou project.json nebo souboru .proj.
Přechodné závislosti
Přechodné závislosti nastanou, když do projektu přidáte balíček, který zase spoléhá na jiný balíček.
Přechodné závislosti se dají kontrolovat v okně microsoft Visual Studio Průzkumník řešení, které také podporuje vyhledávání, nebo kontrolou project.lock.json souboru obsaženého v kořenovém adresáři projektu. Tento soubor obsahuje autoritativní seznam balíčků pro váš projekt.
Návody opravit ovlivněnou aplikaci?
Budete muset opravit přímé závislosti a zkontrolovat a opravit všechny tranzitivní závislosti. Verze 5.1.1 ohroženého balíčku obsahuje opravy potřebné k zabezpečení aplikace.
Oprava závislostí projektu rozhraní .NET Framework
Možnost 1: Aktualizace balíčků projektu sady Visual Studio pomocí NuGetu, opětovné kompilace aplikace a nasazení
- Otevřete své řešení v prostředí Visual Studio.
- V Průzkumník řešení klepněte pravým tlačítkem myši na uzel Reference a potom klepněte na příkaz Spravovat balíčky NuGet.
- Vyberte kartu Aktualizace. V prostředním podokně se zobrazí seznam balíčků s aktualizacemi.
- Vyberte balíček Microsoft.IdentityModel.Tokens a klepněte na tlačítko Aktualizovat.
- Zkompilujte a nasaďte aplikaci.
Další informace o správě balíčků NuGet pomocí dialogového okna NuGet naleznete v tématu Správa balíčků NuGet pomocí dialogového okna.
Možnost 2: Aktualizace balíčků projektu sady Visual Studio pomocí uživatelského rozhraní konzoly Správce balíčků, opětovné kompilace aplikace a nasazení
- Otevřete své řešení v prostředí Visual Studio.
- Klepněte na tlačítko Nástroje nabídky, vyberte knihovna Správce balíčků a potom klepněte na tlačítko Správce balíčků Konzola.
- V okně správce balíčků zadejte Update-Package Microsoft.IdentityModel.Tokens.
- Zkompilujte a nasaďte aplikaci.
Další informace o používání konzoly Správce balíčků naleznete v tématu Použití konzoly Správce balíčků.
Oprava závislostí projektu .NET Core
Přímé závislosti projektu .NET Core
Oprava přímých závislostí:
Otevřete soubor project.json v editoru. Vyhledejte část závislostí. Následuje příklad oddílu:
"dependencies": { "Microsoft.IdentityModel.Tokens": "5.1.0", }
V tomto příkladu je Microsoft.IdentityModel.Tokens přímou závislostí. Aktualizujte jeho verzi na 5.1.1, abyste si stáhli verzi tohoto balíčku, která není ovlivněná. Po aktualizaci verze balíčku uložte soubor project.json. Část závislosti v našem ukázkovém souboru project.json by se teď zobrazovala takto:
"dependencies": { "Microsoft.IdentityModel.Tokens": "5.1.1", }
Pokud používáte Sadu Visual Studio a ukládáte aktualizovaný soubor project.json, sada Visual Studio obnoví novou verzi. Výsledky obnovení můžete zobrazit tak, že otevřete okno výstupu (Ctrl+Alt+O) a potom změníte výstup z rozevíracího seznamu na Správce balíčků.
Pokud visual Studio nepoužíváte, otevřete příkazový řádek a přejděte do adresáře projektu. Spuštěním příkazu dotnet restore obnovte nové závislosti.
Jakmile vyřešíte všechny přímé závislosti, jste připraveni zkontrolovat přechodné závislosti.
Přechodné závislosti projektu .NET Core
Kontrola tranzitivních závislostí
Existují dva způsoby zobrazení tranzitivních závislostí: Použití sady Visual Studio Průzkumník řešení nebo kontrola project.lock.json souboru.
Použití sady Visual Studio Průzkumník řešení
Pokud chcete použít Průzkumník řešení, otevřete projekt v sadě Visual Studio a stisknutím kláves Ctrl+; aktivujte hledání v Průzkumník řešení. Vyhledejte název balíčku Microsoft.IdentityModel.Tokens. Pokud jsou nalezeny výsledky a verze 5.1.0, váš projekt přebírá tranzitivní závislost na Microsoft.IdentityModel.Tokens.
Oprava přechodných závislostí projektu .NET Core
Pokud jste nenašli Microsoft.IdentityModel.Tokens, nezávisí ani žádná z vašich závislostí na zranitelném balíčku, nebo jste problém už vyřešili aktualizací přímých závislostí.
Pokud kontrola tranzitivní závislosti ukázala, že používáte ohrožený balíček, musíte do souboru project.json přidat přímou závislost, která přepíše tranzitivní závislost. Otevřete soubor project.json a vyhledejte oddíl závislostí. Příklad:
"dependencies": {
"VulnerablePackage": "1.0.0-*"
}
Výsledky tranzitivního vyhledávání balíčků ukazují, že balíček, který vaše aplikace používá, závisí na Microsoft.IdentityModel.Tokens verze 5.1.0. Pokud chcete tento příklad opravit, musíte přidat přímou závislost tak, že ji přidáte do souboru project.json. Můžete to provést přidáním nového řádku do oddílu závislostí, který odkazuje na pevnou verzi. Upravte soubor project.json následujícím způsobem:
"dependencies": {
"Microsoft.IdentityModel.Tokens": "5.1.1",
"VulnerablePackage": "1.0.0-*"
}
Po přidání přímých závislostí do pevných balíčků uložte projekt. soubor json.
Pokud používáte Sadu Visual Studio, uložení aktualizovaného souboru project.json ukládá nové verze v sadě Visual Studio. Pokud chcete zobrazit výsledky obnovení, otevřete okno Výstup (Ctrl+Alt+O) a změňte výstup z rozevíracího seznamu na Správce balíčků.
Pokud visual Studio nepoužíváte, otevřete příkazový řádek a přejděte do adresáře projektu. Spuštěním příkazu dotnet restore obnovte nové závislosti.
Možná budete chtít znovu zkontrolovat přechodné závislosti, abyste měli jistotu, že jste všechny vyřešili.
Opětovné sestavení aplikace
Nakonec znovu sestavíte aplikaci, otestujete ji běžným způsobem a pak ji znovu nasadíte pomocí vašeho oblíbeného mechanismu nasazení.
Další informace
Program Microsoft Active Protections (MAPP)
Microsoft poskytuje informace o ohrožení zabezpečení pro zákazníky, aby před každým měsíčním vydáním aktualizace zabezpečení poskytovala informace o ohrožení zabezpečení významným poskytovatelům softwaru zabezpečení. Poskytovatelé softwaru zabezpečení pak můžou tyto informace o ohrožení zabezpečení použít k poskytování aktualizovaných ochrany zákazníkům prostřednictvím bezpečnostního softwaru nebo zařízení, jako jsou antivirová ochrana, systémy detekce neoprávněných vniknutí na základě sítě nebo systémy ochrany před neoprávněným vniknutím na základě hostitele. Pokud chcete zjistit, jestli jsou aktivní ochrany dostupné od poskytovatelů softwaru zabezpečení, navštivte weby aktivní ochrany poskytované partnery programu, které jsou uvedeny v programu Microsoft Active Protections Program (MAPP) Partneři.
Váš názor
- Zpětnou vazbu můžete poskytnout vyplněním formuláře nápovědy a podpory Microsoftu, kontaktujte nás oddělení služeb zákazníkům.
Technická podpora
- Můžete klást otázky týkající se tohoto poradce na GitHubu v úložišti Rozšíření modelů identit.
- Zákazníci v USA a Kanadě můžou získat technickou podporu od podpory zabezpečení. Další informace naleznete v nápovědě a podpoře společnosti Microsoft.
- Mezinárodní zákazníci můžou získat podporu od místních poboček Microsoftu. Další informace naleznete v tématu Mezinárodní podpora.
- Microsoft TechNet Security poskytuje další informace o zabezpečení v produktech Microsoftu.
Právní doložka
Informace uvedené v tomto poradenství jsou poskytovány "tak, jak jsou" bez záruky jakéhokoli druhu. Společnost Microsoft odmítá všechny záruky, ať už výslovné nebo předpokládané, včetně záruk prodejnosti a vhodnosti pro určitý účel. V žádném případě společnost Microsoft Corporation nebo její dodavatelé nenese odpovědnost za jakékoli škody, včetně přímých, nepřímých, náhodných, následných, ztrát obchodních zisků nebo zvláštních škod, a to i v případě, že společnost Microsoft Corporation nebo její dodavatelé byli upozorněni na možnost těchto škod. Některé státy neumožňují vyloučení nebo omezení odpovědnosti za následné nebo náhodné škody, takže výše uvedené omezení nemusí platit.
Revize
- V1.0 (10. ledna 2017): Publikováno poradce.
Stránka vygenerovaná 2017-01-04 15:30-08:00.