版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件安全研究第1頁,共23頁。何為軟件安全 軟件安全(Software Security)就是使軟件在收到惡意攻擊的情形下依然能夠繼續(xù)正確運行的工程化軟件思想。 多年以來,在計算機軟件(包括來自第三方的軟件,商業(yè)的和免費的軟件)中已經(jīng)發(fā)現(xiàn)了不計其數(shù)能夠削弱安全性的缺陷(bug)。黑客利用編程中的細(xì)微錯誤或者上下文依賴關(guān)系,已經(jīng)能夠控制Linux,讓它做任何他們想讓它做的事情。 第2頁,共23頁。最常見的軟件漏洞 緩沖區(qū)溢出是一種常見的編程錯誤,也是一種牽扯到復(fù)雜因素的錯誤。開發(fā)人員經(jīng)常預(yù)先分配一定量的臨時內(nèi)存空間,稱為一個緩沖區(qū),用以保存特殊信息。如果代碼沒有仔細(xì)地把要存放的數(shù)據(jù)大小同應(yīng)該保存
2、它的空間大小進行對照檢查,那么靠近該分配空間的內(nèi)存就有被覆蓋的風(fēng)險。熟練的黑客輸入仔細(xì)組織過的數(shù)據(jù)就能導(dǎo)致程序崩潰,更糟糕的話能執(zhí)行代碼。第3頁,共23頁。 幸虧近年來緩沖區(qū)溢出攻擊發(fā)生的顯著數(shù)量提高了編程界對這個問題的認(rèn)識。雖然緩沖區(qū)溢出仍然在出現(xiàn),但它們經(jīng)常會被很快發(fā)現(xiàn)和糾正,特別在開放源代碼應(yīng)用中更是如此。像Java和.NET這樣的比較新的編程體系都包含自動檢查數(shù)據(jù)大小,防止發(fā)生緩沖區(qū)溢出的機制。 緩沖區(qū)溢出是稱為輸入有效性漏洞的更大一類軟件安全缺陷下的一個子類。幾乎所有的程序都接受某種類型的用戶輸入(例如,命令行參數(shù)或者HTML表格)。如果代碼沒有嚴(yán)格檢查輸入的格式和內(nèi)容是否合適,就開
3、始處理數(shù)據(jù),那么就會發(fā)生問題。作為一名系統(tǒng)管理員,您該如何防止這種情況發(fā)生呢?幾乎無可奈何,至少在確定出缺陷(bug),并發(fā)布解決它的補丁之前是這樣。緊盯補丁和安全性公告的發(fā)布,這是大多數(shù)系統(tǒng)管理員工作的一個重要部分。大多數(shù)Linux發(fā)行版本都帶自動打補丁的工具,如Fedora上的yum、Debian和 Usutu上的apt-get。利用這些工具能讓您的站點避免出現(xiàn)軟件的安全漏洞問題。第4頁,共23頁。軟件漏洞中編程錯誤大多數(shù)IT安全事件(如補丁程序或網(wǎng)絡(luò)攻擊等)都與軟件編程錯誤有關(guān),在過去的三年中,非贏利調(diào)研機構(gòu)MITRE和美國系統(tǒng)網(wǎng)絡(luò)安全協(xié)會( SANS Institute)發(fā)現(xiàn)了700多
4、處常見的軟件編程錯誤,經(jīng)過安全專家的篩選,最終公布了以下25大軟件編程錯誤:第5頁,共23頁。1. 錯誤的輸入驗證 2. 不正確的編碼或轉(zhuǎn)義輸出 3. 維持SQL查詢結(jié)構(gòu)(SQL注入)錯誤 4. 維持網(wǎng)頁結(jié)構(gòu)(跨站點腳本)錯誤 5. 維持操作系統(tǒng)命令結(jié)果(操作系統(tǒng)命令注入) 錯誤 6. 明文傳送敏感信息 7. 跨站點請求偽造 8. 資源競爭(Race condition) 9. 錯誤信息泄露 10. 限定緩沖區(qū)內(nèi)操作失敗 11. 外部控制重要狀態(tài)數(shù)據(jù) 12. 外部控制文件名或路徑 13. 不可信搜索路徑 第6頁,共23頁。14. 控制代碼生成錯誤(代碼注入) 15. 下載未經(jīng)完整性檢查的代碼
5、16. 錯誤的資源關(guān)閉或發(fā)布 17. 不正確的初始化 18. 錯誤計算 19. 可滲透防護 20. 使用被破解的加密算法 21. 硬編碼密碼 22. 對核心資源的錯誤權(quán)限分配 23. 隨機值的錯誤利用 24. 濫用特權(quán)操作 25. 客戶端執(zhí)行服務(wù)器端安全第7頁,共23頁。緩沖區(qū)溢出 通用有效的攻擊方法第8頁,共23頁。什么是緩沖區(qū)溢出 緩沖區(qū)溢出是指當(dāng)計算機向緩沖區(qū)內(nèi)填充數(shù)據(jù)位數(shù)時超過了緩沖區(qū)本身的容量溢出的數(shù)據(jù)覆蓋在合法數(shù)據(jù)上,理想的情況是程序檢查數(shù)據(jù)長度并不允許輸入超過緩沖區(qū)長度的字符,但是絕大多數(shù)程序都會假設(shè)數(shù)據(jù)長度總是與所分配的儲存空間相匹配,這就為緩沖區(qū)溢出埋下隱患.操作系統(tǒng)所使用的
6、緩沖區(qū) 又被稱為堆棧. 在各個操作進程之間,指令會被臨時儲存在堆棧當(dāng)中,堆棧也會出現(xiàn)緩沖區(qū)溢出。第9頁,共23頁。溢出第10頁,共23頁。緩沖區(qū)溢出 如果用戶輸入的數(shù)據(jù)長度超出了程序為其分配的內(nèi)存空間,這些數(shù)據(jù)就會覆蓋程序為其它數(shù)據(jù)分配的內(nèi)存空間,形成所謂的緩沖區(qū)溢出第11頁,共23頁。溢出示例#include int main()char name8;printf(“Your name:”);gets(name);printf(“Hello,%s!”,name);return 0;第12頁,共23頁。第13頁,共23頁。緩沖區(qū)溢出攻擊1、什么是緩沖區(qū)溢出2、緩沖區(qū)溢出攻擊3、從根本上防止緩沖
7、區(qū)溢出攻擊第14頁,共23頁。緩沖區(qū)溢出攻擊 A:在堆棧產(chǎn)生溢出時,我們輸入的數(shù)據(jù)將可能修改EIP指針。如果精心設(shè)計這些的數(shù)據(jù),可以讓EIP指針指向我們所放置的額外數(shù)據(jù),而這些數(shù)據(jù)將以指令的形式進入CPU運行。第15頁,共23頁。攻擊代碼 攻擊代碼是一段精心設(shè)計的二進制代碼,以數(shù)據(jù)的形式放入程序的某個緩沖區(qū)中 由于可利用的緩沖區(qū)的實際空間有限,因此實用的攻擊代碼一般僅實現(xiàn)簡單有效的功能第16頁,共23頁。安排攻擊代碼植入法利用程序中已有代碼第17頁,共23頁。防止緩沖區(qū)溢出非執(zhí)行緩沖區(qū)保證代碼正確性數(shù)組邊界檢查指針完整性檢查第18頁,共23頁。非執(zhí)行緩沖區(qū)緩沖區(qū)是存放數(shù)據(jù)地方,我們可以在硬件或操作系統(tǒng)層次上強制緩沖區(qū)的內(nèi)容不得執(zhí)行該方法面臨的主要是兼容性問題第19頁,共23頁。代碼正確性如果能夠在使用用戶輸入的數(shù)據(jù)前,對數(shù)據(jù)的長度進行有效性檢查,則緩沖區(qū)溢出也不會發(fā)生使用該思路的方法主要為:源代碼靜態(tài)檢查程序運行期間的大量數(shù)據(jù)測試這種方法不能找出所有的緩沖區(qū)溢出第20頁,共23頁。數(shù)組邊界檢查因為緩沖區(qū)本質(zhì)都是各種類型的數(shù)據(jù),在數(shù)組操作時對數(shù)組邊界進行檢查可以杜絕緩沖區(qū)溢出這種方法面臨的是效率問題第21頁,共23頁。指針完整性檢查在引用指令指針前檢查指針的改變是指針完整性檢查的思路雖然這種方法不能解決所有緩沖區(qū)溢出問題,但它有著兼容性和效率
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中技術(shù)會考模擬試卷(二)
- 《桃花源記》說課稿17篇
- 南京工業(yè)大學(xué)浦江學(xué)院《自動化專業(yè)綜合實訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《生態(tài)文學(xué)欣賞》2021-2022學(xué)年第一學(xué)期期末試卷
- 某熱源集中供熱工程施工組織設(shè)計投標(biāo)版
- dtnl說課稿部編版
- 《長方體的認(rèn)識》說課稿
- 《小數(shù)乘整數(shù)》說課稿
- 南京工業(yè)大學(xué)浦江學(xué)院《概率論與數(shù)理統(tǒng)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)《住宅室內(nèi)設(shè)計》2021-2022學(xué)年第一學(xué)期期末試卷
- 醫(yī)學(xué)與大數(shù)據(jù):信息技術(shù)在醫(yī)療中的應(yīng)用
- 2024年室內(nèi)裝飾設(shè)計師(高級工)考試復(fù)習(xí)題庫(含答案)
- 教育培訓(xùn)行業(yè)2024年生產(chǎn)與制度改革方案
- PCB文字噴印工藝
- 2024年廖俊波同志先進事跡心得體會教師4篇
- 高考物理系統(tǒng)性復(fù)習(xí) (能力提高練) 第五節(jié) 實驗:探究小車速度隨時間變化的規(guī)律(附解析)
- 眼科護理中的孕婦與產(chǎn)婦護理
- 業(yè)主業(yè)主委員會通用課件
- 了解金融市場和金融產(chǎn)品
- 南京理工大學(xué)2015年613物理化學(xué)(含答案)考研真題
- 初中數(shù)學(xué)應(yīng)用題解題思路分享
評論
0/150
提交評論