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

圖書館局域網(wǎng)緩沖區(qū)溢出漏洞原理分析

2012-10-13 13:19:56黃惠烽
關(guān)鍵詞:程序圖書館

黃惠烽

(四川民族學(xué)院 圖書館,四川 康定 626001)

圖書館局域網(wǎng)緩沖區(qū)溢出漏洞原理分析

黃惠烽

(四川民族學(xué)院 圖書館,四川 康定 626001)

隨著數(shù)字圖書館的發(fā)展,圖書館局域網(wǎng)的安全工作越來越受到大家的重視,近年出現(xiàn)的緩沖區(qū)溢出漏洞也成為了網(wǎng)絡(luò)攻擊中最常用、最典型的攻擊漏洞.本文通過講述緩沖區(qū)溢出漏洞的原理,介紹了預(yù)防緩沖區(qū)溢出漏洞的相關(guān)方法,使得圖書館局域網(wǎng)盡量避免緩沖區(qū)溢出漏洞的攻擊.

局域網(wǎng);緩沖區(qū)溢出漏洞;原理;預(yù)防

隨著數(shù)字圖書館的不斷發(fā)展,圖書館局域網(wǎng)的安全也越來越受到人們的重視,圖書館管理系統(tǒng)中的讀者信息、圖書借還信息、藏書目錄和電子資源數(shù)據(jù)等信息都是圖書館的核心數(shù)據(jù),一旦這些數(shù)據(jù)遭遇丟失或損壞將會嚴重影響圖書館各部門的工作,嚴重時將導(dǎo)致圖書館工作的癱瘓.因此圖書館局域網(wǎng)安全工作不容刻緩.

現(xiàn)在的很多操作系統(tǒng)和應(yīng)用軟件或多或少都存在著各種安全隱患,從UNIX到Microsoft操作系統(tǒng)無一例外,只不過是這些系統(tǒng)的漏洞被發(fā)現(xiàn)時間的早晚不同,對系統(tǒng)造成的危害程度不同而已.作為網(wǎng)絡(luò)管理員應(yīng)該熟悉這些漏洞,并掌握這些漏洞的原理還和補救方法.

因編程缺陷或程序設(shè)計語言中的問題造成的緩沖區(qū)溢出問題是一種廣泛存在的安全漏洞,人們對緩沖區(qū)溢出的漏洞早已有所了解,這方面的漏洞在圖書館局域網(wǎng)中也是時有發(fā)生的,但是直到近幾年,才引起了人們的重視,因此研究圖書館局域網(wǎng)中的緩沖區(qū)溢出漏洞非常必要.

1 緩沖區(qū)溢出簡介

緩沖區(qū)溢出英文叫Buffer overflow,它是一個非常危險而又常見的漏洞,它能在windows、Unix等操作系統(tǒng)存在,也可以在SQL sever、日歷程序、計算器程序和游戲程序等應(yīng)用軟件中存在.1988年發(fā)生的Morris“蠕蟲”事件就是利用緩沖區(qū)溢出漏洞的“杰作”之一,著名紅色代碼網(wǎng)絡(luò)病毒是根據(jù)微軟提供的因特網(wǎng)服務(wù)軟件IIS4.0、5.0中的一個緩沖區(qū)溢出漏洞傳播的.據(jù)統(tǒng)計,緩沖區(qū)溢出漏洞占了已確認漏洞的20%.這種漏洞被認為是輸入驗證漏洞的子集,輸入驗證漏洞則幾乎占了已確認漏洞的50%.對于軟件使用者來說,緩沖區(qū)溢出是最可怕的漏洞.它經(jīng)常會引起網(wǎng)絡(luò)蠕蟲、有助于利用的能動性的工具和入侵嘗試.但是,我們可以這樣說,發(fā)生緩沖區(qū)溢出的基本都是那些結(jié)構(gòu)比較差的軟件程序產(chǎn)品,它們基本上都存在一些不足之處.那么什么是緩沖區(qū)溢出呢?緩沖區(qū)溢出為什么能產(chǎn)生這么大的危害呢?

緩沖區(qū)溢出顧名思義就是緩沖區(qū)太小,裝不了足夠多的數(shù)據(jù),多出來的部分跑出來了.產(chǎn)生緩沖區(qū)溢出的主要原因是,當(dāng)向一個有限的緩沖區(qū)拷貝了過長的字符串時,這將導(dǎo)致過長的字符串覆蓋相鄰的存儲單元,從而引起程序運行失敗,個別人甚至可以惡意利用這種漏洞去執(zhí)行任意命令,取得系統(tǒng)的特權(quán),從而進行系統(tǒng)的攻擊和破壞.

2 緩沖區(qū)溢出漏洞的原理

我們需要知道什么是緩沖區(qū),一般來說,緩沖區(qū)就是分配的一塊存儲空間,其中可以存儲某種類型的文本或者數(shù)據(jù).程序員利用緩沖區(qū)的一塊或多塊數(shù)據(jù)提供系統(tǒng)預(yù)先制定的空間.例如,用C語言編寫程序時會經(jīng)常用到緩沖區(qū)來存放用戶輸入的姓名,程序員必須首先判斷姓名緩沖區(qū)要求有多少字符,該字段允許多少字符,或者用戶在給定的字段可以敲多少下鍵,這稱為字符緩沖區(qū)的大小.

一個程序通常由多個子程序(模塊)組成,程序規(guī)模越大,模塊就越多.當(dāng)對一個程序編譯以后,在內(nèi)存中劃分三種區(qū)域,分別存放程序代碼區(qū)、數(shù)據(jù)區(qū)和堆棧區(qū).其中程序中定義的各種變量和緩沖區(qū)存放在數(shù)據(jù)區(qū),調(diào)用子程序的返回地址存放在堆棧區(qū),當(dāng)控制從子程序返回時,按照堆棧頂指示的地址返回到主控程序.

在利用C語言編寫程序時一般要用到輸入函數(shù)來獲得用戶輸入的姓名.當(dāng)用戶試圖將超過緩沖區(qū)能夠處理的更多的姓名字符輸入到緩沖區(qū)時,程序中如果沒有緩沖區(qū)越界檢查機制,當(dāng)超長的字符串輸入后,就會產(chǎn)生緩沖區(qū)的溢出.例如,如果程序員編寫的程序中定義:char name[15],當(dāng)輸入超過15個字節(jié)長的字符串后,就會溢出字符緩沖區(qū).

在C語言中它是假定了緩沖區(qū)的長度是足夠的,所以數(shù)組是不進行邊界檢查的.但是實踐中往往會出現(xiàn)特殊情況,當(dāng)向局部變量拷貝了一個超過定義長度的字符串時,這時候其他的變量空間將會被超出的字符串所覆蓋,這時變量就會出現(xiàn)異常情況.另一種情況下,由于超出的字符串覆蓋了子程序的返回地址,子程序返回時便可能轉(zhuǎn)向一個未知的地址,從而使程序發(fā)生錯誤.

讓我們來看看另一個例子:

這個程序的函數(shù)明顯有一個內(nèi)存緩沖區(qū)編碼錯誤.這個函數(shù)出現(xiàn)錯誤的主要原因,一是因為沒有進行邊界檢查就復(fù)制了字符串,二是錯誤地使用了strcpy()而沒有使用strncpy().所以運行這個程序就會產(chǎn)生段錯誤,strcpy()將*str的內(nèi)容(lars[])復(fù)制到bf[]里,到在字符串中碰到一個空字符.顯然,*s比 bf[]大得多,bf[]只有26個字節(jié),而 *s有356個字節(jié)的內(nèi)容.當(dāng)程序執(zhí)行到這個地方時,bf之后的堆棧中330個字節(jié)將會全被覆蓋.當(dāng)函數(shù)返回時,程序嘗試讀取返回地址的下一個指令,此時就會得到一個段錯誤.

在網(wǎng)絡(luò)上最常見的是通過制造緩沖區(qū)溢出使程序運行一個用戶shell,再通過shell執(zhí)行其它命令.如果該程序?qū)儆趓oot且有suid權(quán)限的話,攻擊者就獲得了一個有root權(quán)限的shell,可以對系統(tǒng)進行任意操作了.在執(zhí)行溢出的電腦打開DOS(shell).只要很簡單的一段程序:

只要到這里就獲得shell了,再通過shell執(zhí)行其它命令,黑客們可以激動地擁有了一臺“肉雞”,可以對這臺電腦為所欲為了.

下面我們再來看一下緩沖區(qū)溢出漏洞的攻擊過程:

首先對ROOT程序進行試探性攻擊,然后執(zhí)行類似exec(sh)的執(zhí)行代碼來獲得具有root權(quán)限的shell.此步可再分二步走:a.植入一定的代碼到程序中b.初始化內(nèi)存和寄存器,使程序跳轉(zhuǎn)到預(yù)定的程序中去.步驟如下:

(1)植入一定的代碼到程序中.當(dāng)攻擊者輸入一個字符串到被攻擊程序時,這個字符串會被放到緩沖區(qū)里去.該字符串的相關(guān)信息就成為了可以運行的一些指令序列.在這個時候攻擊代碼就可以存放在被攻擊程序的緩沖區(qū)中去.第二種是利用已經(jīng)存在的代碼.前提是攻擊者想要的代碼已經(jīng)在被攻擊的程序中了.這時候需要完成的任務(wù)是對代碼參數(shù)的傳遞.

(2)使程序跳轉(zhuǎn)到預(yù)定的程序中去方法.當(dāng)程序沒有通過緩沖區(qū)溢出檢查時,就會產(chǎn)生一個相應(yīng)的緩沖區(qū),它會影響程序的執(zhí)行順序,使得程序跳轉(zhuǎn)到一個未知的地址.

3 預(yù)防緩沖區(qū)溢出方法

目前預(yù)防緩沖區(qū)溢出的方法有很多種,但是基本有三種基本方法:

(1)通過給操作系統(tǒng)添加補丁等辦法,一旦某個漏洞被廠家的補丁程序修補了,那么針對該漏洞的攻擊手段也將失效,這樣緩沖區(qū)就不能執(zhí)行,攻擊代碼就不能寫入操作系統(tǒng).

(2)編寫程序時要使用正確的方法,避免所拷貝的字符串長度超過所定義的字符串長度,保證代碼的正確性.

(3)通過編譯器作為關(guān)卡,實現(xiàn)邊界檢查,這樣可以實現(xiàn)保護緩沖區(qū)的目的,避免了緩沖區(qū)的溢出.

但是不管編寫什么程序,做到?jīng)]有錯誤是極其困難的,即使最仔細的復(fù)查通常也會遺漏其中一些錯誤.開發(fā)安全程序的最重要方法之一是最小化特權(quán).那意味著程序的各個部分應(yīng)該具有它們需要的唯一特權(quán),一點也不能多.這樣即使程序具有缺陷,也可能會避免將該缺陷轉(zhuǎn)化為安全事故.

4 結(jié)束語

緩沖區(qū)溢出漏洞問題并不是一個新問題,許多常見的工具都容易受到緩沖區(qū)溢出的攻擊.但入侵者需要很高的技巧才能實現(xiàn)緩沖區(qū)溢出的攻擊.實際上也確實很少入侵者有高超的編程知識來做到這一點.為了防止系統(tǒng)不受到緩沖區(qū)溢出攻擊,應(yīng)該要求程序員在編程時,限制緩沖區(qū)的輸入字符數(shù),使它們不超過緩沖區(qū)的定義長度,這樣就不會產(chǎn)生緩沖區(qū)溢出問題.

〔1〕Necula G C;Mc Peak S;Weimer W CCured:typesafe retrofitting of legacy code 2002.

〔2〕U Hermann Overview of pscan source package 2006.

〔3〕Z Lin;B Mao;L Xie LibsafeXP.A practical and transparent tool for run-time buffer over flow preventions 2006.

〔4〕Luk C;Cohn R;Muth R Pin:Building Customized Program Analysis Tools with Dynamic Instrumentation 2005.

〔5〕Taeho Oh.Advanced Buffer Overfiow Expioit [ EB/OL]。 http://postech.edu/ohhara,2004-09.

〔6〕Vendicator,StackShield:A stack smashing technique protection tool for Linux 2010.

〔7〕徐啟杰.基于Win32平臺的漏洞挖掘和漏洞利用技術(shù)研究[J].上海交通大學(xué)(學(xué)位論文),2007.

G250.73

A

1673-260X(2012)05-0131-02

猜你喜歡
程序圖書館
圖書館
文苑(2019年20期)2019-11-16 08:52:12
試論我國未決羈押程序的立法完善
時間重疊的圖書館
文苑(2018年17期)2018-11-09 01:29:40
圖書館
小太陽畫報(2018年1期)2018-05-14 17:19:25
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
飛躍圖書館
創(chuàng)衛(wèi)暗訪程序有待改進
去圖書館
主站蜘蛛池模板: 国产亚洲精久久久久久久91| 欧美午夜理伦三级在线观看| 欧美曰批视频免费播放免费| 青青久久91| 国产福利小视频在线播放观看| 亚洲视频三级| 福利在线免费视频| 午夜一区二区三区| 亚洲婷婷丁香| 在线观看精品国产入口| 欧美精品高清| 99免费视频观看| 宅男噜噜噜66国产在线观看| 综合久久五月天| 91福利片| 久热中文字幕在线| 国产农村1级毛片| 67194成是人免费无码| 天天婬欲婬香婬色婬视频播放| 亚洲国产精品不卡在线| 欧美一级大片在线观看| 91精品啪在线观看国产60岁| 国产在线98福利播放视频免费| 欧美黑人欧美精品刺激| 亚洲一区国色天香| 亚洲天天更新| 亚亚洲乱码一二三四区| 国产成人综合网| 日韩在线观看网站| 日韩精品亚洲精品第一页| 国产成人精品男人的天堂下载| 午夜福利网址| 欧美成人手机在线视频| 色综合五月| 日本免费高清一区| 婷婷午夜天| a级毛片一区二区免费视频| 国产麻豆永久视频| 自拍亚洲欧美精品| 欧美三级视频在线播放| 国产精品观看视频免费完整版| 国产三级a| 免费观看男人免费桶女人视频| 亚洲水蜜桃久久综合网站| aa级毛片毛片免费观看久| 亚洲精品黄| 国产精品乱偷免费视频| 欧美在线天堂| 国产一区二区影院| 在线欧美国产| 九九九久久国产精品| 91麻豆国产视频| 日韩亚洲综合在线| 毛片免费高清免费| 免费人成视网站在线不卡| 又粗又大又爽又紧免费视频| 亚洲中文字幕国产av| 日韩欧美中文字幕在线精品| 激情在线网| 日韩免费毛片| 国产性生大片免费观看性欧美| 一级毛片免费的| 欧美一区二区精品久久久| 色婷婷视频在线| 国产成人亚洲日韩欧美电影| 天堂成人在线| 欧美人与牲动交a欧美精品| 亚洲专区一区二区在线观看| 91小视频版在线观看www| 波多野结衣一区二区三视频| 大陆精大陆国产国语精品1024| 曰韩人妻一区二区三区| 免费日韩在线视频| 少妇人妻无码首页| 99久久性生片| 找国产毛片看| 亚洲国产日韩在线成人蜜芽| 国产91在线|中文| 日本精品一在线观看视频| 精品人妻一区无码视频| 9966国产精品视频| 成人免费一区二区三区|