国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

黑客中級技術 緩沖區溢出攻擊的介紹

安全 黑客攻防
以下的文章主要描述的是黑客中級技術,緩沖區溢出攻擊,以及對緩沖區溢出的原理,緩沖區溢出的漏洞和攻擊等內容的講述。

文章主要介紹的是黑客中級技術,緩沖區溢出攻擊,大家都知道緩沖區溢出是一種普遍、而且危險性極強的漏洞,在各種操作系統、應用軟件中廣泛存在。利用緩沖區溢出攻擊,可以導致程序運行失敗、系統當機、重新啟動等后果。

更為嚴重的是,可以利用它執行非授權指令,甚至可以取得系統特權,進而進行各種非法操作。

緩沖區溢出是一種非常普遍、非常危險的漏洞,在各種操作系統、應用軟件中廣泛存在。利用緩沖區溢出攻擊,可以導致程序運行失敗、系統當機、重新啟動等后果。更為嚴重的是,可以利用它執行非授權指令,甚至可以取得系統特權,進而進行各種非法操作。緩沖區溢出攻擊有多種英文名稱:buffer overflow,buffer overrun,smash the stack,trash the stack,scribble the stack, mangle the stack, memory leak,overrun screw;它們指的都是同一種攻擊手段。第一個緩沖區溢出攻擊--Morris蠕蟲,發生在十年前,它曾造成了全世界6000多臺網絡服務器癱瘓。

 

本文將分析緩沖區溢出的原理;研究各種類型的緩沖區溢出漏洞和攻擊手段;最后,還將著重研究各種防御手段,用來消除這些漏洞所造成的影響。

一、 緩沖區溢出的原理

通過往程序的緩沖區寫超出其長度的內容,造成緩沖區的溢出,從而破壞程序的堆棧,使程序轉而執行其它指令,以達到攻擊的目的。造成緩沖區溢出的原因是程序中沒有仔細檢查用戶輸入的參數。例如下面程序:

void function(char *str) {

char buffer[16];

strcpy(buffer,str);

}

上面的strcpy()將直接吧str中的內容copy到buffer中。這樣只要str的長度大于16,就會造成buffer的溢出,使程序運行出錯。存在象strcpy這樣的問題的標準函數還有strcat(),sprintf(),vsprintf(),gets(),scanf()等。

當然,隨便往緩沖區中填東西造成它溢出一般只會出現“分段錯誤”(Segmentation fault),而不能達到攻擊的目的。最常見的手段是通過制造緩沖區溢出使程序運行一個用戶shell,再通過shell執行其它命令。如果該程序屬于root且有suid權限的話,攻擊者就獲得了一個有root權限的shell,可以對系統進行任意操作了。

緩沖區溢出攻擊之所以成為一種常見安全攻擊手段其原因在于緩沖區溢出漏洞太普遍了,并且易于實現。而且,緩沖區溢出成為遠程攻擊的主要手段其原因在于緩沖區溢出漏洞給予了攻擊者他所想要的一切:植入并且執行攻擊代碼。被植入的攻擊代碼以一定的權限運行有緩沖區溢出漏洞的程序,從而得到被攻擊主機的控制權。

在1998年Lincoln實驗室用來評估入侵檢測的的5種遠程攻擊中,有2種是緩沖區溢出。而在1998年CERT的13份建議中,有9份是是與緩沖區溢出有關的,在1999年,至少有半數的建議是和緩沖區溢出有關的。在Bugtraq的調查中,有2/3的被調查者認為緩沖區溢出漏洞是一個很嚴重的安全問題。

緩沖區溢出漏洞和攻擊有很多種形式,會在第二節對他們進行描述和分類。相應地防衛手段也隨者攻擊方法的不同而不同,將在第四節描述,它的內容包括針對每種攻擊類型的有效的防衛手段。

二、緩沖區溢出的漏洞和攻擊

緩沖區溢出攻擊的目的在于擾亂具有某些特權運行的程序的功能,這樣可以使得攻擊者取得程序的控制權,如果該程序具有足夠的權限,那么整個主機就被控制了。一般而言,攻擊者攻擊root程序,然后執行類似“exec(sh)”的執行代碼來獲得root權限的shell。為了達到這個目的,攻擊者必須達到如下的兩個目標:

1. 在程序的地址空間里安排適當的代碼。

2. 通過適當的初始化寄存器和內存,讓程序跳轉到入侵者安排的地址空間執行。

根據這兩個目標來對緩沖區溢出攻擊進行分類。在二.1節,將描述攻擊代碼是如何放入被攻擊程序的地址空間的。在二.2節,將介紹攻擊者如何使一個程序的緩沖區溢出,并且執行轉移到攻擊代碼(這個就是“溢出”的由來)。在二.3節,將綜合前兩節所討論的代碼安排和控制程序執行流程的技術。

二.1 在程序的地址空間里安排適當的代碼的方法

有兩種在被攻擊程序地址空間里安排攻擊代碼的方法:

1、植入法:

攻擊者向被攻擊的程序輸入一個字符串,程序會把這個字符串放到緩沖區里。這個字符串包含的資料是可以在這個被攻擊的硬件平臺上運行的指令序列。在這里,攻擊者用被攻擊程序的緩沖區來存放攻擊代碼。緩沖區可以設在任何地方:堆棧(stack,自動變量)、堆(heap,動態分配的內存區)和靜態資料區。

2、利用已經存在的代碼:

有時,攻擊者想要的代碼已經在被攻擊的程序中了,攻擊者所要做的只是對代碼傳遞一些參數。比如,攻擊代碼要求執行“exec (“/bin/sh”)”,而在libc庫中的代碼執行“exec (arg)”,其中arg使一個指向一個字符串的指針參數,那么攻擊者只要把傳入的參數指針改向指向”/bin/sh”。

二.2 控制程序轉移到攻擊代碼的方法

所有的這些方法都是在尋求改變程序的執行流程,使之跳轉到攻擊代碼。最基本的就是溢出一個沒有邊界檢查或者其它弱點的緩沖區,這樣就擾亂了程序的正常的執行順序。通過溢出一個緩沖區,攻擊者可以用暴力的方法改寫相鄰的程序空間而直接跳過了系統的檢查。

分類的基準是攻擊者所尋求的緩沖區溢出的程序空間類型。原則上是可以任意的空間。實際上,許多的緩沖區溢出是用暴力的方法來尋求改變程序指針的。這類程序的不同之處就是程序空間的突破和內存空間的定位不同。主要有以下三種: 1、活動紀錄(Activation Records):

每當一個函數調用發生時,調用者會在堆棧中留下一個活動紀錄,它包含了函數結束時返回的地址。攻擊者通過溢出堆棧中的自動變量,使返回地址指向攻擊代碼。通過改變程序的返回地址,當函數調用結束時,程序就跳轉到攻擊者設定的地址,而不是原先的地址。這類的緩沖區溢出被稱為堆棧溢出攻擊(Stack Smashing Attack),是目前最常用的緩沖區溢出攻擊方式。

2、函數指針(Function Pointers):

函數指針可以用來定位任何地址空間。例如:“void (* foo)()”聲明了一個返回值為void的函數指針變量foo。所以攻擊者只需在任何空間內的函數指針附近找到一個能夠溢出的緩沖區,然后溢出這個緩沖區來改變函數指針。在某一時刻,當程序通過函數指針調用函數時,程序的流程就按攻擊者的意圖實現了。它的一個攻擊范例就是在Linux系統下的superprobe程序。

3、長跳轉緩沖區(Longjmp buffers):

在C語言中包含了一個簡單的檢驗/恢復系統,稱為setjmp/longjmp。意思是在檢驗點設定“setjmp(buffer)”,用“longjmp(buffer)”來恢復檢驗點。然而,如果攻擊者能夠進入緩沖區的空間,那么“longjmp(buffer)”實際上是跳轉到攻擊者的代碼。象函數指針一樣,longjmp緩沖區能夠指向任何地方,所以攻擊者所要做的就是找到一個可供溢出的緩沖區。一個典型的例子就是Perl 5.003的緩沖區溢出漏洞;攻擊者首先進入用來恢復緩沖區溢出的的longjmp緩沖區,然后誘導進入恢復模式,這樣就使Perl的解釋器跳轉到攻擊代碼上了。

二.3代碼植入和流程控制技術的綜合分析

最簡單和常見的緩沖區溢出攻擊類型就是在一個字符串里綜合了代碼植入和活動紀錄技術。攻擊者定位一個可供溢出的自動變量,然后向程序傳遞一個很大的字符串,在引發緩沖區溢出,改變活動紀錄的同時植入了代碼。這個是由Levy指出的攻擊的模板。因為C在習慣上只為用戶和參數開辟很小的緩沖區,因此這種漏洞攻擊的實例十分常見。

代碼植入和緩沖區溢出不一定要在在一次動作內完成。攻擊者可以在一個緩沖區內放置代碼,這是不能溢出的緩沖區。然后,攻擊者通過溢出另外一個緩沖區來轉移程序的指針。這種方法一般用來解決可供溢出的緩沖區不夠大(不能放下全部的代碼)的情況。

如果攻擊者試圖使用已經常駐的代碼而不是從外部植入代碼,他們通常必須把代碼作為參數調用。舉例來說,在libc(幾乎所有的C程序都要它來連接)中的部分代碼段會執行“exec(something)”,其中somthing就是參數。攻擊者然后使用緩沖區溢出改變程序的參數,然后利用另一個緩沖區溢出使程序指針指向libc中的特定的代碼段。

三、 緩沖區溢出攻擊的實驗分析

2000年1月,Cerberus 安全小組發布了微軟的IIS 4/5存在的一個緩沖區溢出漏洞。攻擊該漏洞,可以使Web服務器崩潰,甚至獲取超級權限執行任意的代碼。目前,微軟的IIS 4/5 是一種主流的Web服務器程序;因而,該緩沖區溢出漏洞對于網站的安全構成了極大的威脅;它的描述如下:

瀏覽器向IIS提出一個HTTP請求,在域名(或IP地址)后,加上一個文件名,該文件名以“.htr”做后綴。于是IIS認為客戶端正在請求一個“.htr”文件,“.htr”擴展文件被映像成ISAPI(Internet Service API)應用程序,IIS會復位向所有針對“.htr”資源的請求到 ISM.DLL程序 ,ISM.DLL 打開這個文件并執行之。

瀏覽器提交的請求中包含的文件名存儲在局部變量緩沖區中,若它很長,超過600個字符時,會導致局部變量緩沖區溢出,覆蓋返回地址空間,使IIS崩潰。更進一步,在如圖1所示的2K緩沖區中植入一段精心設計的代碼,可以使之以系統超級權限運行。

四、緩沖區溢出攻擊的防范方法

緩沖區溢出攻擊占了遠程網絡攻擊的絕大多數,這種攻擊可以使得一個匿名的Internet用戶有機會獲得一臺主機的部分或全部的控制權。如果能有效地消除緩沖區溢出的漏洞,則很大一部分的安全威脅可以得到緩解。

目前有四種基本的方法保護緩沖區免受緩沖區溢出的攻擊和影響。在四.1中介紹了通過操作系統使得緩沖區不可執行,從而阻止攻擊者植入攻擊代碼。在四.2中介紹了強制寫正確的代碼的方法。在四.3中介紹了利用編譯器的邊界檢查來實現緩沖區的保護。這個方法使得緩沖區溢出不可能出現,從而完全消除了緩沖區溢出的威脅,但是相對而言。

1

原文出自【比特網】,轉載請保留原文鏈接:http://sec.chinabyte.com/104/9186604.shtml

 

責任編輯:佚名 來源: 中國IT實驗室
相關推薦

2010-09-29 15:10:58

2022-05-07 08:27:42

緩沖區溢出堆棧

2014-07-30 11:21:46

2009-09-24 18:16:40

2010-09-08 15:43:18

2011-11-15 16:00:42

2019-02-27 13:58:29

漏洞緩沖區溢出系統安全

2017-01-09 17:03:34

2019-01-11 09:00:00

2018-01-26 14:52:43

2009-05-13 09:21:48

2019-03-06 09:00:38

ASLRLinux命令

2010-12-27 10:21:21

2010-09-29 15:20:29

2012-09-27 09:25:50

2011-03-23 12:39:44

2015-03-06 17:09:10

2012-07-26 09:39:01

2011-03-23 11:35:00

2015-09-02 09:01:03

點贊
收藏

51CTO技術棧公眾號

妞干网在线播放| 国产成人精品影视| 99re6在线视频| 中文字幕亚洲欧美日韩高清 | 人善交video高清| 国内精品久久久久久影视8| 国产欧美一二三区| 欧美日韩大片免费观看| 国产剧情演绎av| 亚洲淫片在线视频| 欧美日韩一区二区三区不卡| 天堂精品中文字幕在线| 天堂中文av在线资源库| 成年人视频网站免费| 久久亚洲精品毛片| 亚洲嫩草精品久久| 亚洲激情中文在线| 精品视频在线一区二区| 97精品国产97久久久久久粉红| 久久久精品免费视频| 亚洲欧美日韩在线不卡| 欧美一区网站| 国产极品在线观看| 午夜视频你懂的| 成人在线视频网站| 日韩区在线观看| 91在线视频18| 久久要要av| ****av在线网毛片| 91极品视频在线观看| 国产一区二区在线免费视频| 欧美久久一区二区| 成a人片国产精品| 要久久爱电视剧全集完整观看| 成人网视频在线观看| 青春草在线视频免费观看| 91精品国产91久久久久久| 色丁香久综合在线久综合在线观看| 久久精品99久久久| 精品亚洲免a| 国产原厂视频在线观看| 尤物av无码色av无码| 成人av在线天堂| 欧美精品一区二区三区四区| 国产精品热久久久久夜色精品三区| 黄色欧美成人| 本网站久久精品| 日本在线丨区| www.av毛片| 91九色对白| 精品国内自产拍在线观看| 一本色道综合亚洲| 91视频免费播放| 黄色成人在线网址| 欧美片网站免费| www.亚洲视频| 日本精品久久久久中文字幕| 国产a一区二区| 欧美成人合集magnet| 欧美另类一区二区三区| 黑人精品视频| 开心快乐六月丁香婷婷| 日本精品免费视频| 亚洲www在线观看| 中文字幕久精品免费视频| 色婷婷久久综合| 国产日产精品1区| 轻轻草成人在线| 日韩欧美三级| 成人免费网址| 中文字幕在线看| 国产亚洲天堂网| 欧美久久电影| 国产精品成人v| 久久夜色精品亚洲噜噜国产mv| 在线电影院国产精品| 亚洲靠逼com| 99精品热视频| 精一区二区三区| 亚洲高清成人| 青青草成人影院| 亚洲一区二区三区四区电影 | 久久婷婷蜜乳一本欲蜜臀| 精品3atv在线视频| 国产精品国产精品| 霍思燕三级露全乳照| 亚洲校园欧美国产另类| 四色成人av永久网址| 亚洲这里只有精品| 免费亚洲精品视频| 国产欧美日韩中文字幕在线| 日本91av在线播放| 成人福利视频网站| 欧美日韩一区二区高清| 日本免费一区二区三区视频| 污视频在线免费观看网站| 满满都是荷尔蒙韩剧在线观看| 亚洲熟妇av一区二区三区漫画| 涩涩涩999| 成人永久免费| 国产成人涩涩涩视频在线观看| 久久视频这里只有精品| 亚洲女人天堂色在线7777| 91精品国产综合久久蜜臀| 色综合综合网| 欧美freesex| 污污片在线免费视频| 成人免费在线电影| 轻轻色免费在线视频| av网站在线不卡| 欧美日韩亚洲一| 免费特级黄色片| 大桥未久一区二区三区| 四虎永久在线精品免费一区二区| 精品视频一区二区| aaa级精品久久久国产片| 成人写真视频福利网| 国产精品网站视频| 国产精品扒开腿做| 国产xxx69麻豆国语对白| 91国语精品自产拍在线观看性色| 欧美裸体xxxx极品少妇| 久久夜色撩人精品| 超碰精品一区二区三区乱码| 精品国产欧美一区二区三区成人| 尤物yw午夜国产精品视频| 中文字幕精品网| 色婷婷av一区二区三区在线观看| 日韩精品久久久久 | 国产日本欧美一区| 国产精品免费一区二区三区都可以 | 91av在线免费观看视频| 午夜精品视频网站| 欧美成年人在线观看| 欧美成人免费网| 欧美激情图片区| 青青久久aⅴ北条麻妃| 国产精品久久久久久久久久三级 | 中文字幕乱码人妻综合二区三区 | 欧美国产精品va在线观看| 九九久久综合网站| 国内免费精品永久在线视频| 91精品国产沙发| 国产精品777| 91精品免费| 欧美精品一区二区三区四区五区 | 日韩在线观看你懂的| 久久视频免费观看| 久久免费观看视频| 国产成人精品一区| 狂野欧美xxxx韩国少妇| av资源站一区| 国产精品a久久久久久| 阿v视频在线| 国产精品福利一区| 热re91久久精品国99热蜜臀| 国产精品视频一二三四区| 日韩精品中文字| 亚洲欧美综合图区| 久久精品影视伊人网| 国模私拍一区二区三区| 国产精品久久久久久久美男| 亚洲free性xxxx护士白浆| 久久国产一区| 国产在线无码精品| 成人免费毛片播放| 亚洲尤物在线视频| 中文字幕免费高清电视剧网站在线观看| 成入视频在线观看| 欧美激情三级| 亚洲国产一成人久久精品| 久久综合狠狠| 91免费看视频| 日本在线一区二区三区| 国产精品12p| 2022亚洲天堂| 国产美女免费观看| 99免在线观看免费视频高清| 天堂а√在线最新版中文在线| 伊人精品久久| 欧美女人交a| 国产成人超碰人人澡人人澡| 91欧美极品| 美女亚洲一区| 在线高清一区| 国产aⅴ综合色| 亚洲影院理伦片| 91精品国产一区二区三区| 国产一区二区三区久久精品| 97精品在线观看| 精品不卡一区二区三区| 成人免费播放器| 在线国产网址| 福利在线免费视频| 女同久久另类99精品国产| 亚洲一区日韩在线| 中文字幕av免费专区久久| 色天天综合久久久久综合片| 亚洲性日韩精品一区二区| 国产精品久久一区主播|