• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大漠落日

            while(!dead) study++;
            posts - 46, comments - 126, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            windows station詳解

            Posted on 2009-11-19 09:52 亂78糟 閱讀(1079) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 重要資料
            部分轉(zhuǎn)載自:http://blog.csdn.net/2608/archive/2007/12/04/1916773.aspx
            原文1(E文):http://alt.pluralsight.com/wiki/default.aspx/Keith.GuideBook/WhatIsAWindowStation.html
            原文2(E文): http://www.shnenglu.com/dawnbreak/articles/90278.html
            其他原文請(qǐng)參考我在文中添加的鏈接。
            自己修改添加了部分內(nèi)容,如有錯(cuò)誤之處,望指正。

            Window station 是一個(gè)不為人所熟知但是卻是非常重要的安全特性,它被設(shè)計(jì)成為一個(gè)限制操作系統(tǒng)中窗口環(huán)境的“沙箱”。為了避免將訪問控制列表(ACL)放置到每個(gè)窗口中 和對(duì)每個(gè)窗口消息進(jìn)行權(quán)限檢查而導(dǎo)致的性能下降,我們簡單地讓窗口互相通知而不執(zhí)行任何安全檢查。然而,我們是在一個(gè)私有環(huán)境中這么做的,這就是 Window station。

            Window station 是一個(gè)安全核心對(duì)象,它包括了剪貼板,一個(gè)私有的原子表格,一套桌面以及一套窗口。每一個(gè)進(jìn)程都依賴于一個(gè)window station,而且這個(gè)關(guān)聯(lián)通常平行于登錄會(huì)話的分配。也就是說,對(duì)于每一個(gè)登錄會(huì)話來說,都有一個(gè)相應(yīng)的window station,就像下圖所描述的那樣。實(shí)際上,window station的名稱得自登錄會(huì)話標(biāo)識(shí)符。例如,用于網(wǎng)絡(luò)服務(wù)的window station 名稱是Service-0x0-0x3e4$。偶爾一個(gè)internet后臺(tái)服務(wù)程序(例如IIS)會(huì)自己管理window station,但這只是一個(gè)例外。還有一個(gè)“交互式”的window station, 它會(huì)一直存在,甚至沒有交互式用戶存在時(shí)也如此。這個(gè)特殊的交互式window station 的名字硬編碼為WinSta0, 需要我們對(duì)它更對(duì)關(guān)注。


            WinSta0是唯一的一個(gè)實(shí)際綁定到硬件上的window station.也就是說,你可以在這里看到窗口,并且它們可以接收到鼠標(biāo)和鍵盤的輸入。WinSta0也是高度安全的,它通過一個(gè)能夠限制登錄會(huì)話運(yùn)行 權(quán)限的ACL來達(dá)到此目的,盡管在上圖中你也可以看到一些運(yùn)行在SYSTEM登錄會(huì)話中的高度受信的服務(wù)程序可能運(yùn)行在這里,比如說使 winlogon.exe。WinSta0上的ACL在一個(gè)非常詳細(xì)的等級(jí)上控制你的GUI可以做些什么,但是實(shí)際說來,這個(gè)一個(gè)要么全有,要么全無的授 權(quán),并且只有在限制哪個(gè)進(jìn)程允許關(guān)聯(lián)到window station時(shí)才真正需要。(也可以調(diào)用函數(shù)SetProcessWindowStation來改變進(jìn)程所屬的window station,或通過在調(diào)用CreatProcess時(shí)設(shè)置STARTUPINFO參數(shù)將新啟動(dòng)的程序附著到特定的window station).使用這種方法,windos station上的ACL就可以阻止其他登錄會(huì)話中的程序入侵到你的窗口中。

            擁有window station的一個(gè)實(shí)際用處就是避免來自交互式用戶的守護(hù)進(jìn)程的隱藏攻擊。如果進(jìn)程運(yùn)行在一個(gè)低特權(quán)賬號(hào)中同時(shí)臺(tái)帳號(hào)可以發(fā)送窗 口消息到一個(gè)高特權(quán)級(jí)別的程序,那么它就控制了這個(gè)程序。例如隱藏攻擊(Luring Acctack)。因?yàn)閣indow station邊界通常是與登錄會(huì)話邊界是平行的,這就有助于阻止這類的攻擊。

            所以,我們有分配給一個(gè)綁定硬件的window station的交互登錄,那守護(hù)進(jìn)程(daemons)呢?每個(gè)守護(hù)進(jìn)程登錄都擁有各自的windows station,但它們是非交互的(記住,僅有一個(gè)交互的window sstation,它就是WinSta0)。一個(gè)非交互的window station不綁定到硬件,所有如果你是守護(hù)進(jìn)程你就能創(chuàng)建正常工作的窗口——但是其它人看不見。這對(duì)于一些管道例如COM是非常重要的。但是想象一下,如果作為守護(hù)進(jìn)程,你給出了一個(gè)模式對(duì)話框然后坐在那等某人按OK按鈕嗎?你會(huì)等極其長的時(shí)間。唯一的辦法是用編程取消模式對(duì)話框中的非交互window station。例如你能夠通過給這個(gè)對(duì)話框發(fā)送一個(gè)WM_CLOSE或者WM_COMMAND消息模仿按鈕被按下。了解了這個(gè),一個(gè)智力正常的人都不會(huì)再守護(hù)進(jìn)程中放置模式對(duì)話框。但如何在編譯調(diào)試C++應(yīng)用程序的時(shí)候使用ASSERT宏呢?或者如果你購買了一個(gè)第三方組件庫用于守護(hù)進(jìn)程,并且已經(jīng)編寫代碼之后發(fā)現(xiàn)它不時(shí)彈出模式對(duì)話框?處理這個(gè)并沒有樂趣,所有,作為一個(gè)庫(libary)開發(fā)者,在組件中放置對(duì)話框之前一定要仔細(xì)考慮。那就是說,如果你對(duì)放置用戶接口在守護(hù)進(jìn)程中有合法的理由,請(qǐng)閱讀:HowToDisplayAUserInterfaceFromADaemon

            如果你來自Win9X技術(shù)背景,你可能會(huì)奇怪在機(jī)器上使用任何原有進(jìn)程的窗口句柄竟然是錯(cuò)誤的。如果你曾使用過用于進(jìn)程間通信中window消息,那么是該學(xué)習(xí)其它技術(shù)的時(shí)候了,例如.NET Remoting 或者 COM

            當(dāng)一個(gè)進(jìn)程又創(chuàng)建了另外一個(gè),那么新的進(jìn)程就被放置到與舊進(jìn)程相同的window station中,除非你指明不這么做(但這種情況很少)。所以,就像是令牌和登錄會(huì)話一樣,一個(gè)新的進(jìn)程很自然的繼承了它的父進(jìn)程的窗口環(huán)境。注意啟動(dòng)一個(gè)服務(wù)不同于簡單的創(chuàng)建一個(gè)新的進(jìn)程。當(dāng)一個(gè)服務(wù)啟動(dòng)時(shí),它就會(huì)由操作系統(tǒng)分配一個(gè)合適的登錄會(huì)話和window station,就像我在WhatIsADaemon中討論的。
            一本色道久久综合狠狠躁| 久久精品18| 久久国产亚洲高清观看| 99久久久精品| 久久国产精品99久久久久久老狼| 久久精品无码专区免费东京热| 蜜桃麻豆www久久| 欧美成人免费观看久久| 久久精品无码专区免费青青| 日本精品久久久久中文字幕| 久久久久久国产a免费观看黄色大片 | 精品熟女少妇av免费久久| 久久精品国产99久久无毒不卡| 久久www免费人成精品香蕉| 久久九九兔免费精品6| 久久精品一区二区三区中文字幕| 中文字幕乱码人妻无码久久| AAA级久久久精品无码区| 久久丫精品国产亚洲av| 亚洲中文字幕伊人久久无码| 丁香五月综合久久激情| 久久精品国产亚洲av影院| 色青青草原桃花久久综合| 国产福利电影一区二区三区久久久久成人精品综合 | 一本色道久久综合狠狠躁| 久久亚洲国产精品五月天婷| 久久精品国产亚洲一区二区| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 久久综合给合久久狠狠狠97色| 日韩欧美亚洲综合久久影院Ds| 国产成人久久久精品二区三区| 97精品国产91久久久久久| 亚洲va国产va天堂va久久| 久久强奷乱码老熟女网站| 久久这里只精品99re66| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久国产精品99精品国产987| 亚洲国产精品无码成人片久久 | 国产午夜福利精品久久2021| 久久一日本道色综合久久| 久久天天躁狠狠躁夜夜网站|