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

圖書館局域網緩沖區溢出漏洞原理分析

2012-10-13 13:19:56黃惠烽
赤峰學院學報·自然科學版 2012年9期
關鍵詞:程序圖書館

黃惠烽

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

圖書館局域網緩沖區溢出漏洞原理分析

黃惠烽

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

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

局域網;緩沖區溢出漏洞;原理;預防

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

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

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

1 緩沖區溢出簡介

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

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

2 緩沖區溢出漏洞的原理

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

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

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

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

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

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

在網絡上最常見的是通過制造緩沖區溢出使程序運行一個用戶shell,再通過shell執行其它命令.如果該程序屬于root且有suid權限的話,攻擊者就獲得了一個有root權限的shell,可以對系統進行任意操作了.在執行溢出的電腦打開DOS(shell).只要很簡單的一段程序:

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

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

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

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

(2)使程序跳轉到預定的程序中去方法.當程序沒有通過緩沖區溢出檢查時,就會產生一個相應的緩沖區,它會影響程序的執行順序,使得程序跳轉到一個未知的地址.

3 預防緩沖區溢出方法

目前預防緩沖區溢出的方法有很多種,但是基本有三種基本方法:

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

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

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

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

4 結束語

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

〔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平臺的漏洞挖掘和漏洞利用技術研究[J].上海交通大學(學位論文),2007.

G250.73

A

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

猜你喜歡
程序圖書館
圖書館
文苑(2019年20期)2019-11-16 08:52:12
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
時間重疊的圖書館
文苑(2018年17期)2018-11-09 01:29:40
圖書館
小太陽畫報(2018年1期)2018-05-14 17:19:25
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
飛躍圖書館
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
圖書館里的是是非非
主站蜘蛛池模板: 国产亚洲精品资源在线26u| 中文字幕免费视频| 97久久超碰极品视觉盛宴| 日韩中文欧美| 谁有在线观看日韩亚洲最新视频| 操操操综合网| 亚洲一区精品视频在线| 日韩欧美国产综合| 午夜高清国产拍精品| 精品伊人久久久久7777人| 国产亚洲精品97在线观看| 萌白酱国产一区二区| 成人伊人色一区二区三区| 永久免费精品视频| 色综合婷婷| 无码专区第一页| 国产精品偷伦视频免费观看国产 | 四虎影视8848永久精品| 特级做a爰片毛片免费69| 666精品国产精品亚洲| 欧美日韩亚洲国产主播第一区| 欧美伦理一区| 福利在线不卡| 激情国产精品一区| 国产99视频在线| 国产精品第三页在线看| 国产一级视频在线观看网站| 国产91视频观看| 亚洲精品va| 91蜜芽尤物福利在线观看| 精品久久久久久久久久久| 日韩在线播放中文字幕| 国产偷国产偷在线高清| 91成人试看福利体验区| 2019国产在线| 国产一级在线观看www色| 青青草国产精品久久久久| 福利片91| 在线色综合| 日韩黄色在线| 午夜成人在线视频| 亚洲性视频网站| 亚洲AⅤ综合在线欧美一区| 97在线碰| 亚洲香蕉久久| 日本午夜视频在线观看| 亚洲一区二区约美女探花| 激情综合激情| 青青热久免费精品视频6| 69精品在线观看| 欧美午夜理伦三级在线观看| 国产欧美日韩18| 国产乱子伦无码精品小说| 又黄又湿又爽的视频| 久久性妇女精品免费| 国产乱子伦视频在线播放| 国产亚洲精品资源在线26u| 国产免费福利网站| 亚洲动漫h| 国内丰满少妇猛烈精品播| 在线永久免费观看的毛片| 中文字幕永久视频| 在线中文字幕网| 超碰免费91| 99资源在线| 国产一级片网址| 国产成人精品男人的天堂| 小蝌蚪亚洲精品国产| 亚洲国产精品一区二区第一页免| 先锋资源久久| 亚洲人网站| 无码一区二区三区视频在线播放| 成人在线观看不卡| 国产黄在线观看| 成人免费午夜视频| 色综合狠狠操| 色成人亚洲| 国产噜噜噜视频在线观看| 在线网站18禁| 亚洲欧美不卡| 看国产一级毛片| 国产一国产一有一级毛片视频|