2008年7月14日 星期一

安全軟體與程式除錯習慣

剛讀到 isc.sans diary 再度提醒大家要趕快進行 DNS 伺服器的安全
更新。

主要是這次 DNS 伺服器安全漏洞的起因,在於另一次老 bug 造成
的大風波...

但裡面 Jim Clausing 又提到另一個 OpenBSD解掉一個 UNIX 創始
以來就存在 Yacc (撰寫compiler 時的 LALR parser generator) 的
程式錯誤。OpenBSD 的開發者 Otto Moerbeek在測試新平台的
malloc 時,有使用者警告他在 Sparc 64 平台的新 malloc 常會造
成 C++ 編譯問題。

Otto Moerbeek 追到錯誤後評論說,有趣的是這一段 code 是在
UNIX 6th 也就是 1975 年就已經存在了,這個 bug 已經 33 歲了。
XD

Jim Clausing 是說他很喜歡那段寫 compiler 的日子....怎麼跟我學
compiler 的心情差那麼多?XD 記得原本的 lex & yacc 後來還是換
成較易上手的 flex & bison 才幫我勉強修過 compiler XD

當然這並不是要說 UNIX 竟然還存在如此老舊的程式錯誤,任何
程式都可能存在錯誤,重點是當你發現程式有問題,不管程式碼
存在多久了,bug 就是 bug,做錯的事改正過來都不嫌太晚。強者
如是,我們也應當引為借鏡。

相關文章:

DNS spoofing, poisoning bugs, why bother?

相關連結:

OpenBSD Audit Process