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.
Při vývoji samostatných aplikací WINDOWS Presentation Foundation (WPF (Windows Presentation Foundation)) a aplikací hostovaných v prohlížeči je nutné zvážit model zabezpečení. Samostatné aplikace WPF (Windows Presentation Foundation) se spouštějí s neomezenými oprávněními (sada oprávnění CASFullTrust ), ať už jsou nasazené pomocí Instalační služby systému Windows (.msi), XCopy nebo ClickOnce. Nasazení částečných důvěryhodných samostatných aplikací WPF (Windows Presentation Foundation) s technologií ClickOnce není podporováno. Hostitelská aplikace s úplným vztahem důvěryhodnosti však může vytvořit částečný vztah důvěryhodnosti AppDomain pomocí modelu doplňku .NET Framework. Další informace naleznete v tématu WPF (Windows Presentation Foundation) Add-Ins Přehled.
Aplikace hostované v prohlížeči WPF (Windows Presentation Foundation) jsou hostovány v prohlížeči Windows Internet Explorer nebo Firefox a mohou to být aplikace prohlížeče XAML (XBAPs) nebo volné dokumenty jazyka XAML (Extensible Application Markup Language) Další informace naleznete v tématu WPF (Windows Presentation Foundation) XAML Browser Applications Overview.
Výstraha
XBAPs vyžadují, aby fungovaly starší prohlížeče, jako je Internet Explorer a starší verze Firefoxu. Tyto starší prohlížeče jsou obvykle nepodporované ve Windows 10 a Windows 11. Moderní prohlížeče už kvůli rizikům zabezpečení nepodporují technologii potřebnou pro aplikace XBAP. Moduly plug-in, které umožňují XBAPs, se už nepodporují. Další informace najdete v tématu nejčastější dotazy k aplikacím hostovaným v prohlížeči WPF (Windows Presentation Foundation) (XBAP).
Aplikace hostované v prohlížeči WPF (Windows Presentation Foundation) se ve výchozím nastavení spouštějí v izolovaném bezpečnostním prostoru s omezenou důvěryhodností, což je omezené na výchozí sadu oprávnění pro zónu Internetu CAS. Tím se efektivně izolují aplikace hostované v prohlížeči WPF (Windows Presentation Foundation) od klientského počítače stejným způsobem, jakým byste očekávali izolaci typických webových aplikací. XBAP může zvýšit oprávnění až do úplného důvěryhodného nastavení v závislosti na zóně zabezpečení na základě adresy URL nasazení a konfiguraci zabezpečení klienta. Další informace najdete v tématu Zabezpečení částečné důvěryhodnosti WPF (Windows Presentation Foundation).
Toto téma popisuje model zabezpečení pro samostatné aplikace WPF (Windows Presentation Foundation) (Windows Presentation Foundation) a aplikace hostované v prohlížeči.
Toto téma obsahuje následující části:
Bezpečná navigace
U XBAPs wpF rozlišuje dva typy navigace: aplikace a prohlížeč.
Navigace v aplikaci je navigace mezi položkami obsahu v aplikaci hostované prohlížečem. Navigace v prohlížeči je navigace , která mění obsah a adresu URL umístění samotného prohlížeče. Vztah mezi procházením aplikací (obvykle XAML) a prohlížečem (obvykle HTML) je znázorněný na následujícím obrázku:
Typ obsahu, který je považován za bezpečný pro procházení XBAP, je primárně určen, zda se používá navigace v aplikaci nebo navigace v prohlížeči.
Zabezpečení navigace aplikací
Navigace v aplikaci je považována za bezpečnou, pokud ji lze identifikovat pomocí identifikátoru URI balíčku, který podporuje čtyři typy obsahu:
| Typ obsahu | Popis | Příklad identifikátoru URI |
|---|---|---|
| Zdroj | Soubory, které jsou přidány do projektu s typem sestavení Resource. | pack://application:,,,/MyResourceFile.xaml |
| Obsah | Soubory, které jsou přidány do projektu s typem sestavení Content. | pack://application:,,,/MyContentFile.xaml |
| Lokalita původu | Soubory, které jsou přidány do projektu s typem sestavení None. | pack://siteoforigin:,,,/MySiteOfOriginFile.xaml |
| Kód aplikace | Prostředky XAML, které mají zkompilovaný kód za sebou. nebo Soubory XAML, které jsou přidány do projektu s typem sestavení Page. |
pack://application:,,,/MyResourceFile
.xaml
|
Poznámka:
Další informace o datových souborech aplikací a identifikátorech URI balíčků naleznete v tématu Prostředek aplikace WPF (Windows Presentation Foundation), obsah a datové soubory.
Soubory těchto typů obsahu můžou procházet buď uživatel, nebo programově:
Navigace uživatele. Uživatel přejde kliknutím na Hyperlink prvek.
Programová navigace Aplikace prochází bez zásahu uživatele, například nastavením NavigationWindow.Source vlastnosti.
Zabezpečení navigace v prohlížeči
Navigace v prohlížeči se považuje za bezpečnou pouze za následujících podmínek:
Navigace uživatele. Uživatel naviguje kliknutím na prvek Hyperlink, který je uvnitř hlavního NavigationWindow, ne ve vnořeném Frame.
Zóna. Obsah, na který se přechází, se nachází na internetu nebo v místním intranetu.
Protokol. Použitý protokol je http, https, soubor nebo mailto.
Pokud se XBAP pokusí přejít na obsah způsobem, který nevyhovuje těmto podmínkám, vyvolá se SecurityException chyba.
Nastavení zabezpečení softwaru pro procházení webu
Nastavení zabezpečení na vašem počítači určuje přístup, který má udělený jakýkoli software pro procházení webu. Software pro procházení webu zahrnuje jakoukoli aplikaci nebo součást, která používá rozhraní API WinINet nebo UrlMon , včetně Internet Exploreru a PresentationHost.exe.
Internet Explorer poskytuje mechanismus, pomocí kterého můžete nakonfigurovat funkce, které mohou být spouštěné aplikací Internet Explorer nebo z aplikace Internet Explorer, včetně následujících:
Komponenty rozhraní .NET Framework
Ovládací prvky ActiveX a moduly plug-in
Stahování souborů
Skriptování
Ověřování uživatelů
Kolekce funkcí, které lze tímto způsobem zabezpečit, se konfiguruje na základě jednotlivých zón pro zóny pro zóny internetu, intranetu, důvěryhodných webů a zón s omezeným přístupem. Následující kroky popisují, jak nakonfigurovat nastavení zabezpečení:
Otevřete Ovládací panel.
Klepněte na položku Síť a internet a potom klepněte na příkaz Možnosti internetu.
Zobrazí se dialogové okno Možnosti internetu.
Na kartě Zabezpečení vyberte zónu, pro které chcete nakonfigurovat nastavení zabezpečení.
Klikněte na tlačítko Vlastní úroveň .
Zobrazí se dialogové okno Nastavení zabezpečení a můžete nakonfigurovat nastavení zabezpečení pro vybranou zónu.
Poznámka:
Můžete se také dostat do dialogového okna Možnosti internetu z Internet Exploreru. Klepněte na tlačítko Nástroje a potom klepněte na tlačítko Možnosti internetu.
Počínaje aplikací Windows Internet Explorer 7 jsou zahrnuta následující nastavení zabezpečení speciálně pro rozhraní .NET Framework:
Volný XAML. Určuje, zda může Internet Explorer přejít k souborům XAML a uvolnit je. (Povolení, zakázání a zobrazení výzvy)
Aplikace prohlížeče XAML. Určuje, jestli Internet Explorer může přejít na XBAPs a spustit je. (Povolení, zakázání a zobrazení výzvy)
Ve výchozím nastavení jsou všechna tato nastavení povolená pro zóny internetu, místního intranetu a důvěryhodných webů a zakázaná pro zónu s omezeným přístupem.
Nastavení registru WPF (Windows Presentation Foundation) související se zabezpečením
Kromě nastavení zabezpečení dostupných prostřednictvím možností internetu jsou k dispozici následující hodnoty registru pro selektivní blokování řady funkcí WPF (Windows Presentation Foundation) citlivých na zabezpečení. Hodnoty jsou definovány pod následujícím klíčem:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Windows Presentation Foundation\Features
Následující tabulka uvádí hodnoty, které je možné nastavit.
| Název hodnoty | Typ hodnoty | Údaj hodnoty |
|---|---|---|
| XBAPDisallow | REG_DWORD | 1 znamená zákaz; 0 znamená povolit. |
| LooseXamlDisallow | REG_DWORD | 1 znamená zákaz; 0 znamená povolit. |
| Zakázání webového prohlížeče | REG_DWORD | 1 znamená zákaz; 0 znamená povolit. |
| MediaAudioOdepřít | REG_DWORD | 1 znamená zákaz; 0 znamená povolit. |
| ZakázatMediálníObrázek | REG_DWORD | 1 znamená zákaz; 0 znamená povolit. |
| MediaVideoDisallow | REG_DWORD | 1 znamená zákaz; 0 znamená povolit. |
| ScriptInteropDisallow | REG_DWORD | 1 znamená zákaz; 0 znamená povolit. |
Ovládací prvky WebBrowser a ovládací prvky funkcí
Ovládací prvek WPF (Windows Presentation Foundation) WebBrowser lze použít k hostování webového obsahu. Ovládací prvek WPF (Windows Presentation Foundation) WebBrowser obaluje základní ovládací prvek WebBrowser ActiveX. WPF (Windows Presentation Foundation) poskytuje určitou podporu zabezpečení aplikace při použití ovládacího prvku WPF (Windows Presentation Foundation) WebBrowser k hostování nedůvěryhodného webového obsahu. Některé funkce zabezpečení však musí být použity přímo aplikacemi používajícími WebBrowser ovládací prvek. Další informace o ovládacím prvku ActiveX WebBrowser naleznete v tématu Přehledy a kurzy ovládacích prvků WebBrowser.
Poznámka:
Tento oddíl se vztahuje také na Frame ovládací prvek, protože používá WebBrowser k přechodu na obsah HTML.
Pokud se ovládací prvek WPF (Windows Presentation Foundation) WebBrowser používá k hostování nedůvěryhodného webového obsahu, měla by vaše aplikace použít částečnou důvěryhodnost AppDomain , která pomáhá izolovat kód aplikace před potenciálně škodlivým kódem skriptu HTML. To platí zejména v případě, že vaše aplikace komunikuje s hostovaným skriptem pomocí InvokeScript metody a ObjectForScripting vlastnosti. Další informace naleznete v tématu WPF (Windows Presentation Foundation) Add-Ins Přehled.
Pokud vaše aplikace používá ovládací prvek WPF (Windows Presentation Foundation) WebBrowser , dalším způsobem, jak zvýšit zabezpečení a zmírnit útoky, je povolit řízení funkcí Internet Exploreru. Ovládací prvky funkcí jsou doplňky Internet Exploreru, které umožňují správcům a vývojářům konfigurovat funkce Internet Exploreru a aplikace, které obsahují ovládací prvek ActiveX WebBrowser, jenž je obalen ovládacím prvkem WPF (Windows Presentation Foundation) WebBrowser. Ovládací prvky funkcí je možné konfigurovat pomocí funkce CoInternetSetFeatureEnabled nebo změnou hodnot v registru. Další informace o ovládacích prvcích funkcí naleznete v tématu Úvod k ovládacím prvkům funkce a ovládacím prvkům internetu.
Pokud vyvíjíte samostatnou aplikaci WPF (Windows Presentation Foundation), která používá ovládací prvek WPF (Windows Presentation Foundation), WPF (Windows Presentation Foundation) WebBrowser automaticky povolí následující ovládací prvky funkce pro vaši aplikaci.
| Řízení funkcí |
|---|
| FUNKCE_ZPRACOVÁNÍ_MIME |
| FEATURE_MIME_SNIFFING |
| FUNKCE_UKLÁDÁNÍ_OBJEKTŮ_DO_MEZIPAMĚTI |
| FEATURE_SAFE_BINDTOOBJECT |
| OMEZENÍ OKNA FUNKCÍ |
| VÝŠKA ZÓNY FUNKCE |
| FUNKCE_OMEZENÍ_STAHOVÁNÍ_SOUBORŮ |
| FUNKCE_OMEZENÍ_INSTALACE_ACTIVEX |
| SPRÁVA_ROZŠÍŘENÍ |
| FEATURE_HTTP_USERNAME_PASSWORD_DISABLE |
| FUNKCE_BEZPEČNOSTNÍPÁS |
| FUNKCE_UNC_KONTROLAULOŽENÉHOSOUBORU |
| FEATURE_VALIDATE_NAVIGATE_URL |
| Vlastnost: Zakázat Telnet protokol |
| FUNKCE_WEBOC_SPRÁVIPOPUPŮ |
| Funkce_Zakázat_Starší_Kompresi |
| FEATURE_SSLUX |
Vzhledem k tomu, že jsou tyto ovládací prvky funkcí povoleny bezpodmínečně, může být aplikace s plnou důvěryhodností narušena. V takovém případě platí, že pokud pro konkrétní aplikaci neexistuje žádné bezpečnostní riziko a obsah, který hostuje, může být odpovídající řízení funkcí zakázáno.
Ovládací prvky funkcí se použijí procesem vytvoření instance objektu ActiveX WebBrowser. Proto pokud vytváříte samostatnou aplikaci, která může přejít na nedůvěryhodný obsah, měli byste vážně zvážit povolení dalších ovládacích prvků funkcí.
Poznámka:
Toto doporučení vychází z obecných doporučení pro zabezpečení hostitele MSHTML a SHDOCVW. Další informace naleznete v tématu MSHTML Host Security Faq: Část I ii a MSHTML Host Security Faq: Část II ii.
U spustitelného souboru zvažte povolení následujících ovládacích prvků funkcí nastavením hodnoty registru na hodnotu 1.
| Řízení funkcí |
|---|
| FEATURE_ACTIVEX_REPURPOSEDETECTION |
| FEATURE_BLOCK_LMZ_IMG |
| FEATURE_BLOCK_LMZ_OBJECT |
| FEATURE_BLOCK_LMZ_SCRIPT |
| OMEZENÍ_ZDROJŮ_NA_LMZ_FEATURE |
| FEATURE_RESTRICT_ABOUT_PROTOCOL_IE7 |
| FUNKCE_ZOBRAZIT_VAROVÁNÍ_DIALOGU_APLIKAČNÍHO_PROTOKOLU |
| FEATURE_LOCALMACHINE_LOCKDOWN |
| Funkce_vynutit_adresu_a_stav |
| Vlastnost_Omezená_Oblast_Pokud_Soubor_Nenalezen |
U spustitelného souboru zvažte zakázání následujícího ovládacího prvku funkce nastavením hodnoty registru na 0.
| Řízení funkcí |
|---|
| FEATURE_ENABLE_SCRIPT_PASTE_URLACTION_IF_PROMPT |
Pokud spustíte aplikaci prohlížeče XAML (XBAP) s nízkou úrovní důvěryhodnosti, která obsahuje ovládací prvek WPF (Windows Presentation Foundation), pak WPF (Windows Presentation Foundation) v procesu Internet Exploreru hostuje ovládací prvek WebBrowser ActiveX v jeho adresním prostoru. Vzhledem k tomu, že ovládací prvek ActiveX webBrowser je hostovaný v procesu Internet Exploreru, jsou pro ovládací prvek ActiveX webBrowser povoleny také všechny ovládací prvky funkcí pro aplikaci Internet Explorer.
XBAPs spuštěné v Internet Exploreru také získají další úroveň zabezpečení v porovnání s normálními samostatnými aplikacemi. Toto další zabezpečení je způsobeno tím, že Internet Explorer, a proto ovládací prvek ActiveX WebBrowser, běží ve výchozím nastavení v chráněném režimu v systému Windows Vista a Windows 7. Další informace o chráněném režimu naleznete v tématu Principy a práce v chráněném režimu Internet Explorer.
Poznámka:
Pokud se pokusíte spustit XBAP, který obsahuje WPF (Windows Presentation Foundation) WebBrowser ovládací prvek ve Firefoxu a jste v internetové zóně, SecurityException bude vyhozen. Důvodem jsou zásady zabezpečení WPF (Windows Presentation Foundation).
Zakázání sestavení APTCA pro částečně důvěryhodné klientské aplikace
Když jsou spravovaná sestavení nainstalována do globální mezipaměti sestavení (GAC), stanou se plně důvěryhodnými, protože uživatel musí poskytnout explicitní oprávnění k jejich instalaci. Protože jsou plně důvěryhodné, můžou je používat pouze plně důvěryhodné klientské aplikace. Aby je mohly používat částečně důvěryhodné aplikace, musí být označené pomocí AllowPartiallyTrustedCallersAttribute (APTCA). Tímto atributem by měla být označena pouze sestavení, která byla testována a jsou bezpečná pro spuštění s částečnou důvěrou.
Nicméně je možné, aby sestavení APTCA vykazovalo bezpečnostní chybu po instalaci v GAC. Jakmile dojde k chybě zabezpečení, mohou vydavatelé sestavení vytvořit aktualizaci zabezpečení, která opraví problém u stávajících instalací a chrání před instalacemi, ke kterým může dojít po zjištění problému. Jednou z možností pro aktualizaci je odinstalace sestavení, i když to může narušit jiné plně důvěryhodné klientské aplikace, které používají sestavení.
WPF (Windows Presentation Foundation) poskytuje mechanismus, pomocí kterého lze zakázat sestavení APTCA pro částečně důvěryhodné XBAPs bez odinstalace sestavení APTCA.
Pokud chcete zakázat sestavení APTCA, musíte vytvořit speciální klíč registru:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\APTCA\<AssemblyFullName>, FileVersion=<AssemblyFileVersion>
Následující příklad ukazuje:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\APTCA\aptcagac, Version=1.0.0.0, Culture=neutral, PublicKeyToken=215e3ac809a0fea7, FileVersion=1.0.0.0
Tento klíč vytvoří položku pro sestavení APTCA. V tomto klíči musíte také vytvořit hodnotu, která povolí nebo zakáže sestavení. Níže jsou uvedeny podrobnosti o hodnotě:
Název hodnoty: APTCA_FLAG.
Typ hodnoty: REG_DWORD.
Data hodnoty: 1 k zakázání; 0 k povolení.
Pokud je nutné zakázat sestavení pro částečně důvěryhodné klientské aplikace, můžete napsat aktualizaci, která vytvoří klíč a hodnotu registru.
Poznámka:
Základní sestavení rozhraní .NET Framework nejsou tímto způsobem ovlivněna zakázáním, protože jsou nutná ke spuštění spravovaných aplikací. Podpora zakázání sestavení APTCA se primárně zaměřuje na aplikace třetích stran.
Načítání nedůvěryhodného obsahu XAML, BAML a XPS
WPF (Windows Presentation Foundation) zpřístupňuje několik rozhraní API, která převádějí značkování na živé objekty. Vzhledem k tomu, že XAML přímo představuje instanci objektu a provádění kódu, načítání značek ze zdroje, který neřídíte, je ekvivalentem spuštění nedůvěryhodného kódu. Aplikace, nikoli parser, nese odpovědnost za rozhodnutí, zda důvěřovat značkování, které načítá. Obecné principy najdete v tématu Aspekty zabezpečení XAML.
Následující pokyny platí pro WPF (Windows Presentation Foundation):
Text XAML.Load a Parse vytvořte instanci libovolných typů a nastavte jejich vlastnosti. Nenačítejte XAML z nedůvěryhodného streamu, řetězce, souboru nebo síťového umístění v procesu vaší aplikace. Pokud musíte zpracovat nedůvěryhodný značkovací kód, izolujte načtení v prostředí s nízkými oprávněními, například v samostatném procesu, a považujte výsledek za nedůvěryhodný.
Binární XAML (BAML). BAML je zkompilovaná tokenizovaná forma XAML, která má stejné možnosti vytváření objektů jako text XAML. BAML je navržený tak, aby se načítal pouze z vlastních zkompilovaných prostředků vaší aplikace (například prostřednictvím Baml2006Reader). Považujte BAML za důvěryhodný pouze tehdy, pokud pochází ze zkompilovaného a podepsaného sestavení, které jste vytvořili. Nenačítejte BAML z nedůvěryhodných datových proudů, souborů nebo dokumentů.
XPS a pevné dokumenty. Typy dokumentů, jako jsou XpsDocument, DocumentReference a PageContent, mohou odkazovat na části, které se načítají jako XAML nebo BAML. Se zdrojem balíčku XPS nebo dokumentu FixedDocument z nedůvěryhodného zdroje zacházejte jako s nedůvěryhodným vstupem a načtěte jej v izolovaném prostředí.
Important
Omezující režim načítání nebo režim načítání pouze z povoleného seznamu je opatření pro posílení zabezpečení v rámci vícevrstvé obrany, nikoli bezpečnostní sandbox. Blokuje sadu známých nebezpečných typů, ale přesto umožňuje mnoho předdefinovaných typů, z nichž některé můžou mít vedlejší účinky, jako je načítání externích prostředků nebo iniciování síťových požadavků. Nepovažujte restriktivní parsování nedůvěryhodného značkovacího jazyka za bezpečné. Pokračujte v izolaci nedůvěryhodného značkování v prostředí s nízkými oprávněními.
Chování sandboxu pro volné soubory XAML
Volné soubory XAML jsou soubory XAML, které nespoléhají na žádný kód, obslužnou rutinu události nebo sestavení specifická pro aplikaci. Když jsou volné soubory XAML otevřeny přímo z prohlížeče, načtou se do sandboxu zabezpečení na základě sady oprávnění výchozí internetové zóny.
Chování zabezpečení se ale liší, když se volné soubory XAML navigují buď z NavigationWindow nebo Frame v samostatné aplikaci.
V obou případech volně navigovaný soubor XAML zdědí oprávnění své hostitelské aplikace. Toto chování však může být nežádoucí z hlediska zabezpečení, zejména pokud byl uvolněný soubor XAML vytvořen entitou, která není důvěryhodná nebo neznámá. Tento typ obsahu se označuje jako externí obsah a jak Frame, tak NavigationWindow lze nakonfigurovat tak, aby byl při navigaci izolován. Izolace je dosažena nastavením vlastnosti SandboxExternalContent na true. Následující příklad ukazuje, jak nakonfigurovat Frame:
<Frame
Source="ExternalContentPage.xaml"
SandboxExternalContent="True">
</Frame>
Stejná izolace platí při použití NavigationWindow:
<NavigationWindow
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Source="ExternalContentPage.xaml"
SandboxExternalContent="True">
</NavigationWindow>
Při tomto nastavení se externí obsah načte do procesu, který je oddělený od procesu hostujícího aplikaci. Tento proces je omezen na výchozí sadu oprávnění zóny Internetu a efektivně ho izoluje od hostitelské aplikace a klientského počítače.
Poznámka:
I když je navigace k volným souborům XAML buď ze NavigationWindow, nebo z Frame v samostatné aplikaci implementována na základě infrastruktury hostování prohlížeče WPF (Windows Presentation Foundation), která zahrnuje proces PresentationHost, je úroveň zabezpečení lehce nižší, než když je obsah načten přímo v Internet Exploreru v systému Windows Vista a Windows 7 (který by stále byl prostřednictvím PresentationHost). Důvodem je to, že samostatná aplikace WPF (Windows Presentation Foundation) využívající webový prohlížeč neposkytuje další funkci zabezpečení chráněného režimu aplikace Internet Explorer.
Zdroje informací pro vývoj aplikací WPF (Windows Presentation Foundation), které podporují zabezpečení
Tady jsou některé další zdroje informací, které vám pomůžou s vývojem aplikací WPF (Windows Presentation Foundation), které podporují zabezpečení:
| Plocha | Zdroj |
|---|---|
| Spravovaný kód | Pokyny k zabezpečení vzorů a postupů pro aplikace |
| CAS | zabezpečení přístupu kódu |
| ClickOnce | ClickOnce – zabezpečení a nasazení |
| WPF (Windows Presentation Foundation) (Windows Presentation Foundation) | Částečné zabezpečení pro důvěryhodnost WPF (Windows Presentation Foundation) |
Viz také
- Částečné zabezpečení pro důvěryhodnost WPF (Windows Presentation Foundation)
- Strategie zabezpečení WPF (Windows Presentation Foundation) - Zabezpečení platformy
- Strategie zabezpečení WPF (Windows Presentation Foundation) – bezpečnostní inženýrství
- Pokyny k zabezpečení vzorů a postupů pro aplikace
- zabezpečení přístupu kódu
- ClickOnce – zabezpečení a nasazení
- XAML ve WPF (Windows Presentation Foundation)
- Aspekty zabezpečení XAML
.NET Desktop feedback