開放源碼到底安不安全

開放源碼是近來人們的一個熱點話題。這會對信息安全帶來什麼影響?開放源碼和封閉源碼相比,哪個更安全?接下來,小編爲您詳細講解!

開放源碼到底安不安全

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

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

  二、開放的就是不安全的

因爲對大多數人來說,安全指的就是隱藏的、祕密的、不開放的。在加密學中有一句諺語:一個加密算法的安全不應當依賴於它是祕密的。歷史證明,祕密的加密算法終究會被破解。現在的加密算法(如AES)大都是公開的,而其安全強度依賴於所用密鑰的長度。這句話同樣可以應用於一般的安全軟件。算法可以被人採用反向工程攻破,協議可以通過分析技術去解析。隱藏的和祕密的東西最終會被發現並公佈於衆。因此,靠封閉和隱祕達到安全的目的,在很大程度上可以說是不可能的。

  三、開放代碼沒人注意

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

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

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