安全性、 服務和互動式桌面上 Windows 中

文章翻譯 文章翻譯
文章編號: 327618 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

簡介

在 Windows 中的服務通常是設計執行自動安裝的主控台應用程式。因此,服務通常沒有使用者介面。但是,服務可能會需要與在某些情況下使用者互動。

其他相關資訊

重要我們強烈建議該服務 不是這樣 互動服務身分執行,如果該服務在如 SYSTEM 一個較高的安全性內容下執行。

Windows 使用者介面的桌面是安全性界限。 任何在互動式桌面上執行的應用程式可以與位於在互動式桌面上任何視窗互動,即使如果該視窗沒有顯示在桌面上。這種行為是真,每個應用程式,無論建立視窗應用程式的安全性內容並不論在桌面上執行的應用程式的安全性內容。Windows 訊息系統不允許應用程式判斷視窗訊息的來源。

因為這些設計] 功能的開啟視窗,以在互動式桌面上任何服務公開本身登入的使用者所執行的應用程式。 如果該服務會嘗試使用視窗訊息控制其功能,登入的使用者可以藉由使用惡意郵件中斷該功能。

這是最佳您先評估安全性問題以 SYSTEM 的支援互動式桌面上使用 OpenWindowStation 函式與 GetThreadDesktop 函式的呼叫,並,建立使用者介面執行的任何服務。

在 Microsoft Windows NT 4.0 和 Microsoft Windows 2000 中,安全性限制並不會完全強制用於存取一個互動式視窗工作站的預設桌面。當應用程式嘗試繪製使用者介面時上視窗工作站, 的安全性不是查詢的 WINSTA_READSCREEN 存取權限。如果登入安全性識別元 (SID) 不具有此存取到視窗站,該 SID 下執行的處理序應該無法存取螢幕內容。

在 Microsoft Windows XP 中這項限制會正確地強制執行。當下 SID 會試著繪製至畫面的登入執行序 GDI 子系統會驗證登入語彙基元 (Token) 是否具有 WINSTA_READSCREEN 存取權限。如果登入權杖不具有存取,繪製作業並不會完成。這種行為會使繪圖的缺陷。當您使用的 LogonUser 屬性已取得語彙基元 (Token) 執行 GUI 應用程式時,就可以看到這些瑕疵。LogonUser 屬性是目前登入使用者的使用者名稱。

我們建議的用戶端/伺服器技術如遠端程序呼叫 (RPC) 通訊端,具名管道或 COM 與從服務登入的使用者互動的服務寫入器使用。此外,我們建議您使用 MessageBox 函式搭配 MB_SERVICE_NOTIFICATION 旗標,來顯示簡單的狀態訊息。

屬性

文章編號: 327618 - 上次校閱: 2005年11月3日 - 版次: 2.1
這篇文章中的資訊適用於:
  • Microsoft Platform Software Development Kit-January 2000 Edition
關鍵字:?
kbmt kbdevsecurity kbshell kbui kbgdi kbinfo KB327618 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:327618
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com