999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談緩沖區(qū)溢出

2009-09-29 08:58:18于棣維劉永隆
新媒體研究 2009年14期
關鍵詞:安全性

于棣維 劉永隆

[摘要]詳細闡述常見的緩沖區(qū)溢出。針對這些緩沖區(qū)溢出提出相應的防范策略,以此來增強系統(tǒng)的安全性。

[關鍵詞]緩沖區(qū) 溢出 安全性

中圖分類號:TP3文獻標識碼:A 文章編號:1671-7597(2009)0720067-01

一、緩沖區(qū)溢出概述

(一)緩沖區(qū)溢出的概念。緩沖區(qū)是內存中存放數據的地方,一般來說,它是“包含相同數據類型的實例的一個連續(xù)計算機內存塊”,它保存了給定類型的數據。在C和C++中,緩沖區(qū)通常是使用數組和諸如malloc()和new()這樣的內存分配例程來實現(xiàn)的。最常見的緩沖區(qū)種類是簡單的字符數組。

緩沖區(qū)溢出指的是一種常見且危害很大的系統(tǒng)攻擊手段,通過向程序的緩沖區(qū)寫入超出其長度的內容,造成緩沖區(qū)的溢出,從而破壞程序的堆棧,使程序轉而執(zhí)行其他的指令,以達到攻擊的目的。

(二)緩沖區(qū)溢出攻擊原理。當正常的使用者操作程序的時候,所進行的操作一般不會超出程序的運行范圍,數據被添加到分配給該緩沖區(qū)的內存塊之外,會發(fā)生緩沖區(qū)溢出,這時候就會出現(xiàn)數據泄漏或侵占了其它的數據空間。

緩沖區(qū)溢出的攻擊原理就是越過緩沖區(qū)長度界限向程序中輸入超出其常規(guī)長度的內容,造成緩沖區(qū)的溢出從而破壞程序的堆棧,使程序運行出現(xiàn)特殊的問題轉而執(zhí)行其它指令。

一般來說,單單的緩沖區(qū)溢出,并不會產生安全問題,如果將溢出送到能夠以root權限或其它超級權限運行命令的區(qū)域去執(zhí)行某些代碼或者運行一個shell的時候,該程序就是以超級用戶的權限控制了計算機。

(三)緩沖區(qū)溢出分類。緩沖區(qū)溢出,主要是由于不良的編程習慣引起的。CC++語言之所以長盛不衰,而且應用范圍非常廣,主要原因在于它給編程人員編程提供了更大的靈活性,具有高效、快速的特點。而與此同時它也提供了很多容易使人出現(xiàn)編程漏洞的方法,比如gets()、scanf()、sprintf()等等,缺乏安全有效、簡單易行的字符串處理后果,還忽略了錯誤的后果。常見危險的CC++語言的API及其說明。一般來說,可以將緩沖區(qū)溢出分為以下幾類:棧溢出、堆溢出、數組索引錯誤、格式化字符串bug、以及Unicode(統(tǒng)一字符串編碼標準)和ANSI(美國國家標準協(xié)會)之間緩沖區(qū)大小不匹配等。1.棧溢出。如果向一個在棧上聲明的緩沖區(qū)中復制數據,但是復制的數據量比緩沖區(qū)大的時候,就會發(fā)生靜態(tài)緩沖區(qū)溢出(詳例見程序3.2)。在棧上聲明的各種變量的位置就緊靠著函數調用程序的返回地址,通常出現(xiàn)的錯誤就是用戶輸入的數據沒有經過驗證,就傳遞給類似strcpy()這樣的函數,產生的后果就是調用函數的返回地址將被攻擊者選擇的某個地址覆蓋。在一個常規(guī)攻擊下,攻擊者可以通過一個緩沖區(qū)溢出的應用程序執(zhí)行對他們有益的操作,比如用戶輸入的內容并不是沒有經過驗證,或者僅僅幾個有限的字符才在緩沖區(qū)中適用的情況。棧溢出相對來說非常簡單,一個簡單的程序員就可以實現(xiàn),在真正的攻擊中,只要將一組取得shell權限的代碼轉化為機器碼,然后放在相應的位置,就可以對被攻擊者造成巨大的破壞。2.堆溢出。堆(HEAP)是指通過malloc()或new動態(tài)分配的內存。在很多的操作系統(tǒng)里,大部分內存區(qū)是由內核一級分配的,而heap段是由應用程序分配的,在編譯的時候被初始化。BSS是包含未被初始化的數據,在程序運行的時候才被分配,在被寫入數據前,它可以被看作保持全零。堆溢出的思路很簡單,覆蓋重要的變量以達到自己的目的。而在實際操作的時候,這顯得比較困難,尤其是源代碼不可見的時候。第一,你必須確定哪個變量是重要的變量;第二,你必須找到一個內存地址比目標變量低的溢出點;第三,在特定目的下,你還必須讓在為了覆蓋目標變量而在中途覆蓋了其他變量之后,程序依然能運行下去。3.數據索引錯誤。數組索引比起緩沖區(qū)溢出來說,出現(xiàn)的比較少一些,其實,字符串也是一個字符數組,既然字符串能寫入任意的位置,數組也是一樣。對于32位操作系統(tǒng)來說,0x100000000和0x00000000其實是同樣一個值,所以,這就使得數據索引的值可能低于數組的基址。某著名的的漏洞就與截斷誤差有關,在一個UNIX操作系統(tǒng)上,root(超級用戶)賬戶的用戶ID為0。網絡文件系統(tǒng)中的deamon(一種后臺服務)將接受一個帶符號整數的用戶ID,并且檢查這個數值是否為0,然后將這個值截取為一個無符號短整形(unsigned short)。這個缺陷允許用戶輸入0x10000的非0值,但是截斷以后,就變成了0x0000,那么操作系統(tǒng)就會給它超級用戶的權限。4.格式化字符串漏洞。這個漏洞相對來說不算大,而且在windows系統(tǒng)中很難發(fā)現(xiàn)這類漏洞,在早期的UNIX或類UNIX系統(tǒng)的應用程序中,發(fā)現(xiàn)了大量的格式化字符串bug。如果關注安全性較差的郵件列表,就會發(fā)現(xiàn)格式化字符串的bug了。比如說printf(input);就存在漏洞,該方法也許不知道如果格式化字符串。當然,使用printf(“%s”,input)就不存在漏洞了。這種漏洞很容易避免,只要制定相應的格式化就可以了。

二、緩沖區(qū)溢出防御

根據緩沖區(qū)溢出的原理,針對攻擊者的攻擊目標可作相應的保護,從而防御可能的緩沖區(qū)溢出攻擊。目前針對緩沖區(qū)溢出主要有四種防御措施。

(一)編寫正確安全的程序代碼。針對實施攻擊的對象常常是某個系統(tǒng)中的程序,可采用安全編程的方法,編寫正確安全的代碼從而防止緩沖區(qū)溢出。主要有盡可能限制擁有系統(tǒng)特權的程序盡可能采用安全的函數和用相應的工具和技術對原碼中易產生漏洞的庫調用進行檢查等。

(二)對數組邊界實施檢查。緩沖區(qū)溢出攻擊的各種方法都是利用了C語言中的無邊界檢查的漏洞,因此對于C中的數組邊界實施檢查以防止數組的邊界溢出,即可杜絕緩沖區(qū)溢出的問題。

(三)對程序指針的完整性實施檢查。程序指針的完整性檢查是指對程序的引用指針在引用時實施檢查,以檢測其是否改變。即使攻擊者成功地改變了程序指針,但由于系統(tǒng)檢測到程序指針的改變,這一程序指針也不會被引用。

(四)對操作系統(tǒng)內核實行分段限制采用非執(zhí)行緩沖區(qū)。這種方法通過修改操作系統(tǒng)的內核分段限制,使其不覆蓋實際的棧空間,除去堆棧執(zhí)行的特權,從而使攻擊代碼無法執(zhí)行。

三、總結

緩沖區(qū)溢出的攻擊與防御的技術正在日新月異的發(fā)展,各種網絡滲透技術不斷出現(xiàn),而隨著人們安全意識的加強,漏洞的利用越來越困難,要求的技術越來越高級,本文在這方面做了一些工作,但還有很多其他相關技術需要研究,現(xiàn)在Windows的內核溢出已經被發(fā)現(xiàn),本文在這方面也沒有談及,希望在以后的工作中,在這些方面都有進一步的研究。緩沖區(qū)的防御現(xiàn)在是一個大的難題,希望在以后的工作中能有所突破。

參考文獻:

[1](美)JAMES C.FOSTER,《緩沖區(qū)溢出攻擊——檢測、剖析與預防》,清華大學出版社,2006.12.

[2]王清,《0 day安全:軟件漏洞分析技術》,電子工業(yè)出版社,2008.4.

猜你喜歡
安全性
兩款輸液泵的輸血安全性評估
新染料可提高電動汽車安全性
既有建筑工程質量安全性的思考
某既有隔震建筑檢測與安全性鑒定
基于安全性需求的高升力控制系統(tǒng)架構設計
加強廣播電視信息安全性的思考
科技傳播(2019年22期)2020-01-14 03:05:32
網約車安全性提高研究
活力(2019年17期)2019-11-26 00:42:18
注意藥酒服用的安全性
田間施用滅幼脲在桃中的殘留安全性評估
ApplePay橫空出世 安全性遭受質疑 拿什么保護你,我的蘋果支付?
主站蜘蛛池模板: 国产成人无码久久久久毛片| 日韩精品毛片| 免费一看一级毛片| 中文字幕天无码久久精品视频免费| 国产农村1级毛片| 国产人成在线观看| 欧美午夜视频| 男人的天堂久久精品激情| 国产二级毛片| 国产精品粉嫩| 一本久道久久综合多人| 丁香六月综合网| 看看一级毛片| 亚洲无码熟妇人妻AV在线| 国产va在线| 丝袜无码一区二区三区| 尤物在线观看乱码| 国产成人无码Av在线播放无广告| 国内精品视频| 美女无遮挡被啪啪到高潮免费| 成年人久久黄色网站| 国产成人精品视频一区二区电影 | 成人日韩视频| 精品亚洲国产成人AV| 国产美女丝袜高潮| 久久精品只有这里有| 国产成人1024精品下载| 国产真实乱人视频| 亚洲天堂免费| 国产高清在线丝袜精品一区| 四虎永久在线视频| 国产精品va免费视频| 青青草久久伊人| 亚洲无码免费黄色网址| 91精品免费高清在线| 欧美第九页| 亚洲人成在线精品| yjizz视频最新网站在线| 毛片手机在线看| 人妻丰满熟妇AV无码区| 永久天堂网Av| 亚洲欧美日韩动漫| h视频在线播放| 亚洲国产日韩欧美在线| 亚洲中文在线视频| 国产区成人精品视频| 国产人成在线视频| 福利在线一区| 国产精品.com| 亚洲视频四区| 国产一级视频久久| 91在线国内在线播放老师 | 久久精品国产免费观看频道| 婷婷五月在线视频| 尤物在线观看乱码| 波多野结衣AV无码久久一区| 国产在线小视频| 久久精品中文字幕免费| 亚洲日韩高清在线亚洲专区| 九九热视频精品在线| 国产尹人香蕉综合在线电影| 日韩欧美中文字幕一本| 中日无码在线观看| 一级做a爰片久久免费| 网友自拍视频精品区| 日本三区视频| 国产精品主播| 亚洲一区二区黄色| 超碰91免费人妻| 亚洲日本精品一区二区| 五月天综合网亚洲综合天堂网| 国产美女91呻吟求| 午夜综合网| 中文纯内无码H| 国内精自线i品一区202| 亚洲一区二区三区在线视频| 青青青国产在线播放| 精品久久人人爽人人玩人人妻| 99999久久久久久亚洲| 日韩天堂在线观看| 欧美激情第一区| 伊人色综合久久天天|