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

淺析DEP安全保護技術

2018-11-07 02:47:44
網絡安全和信息化 2018年8期
關鍵詞:進程程序設置

DEP的原理和功能

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

根據操作系統設計原理,系統程序或某些應用軟件會被要求在特定的內存區域內運行,這個內存區域如果受到其他程序的破壞,會導致程序出錯,甚至系統崩潰。而DEP技術可以有效地防止這類情況發生。如果啟動了DEP保護機制,Windows就會自動關閉試圖執行溢出操作的程序。

DEP在程序執行時,將可執行代碼所占用的內存區域自動標記出來。支持DEP的CPU利用NX技術識別這些標記出來的區域。當DEP發現當前執行代碼沒有明確標記為可執行,就會禁止其執行。

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

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

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

DEP的管理和配置

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

圖1 查看DEP管理界面

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

當然,我們在運行某些軟件時,需要對其進行一番了解,最好使用與DEP兼容的版本。運行這類程序,就會受到DEP的保護。最好不要輕易運行與DEP不兼容的程序,盡量降低潛在的風險。對于自己完全信任的程序,可以視情況關閉DEP,對于外來的不可知的程序,最好打開DEP保護功能。在上述“數據執行保護”面板中選擇“為除下列選定的程序之外的所有程序和服務啟用DEP”項,點擊“添加”按鈕,將自己信任的程序導入進來,之后重啟系統即可。

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

DEP的保護模式

根據啟動參數的不同,DEP工作狀態分為Optin、Optout、AlwaysOn、AlwaysOff等模式。對于Optin模式來說,默認僅將DEP保護應用于Windows系統組件和服務,對其他程序不進行保護。但用戶可以通過應用程序兼容性工具,為選定的程序啟用DEP保護功能,在開發者使用Visual Studio 2008等工具編譯程序時,可以使用特定的鏈接選項,采用“/NXCOMPAT”參數執行編譯處理,這樣得到的程序將自動應用DEP保護機制。對于Optout模式來說,可以通過設置排除列表的方法,將不需要DEP保護的程序添加到排除列表中,其余的程序則啟用DEP保護功能。

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

解決和DEP相關的故障

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

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

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

當然,如果該程序已經提供了升級版本,并支持DEP保護機制,最好的辦法是對其升級,使其可以在DEP保護下正常運行。

小議DEP的局限性

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

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

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

為了順利運行,惡意程序甚至會直接調用相關的API函數,將DEP直接關閉。因為在Optout和AlwaysOn模式下,所有的進程默認開啟DEP。惡意程序可能調用某個系統函數,將Shellcode所在的內存位置設置為可執行狀態來避

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

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

猜你喜歡
進程程序設置
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
地鐵出入段線轉換軌設置
主站蜘蛛池模板: 国产成人精品高清在线| 伊人久热这里只有精品视频99| 亚洲成人网在线播放| 国产精品13页| 色AV色 综合网站| 香蕉蕉亚亚洲aav综合| 色一情一乱一伦一区二区三区小说| 久久久精品国产SM调教网站| 欧美日韩国产在线人| 最近最新中文字幕在线第一页 | 亚洲中文字幕无码爆乳| 国产麻豆aⅴ精品无码| 无码'专区第一页| 色爽网免费视频| 久热中文字幕在线| 中文字幕 日韩 欧美| 午夜国产大片免费观看| 又粗又大又爽又紧免费视频| 日韩精品无码免费专网站| 伦伦影院精品一区| 国产麻豆91网在线看| 日本成人一区| 超清无码一区二区三区| 国产另类乱子伦精品免费女| 亚洲欧美在线看片AI| 免费a在线观看播放| 亚洲第一区在线| 永久毛片在线播| 国产人妖视频一区在线观看| 亚洲九九视频| 免费啪啪网址| 国产精品va免费视频| 91在线精品麻豆欧美在线| 人妻丰满熟妇啪啪| 熟女日韩精品2区| 中国黄色一级视频| 亚洲视频在线网| 任我操在线视频| 国产精品成人不卡在线观看 | 亚洲性色永久网址| 99在线视频网站| 国产精品久久久久久搜索| 国产精品成人免费视频99| 福利小视频在线播放| 国产网站黄| 国产成人综合日韩精品无码首页| 在线播放国产99re| 国产成人成人一区二区| 尤物成AV人片在线观看| 99视频只有精品| 日韩高清成人| 国产日韩欧美成人| 色悠久久综合| 亚洲美女AV免费一区| 亚洲天堂在线免费| 伊人天堂网| 欧美高清国产| 成人国产精品2021| 久久综合色88| 欧洲av毛片| 国产自无码视频在线观看| 99在线免费播放| 国产主播在线观看| 久久毛片免费基地| 992Tv视频国产精品| 久久伊伊香蕉综合精品| 欧美午夜视频| 2048国产精品原创综合在线| 欧美区一区| 婷婷色一区二区三区| 亚洲天堂免费在线视频| 国产精品夜夜嗨视频免费视频| a级毛片在线免费观看| 日本三级欧美三级| 国产美女在线观看| 黄色网在线| 在线播放国产99re| 亚洲人成色77777在线观看| 国产成人综合在线观看| 欧美69视频在线| 白浆免费视频国产精品视频 | 一本无码在线观看|