什么是緩沖區溢出?

2016-08-15 1756 3 編輯:深色多郎 來源:互聯網書籍

定義

緩沖區是內存中存放數據的地方,用來接收和保存數據,直至進程對數據進行處理。由于各個進程都有自己的緩沖區,所以需要保存各進程的緩沖區彼此無關。而緩沖區溢出即一個程序要寫的數據在可分配內存的范圍之內,這是一種非常普遍的漏洞,在各種操作系統、應用軟件中廣泛存在。

原理

在內存分配之后,緩沖區的長度是固定的,其自身缺乏相關的機制來防止在保留空間中放入過多的數據。但攻擊者寫一個超過緩沖區長度的字符串,植入到緩沖區,然后再向一個有限空間的緩沖區中植入超長的字符串,結果就會導致數據外溢,覆蓋相鄰內存空間。這就是緩沖區溢出攻擊。

后果

緩沖區溢出攻擊可能導致三個后果:一是程序運行失敗甚至系統崩潰;二是以普通用戶的身份植入并且執行攻擊代碼;三是取得系統Root特級權限執行惡意代碼,比如刪除數據、將感染的PC轉換成肉雞、傳送垃圾郵件等。

案例

1988年的莫里斯蠕蟲病毒和2001年的紅色代碼蠕蟲就是利用緩沖區溢出攻擊并造成傷害的。在近五年中,每年美國計算機緊急事件響應小組協調中心(CERT/CC)公布的緩沖區溢出漏洞在其當年公布的重大安全漏洞中所占比率均在50%以上,而且遠程網絡攻擊的絕大多數為緩沖區溢出攻擊。2003年,著名黑客史蒂夫-艾瑟(StrfanEsser)就曾利用緩沖區溢出漏洞,將Linux灌進全新并完好的Xbox內,并開機成功。這使未經授權的軟件,包括自制程序游戲,不需要修改硬件(被稱為mod chips)就可在控制臺運行。

更多資訊,請您百度:深圳網站建設深正互聯

本站文章均為深正網站建設摘自權威資料,書籍,或網絡原創文章,如有版權糾紛或者違規問題,請即刻聯系我們刪除,我們歡迎您分享,引用和轉載,但謝絕直接搬磚和抄襲!感謝...
關注深正互聯
七星彩头尾