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橫空出世 安全性遭受質疑 拿什么保護你,我的蘋果支付?
主站蜘蛛池模板: 伊人婷婷色香五月综合缴缴情| 在线不卡免费视频| 国产精品极品美女自在线看免费一区二区| 国产青青操| 国产无码精品在线播放| 欧美另类一区| 波多野吉衣一区二区三区av| 欧美人在线一区二区三区| 欧美一级夜夜爽www| aa级毛片毛片免费观看久| 久久人午夜亚洲精品无码区| 国产偷国产偷在线高清| 国产福利免费视频| 色男人的天堂久久综合| 亚洲AV无码久久精品色欲| hezyo加勒比一区二区三区| 色网站免费在线观看| 91欧美在线| 狠狠做深爱婷婷综合一区| 五月天天天色| 欧美亚洲香蕉| 国产精品伦视频观看免费| 韩日午夜在线资源一区二区| 大陆国产精品视频| 成人一区在线| 国产欧美日韩另类精彩视频| 99re视频在线| 亚洲视频一区在线| 五月天福利视频| 91视频首页| 精品视频一区二区三区在线播| 99精品在线视频观看| 天天色综网| 成人欧美在线观看| 亚洲成人一区二区| 国产成人综合亚洲欧洲色就色 | 91免费国产高清观看| 欧美有码在线观看| 尤物精品视频一区二区三区| 亚洲天堂在线视频| 色窝窝免费一区二区三区 | 国产白浆一区二区三区视频在线| 亚洲国产成人精品无码区性色| 精品国产成人三级在线观看| 国产夜色视频| 久久香蕉国产线| 国产成人综合日韩精品无码不卡| 2021最新国产精品网站| 国产成人综合日韩精品无码首页| 国产成人无码AV在线播放动漫| 国产超碰在线观看| 国产swag在线观看| 国产在线视频导航| 亚洲高清日韩heyzo| 最新精品久久精品| 亚洲免费人成影院| 一级毛片免费播放视频| 国产成人一区在线播放| 精品人妻无码中字系列| 欧美成人精品高清在线下载| 国产一级α片| 日日拍夜夜嗷嗷叫国产| 国产第八页| 色综合成人| 欧美69视频在线| 精品无码日韩国产不卡av| 久久久久亚洲AV成人网站软件| 丝袜美女被出水视频一区| 国内精品久久久久久久久久影视 | 亚洲欧美日韩成人高清在线一区| 久久精品人人做人人综合试看| 波多野结衣一区二区三区AV| 高清无码一本到东京热| 国产99视频精品免费视频7| 国产成人夜色91| 视频一区视频二区中文精品| 国产激爽大片在线播放| 日韩黄色精品| 中文字幕在线看| 国产成年无码AⅤ片在线| 狠狠色香婷婷久久亚洲精品| 久久综合五月婷婷|