Linux系統(tǒng)易受網(wǎng)絡黑客襲擊原因分析
Linux為美國以外的其它國家提供了自主發(fā)展操作系統(tǒng)的一條捷徑。主要是因為Linux操作系統(tǒng)本身的源代碼是公開的,操作系統(tǒng)開發(fā)方可以對源代碼自由修改并且從新編譯成二進制機器碼,也就是說用戶可以對系統(tǒng)及網(wǎng)絡安全的源代碼根據(jù)自己的需要在進行研究后而進行修改從而輕松擁有自己版本的操作系統(tǒng)。而特別是在網(wǎng)絡安全方面,Linux的關于防火墻及其它網(wǎng)絡安全協(xié)議的源代碼公開性使商家能夠更加了解操作系統(tǒng)安全的弱點及漏洞所在,通過對源代碼的修改對安全進行加強鞏固?墒莾H僅是源代碼公開并不能解決網(wǎng)絡不安全的問題。
由于對源代碼進行編譯的編譯程序GCC及Linux的內(nèi)核(Kernel)程序本身有諸多弱點,這就造成了躲在防火墻后面的Linux系統(tǒng)程序仍然極其容易受到網(wǎng)絡黑客的襲擊。
防火墻僅僅提供了最基本的網(wǎng)絡保護
防火墻的主要目的是封鎖不必要的端口,并且對網(wǎng)絡通訊數(shù)據(jù)進行轉(zhuǎn)接過濾。但是只要有開放的端口,網(wǎng)絡侵襲便是在所難免。如一般單位網(wǎng)絡服務器端口,通常為80號端口,網(wǎng)絡服務器主要任務是為用戶發(fā)送網(wǎng)頁因此必須全天開通。而黑客則可以通過瀏覽網(wǎng)頁的HTTP協(xié)議輕松通過80號端口穿過防火墻從而對服務器進行攻擊。舉個例子說,防火墻就好象是一道密集鐵絲網(wǎng),雖然它可以擋住豺狼虎豹的襲擊,可是馬蜂蚊子還是可以輕松穿過。
GCC的內(nèi)在漏洞造成服務器易受攻擊
由于GCC源于網(wǎng)絡前時代,因此對不少由網(wǎng)絡而衍生的特殊情況毫無準備。GCC有諸多內(nèi)在弱點,包括輸出命令printf對特殊狀態(tài)檢查不足及對參數(shù)值變量值范圍檢查不足等兩點,這些兩點劇情網(wǎng)會導致內(nèi)存地址輕易受到突破性侵襲。由GCC加工編譯而成的Linux服務器自然就攜帶了GCC的弱點。這種情況與遺傳性基因疾病非常類似,只要是GCC編譯成的程序均有此遺傳性弱點。黑客經(jīng)過80號端口通過HTTP協(xié)議便可以對組成服務器的printf發(fā)送怪異數(shù)值或者對其它內(nèi)存參數(shù)值輸入超大或者超小值,服務器程序?qū)Υ颂厥鉅顟B(tài)不知所措便會在內(nèi)存內(nèi)胡亂讀取內(nèi)存地址及內(nèi)容,黑客在獲得內(nèi)存地址后便可對其進行修改從而達到從修改網(wǎng)頁內(nèi)容到癱瘓服務器等各種非法目的。
GCC是Linux,Unix及BSD系統(tǒng)源代碼的主要編譯程序 修過計算機編程課程的朋友大多使用過GCC。GCC是對C/C 語言及一些其它語言進行二進制碼編譯的大型程序。Unix家族有三大獨立成員,他們分別是美國電報電話公司(AT&T)的Unix, 伯克萊大學(UC Berkley) 的BSD及Linux。GCC目前是U用友通反記賬nix家族操作系統(tǒng)的主要編譯工具,全世界范圍內(nèi)由GCC編譯而成的現(xiàn)行服務器不計其數(shù),也就是說黑客們可以侵害的對象群非常龐大。
治標要治本
GCC的漏洞可以通過對源代碼進行保護性修改來彌補。如對網(wǎng)絡服務器的源代碼中所有的用戶輸入?yún)?shù)進行參數(shù)值范圍檢測,對超大及超小的輸入值不予通過。但是這樣的做法會使源代碼數(shù)量及復雜性大大增加,既費時又難以維護。而對GCC編譯器程序的改善則是一個更好的辦法。對擁有Linux的單位來說只要用經(jīng)過安全改善的新版GCC對現(xiàn)有源代碼從新編譯便可以輕松把安全等級提高到一個新的水平。目前世界上有多個組織及個人正在致力于對GCC改善的研究和開發(fā)。美國的Immunix(譯:免疫Unix)是目前世界第一家把GCC改進版進行商業(yè)化的高科技公司。該公司的GCC改進程序?qū)儆?/SPAN>GPL協(xié)議范圍,也就是對編譯器GCC修改改善的源代碼本身也是公開的。
網(wǎng)絡安全前景不容樂觀 雖然目前的幾個主要漏洞可以通過對GCC的修改補充來填補,但是由于GCC程序非常龐大,可能存在的潛在漏洞還是很多。俗話說:“道高一尺,魔高一丈”,全世界范圍內(nèi)的黑客正在對GCC及Linux和微軟操作系統(tǒng)內(nèi)核的各種潛在漏洞進行潛心研究,網(wǎng)絡安全目前的局面是“易攻難守”,黑客們在發(fā)現(xiàn)新漏洞后可以迅速發(fā)動大規(guī)模攻擊,而對漏洞的所在的發(fā)現(xiàn)和隨后的彌補措施則是相對緩慢的。 筆者認為我國自主操作系統(tǒng)的開發(fā)及源代碼自主是一件鼓舞的事情,但是對源代碼編譯程序的學習和了解也同樣重要。