⑴ bugkd保護是什麼
"bugkd保護" 可能是輸入有誤或者是一個不常見的術語。在計算機領域,我們通常聽說的是 "DEP"(Data Execution Prevention, 數據執行保護) 和 "ASLR"(Address Space Layout Randomization, 地址空間布局隨機化) 等保護技術。
數據執行保護 (DEP) 是一種針對緩沖區溢出攻擊(Buffer Overflow Attack)的一種保護措施。它通過硬體和軟體兩種手段來防止惡意代碼將數據作為指令來執行,在一定程度上提高了系統的穩定性和安全性。
地址空間布局隨機化 (ASLR) 是一種操作系統和編譯器級別的安全功能,其目的是在每次運行程序時,動態地改變程序和系統庫載入到系統內存中的謹游基礎地址答迅,從而增加攻擊者猜測內存布局信息的難度,有效提高了操作系統的安全性。
需要注意祥舉銷的是,不同的操作系統、編譯器和硬體平台可能有不同形式的保護技術,以防範各種類型的攻擊。
⑵ 怎樣處理Android中的防緩沖區溢出技術
Android系統提供了非常嚴格的多層次的安全保護措施,包括代碼。為了防止惡意用戶採用惡意軟體進行緩沖區溢出攻擊或者進行「越獄」操作,自Android 4.0版本之後,內核就引入了ASLR技術來對代碼進行保護,本文將詳細介紹Android中的防緩沖區溢出技術的來龍去脈。
1、什麼是ASLR?
ASLR(Address space layout randomization)是一種針對緩沖區溢出的安全保護技術,通過對堆、棧、共享庫映射等線性區布局的隨機化,通過增加攻擊者預測目的地址的難度,防止攻擊者直接定位攻擊代碼位置,達到阻止溢出攻擊的目的。通常情況下,黑客會利用某個特定函數或庫駐存在特定內存位置的這一事實,通過在操縱堆或其他內存錯誤時調用該函數來發動攻擊。ASLR則能夠避免這種情況,因為它能確保系統和應用程序的代碼每次被載入時不會出現在同一個存儲位置。蘋果的iOS系統自iOS 4.3以後就支持ASLR技術;雖然Comex在7月份發布的「iPhone越獄」軟體就已攻克這一防禦措施。而Android已經在4.0中應用了ASLR技術。
據研究表明ASLR可以有效的降低緩沖區溢出攻擊的成功率,如今Linux、FreeBSD、Windows等主流操作系統都已採用了該技術。
2、緩沖區溢出攻擊原理
緩沖區溢出是一種非常普遍、非常危險的漏洞,在各種操作系統、應用軟體中廣泛存在。利用緩沖區溢出攻擊,可以導致程序運行失敗、系統宕機、重新啟動等後果。更為嚴重的是,可以利用它執行非授權指令,甚至可以取得系統特權,進而進行各種非法操作。
緩沖區溢出(圖1)是指當計算機向緩沖區內填充數據位數時超過了緩沖區本身的容量溢出的數飢凳據覆蓋在合法數據上,理想的情況是程序檢查數據長度並不允許輸入超過緩沖區長度的字元,但是絕大多數程序都會假設數據長度總是與所分配的儲存空間相匹配,這就為緩沖區溢出埋下隱患.操作系統所使用的緩沖區 又被稱為"堆棧". 在各個操作進程之間,指令會被臨時儲存在"堆棧"當中,"堆棧"也會出現緩沖區溢出。
在當前網路與分布式系統安全中,被廣泛利用的50%以上都是緩沖區溢出,其中最著名的例子是1988年利用fingerd漏洞的蠕蟲。而緩沖區溢出中,最為危險的是堆棧溢出,因為入侵者可以利用堆棧溢出,在函數返回時改變返回程序的地址,讓其跳轉到任意地址,帶來的危害一種是程序崩潰導致拒絕服務,另外一種就是跳轉並且執行一段惡意代碼,比如得到shell,然後為所欲為。
歷史上最著名的緩沖區溢出攻擊爛襪旅可能要算是1988年11月2日的Morris Worm所攜帶的攻擊代碼了。這個網際網路蠕蟲利用了fingerd程序的緩沖區溢出漏洞,給用戶帶來了很大危害。此後,越來越多的緩沖區好租溢出漏洞被發現。從bind、wu-ftpd、telnetd、apache等常用服務程序,到Microsoft、Oracle等軟體廠商提供的應用程序,都存在著似乎永遠也彌補不完的緩沖區溢出漏洞。
⑶ ASLR的關閉方法
上次XCTF-game說了之後要學習一波aslr的關閉方法,昨天看了看逆向工程核心原理,發現上面有講解其關閉的方法,特此記錄。
先從pe文件重定位說起。
創建好進程後,exe文件會被首先載入進imagebase指定的內存空間地址,因此不用考慮exe重定位。但是DLL和SYS文件可能因為載入幾個,導致除了第一個之外其他文件載入到其他尚未佔用的地址。
而開啟了aslr之後exe可以不載入到imagebse的位置,另外在aslr之前,dll也總是載入到固定地址。
不僅指令的地址變了,而且見到這些紅色的call的地址都是硬編碼進入的程序,每次也會變。pe裝載器進行重定位處理時,最關鍵的就是查找硬編碼地址的位置。而重定位表就是記錄硬編碼地址偏移的列表。
基址重定位表地址位於IMAGE_OPTION_HEADER的IMAGE_DATA_DIRECTORY[5]。
前面的DWORD是RVA後面的DWORD是大小
typedef struct _IMAGE_DATA_DIRECTORY {
DWORD VirtualAddress;
DWORD Size;
} IMAGE_DATA_DIRECTORY,*PIMAGE_DATA_DIRECTORY;
另外再看看pe頭罩拆IMAGE_FILE_HEADER這里
在IMAGE_FILE_HEADER的Characteristics欄位。可以見到這個Relocations stripped是沒有勾上的。
大意是,重定位信息從這個文件被剝離,這個文件必須被裝在進preferred基址蔽缺(指的應該就是ImageBase),如果ImageBase不可用,載入器會報錯。
我們這里要動手關閉aslr,這個選項不用改。要改的是IMAGE_OPTIONAL_HEADER的DLL Characteristics欄位
下面是DLL Characteristics的屬性值,相或代表屬性疊加物並棗。
將8140改為8100,也就是讓DLL不能move
再次執行程序,發現是004...打頭的,這個時候aslr就被關上了。
⑷ 福昕閱讀器的安全性能
五重安全保護確保軟體安全可靠
福昕PDF閱讀器為用戶提供安全的PDF文檔控制選項。雖然PDF文檔相對於其它文檔格式更加安全,但是任侍春何從互聯網下載的文件都有可能隱含安全漏洞。
福昕已推出的安全功能有效的保護了用戶免受針對老游耐PDF文件的惡意攻擊。福昕PDF閱讀器的安全選項包括:安全警告對話框、信任管理器(安全模式),數字簽名驗證、支持ASLR & DEP技術以及在非常情況下完全禁用JavaScript。
安全警告對話框
在標准操作模式下,如果一個PDF文檔試圖調用或運行外部命令,福昕PDF閱讀器將會向用戶發出警告。安全警告對話框信息將提供一個選擇運行或終止PDF文件的選項。為了進一步確保信息的信任度,福昕已實施了新的篩選過程,從而保護最終用戶免受錯誤信息的誤導。這些誤導性信息嵌入在彈出式對話框的參數中,彈出式對話框則為渲染PDF生成的信息保留存儲區域,而該信息可能會誤導用戶進行誤操作。 出於安全考慮,福昕PDF閱讀器將不再顯示該信息內容,並刪除彈出式對話框中所有可執行參數。
信任管理器(安全模式)
信任管理器允許用戶選擇一個安全模式操作。一旦選定安全模式,能夠防止福昕PDF閱讀器執行可疑的外部命令。信任管理器功能簡單易用,並且可以按照用戶需求設置選擇或取消選擇該功能。
數字簽名驗證
針對日前出現的PDF文檔數字簽名漏洞,磨乎福昕PDF閱讀器新增了數字簽名驗證功能,通過驗證文檔中簽名的有效性,防止文檔重要信息被盜用或篡改,極大地提高了文檔的真實性和完整性,保證企業用戶交流電子文檔的安全性,保護商業機密。
提升安全等級 支持ASLR & DEP技術
新版本支持地址空間布局隨機化(ASLR)和數據執行保護(DEP)功能,極大的提高了文檔的安全性。ASLR使用隨機計算程序決定內存地址,用於存儲關鍵文件數據。而DEP則簡單地阻止了在不可執行地址下代碼的執行。兩者結合,高效地提升了福昕PDF閱讀器的安全性,並為企業、商務以及福昕用戶提供了更加穩定的閱讀平台。
禁用JavaScript
福昕PDF閱讀器提供完全關閉JavaScript的選項。但禁用JavaScript將限制福昕PDF閱讀器交互功能的使用(例如填寫表單功能)。
⑸ 漏洞分析的內容導讀
本書分為5篇,共33章。
第1篇 漏洞利用原理(初級)
第1章 基礎知識
本章著重對漏洞挖掘中的一些基礎知識進行介紹。首先是漏洞研究中的一些基本概念和原理;然後是對Windows平台下可執行文件的結構和內存方面的一些基礎知識的介紹;最後介紹了一些漏洞分析中經常使用的軟體工具。包括調試工具、反匯編工具、二進制編輯工具等。您會在後面的調試實驗中反復見到這些工具的身影。在這章的最後一節,我們設計了一個非常簡單的破解小實驗,用於實踐工具的應用,消除您對二進制的恐懼感,希望能夠給您帶來一些樂趣。
第2章 棧溢出原理與實踐
基於棧的溢出是最基礎的漏洞利用方法。本章首先用大量的示意圖,深入淺出地講述了操作系統中函數調用、系統棧操作等概念和原理;隨後通過三個調試實驗逐步講解如何通過棧溢出,一步一步地劫持進程並植入可執行的機器代碼。即使您沒有任何匯編語言基礎,從未進行過二進制級別的調試,在本章詳細的實驗指導下也能輕松完成實驗,體會到exploit的樂趣。
第3章 開發shellcode的藝術
本章緊接第2章的討論,比較系統地介紹了溢出發生後,如何布置緩沖區、如何定位shellcode、如何編寫和調試shellcode等實際的問題。最後兩小節還給出了一些編寫shellcode的高級技術,供有一定匯編基礎的朋友做參考。
第4章 用MetaSploit開發Exploit
MetaSploit是軟體工程中的Frame Work(架構)在安全技術中的完美實現,它把模塊化、繼承性、封裝等面向對象的特點在漏洞利用程序的開發中發揮得淋漓盡致。使用這個架構開發Exploit要比直接使用C語言寫出的Exploit簡單得多。本章將集中介紹如何使用這個架構進行Exploit開發。
第5章 堆溢出利用
在很長一段時間內,Windows下的堆溢出被認為是不可利用的,然而事實並非如此。本章將用精闢的論述點破堆溢出利用的原理,讓您輕松領會堆溢出的精髓。此外,這章的一系列調試實驗將加深您對概念和原理的理解。用通俗易懂的方式論述復雜的技術是本書始終堅持的原則。
第6章 形形色色的內存攻擊技術
在了解基本的堆棧溢出後,本章將為大家展示更為高級的內存攻擊技術。本章集中介紹了一些曾發表於Black Hat上的著名論文中所提出的高級利用技術,如狙擊Windows異常處理機制、攻擊虛函數、off by one、 Heap Spray等利用技巧。對於安全專家,了解這些技巧和手法不至於在分析漏洞時錯把可以利用的漏洞誤判為低風險類型;對於黑客技術愛好者,這些知識很可能成為激發技術靈感的火花。
第7章 手機里的緩沖區溢出
在PC機上的溢出攻擊進行的如火如荼的時候,您是否也想了解手機平台上的緩沖區溢出問題?那就不要錯過本章!本章以ARM和Windows Mobile為例,介紹手機平台上編程和調試技巧。並在最後以一個手機上的exploit me為大家揭開手機里緩沖區溢出的神秘面紗。
第8章 其他類型的軟體漏洞
緩沖區溢出漏洞只是軟體漏洞的一個方面,我們來看看其他一些流行的安全漏洞。如格式化串漏洞、SQL注入、XPath注入、XSS等安全漏洞產生的原因、利用技巧及防範措施。
第2篇 漏洞利用原理(高級)
第9章 Windows安全機制概述
微軟在Windows XP SP2和Windows 2003之後,向操作系統中加入了許多安全機制。本章將集中討論這些安全機制對漏洞利用的影響。
第10章 棧中的守護天使:GS
針對緩沖區溢出時覆蓋函數返回地址這一特徵,微軟在編譯程序時使用了一個很酷的安全編譯選項——GS。本章將對GS編譯選項的原理進行詳細介紹,並介紹幾種繞過GS的溢出技巧。
第11章 亡羊補牢:SafeSEH
攻擊S.E.H已經成為windows平台下漏洞利用的經典手法。為了遏制日益瘋狂的攻擊,微軟在Windows XP SP2及後續版本的操作系統中引入了著名的S.E.H校驗機制SafeSEH。本章將會對這一安全機制進行詳細的分析,並介紹其中的不足和繞過方法。
第12章 數據與程序的分水嶺:DEP
溢出攻擊的根源在於現代計算機對數據和代碼沒有明確區分這一先天缺陷, 而DEP這種看似釜底抽薪式的防護措施是否真的可以杜絕溢出攻擊呢?答案馬上揭曉。
第13章 在內存中躲貓貓:ASLR
程序載入時不再使用固定的基址載入,ASLR技術將溢出時使用的跳板在內存中隱藏了起來,沒有了跳板我們如何溢出呢?本章將帶領您在黑暗中尋找溢出的出口。
第14章 S.E.H終極防護:SEHOP
SafeSEH的敗北,讓微軟推出一種更為嚴厲的S.E.H保護機制SEHOP。這里將為您展示這種保護機制的犀利之處。
第15章 重重保護下的堆
當堆溢出變成可能後,微軟不能再無視堆中的保護機制了,讓我們一覽堆中的保護機制,並分析其漏洞。
第3篇 漏洞挖掘技術
第16章 漏洞挖掘技術簡介
不論從工程上講還是從學術上講,漏洞挖掘都是一個相當前沿的領域。本章將從動態測試和靜態審計兩方面對漏洞挖掘技術的基礎知識進行簡單的介紹。
第17章 文件類型漏洞挖掘與Smart Fuzz
文件類型的漏洞層出不窮,持續威脅著互聯網的安全。如何系統的測試文件格式,產生精確有效的畸形測試用例用以發掘文件解析器的安全漏洞,並不是一件容易的事情。本章將從理論和實踐兩個方面向您講述灰盒測試技術。
第18章 FTP的漏洞挖掘
本章將簡述FTP協議,並手把手地帶領您完成幾個初級的漏洞測試案例,讓您親身體會下真實的漏洞長什麼模樣。
第19章 E-mail的漏洞挖掘
E-mail系統涉及的安全問題不光只有緩沖區溢出,在本章的挖掘案例中,您會發現除了工具和常用方法外,威力最為強大的武器還是您的大腦。Evil thinking是安全測試中最重要的思維方式之一。
第20章 ActiveX控制項的漏洞挖掘
控制項類漏洞曾經是大量網馬的棲身之地。本章將結合若干個曾經的0 day向您比較系統的介紹這類漏洞的測試、調試的相關工具和方法。
第4篇 操作系統內核安全
第21章 探索ring0
研究內核漏洞,需要首先掌握一些內核基礎知識,例如內核驅動程序的開發、編譯、運行和調試,內核中重要的數據結構等,本章將為讀者開啟探索ring0之門,逐步掌握一些內核基礎知識。
第22章 內核漏洞利用技術
本章將帶領讀者從一個簡單的內核漏洞程序exploitme.sys的編寫開始,展示內核漏洞利用的思路、方法,以及利用程序和Ring0 Shellcode的編寫和設計。
第23章 FUZZ驅動程序
掌握了內核漏洞的原理和利用方法,本章將進入內核漏洞挖掘階段,學習較為高級的內核漏洞挖掘技術,最後實踐該漏洞挖掘技術,分析挖掘出內核漏洞。
第24章 內核漏洞案例分析
本章對幾種典型的內核漏洞,用幾個真實的內核漏洞案例來詳細分析,分析漏洞造成的具體原因和細節,並構造漏洞成功利用的方法。
第5篇 漏洞分析案例
第25章 漏洞分析技術概述
本章縱覽了漏洞分析與調試的思路,並介紹了一些輔助漏洞調試分析的高級逆向工具。
第26章 RPC入侵:MS06-040 與MS08-067
由於可以做到主動式遠程入侵,RPC級別的漏洞被譽為漏洞中的王者,此類漏洞也極其稀有,每一個都有一段曲折的故事。值得一提的是最近的兩個RPC系統漏洞竟然出自同一個函數。本章將對這個縫來補去沒有修好的函數進行詳細分析,讓您從攻防兩方面深刻理解漏洞的起因和修復策略的重要性。
第27章 MS06-055分析:實戰Heap Spray
通過網頁「掛馬」是近年來攻擊者慣用的手法。本章通過分析微軟IE瀏覽器中真實的緩沖區溢出漏洞,告訴您為什麼不能隨便點擊來歷不明的URL鏈接,並在實戰中為大家演示Heap Spray技術。
第28章 MS09-032分析:一個「&」引發的血案
一個視頻網頁的背後可能是一隻兇狠的木馬,這就是著名的Microsoft DirectShow MPEG-2視頻ActiveX控制項遠程代碼執行漏洞。本章將為您分析該漏洞產生的原因及分析技巧。
第29章 Yahoo!Messenger棧溢出漏洞
在波濤洶涌的溢出大潮中Yahoo也沒能倖免,作為國外非常流行的Yahoo!Messenger也存在過非常嚴重的漏洞。本章將重現當時的場景,並分析漏洞產生的原因。
第30章 CVE-2009-0927:PDF中的JS
您可能不會隨便運行一個可執行文件,但是您會想到別人發過來的PDF文檔中也有可能隱藏著一些東西嗎?本章將以PDF文檔為例,帶您領略文件類型溢出漏洞的風采。
第31章 壩之蟻穴:超長URL溢出漏洞
安全軟體不一定安全,即便是這款保護未成年人健康上網的計算機終端過濾軟體,也有可能成為黑客攻擊的窗口。本章將介紹綠壩軟體中一個已經被修復了的安全漏洞。
第32章 暴風影音M3U文件解析漏洞
晚上回家後用暴風影音打開別人發過來的M3U列表文件,在你陶醉於其內容之時,一隻精乾的小馬已悄然在後台運行。想要了解這只小馬是如何進入你的電腦的?請閱讀本章。
第33章 LNK快捷方式文件漏洞
是否我不去運行任何可疑文件,不去打開陌生的網址就安全了呢?答案是否定。LNK快捷方式漏洞無需打開文件,只要瀏覽惡意文件,所在文件夾就會中毒,俗稱「看一眼就掛」。本章將帶您分析這一神奇的漏洞。
Failwest
⑹ iOS 中的虛擬內存和物理內存
在早期的計算機中我們使用的都是物理敏消禪內存。
所以我們引入了虛擬內存的概念。
所以虛擬內存就解決了內存安全和內存不夠用的問題
ASLR( Address space layout randomization )
虛擬內存把程序的運橋兆行地址都固定了,橋塵從而造成了有一個安全隱患,所以就引入了ASLR技術,在程序運行前給其分配一個隨機的起始地址,經過計算得到實際內存地址。程序每次啟動都不一樣,所以就更加安全了。
虛擬內存工作原理圖:
內存分頁原理圖:
⑺ ASLR是什麼
aslr指地址空間配置隨機載入。在計算機科學中,地址空間配置隨機載入(英語:,縮寫ASLR,又稱地址空間配置隨機化、地址空間布局隨機化)是一種防範內存損壞漏洞被利用的計算機安全技術。
ASLR通過隨機放置進程關鍵數據區域的地址空間來防止攻擊者能可靠地跳轉到內存的特定位置來利用函數鋒禪。現代操作系統一般都加設這一機制,以防範惡意程序對已知地址進行Return-to-libc攻擊。
(7)使用aslr需要重新編譯程序嗎擴展閱讀:
直接利用程序中沒有ASLR特性的模塊,尋找能夠利用的匯編指令,xchgeax,espretn,popebxretn等等,找到這些特殊的指令,接下來就是構造一個適合這些指令使用的棧數據了,這個執行過程就利用原來模塊的執行內存,我們的棧數據也仍然是作為數據使用,不會被DEP檢測到。
比如WinExec、system已經在程序中被調用,行喊我們只需要將調用處的地址拿過來,放到ret語句中,並配置好適當的參數。這種方式非常巧妙,都不需要寫入一堆代碼到內存中,但是前提是你需要使用的API原來程序中都銀帶塵有。