国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

深入淺出 分析Linux系統內核漏洞問題
2007-02-08   黑客基地 

與Windows相比,Linux被認為具有更好的安全性和其他擴展性能。這些特性使得Linux在操作系統領域異軍突起,得到越來越多的重視。隨著Linux應用量的增加,其安全性也逐漸受到了公眾甚或黑客的關注。那么,Linux是否真的如其支持廠商們所宣稱的那樣安全呢?

Linux內核精短、穩定性高、可擴展性好、硬件需求低、免費、網絡功能豐富、適用于多種cpu等特性,使之在操作系統領域異軍突起。其獨特的魅力使它不僅在pc機上占據一定的份額,而且越來越多地被使用在各種嵌入式設備中,并被當作專業的路由器,防火墻,或者高端的服務器OS來使用。各種類型的Linux發行版本也如雨后春筍般冒了出來,國內更是掀起了Linux的使用熱潮,很多政府部門因安全需要也被要求使用Linux。正是因為Linux被越來越多地使用,其安全性也漸漸受到了公眾的關注,當然,也更多地受到了黑客的關注。通常,我們討論Linux系統安全都是從Linux安全配置的角度或者Linux的安全特性等方面來討論的,而這一次我們轉換一下視角,從Linux系統中存在的漏洞與這些漏洞產生的影響來討論Linux的安全性。

首先來說明一下這次我們討論Linux系統安全的范圍,其實通常我們所說的Linux是指GNU/Linux系統,Linux是系統中使用的操作系統內核。這一次我們重點從Linux系統內核中存在的幾類非常有特點的漏洞來討論Linux系統的安全性。

權限提升類漏洞

一般來說,利用系統上一些程序的邏輯缺陷或緩沖區溢出的手段,攻擊者很容易在本地獲得Linux服務器上管理員權限root;在一些遠程的情況下,攻擊者會利用一些以root身份執行的有缺陷的系統守護進程來取得root權限,或利用有缺陷的服務進程漏洞來取得普通用戶權限用以遠程登錄服務器。目前很多Linux服務器都用關閉各種不需要的服務和進程的方式來提升自身的安全性,但是只要這個服務器上運行著某些服務,攻擊者就可以找到權限提升的途徑。下面是一個比較新的導致權限提升的漏洞。

do_brk()邊界檢查不充分漏洞在2003年9月份被Linux內核開發人員發現,并在9月底發布的Linux kernel 2.6.0-test6中對其進行了修補。但是Linux內核開發人員并沒有意識到此漏洞的威脅,所以沒有做任何通報,一些安全專家與黑客卻看到了此漏洞蘊涵的巨大威力。在2003年11月黑客利用rsync中一個未公開的堆溢出與此漏洞配合,成功地攻擊了多臺Debian與Gentoo Linux的服務器。

下面讓我們簡單描述一下該漏洞。該漏洞被發現于brk系統調用中。brk系統調用可以對用戶進程的堆的大小進行操作,使堆擴展或者縮小。而brk內部就是直接使用do_brk()函數來做具體的操作, do_brk()函數在調整進程堆的大小時既沒有對參數len進行任何檢查(不檢查大小也不檢查正負),也沒有對addr+len是否超過TASK_SIZE做檢查。這樣我們就可以向它提交任意大小的參數len,使用戶進程的大小任意改變以至可以超過TASK_SIZE的限制,使系統認為內核范圍的內存空間也是可以被用戶訪問的,這樣的話普通用戶就可以訪問到內核的內存區域。通過一定的操作,攻擊者就可以獲得管理員權限。這個漏洞極其危險,利用這個漏洞可以使攻擊者直接對內核區域操作,可以繞過很多Linux系統下的安全保護模塊。

此漏洞的發現提出了一種新的漏洞概念,即通過擴展用戶的內存空間到系統內核的內存空間來提升權限。當發現這種漏洞時,通過研究我們就認為內核中一定還會存在類似的漏洞,果然幾個月后黑客們又在Linux內核中發現與brk相似的漏洞。通過這次成功的預測,更證實了對這種新型的概念型漏洞進行研究很有助于安全人員在系統中發現新的漏洞。

拒絕服務類漏洞

拒絕服務攻擊是目前比較流行的攻擊方式,它并不取得服務器權限,而是使服務器崩潰或失去響應。對Linux的拒絕服務大多數都無須登錄即可對系統發起拒絕服務攻擊,使系統或相關的應用程序崩潰或失去響應能力,這種方式屬于利用系統本身漏洞或其守護進程缺陷及不正確設置進行攻擊。

另外一種情況,攻擊者登錄到Linux系統后,利用這類漏洞,也可以使系統本身或應用程序崩潰。這種漏洞主要由程序對意外情況的處理失誤引起,如寫臨時文件之前不檢查文件是否存在,盲目跟隨鏈接等。

下面,我們簡單描述一下Linux在處理intel IA386 CPU中的寄存器時發生錯誤而產生的拒絕服務漏洞。該漏洞是因為IA386多媒體指令使用的寄存器MXCSR的特性導致的。由于IA386 CPU規定MXCSR寄存器的高16位不能有任何位被置位,否則CPU就會報錯導致系統崩潰。為了保證系統正常運轉,在linux系統中有一段代碼專門對MXCSR的這個特性作處理,而這一段代碼在特定的情況下會出現錯誤,導致MXCSR中的高16位沒有被清零,使系統崩潰。如果攻擊者制造了這種“極限”的內存情況就會對系統產生DoS效果。

攻擊者通過調用get_fpxregs函數可以讀取多媒體寄存器至用戶空間,這樣用戶就可以取得MXCSR寄存器的值。調用set_fpxregs函數可以使用用戶空間提供的數據對MXCSR寄存器進行賦值。通過對MXCSR的高16位進行清0,就保證了IA386 CPU的這個特性。如果產生一種極限效果使程序跳過這一行,使MXCSR寄存器的高16位沒有被清0,一旦MXCSR寄存器的高16位有任何位被置位,系統就會立即崩潰!

因為利用這個漏洞攻擊者還需要登錄到系統,這個漏洞也不能使攻擊者提升權限,只能達到DoS的效果,所以這個漏洞的危害還是比較小的。但是分析這個漏洞就沒有意義了嗎?其實由分析這個漏洞可以看出:Linux內核開發成員對這種內存拷貝時出現錯誤的情況沒有進行考慮,以至造成了這個漏洞,分析了解了這個漏洞后,在漏洞挖掘方面也出現了一種新的類型,使我們在以后的開發中可以盡量避免這種情況。

接下來讓我們看一種Linux內核算法上出現的漏洞。先來簡單介紹一下這個漏洞,當Linux系統接收到攻擊者經過特殊構造的包后,會引起hash表產生沖突導致服務器資源被耗盡。這里所說的hash沖突就是指:許多數值經過某種hash算法運算以后得出的值相同,并且這些值都被儲存在同一個hash槽內,這就使hash表變成了一個單向鏈表。而對此hash表的插入操作會從原來的復雜度O(n)變為O(n*n)。這樣就會導致系統消耗巨大的cpu資源,從而產生了DoS攻擊效果。我們先看一下在linux中使用的hash算法,這個算法用在對Linux route catch的索引與分片重組的操作中。在今年五月Rice University計算機科學系的Scott A. Crosby與Dan S. Wallach提出了一種新的低帶寬的DoS攻擊方法,即針對應用程序所使用的hash算法的脆弱性進行攻擊。這種方法提出:如果應用程序使用的hash算法存在弱點,也就是說hash算法不能有效地把數據進行散列,攻擊者就可以通過構造特殊的值使hash算法產生沖突引起DoS攻擊。

202 
203 static __inline__ unsigned rt_hash_code(u32 daddr, u32 saddr, u8 tos) 
204 { 
205 unsigned hash = ((daddr & 0xF0F0F0F0) >> 4) │ 
206 ((daddr & 0x0F0F0F0F) << 4); 
207 hash ^= saddr ^ tos; 
208 hash ^= (hash >> 16); 
209 return (hash ^ (hash >> 8)) & rt_hash_mask; 
210 }

以上的代碼就是Linux對ip包進行路由或者重組時使用的算法。此算法由于過于簡單而不能把route緩存進行有效的散列,從而產生了DoS漏洞。下面我們來分析一下此函數。

203行為此函數的函數名與入口參數,u32 daddr為32位的目的地址,而u32 saddr為32位的原地址,tos為協議。

205行-206行是把目標地址前后字節進行轉換。

207行把原地址與tos進行異或后再與hash異或然后再賦值給hash。

208行把hash的值向右偏移16位然后與hash異或再賦值給hash。

209行是此函數返回hash與它本身向右偏移8位的值異或,然后再跟rt_hash_mask進行與操作的值。

這種攻擊是一種較為少見的拒絕服務方式,因為它利用了系統本身的算法中的漏洞。該漏洞也代表了一種新的漏洞發掘的方向,就是針對應用軟件或者系統使用的hash算法進行漏洞挖掘。因此,這種針對hash表攻擊的方法對不僅對Linux,而且會對很多應用軟件產生影響,比如說Perl5在這個perl的版本中使用的hash算法就容易使攻擊者利用精心篩選的數據,使用perl5進行編程的應用程序使用的hash表產生hash沖突,包括一些代理服務器軟件,甚至一些IDS軟件,防火墻等,因使用的是Linux內核都會被此種攻擊影響。

Linux內核中的整數溢出漏洞

Linux Kernel 2.4 NFSv3 XDR處理器例程遠程拒絕服務漏洞在2003年7月29日公布,影響Linux Kernel 2.4.21以下的所有Linux內核版本。

該漏洞存在于XDR處理器例程中,相關內核源代碼文件為nfs3xdr.c. 此漏洞是由于一個整形漏洞引起的(正數/負數不匹配)。攻擊者可以構造一個特殊的XDR頭(通過設置變量int size為負數)發送給Linux系統即可觸發此漏洞。當Linux系統的NFSv3 XDR處理程序收到這個被特殊構造的包時,程序中的檢測語句會錯誤地判斷包的大小,從而在內核中拷貝巨大的內存,導致內核數據被破壞,致使Linux系統崩潰。

漏洞代碼:

static inline u32 * 
decode_fh(u32 *p, struct svc_fh *fhp) 
{ 
int size; 
fh_init(fhp, NFS3_FHSIZE); 
size = ntohl(*p++); 
if (size > NFS3_FHSIZE) 
return NULL; 
memcpy(&fhp->fh_handle.fh_base, p, size); fhp->fh_handle.fh_size = size; 
return p + XDR_QUADLEN(size); 
}

因為此內存拷貝時在內核內存區域中進行,會破壞內核中的數據導致內核崩潰,所以此漏洞并沒有證實可以用來遠程獲取權限,而且利用此漏洞時攻擊者必須可以mount此系統上的目錄,更為利用此漏洞增加了困難。

我們的目的在于通過這個漏洞的特點來尋找此種類型的漏洞并更好地修補它。大家可以看到,該漏洞是一個非常典型的整數溢出漏洞,如果在內核中存在這樣的漏洞是非常危險的。所以Linux的內核開發人員對Linux內核中關于數據大小的變量都作了處理(使用了unsigned int),這樣就避免了再次出現這種典型的整數溢出。通過對這種特別典型的漏洞原理進行分析,開發人員可以在以后的開發中避免出現這種漏洞。

IP地址欺騙類漏洞

由于tcp/ip本身的缺陷,導致很多操作系統都存在tcp/ip堆棧漏洞,使攻擊者進行ip地址欺騙非常容易實現。Linux也不例外。雖然IP地址欺騙不會對Linux服務器本身造成很嚴重的影響,但是對很多利用Linux為操作系統的防火墻和IDS產品來說,這個漏洞卻是致命的。

IP地址欺騙是很多攻擊的基礎,之所以使用這個方法,是因為IP自身的缺點。IP協議依據IP頭中的目的地址項來發送IP數據包。如果目的地址是本地網絡內的地址,該IP包就被直接發送到目的地。如果目的地址不在本地網絡內,該IP包就會被發送到網關,再由網關決定將其發送到何處。這是IP路由IP包的方法。IP路由IP包時對IP頭中提供的IP源地址不做任何檢查,認為IP頭中的IP源地址即為發送該包的機器的IP地址。當接收到該包的目的主機要與源主機進行通信時,它以接收到的IP包的IP頭中IP源地址作為其發送的IP包的目的地址,來與源主機進行數據通信。IP的這種數據通信方式雖然非常簡單和高效,但它同時也是IP的一個安全隱患,很多網絡安全事故都是由IP的這個缺點而引發的。

黑客或入侵者利用偽造的IP發送地址產生虛假的數據分組,喬裝成來自內部站的分組過濾器,這種類型的攻擊是非常危險的。關于涉及到的分組真正是內部的,還是外部的分組被包裝得看起來像內部分組的種種跡象都已喪失殆盡。只要系統發現發送地址在自己的范圍之內,就把該分組按內部通信對待并讓其通過

熱詞搜索:

上一篇:FC6 Linux下如何寫NTFS分區文件
下一篇:如何用APT維護紅帽企業版Linux

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
欧美精品粉嫩高潮一区二区| 午夜精品一区二区三区免费视频 | 首页欧美精品中文字幕| 日韩高清一区在线| 国产又粗又猛又爽又黄91精品| 国产99精品在线观看| 在线观看日韩电影| 精品福利一二区| 亚洲色图欧美激情| 精品一区二区三区久久久| k8久久久一区二区三区| 欧美日韩另类国产亚洲欧美一级| 精品久久久久一区| 一区二区三区在线影院| 久久99热国产| 色婷婷综合久久久久中文一区二区| 日韩一区二区免费视频| 亚洲日本在线天堂| 老司机一区二区| 色欧美88888久久久久久影院| 日韩精品一区在线| 免费在线观看不卡| 国产suv一区二区三区88区| 在线观看网站黄不卡| 久久久久久久久久久黄色| 亚洲久草在线视频| 国产米奇在线777精品观看| 欧美在线啊v一区| 久久久777精品电影网影网| 婷婷久久综合九色综合伊人色| 成人激情动漫在线观看| 精品人伦一区二区色婷婷| 亚洲欧美一区二区三区久本道91| 极品少妇一区二区三区精品视频| 在线视频一区二区三区| 国产精品理论在线观看| 九九精品视频在线看| 欧美日韩激情在线| 亚洲欧美日韩国产手机在线| 国产91综合网| 精品福利二区三区| 日日骚欧美日韩| 色婷婷综合久久久中文一区二区| 欧美高清在线视频| 久久99精品国产91久久来源| 欧美日韩一区二区三区四区五区 | 91免费精品国自产拍在线不卡| 精品国产91九色蝌蚪| 日韩—二三区免费观看av| 亚洲bt欧美bt精品| 91美女在线视频| 国产精品美女久久久久久久久久久 | 蜜桃在线一区二区三区| 91成人看片片| 中文字幕一区二区三区在线观看| 国产乱码精品一区二区三区av| 91精品国产综合久久小美女| 亚洲国产精品久久一线不卡| 欧美中文字幕不卡| 亚洲美女电影在线| 一本到三区不卡视频| 国产精品久久久久久久久搜平片 | 国产区在线观看成人精品 | 久久一留热品黄| 激情综合一区二区三区| 亚洲国产精品尤物yw在线观看| 99视频超级精品| 中文字幕亚洲综合久久菠萝蜜| 国产很黄免费观看久久| www国产亚洲精品久久麻豆| 国精品**一区二区三区在线蜜桃| 欧美电视剧免费全集观看| 日产欧产美韩系列久久99| 欧美精品丝袜中出| 午夜免费久久看| 91精品午夜视频| 日本aⅴ免费视频一区二区三区| 欧美精品高清视频| 免费成人性网站| 欧美一级夜夜爽| 老司机一区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 国产真实乱对白精彩久久| 久久久精品免费网站| 福利91精品一区二区三区| 亚洲国产成人午夜在线一区| 不卡一卡二卡三乱码免费网站| 中文字幕日韩av资源站| 91美女片黄在线观看| 一区二区三区日韩欧美精品 | 亚洲在线一区二区三区| 欧美日韩亚洲综合在线| 日韩av电影免费观看高清完整版在线观看| 欧美人动与zoxxxx乱| 日韩在线播放一区二区| 日韩精品一区二区三区视频| 国产专区欧美精品| 久久噜噜亚洲综合| 日本不卡视频在线观看| 欧美综合天天夜夜久久| 亚洲一区二区高清| 91麻豆精品国产| 国产一区二区不卡在线| 中文在线免费一区三区高中清不卡| www.欧美亚洲| 亚洲午夜影视影院在线观看| 日韩欧美亚洲另类制服综合在线 | 欧美一卡二卡在线观看| 国产揄拍国内精品对白| **欧美大码日韩| 欧美剧情电影在线观看完整版免费励志电影| 五月婷婷综合激情| 国产亚洲精品超碰| 色天天综合久久久久综合片| 日韩电影一区二区三区四区| 国产欧美日韩亚州综合 | 蜜臀a∨国产成人精品| 国产三级一区二区| 欧美午夜在线观看| 国产一区二区精品久久| 亚洲综合在线五月| 26uuu国产在线精品一区二区| 91美女蜜桃在线| 九九精品一区二区| 亚洲精品国产视频| 日韩欧美亚洲国产另类| 99精品视频在线观看免费| 午夜精品久久久久久久99樱桃| 国产亚洲1区2区3区| 欧美日韩在线精品一区二区三区激情| 韩国女主播一区| 亚洲一区二区三区四区在线免费观看| 精品国产百合女同互慰| 欧美日韩一级二级| 成人福利视频在线| 久久国产精品一区二区| 亚洲在线中文字幕| 国产精品区一区二区三区| 欧美一区二区播放| 在线观看日韩国产| 成人免费观看av| 久99久精品视频免费观看| 亚洲综合色噜噜狠狠| 国产清纯白嫩初高生在线观看91 | 欧美肥胖老妇做爰| 国产一区二区三区| 国产99久久久国产精品潘金| 欧美一区国产二区| 亚洲在线视频网站| 91老师片黄在线观看| 国产日韩欧美综合在线| 蜜桃视频第一区免费观看| 欧美色老头old∨ideo| 亚洲三级视频在线观看| 国产成人亚洲综合a∨婷婷图片| 91麻豆精品91久久久久同性| 一区二区三区中文免费| 91片黄在线观看| 国产精品麻豆视频| 成人avav影音| 国产精品看片你懂得| 成人午夜激情视频| 欧美国产禁国产网站cc| 国产精品18久久久久久久网站| 欧美mv日韩mv| 精品无人码麻豆乱码1区2区| 日韩精品中文字幕在线一区| 奇米在线7777在线精品| 欧美一区二区三区四区五区 | 亚洲丝袜另类动漫二区| 99国产精品久久久久| ●精品国产综合乱码久久久久| 成人在线综合网站| 日本一区二区三区久久久久久久久不| 国产成人免费视频网站高清观看视频| 久久久五月婷婷| 成人黄色电影在线| 中文字幕一区二区三| 欧美精品一二三| 日韩电影在线观看一区| 日韩一级大片在线| 国产一区二区三区在线观看精品| 久久无码av三级| 成人免费看黄yyy456| 亚洲伦在线观看| 欧美在线视频全部完| 日本欧美在线观看| 欧美成人video| 国产 日韩 欧美大片| 亚洲色图视频免费播放| 欧美群妇大交群中文字幕| 狠狠狠色丁香婷婷综合激情| 中文字幕+乱码+中文字幕一区| 色综合久久久久综合体| 色八戒一区二区三区| 日韩午夜小视频| 国产一区二区福利| 亚洲天堂精品在线观看| 欧美性生活久久| 国内外成人在线|