Zabezpečení, služby a interaktivní plochy v systému Windows

Úvod

Služby v systému Windows jsou obvykle konzolové aplikace, které jsou navrženy tak, chcete-li spustit bezobslužnou instalaci. Proto služby obvykle nemají uživatelské rozhraní. Služba však může vyžadovat interakci s uživatelem v některých případech.

Další informace

Důležité: Důrazně doporučujeme této služby nejsou služby spustit v kontextu zabezpečení zvyšuje například systém spustit jako interaktivní služba.

Plocha pro uživatelské rozhraní systému Windows je hranicí zabezpečení. I v případě, že okno není zobrazeno na ploše všechny aplikace spuštěné na interaktivní ploše pracovat s kteréhokoli okna, která je v interaktivní ploše. Toto chování platí pro všechny aplikace bez ohledu na kontext zabezpečení aplikace, která vytvoří okno a to bez ohledu na kontext zabezpečení aplikace, která běží na ploše. Zprávy systému Windows neumožňuje určit zdroj zprávy okna aplikace.

Z důvodu těchto funkcí návrhu každé službě, která otevře okno v interaktivní ploše vystavuje sám do aplikací, které jsou spouštěny přihlášeného uživatele. Pokud služba se pokusí použít okno zprávy pro kontrolu jeho funkčnosti, přihlášený uživatel může narušit funkce pomocí škodlivého zpráv.

Je nejvhodnější vyhodnotit pro problémy zabezpečení jakékoli služby, který běží jako SYSTEM, který podporuje interaktivní ploše pomocí volání funkce OpenWindowStation a GetThreadDesktop funkce a který vytvoří uživatelské rozhraní.

V systému Microsoft Windows NT 4.0 a Microsoft Windows 2000 nejsou plně vynucena omezení zabezpečení pro přístup k výchozí plocha interaktivní objekt window station. Pokud se aplikace pokusí navrhnout uživatelské rozhraní, zabezpečení na okno stanice nemusel pro přístup WINSTA_READSCREEN vpravo. Pokud přihlašovací identifikátor zabezpečení (SID) nemá přístup k této stanici okna, proces, který běží v rámci dané číslo SID by neměly mít přístup obsah obrazovky.

V systému Microsoft Windows XP je správně vynuceno toto omezení. Při procesu, který je spuštěn pod přihlášení SID pokusí nakreslíte na obrazovku, podsystém GDI ověří, zda byl token přihlášení přístup WINSTA_READSCREEN vpravo. Není-li přihlašovací token přístupu, kreslení operace není dokončena. Toto chování způsobí, že chyby výkresu. Tyto chyby uvidíte při spuštění aplikací GUI pomocí tokenu, který získal vlastnost LogonUser . Vlastnost LogonUser je uživatelské jméno aktuálně přihlášeného uživatele.

Doporučujeme použití Zapisovatel služby technologie klient server, jako je například sockets vzdálené volání procedur (RPC), pojmenované kanály nebo modelu COM k interakci s přihlášeného uživatele ze služby. Kromě toho doporučujeme použít funkci MessageBox společně s MB_SERVICE_NOTIFICATION příznak k zobrazení jednoduché stavové zprávy.
Vlastnosti

ID článku: 327618 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor