人妻丰满熟妇无码区乱com|久久婷婷午夜精品二区|一道本国产不卡视频|国产孕妇故爱A级高清片免费看

<tbody id="geoqw"></tbody>
  • <center id="geoqw"></center>
  • <menu id="geoqw"></menu>
  • <center id="geoqw"></center>
    
    <menu id="geoqw"></menu>
  • 你知道嗎?開放源碼有利于系統(tǒng)安全

    時間:2021-01-21 10:20:47 電腦安全 我要投稿

    你知道嗎?開放源碼有利于系統(tǒng)安全

      開放源碼是近來人們的一個熱點話題。這會對信息安全帶來什么影響?開放源碼和封閉源碼相比,哪個更安全?本文作者明確提出:開放源碼會改善信息安全。

      近年來,隨著Linux和Apache等開放源碼軟件受到越來越多的人的關(guān)注和喜愛,開放源碼運動在世界范圍內(nèi)引起了一場風(fēng)暴。但是,我們也經(jīng)?梢钥吹接腥藢﹂_放源碼軟件的安全性表示懷疑:"所有的源代碼都被黑客們看到了,還有什么安全可言?""開放源代碼意味著黑客們可以找出代碼中存在的所有缺陷。"有人甚至列出等式:"開放源碼 = 打開信息系統(tǒng)之門 = 不安全"。

      開放源碼到底安不安全

      那些認(rèn)為開放源碼不安全的人,一般是出于如下的考慮。

      一、黑客可以找到其中的安全漏洞

      這種觀點成立的前提是:黑客們不會找出封閉源碼軟件中的安全漏洞。但是我們只需要到網(wǎng)上去查找一下與封閉源碼軟件相關(guān)的安全警告和安全建議,就會知道這明顯不是事實。例如,1999年12月,Todd Sabin在Bugtraq郵件列表上宣布,他發(fā)現(xiàn)了一個Windows NT的SYSKEY缺陷,而這個缺陷就是在沒有源碼的情況下(眾所周知,微軟不提供源代碼),利用反匯編器發(fā)現(xiàn)的。實際上,大多數(shù)黑客們在破解程序時并不一定需要有源代碼。

      二、開放的就是不安全的

      因為對大多數(shù)人來說,安全指的就是隱藏的、秘密的、不開放的。在加密學(xué)中有一句諺語:一個加密算法的安全不應(yīng)當(dāng)依賴于它是秘密的。歷史證明,秘密的加密算法終究會被破解。現(xiàn)在的加密算法(如AES)大都是公開的,而其安全強度依賴于所用密鑰的長度。這句話同樣可以應(yīng)用于一般的安全軟件。算法可以被人采用反向工程攻破,協(xié)議可以通過分析技術(shù)去解析。隱藏的和秘密的東西最終會被發(fā)現(xiàn)并公布于眾。因此,靠封閉和隱秘達到安全的目的,在很大程度上可以說是不可能的。

      三、開放代碼沒人注意

      有個例子,在PGP 2.6發(fā)布以后,有人就在Bugtraq郵件列表上宣布,在檢查代碼時發(fā)現(xiàn),其中一個隨機數(shù)生成器中有一個"臭蟲"。這個錯誤很細(xì)小,在進行異或操作的代碼中,卻使用了賦值運算符號(=)。這表明,"即便代碼開放了,也沒有人會真正去檢查"的想法是站不住腳的,在開放源碼模型中,這樣細(xì)小的錯誤都能被發(fā)現(xiàn),所以說,嚴(yán)重錯誤或后門不被發(fā)現(xiàn)的可能性極小。

      四、開放源碼中可放置后門

      這在理論上是成立的,但是如何在其中放置后門或陷阱?因為開放源碼軟件使用代碼控制系統(tǒng)來管理代碼樹,而且有許多人在檢查和分析代碼,更重要的是,代碼本身意味著作者的個人名譽。誰愿意冒險在開放的代碼中放置后門而喪失個人名譽和聲望呢? 對比而言,封閉源碼的軟件中更容易放置后門或者陷阱,在Windows操作系統(tǒng)中發(fā)現(xiàn)的NSA密鑰即是有力的證據(jù)。

      開放源碼可以帶來安全

      封閉源碼軟件并不比開放源的軟件的安全性好,相反,開放源碼軟件更有能力和潛力提供更好的安全,有以下例子證明:

      ● openBSD,目前世界上最安全的操作系統(tǒng)之一,是開放源碼的項目。它是BSD Uinx的一個分支,安全是它的主要設(shè)計目標(biāo),它是在NetBSD的基礎(chǔ)上,花了幾十個人年的時間審查代碼形成的'。更為重要的是,它在缺省安裝方式下,三年中從未出現(xiàn)過一個遠程漏洞。

      ● Linux,這個信息時代的軟件驕子,在2000年就已經(jīng)占領(lǐng)了25%的服務(wù)器市場。已經(jīng)廣泛應(yīng)用在像Yahoo這樣的性能要求較高的站點上,并且已經(jīng)得到了IBM、HP等大廠商的明確支持。

      事實表明,開源軟件比之封閉軟件更具有穩(wěn)定性和安全性。而且,開放源代碼還會帶來如下好處:

      一、開放代碼有助于快速修改錯誤

      由于開放代碼軟件會得到世界上成千上萬的開發(fā)者的審查,所以發(fā)現(xiàn)并修正它們的錯誤的時間很快。國外有人對Linux、Windows NT、Solaris三個操作系統(tǒng)做過統(tǒng)計,從發(fā)現(xiàn)其中的錯誤直到錯誤得到修正,不同的軟件開發(fā)商所花的平均時間如下:

      軟件開發(fā)商 red hat microsoft sun

      軟件名稱 linux windows NT solaris

      改錯平均時間 11天 16天 89天

      二、開放代碼有助于改善代碼質(zhì)量

      在典型的封閉開發(fā)項目中,開發(fā)者的個人責(zé)任和職業(yè)名譽是相對有限的,更重要的是,因為源碼是封閉的,錯誤或失誤可能會被開發(fā)者悄悄掩蓋過去;相反,開源軟件的開發(fā)者寫的每一行代碼都體現(xiàn)著自己的聲望和名譽;靵y糟糕的代碼會受到同行們的批評甚至譏笑。發(fā)布源碼并讓同行審查,這在封閉源碼開發(fā)中是不可能的。

      三、開源有助于促進安全代碼開發(fā)技術(shù)

      開放源碼的編程者經(jīng)常會就開發(fā)中遇到的問題交換想法和解決辦法,他們樂于創(chuàng)新并實踐有關(guān)代碼安全的新理論,如果某個技術(shù)被發(fā)現(xiàn)有缺點,就會出現(xiàn)新的技術(shù)替代它,隨著舊的安全性較差的代碼逐漸被修正,新的代碼的安全性逐漸得到改善;而在封閉開發(fā)中,軟件的安全性可能會讓步于商業(yè)利益。開發(fā)者們可能因為任務(wù)時間緊或是編程習(xí)慣等因素,而不重視采納或創(chuàng)造新的安全代碼開發(fā)技術(shù)。

      開放源碼并非百分百安全

      以上這些并不說明開放源碼就可以解決安全問題了,開放源碼模型也有不足之處。

      打補丁 ≠ 安全

      有人認(rèn)為,只要我們開放源代碼,并對軟件不停地審查代碼和修改漏洞,最終這個軟件會變成絕對安全的。顯然,這種看法有失偏頗,因為它把軟件看成是一個靜止不變的事物。實際上,軟件是不斷進化的,是動態(tài)發(fā)展的。通過調(diào)查Java的安全漏洞情況,我們可以看出,發(fā)現(xiàn)的安全漏洞會被修正,但是隨著功能的增加,又會引進新的安全漏洞,顯然只依賴于對軟件打補丁,是達不到安全目的的。

      多眼球效應(yīng) ≠ 安全

      從安全角度來看,開放源碼軟件的一個主要好處是"多眼球效應(yīng)",即眾多的開發(fā)者可以審查代碼,從而較快地發(fā)現(xiàn)和修改其中的"臭蟲"。但是,發(fā)布源代碼并不意味著就可以去除所有的"臭蟲",而且,即使經(jīng)過廣泛審查的開源軟件也可能存在重要的未被發(fā)現(xiàn)的"臭蟲"。例如,被發(fā)現(xiàn)存在緩沖區(qū)溢出問題 的Wu-ftp(一個文件傳輸工具),它在公布之前,實際上已經(jīng)由程序高手審查了它的代碼。另外,單純依賴不相干的外部人士檢查安全相關(guān)的代碼會帶來很多問題。例如,在某些情況下,第一個發(fā)現(xiàn)錯誤的人可能不作聲張,而把這個錯誤用于不良甚至是破壞性的目的。

      開放的安全模型

      安全系統(tǒng)不應(yīng)當(dāng)依賴于源碼封閉,而且單純的開放源碼也不是萬能良方,那么怎樣才能達到安全目的呢?我們建議構(gòu)建如下的開放安全模型:開放安全模型 = 開放的設(shè)計 + 安全代碼技術(shù) + 開放的源碼 + 市場激勵機制

      開放設(shè)計

      現(xiàn)在的信息發(fā)展趨勢是系統(tǒng)體系結(jié)構(gòu)具有高度可擴展能力。如果缺少安全功能設(shè)計,與現(xiàn)存的錯誤所帶來的攻擊相比,可能會導(dǎo)致更多的攻擊。例如Web瀏覽器支持插件(plug-ins),因為通過開放設(shè)計,可以讓同行們對設(shè)計進行審查,利用形式化理論,錯誤假設(shè)方法,以及閱讀設(shè)計文檔,可以發(fā)現(xiàn)設(shè)計中存在的錯誤,這是開發(fā)安全系統(tǒng)和軟件的一個非常重要環(huán)節(jié)。

      安全代碼技術(shù)

      現(xiàn)在來看,計算機緊急事故反應(yīng)小組(CERT)發(fā)現(xiàn)的多數(shù)錯誤都是由緩沖溢出問題引起的,因為好多軟件是由C語言 + glib C庫編寫的,而它們提供的一些特性和函數(shù)都存在有安全漏洞。事實上,使用具有類型糾正檢查特性的編程語言(如C++)即可防止此類錯誤。使用支持例外處理的現(xiàn)代編程語言也可以去除許多因為競爭條件導(dǎo)致的錯誤。

      市場激勵機制

      國外曾經(jīng)有所大學(xué)在國際互聯(lián)網(wǎng)上作過安全評價試驗,他們開放軟件源碼,但是后來并沒有得到任何軟件安全特性的反饋。這也說明了在開放源碼模型中寫代碼對大多數(shù)人來說是很有趣的,但是讀別人的代碼則相反,枯燥乏味。開源模型中缺乏非開源模型中所具有的經(jīng)濟激勵機制,如何吸引人來審查代碼呢?這就要讓市場激勵機制起作用,一個比較好的辦法是花錢雇人讀代碼。

    【你知道嗎?開放源碼有利于系統(tǒng)安全】相關(guān)文章:

    為什么開放源碼有利于系統(tǒng)安全02-16

    春天來了你知道嗎作文12-02

    這些音樂常識你知道嗎09-19

    哥哥你知道嗎作文450字12-09

    關(guān)于powertool是什么你知道嗎?02-14

    遠方的朋友你知道嗎作文01-05

    關(guān)于Edge的技巧你知道嗎?02-05

    討厭的反義詞你知道嗎05-15

    急促的反義詞,你知道嗎05-16