作者ggg12345 (ggg)
看板Soft_Job
標題Re: [轉錄][文章] 大家都看不見 世界就很安全?(轉錄)
時間Sat Feb 5 23:10:39 2011
※ 引述《lgd1008 (lgd1008)》之銘言:
: 世上只要有不好懂的演算法, 就一定有不好懂的程式碼.
: 而且可悲地說, 有越是最佳化的演算法, 代表的就是有越不好懂的程式碼..
: 每個OSS軟體都會宣稱自己的程式碼好懂, 但程式碼好不好懂, 其實跟有沒有open無關.
: 何謂程式碼裡好懂的部份? 我一貫地猜想, 又是指所謂的架構/ pattern/ 擴充性等等設
: 計...
: 但真實的現況又是如何?
: 能改OSS本身的, 還是只有長期參與下來的開發者.(系統本身就你寫的, 也不可能不懂)
: 但若一個OSS軟體, 如果原本的開發團隊不maintain了, 基本上就是死了...
: 其它局外人呢, 大多只是做些只需了解少數程式碼的工作.
: 像debug, porting, plugin, driver之類的工作, 佔了絕大多數.
: 但如果有後來才參與的人, 卻有類似但部份不同的新需求又出現呢?
: 第二, 第三, 第四種類似的OSS又出現了...以上是不是事實?
: 事實上, 不斷出現的OSS自己都証明了, 沒有銀彈.
: 別人的source code根本不可能 "比較好懂", 就算對於自己也有能力重寫一套的人來說.
: 至於問漏洞誰補得多之前, 請先問問為何需要補漏洞?
程式的可讀性, 可維護性 跟 安全漏洞 並沒有必然的關係.
一般的程式漏洞或錯誤常來自跟 適用範圍 有關的 type check.
出錯未必造成 安全的漏洞 , 越權的安裝或使用才會引發危機.
多數的安全漏洞是不良的架構, 可不受限制的超常使用. 這類的
失誤引發安全的漏洞, 也就是程式碼不防範不正常使用造成的疏
忽. 譬如不驗證來往的對象就是一例.
這類的問題有經驗的老手就能察覺出來. 這是 open source 策
略的 優點.
可能被猜出, 或測試就能得知的安全漏洞, 不發布不公開也無法
讓漏洞消失, 這類的洞就是隱藏不住.
: 如果有著太理想的假設, 公開越多別人幫忙越多. 那麼世上人皆善良, 滿是漏洞其實也沒
: 關係, 不是嗎?
: 真正要看出兩種策略的差別, 請用心懷惡意的人的角度.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.5.210
推 bobju:我會從權力的角度,簡單地區別開源跟閉源的差異.其視其為根本 02/06 19:05
→ bobju:性的差異.閉源代表壟斷,專制,獨裁,在某些情況下是必要之惡, 02/06 19:06
→ bobju:但終究不是王道. :P 02/06 19:06
→ bobju:修一下錯字, 第一行: "並"視其為根本性的差異. 02/06 19:08