亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺談緩沖區(qū)溢出

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

        于棣維 劉永隆

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

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

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

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

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

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

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

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

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

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

        三、總結

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

        參考文獻:

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

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

        猜你喜歡
        緩沖區(qū)安全性
        嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設計與實現
        面向數據中心網絡的緩沖區(qū)優(yōu)化策略研究
        兩款輸液泵的輸血安全性評估
        既有建筑工程質量安全性的思考
        某既有隔震建筑檢測與安全性鑒定
        米氮平治療老年失眠伴抑郁癥的療效及安全性
        嫩江重要省界緩沖區(qū)水質單因子評價法研究
        ApplePay橫空出世 安全性遭受質疑 拿什么保護你,我的蘋果支付?
        關鍵鏈技術緩沖區(qū)的確定方法研究
        Imagination發(fā)布可實現下一代SoC安全性的OmniShield技術
        国产av一区二区凹凸精品| 免费人成视频xvideos入口| 欧美日韩国产一区二区三区不卡| 亚州精品无码久久aV字幕| 日韩精品有码中文字幕在线| 无码一区二区三区老色鬼| 国产亚洲精品福利在线| 青青草视频在线观看9| 国产女人精品视频国产灰线| 国产精品久久国产精麻豆99网站| 亚洲国产精品福利片在线观看| 亚洲AV秘 片一区二区三| 日韩精品综合在线视频| 日韩精品熟妇一区二区三区| 边啃奶头边躁狠狠躁| 亚洲aⅴ无码日韩av无码网站| av免费观看在线网站| 中文字幕无码乱人伦| 国产香蕉尹人在线观看视频| 在线观看国产精品91| 久久精品人妻一区二三区| 亚洲成熟丰满熟妇高潮xxxxx| 久久久久人妻一区二区三区| 亚洲欧美另类激情综合区| 国产精品久久久久免费a∨不卡| 日韩精品一区二区亚洲专区| 亚洲av乱码一区二区三区按摩| 国产精品久久久av久久久| 色偷偷女人的天堂亚洲网| 日韩精品中文字幕一区二区 | 大肉大捧一进一出视频| 国产香蕉尹人综合在线观| 一区二区三区视频偷拍| 国产自国产自愉自愉免费24区| 在线va免费看成| 国产精品亚洲综合色区丝瓜| 精品国产亚洲av高清大片| 久久无码专区国产精品s| 久久水蜜桃亚洲av无码精品麻豆| av亚洲在线一区二区| av网站在线观看大全|