跳到主要內容

臺灣博碩士論文加值系統

(44.201.99.222) 您好!臺灣時間:2022/11/30 19:32
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:羅其暐
研究生(外文):Chi-Wei Luo
論文名稱:可防制緩衝區溢位攻擊之處理器架構延伸設計
論文名稱(外文):Design of an Architecture Extension for Buffer Overflow Prevention
指導教授:呂紹偉
指導教授(外文):Show-Wei Leu
學位類別:碩士
校院名稱:國立臺灣海洋大學
系所名稱:電機工程學系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2005
畢業學年度:93
語文別:中文
論文頁數:34
中文關鍵詞:軟體安全緩衝區溢位x86架構回返位址記憶體堆疊
外文關鍵詞:software securtiybuffer overflowx86 architecturereturn addressstack
相關次數:
  • 被引用被引用:0
  • 點閱點閱:102
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
摘要

隨著軟體的規模以及複雜度日益增加,軟體漏洞被發現的數目愈來愈多,所造成的電腦安全威脅也日益升高。近幾年來,對軟體安全危害最烈的就是緩衝區溢位問題。緩衝區溢位攻擊是利用軟體在宣告和使用某些區域變數時沒有做邊界檢查的漏洞進行攻擊,例如將記憶體堆疊內存放的回返位址覆寫,並注入攻擊程式,因而得以奪取執行權限,竊取資料,或重新格式化整個系統等。由於緩衝區溢位攻擊對電腦安全所造成的嚴重危害,已有不少相關的研究與防治措施被提出。本論文是以Intel x86的架構為基礎,設計一個緩衝區溢位的預防機制。我們針對處理器搬移指令作條件式檢查,以確保儲存回返位址的記憶體位置不會被覆寫,因而達到防堵緩衝區溢位之安全漏洞。

關鍵字:軟體安全,緩衝區溢位,x86架構,回返位址,記憶體堆疊。
Abstract

With the ever increasing size and complexity of software, the number of software vulnerabilities which are exposed continues to grow at a troublesome pace. As a consequence, software security has become a major concern of not only the IT professionals, but also of the general public. Among the many software security attacks the world has confronted in recent years, the notorious “buffer overflow” attack scheme is arguably the most vicious and damaging of all. The buffer overflow attack works primarily by exploiting the absence of boundary detection when programs declare and use local variables. A malicious attacker using the buffer overflow scheme is often able to overwrite the return addresses stored in the stack and inject a piece of code to obtain execution authorization, steal data, or reformat the entire file system, etc. Due to the extensive damages it has inflicted, many prevention measures designed to stop buffer overflow have been proposed with various levels of effectiveness. In this paper, an x86 architecture specific, new defensive mechanism is proposed to prevent the return addresses of functions from being overwritten. We propose an extension to the processor architecture in which conditional checks on the MOV instructions are performed to ensure that the return addresses in the memory are secure from been written over. Our verification shows that the proposed mechanism is effective in guarding a system against buffer overflow attacks.

Keywords: Software Security, Buffer Overflow, x86 Architecture, Return Address, Stack.
目錄
圖目錄 ................................................ vi
表目錄 .............................................. viii
第一章 緒論 .......................................... 1
1.1 簡介 .............................................. 1
1.2 論文組織 .......................................... 2
第二章 緩衝區溢位攻擊介紹 ............................ 4
2.1 寫入式緩衝區溢位攻擊 .............................. 4
2.2 讀取式緩衝區溢位攻擊 .............................. 7
2.3 緩衝區溢位攻擊目標 ................................ 8
2.3.1 存放在記憶體堆疊區段內的回返位址 ............. 8
2.3.2 存放在記憶體堆疊區段內的Old Base Pointer ..... 8
2.3.3 存放在記憶體區段內的函式指標值 ............... 9
2.3.4 存放在記憶體區段內的Longjmp Buffer .......... 12
2.4 目前已提出的防制機制 ............................. 12
2.4.1 回返位址備份比對法 .......................... 12
2.4.2 指標值加密法 ................................ 14
第三章 硬體防護緩衝區溢位攻擊架構 ................... 17
3.1 處理器資料搬移指令執行區別 ....................... 17
3.2 軟體編譯器特性 ................................... 18
3.3緩衝區溢位其他特性 ................................ 18
3.4 Mov指令的延伸設計 ................................ 20
第四章 功能驗證 .................................... 24
4.1針對目前呼叫的函式的緩衝區溢位攻擊 ................ 25
4.2針對之前呼叫的函式的緩衝區溢位攻擊 ................ 28
第五章 結論和未來研究方向 .......................... 32
參考文獻 ............................................. 33
參考文獻

1. Microsoft Security Response Center, < http://www.microsoft.com /security/default.mspx >
2. Computer Emergency Response Team, < http://www.cert.org /advisories/ >
3. C. Cowan, S. Beattie, J. Johansen, and P. Wagle, “PointGuard: protecting pointers from buffer overflow vulnerabilities,” in Proceedings of 12th USENIX Security Symposium, Washington DC, Aug. 2003.
4. AMD, < http://www.amd.com/us-en/ >
5. John Wilander and Mariam Kamkar, “A comparison of publicly available tools for dynamic buffer overflow prevention,” in Proceedings of the 10th Network and Distributed System Security Symposium, pp. 149-162, San Diego, California, Feb. 2003.
6. R. B. Lee, David K. Karig, John P. McGregor, and Zhijie Shi, “Enlisting hardware architecture to thwart malicious code injection,” in Proceedings of the International Conference on Security in Pervasive Computing(SPC-2003), vol. 2802, pp. 237-252, Mar. 2003.
7. J. P. McGregor, D. K. Karig, Z. Shi, and Ruby B. Lee, “A processor architecture defense against buffer overflow attacks,” in Proceedings of IEEE International Conference on Information Technology: Research and Education( ITRE 2003), pp. 243-250, Aug. 2003.
8. H. Ozdoganoglu, C. E. Brodley, T. N. Vijaykumar, and B. A. Kuperman, “Smashguard: a hardware solution to prevent attacks on the function return address,” Tech. Rep., Electrical and Computer Engineering Department, Purdue University, Dec. 2000.
9. Nathan Tuck, Brad Calder, and George Varghese, “Hardware and binary modification support for code pointer protection from buffer overflow,” in Proceedings of the 37th International Symposium on Microarchitecture, pp. 209-220, Dec. 2004.
10. John Viega, J. T. Bloch, Tadayoshi Kohno, and Gary McGraw, “ITS4: a static vulnerability scanner for C and C++ code,” in Proceedings of the 2000 Annual Computer Security Applications Conference(ACSAC 2000), pp. 257-267, Dec. 2000.
11. David Wagner, Jeffrey S. Foster, Eric A. Brewer, and Alexander Aiken, “A first step towards automated detection of buffer overrun vulnerabilities,” in Proceedings of International Network and Distributed System Security Symposium, pp. 3-17, San Diego, CA, Feb. 2000.
12. Bochs, < http://bochs.sourceforge.net/ >
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top