999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析DEP安全保護(hù)技術(shù)

2018-11-07 02:47:44
網(wǎng)絡(luò)安全和信息化 2018年8期
關(guān)鍵詞:進(jìn)程程序設(shè)置

DEP的原理和功能

使用DEP機(jī)制有助于防止計算機(jī)受到病毒和其他惡意程序的攻擊和破壞,DEP會讓計算機(jī)分配一部分內(nèi)存用來存儲數(shù)據(jù),分配另一部分內(nèi)存供程序使用。DEP可以監(jiān)控程序的運(yùn)行,保證其可以安全使用內(nèi)存,保護(hù)計算機(jī)避免黑客的侵襲。如果DEP發(fā)現(xiàn)有程序試圖從存儲數(shù)據(jù)的內(nèi)存中執(zhí)行指令,就會將其關(guān)閉并通知用戶。

根據(jù)操作系統(tǒng)設(shè)計原理,系統(tǒng)程序或某些應(yīng)用軟件會被要求在特定的內(nèi)存區(qū)域內(nèi)運(yùn)行,這個內(nèi)存區(qū)域如果受到其他程序的破壞,會導(dǎo)致程序出錯,甚至系統(tǒng)崩潰。而DEP技術(shù)可以有效地防止這類情況發(fā)生。如果啟動了DEP保護(hù)機(jī)制,Windows就會自動關(guān)閉試圖執(zhí)行溢出操作的程序。

DEP在程序執(zhí)行時,將可執(zhí)行代碼所占用的內(nèi)存區(qū)域自動標(biāo)記出來。支持DEP的CPU利用NX技術(shù)識別這些標(biāo)記出來的區(qū)域。當(dāng)DEP發(fā)現(xiàn)當(dāng)前執(zhí)行代碼沒有明確標(biāo)記為可執(zhí)行,就會禁止其執(zhí)行。

這樣,當(dāng)病毒和其他利用溢出技術(shù)進(jìn)行攻擊的惡意程序自然無計可施。DEP之所以可以發(fā)揮作用,是因為幾乎沒有任何合法程序會在內(nèi)存的堆棧段中存放執(zhí)行代碼,而緩沖區(qū)溢出后執(zhí)行的代碼又是放在堆棧段上的。DEP從實(shí)現(xiàn)的機(jī)制上看,分為軟件DEP和硬件DEP。對于前者來說,主要用來阻止針對SEH(Structure Exception Handler,異常處理結(jié)構(gòu)體)發(fā)起的攻擊。

為了保證系統(tǒng)遇到這些錯誤時不至于崩潰,讓其可以穩(wěn)定的運(yùn)行下去,Windows會對運(yùn)行在其中的程序提供補(bǔ)救的機(jī)會來處理錯誤,這就是系統(tǒng)的異常處理機(jī)制。而黑客程序會通過改寫SEH堆棧中的異常處理函數(shù)指針,并利用Windows存在各種漏洞來執(zhí)行攻擊行為。

從Windows XP SP2版本開始,微軟提供了SEH驗證機(jī)制,在程序調(diào)用異常處理函數(shù)前對要調(diào)用的異常處理函數(shù)進(jìn)行有效性校驗,當(dāng)發(fā)現(xiàn)異常處理函數(shù)不可靠時將終止調(diào)用操作。這種軟件DEP機(jī)制和CPU無關(guān),Windows利用軟件模擬實(shí)現(xiàn)DEP保護(hù)功能,對操作系統(tǒng)加以保護(hù)。硬件DEP才能稱得上真正意義上的DEP保護(hù)機(jī)制,這需要CPU的支持,對于AMD的CPU來說,稱為 NX(No-Execute Page-Protection)。對于Intel的CPU來說,稱為XD(Execute Disable Bit)。

DEP的管理和配置

雖然名稱不同,但是兩者的工作原理和保護(hù)功能是一致的。Windows通過在對應(yīng)的內(nèi)存頁中設(shè)置NX/XD屬性標(biāo)志來禁止從這些內(nèi)存頁中執(zhí)行代碼。其實(shí)現(xiàn)方法是在內(nèi)存的頁面表中針對特定的內(nèi)存頁加入一個特殊的NX/XD標(biāo)志位,來指示是否允許在該內(nèi)存頁上執(zhí)行指令。當(dāng)該標(biāo)識位設(shè)置為0時,表示允許在該頁面執(zhí)行代碼,設(shè)置為1時則禁止在該頁面中執(zhí)行指令。在系統(tǒng)屬性窗口中打開“高級”面板,在“性能”欄中點(diǎn)擊“設(shè)置”按鈕,在性能選項窗口中的“數(shù)據(jù)執(zhí)行保護(hù)”面板(如圖1)中可以查看該機(jī)的CPU是否支持硬件DEP。如果在窗口底部顯示“您的計算機(jī)處理器支持基于硬件的DEP”內(nèi)容,說明其支持DEP,否則的話,說明其不支持硬件DEP。

圖1 查看DEP管理界面

即使不支持硬件DEP,Windows也可以使用軟件DEP模式來保護(hù)某些類型的攻擊。DEP針對溢出操作的源頭,有力的強(qiáng)化了內(nèi)存管理機(jī)制。通過將內(nèi)存頁設(shè)置為不可執(zhí)行狀態(tài),來阻止堆棧中Shellcode程序的運(yùn)行,稱得上是最有力的緩沖溢出保護(hù)機(jī)制。

當(dāng)然,我們在運(yùn)行某些軟件時,需要對其進(jìn)行一番了解,最好使用與DEP兼容的版本。運(yùn)行這類程序,就會受到DEP的保護(hù)。最好不要輕易運(yùn)行與DEP不兼容的程序,盡量降低潛在的風(fēng)險。對于自己完全信任的程序,可以視情況關(guān)閉DEP,對于外來的不可知的程序,最好打開DEP保護(hù)功能。在上述“數(shù)據(jù)執(zhí)行保護(hù)”面板中選擇“為除下列選定的程序之外的所有程序和服務(wù)啟用DEP”項,點(diǎn)擊“添加”按鈕,將自己信任的程序?qū)脒M(jìn)來,之后重啟系統(tǒng)即可。

注意,DEP和防病毒軟件或防火墻軟件是不同,DEP并不是一種防病毒軟件,不能阻止病毒等惡意程序潛入系統(tǒng),也不具備殺軟等安全軟件具有的病毒檢測和查殺功能,DEP是通過對程序進(jìn)行監(jiān)控,確定它們是否能夠安全地使用系統(tǒng)內(nèi)存的技術(shù)。因此DEP是一種操作系統(tǒng)底層的安全機(jī)制,通過這種安全機(jī)制,可以防御病毒、蠕蟲等惡意程序利用緩沖區(qū)漏洞進(jìn)行非法溢出操作,但是DEP并不會防御所有類型的病毒。

DEP的保護(hù)模式

根據(jù)啟動參數(shù)的不同,DEP工作狀態(tài)分為Optin、Optout、AlwaysOn、AlwaysOff等模式。對于Optin模式來說,默認(rèn)僅將DEP保護(hù)應(yīng)用于Windows系統(tǒng)組件和服務(wù),對其他程序不進(jìn)行保護(hù)。但用戶可以通過應(yīng)用程序兼容性工具,為選定的程序啟用DEP保護(hù)功能,在開發(fā)者使用Visual Studio 2008等工具編譯程序時,可以使用特定的鏈接選項,采用“/NXCOMPAT”參數(shù)執(zhí)行編譯處理,這樣得到的程序?qū)⒆詣討?yīng)用DEP保護(hù)機(jī)制。對于Optout模式來說,可以通過設(shè)置排除列表的方法,將不需要DEP保護(hù)的程序添加到排除列表中,其余的程序則啟用DEP保護(hù)功能。

對于AlwaysOn模式來說,針對所有的進(jìn)程啟用DEP保護(hù)功能,在該模式下DEP不可以被關(guān)閉。只有在64位的操作系統(tǒng)上才可以使用AlwaysOn模式。對于AlwaysOff模式來說,對所有的進(jìn)程都禁用DEP保護(hù),在該模式下,DEP無法被動態(tài)開啟,該模式只能在特定的場合下才可以使用,例如為了避免DEP干擾程序的正常運(yùn)行等。例如,對于Windows XP來說,可以在其系統(tǒng)盤根目錄下的“boot.ini”進(jìn)行編輯,來切換DEP保護(hù)模式。在對應(yīng)啟動型后面追加“/noexecute=optout”或 者“/noexecute=Optin”語句,來采用Optin或者Optout模式。如果使用了“AlwaysOff”參數(shù),表示禁用DEP。對于Windows 7等系統(tǒng)來說,可以執(zhí)行“bcdedit.exe /set {curent} nx AlwaysOn”命令,開啟DEP的AlwaysOn模式,在該命令中 使 用“Optin”、“Optout”、“AlwaysOff”等參數(shù),可以激活對應(yīng)的保護(hù)模式。

解決和DEP相關(guān)的故障

對于某些電腦來說,使用DEP保護(hù)機(jī)制可能會對某些程序或者整個系統(tǒng)的運(yùn)行造成不利影響。例如,如果在開啟IE時,頻繁出現(xiàn)“已經(jīng)關(guān)閉了此程序”的提示,導(dǎo)致IE無法順利運(yùn)行的話,就說明和DEP機(jī)制存在沖突的問題。

為此可以在開機(jī)時進(jìn)入主板BIOS設(shè)置界面,在其中找到和DEP配置相關(guān) 的 項 目(例 如“Execute Disable Function”等),設(shè)置為“Disable”項,關(guān)閉硬件DEP保護(hù)功能,就可以解決問題。在沒有DEP保護(hù)的情況下,必須為系統(tǒng)安裝強(qiáng)悍的殺軟來防御病毒、木馬等惡意程序的威脅。當(dāng)然,也可以管理員身份打開CMD窗口,在其中執(zhí)行“bcdedit.exe /set {curent} nx AlwaysOff”命令來關(guān)閉DEP功能。

當(dāng)然,最好按照上述方法,將IE添加到DEP中的排除列表中,不讓DEP對IE進(jìn)行管控,這樣可以很好的解決該問題。在一般情況下,DEP會監(jiān)控系統(tǒng)程序和服務(wù),使其安全的使用內(nèi)存。DEP會單獨(dú)與CPU一起將某些內(nèi)存區(qū)域標(biāo)記為不可執(zhí)行狀態(tài)。如果某個程序試圖從受保護(hù)的位置執(zhí)行代碼,DEP就會將其關(guān)閉并通知用戶。即使其不是惡意代碼,也會被DEP強(qiáng)制關(guān)閉。在DEP提供給用戶的報告窗口中點(diǎn)擊“單擊此處”鏈接,在詳細(xì)信息界面中可以顯示出錯程序的名稱以及版本信息。用戶可以據(jù)此來分析該程序的安全性,并根據(jù)需要將其添加到DEP排除列表中即可。

當(dāng)然,如果該程序已經(jīng)提供了升級版本,并支持DEP保護(hù)機(jī)制,最好的辦法是對其升級,使其可以在DEP保護(hù)下正常運(yùn)行。

小議DEP的局限性

DEP雖然擁有強(qiáng)大的保護(hù)功能,但也存在一些弱點(diǎn),無法徹底阻止緩沖區(qū)溢出攻擊。例如,對于硬件DEP保護(hù)機(jī)制來說,需要CPU的支持才行,但并非所有的CPU都提供硬件DEP支持,一些較老的CPU是不支持硬件DEP的。因為兼容性的原因,Windows有時無法對所有的進(jìn)程都開啟DEP保護(hù)功能。尤其對于一些第三方的DLL插件來說,可能不支持DEP,一旦開啟了DEP,很可能造成進(jìn)程運(yùn)行異常。使用老版本的應(yīng)用程序兼容性工具,需要在數(shù)據(jù)頁面上產(chǎn)生可執(zhí)行代碼,這就無法開啟DEP,否則很容易出現(xiàn)運(yùn)行故障。

在編譯程序時,即使使用了“/NXCOMPAT”參數(shù),也只能對Vista以上的版本有效,對于XP等老系統(tǒng)來說,這樣的設(shè)置會被忽略。當(dāng)DEP運(yùn)行在Optin或者Optout模式時,DEP是可以被動態(tài)關(guān)閉和開啟的,因為操作系統(tǒng)內(nèi)置了一些API函數(shù),可以控制DEP的工作狀態(tài)。如果一些惡意進(jìn)程非法調(diào)用了這些API、函數(shù),就可以關(guān)閉DEP保護(hù)功能,為系統(tǒng)帶來了潛在的安全隱患。實(shí)際上,微軟出于兼容性的需求,不能對所有的進(jìn)程都開啟DEP功能。當(dāng)然,對于64位系統(tǒng)來說,采用AlwaysOn模式可以避免該問題。DEP保護(hù)的目標(biāo)是進(jìn)程,當(dāng)某個進(jìn)程加載的DLL模塊中如果存在某個模塊不支持DEP的話,該進(jìn)程就不會貿(mào)然開啟DEP,主要是為了避免異常的發(fā)生。

打開任務(wù)管理器,在“進(jìn)程”面板中點(diǎn)擊菜單“查看”→“選擇列”項,選擇“數(shù)據(jù)執(zhí)行保護(hù)”項。在進(jìn)程列表中的“數(shù)據(jù)執(zhí)行保護(hù)”列中可以查看不同進(jìn)程是否支持DEP的情況,只有顯示“啟用”字樣,才表示對應(yīng)的進(jìn)程支持DEP。如果惡意程序攻擊沒有啟用DEP保護(hù)功能的進(jìn)程,就很容易溢出成功。DEP之所以可以防止非法溢出,關(guān)鍵在于當(dāng)其檢測到程序跳轉(zhuǎn)到非可執(zhí)行頁執(zhí)行指令話,就會拋出異常,執(zhí)行異常處理程序。但是,如果惡意程序跳轉(zhuǎn)到已經(jīng)存在的某個系統(tǒng)函數(shù)中,因為該函數(shù)是存在于可執(zhí)行頁上的,DEP自然不會對其攔截。這樣,惡意程序就可以在該執(zhí)行頁中找到其所需的指令,進(jìn)而執(zhí)行該指令,利用惡意程序自身提供的流程控制功能,可以執(zhí)行完畢后自動返回。繼續(xù)執(zhí)行其他操作。

為了順利運(yùn)行,惡意程序甚至?xí)苯诱{(diào)用相關(guān)的API函數(shù),將DEP直接關(guān)閉。因為在Optout和AlwaysOn模式下,所有的進(jìn)程默認(rèn)開啟DEP。惡意程序可能調(diào)用某個系統(tǒng)函數(shù),將Shellcode所在的內(nèi)存位置設(shè)置為可執(zhí)行狀態(tài)來避

開DEP對系統(tǒng)進(jìn)行滲透。此外,惡意程序還會采取非法利用某個API函數(shù)來申請一段具有可執(zhí)行屬性的內(nèi)存區(qū)域,將Shellcode代碼復(fù)制到該區(qū)域來避開DEP控制。為降低攻擊難度,惡意程序會在進(jìn)程的內(nèi)存空間中尋找一段具有可讀可寫可執(zhí)行的內(nèi)存區(qū)域,將Shellcode代碼復(fù)制進(jìn)來,對程序流程進(jìn)行劫持,來非法執(zhí)行Shellcode代碼。

此外,惡意程序的伎倆還包括非法利用.Net文件,將Shellceode代碼存放到.NET文件中的具有可執(zhí)行屬性的段中,當(dāng)這些段被映射到內(nèi)存后,自然具有了一定的可執(zhí)行特性,惡意程序轉(zhuǎn)入該區(qū)域后,就可以執(zhí)行Shellcode代碼了。和.NET文件類似,Jave applet文件也會被加載到瀏覽器內(nèi)存空間,這些Jave applet空間所在的內(nèi)存空間也具有了可執(zhí)行屬性,黑客只需將Shellcode代碼放到Jave applet文件中,就可以避開DEP的管控。

猜你喜歡
進(jìn)程程序設(shè)置
中隊崗位該如何設(shè)置
少先隊活動(2021年4期)2021-07-23 01:46:22
債券市場對外開放的進(jìn)程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
試論我國未決羈押程序的立法完善
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
本刊欄目設(shè)置說明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
社會進(jìn)程中的新聞學(xué)探尋
地鐵出入段線轉(zhuǎn)換軌設(shè)置
主站蜘蛛池模板: 干中文字幕| 精品一区二区三区无码视频无码| 尤物亚洲最大AV无码网站| 日韩毛片免费观看| 亚瑟天堂久久一区二区影院| 日韩精品资源| 国产精品无码AV中文| 亚洲男女天堂| 黄片一区二区三区| 亚洲成av人无码综合在线观看| 影音先锋丝袜制服| 亚洲国产AV无码综合原创| 国产精品深爱在线| 伊人久久久大香线蕉综合直播| 午夜色综合| 一级片一区| av在线人妻熟妇| 国产免费羞羞视频| 日韩毛片在线播放| 中文字幕免费播放| 亚洲欧洲日本在线| 伊在人亚洲香蕉精品播放| 91久久偷偷做嫩草影院精品| 黄色三级网站免费| 美女一级毛片无遮挡内谢| 2020极品精品国产| 看国产一级毛片| 日本一本正道综合久久dvd| 国产综合欧美| 中文字幕第4页| 国产一区三区二区中文在线| 欧美性天天| 国产91线观看| 在线观看无码av免费不卡网站| 狠狠亚洲婷婷综合色香| 日本草草视频在线观看| 亚洲欧美一区二区三区图片| 亚洲天堂视频在线播放| 色妺妺在线视频喷水| 国产91高跟丝袜| 久久永久精品免费视频| 亚洲水蜜桃久久综合网站| 国产91丝袜在线播放动漫 | 麻豆AV网站免费进入| 亚洲有无码中文网| 国产99视频免费精品是看6| 中文字幕 日韩 欧美| 国产成人AV综合久久| 国产激情无码一区二区APP| 青青青亚洲精品国产| 亚洲日韩国产精品综合在线观看| 九九九九热精品视频| 久久国产香蕉| 成年女人a毛片免费视频| 亚洲精品777| 午夜视频在线观看免费网站| 色亚洲成人| 欧美一级在线| 亚洲乱码视频| 国产中文在线亚洲精品官网| 亚洲福利视频一区二区| 一级福利视频| 国产精品亚洲欧美日韩久久| vvvv98国产成人综合青青| 国产丝袜一区二区三区视频免下载| 国产十八禁在线观看免费| 在线观看欧美国产| 久久中文无码精品| 国产区人妖精品人妖精品视频| 日韩第九页| 中文字幕无码中文字幕有码在线| 久久美女精品国产精品亚洲| 亚洲最猛黑人xxxx黑人猛交| 热这里只有精品国产热门精品| 久久情精品国产品免费| 中文字幕在线看| 成人免费一级片| 97se亚洲综合在线| 黄色成年视频| 国产微拍一区| 黄色成年视频| 亚洲天堂网在线播放|