60 likes | 211 Views
網路安全管理報告 緩衝區溢位攻擊. 學生:吳忠祐 指導教授:梁明章. 簡介. 緩衝區溢位 (Buffer Overflow) 攻擊,就是嘗試在電腦的記憶體上塞入過多的資訊,可以讓駭客在目標的系統上執行任何命令。. 緩衝區運 作原理. void foo(char* input){ char buf[100]; st rcpy(buf, input);} 當系統建立一個 buf 的緩衝區時,除了輸入的資料區外, buf 會有一個位置內存當此函數執行完後,下一個執行指令的位址,也就是 return address 。
E N D
網路安全管理報告緩衝區溢位攻擊 學生:吳忠祐 指導教授:梁明章
簡介 • 緩衝區溢位(Buffer Overflow)攻擊,就是嘗試在電腦的記憶體上塞入過多的資訊,可以讓駭客在目標的系統上執行任何命令。
緩衝區運作原理 • void foo(char* input){ • char buf[100]; • strcpy(buf, input);} • 當系統建立一個buf的緩衝區時,除了輸入的資料區外,buf會有一個位置內存當此函數執行完後,下一個執行指令的位址,也就是return address。 • buf[0~99]--EBP--return address--input • 當輸入的字串超過100個字元時,就會發生緩衝區溢位,導致溢出的資料覆蓋其他鄰近重要資料的後果。
緩衝區溢位攻擊 • 攻擊者利用此漏洞,自己設計一段將會覆蓋掉return address的溢出字串,並把return address更改成指向執行自己的惡意程式碼。 • buf[0~99]--EBP--return address--input • 在buf[0]儲存惡意程式碼,藉由溢出把return address指向buf[0]的位址,如此就能在原先程式的執行環境下(root)運作惡意程式碼,達到竊取電腦控制權的目的。
防範措施 • STOP (STack Overflow Protection,堆疊溢位保護)技術,可以阻止這種入侵,防止使用者或程式獲得root許可權。 • 設定堆疊資料段不可執行 。 • 採用專用的防範溢出的編譯器對程式進行編譯檢查 。