2008年05月18日 星期日 11:53
深层的原因是这样的嘛? 社区的成员对自个儿的代码是这么不经意的嘛? ---------- Forwarded message ---------- From: pnt <zhengy在gmail.com> Date: 2008/5/17 Subject: [CPeX] 誰要看你的程式碼? To: mindex在googlegroups.com Sent to you by pnt via Google Reader: 誰要看你的程式碼?<http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId;=202&blogId;=1> via 今天的 Tetralet 又在唧唧喳喳了 <http://tetralet.luna.com.tw/index.php?blogId=1> by Tetralet on 5/17/08 最近一個很轟動的新聞:Debian 的 Packager 總愛打些怪怪的 patch 已不是新聞,但這次卻闖了大禍。Debian 的 openssl套件最近爆出了一個大漏洞,Debian(約在 2006 年 5 月)不知為何 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=363516>把 openssl 套件裡用來產生亂數種子的程式碼給移除掉了,導致用這些版本的 openssl 所產生的 SSH 金鑰有一定的規則可循,非常容易被暴力攻擊所破解。如果您的 SSH 金鑰是使用以下的作業系統所產生的: - Debian 4.0 (etch) - Ubuntu 7.04 (Feisty) - Ubuntu 7.10 (Gutsy) - Ubuntu 8.04 LTS (Hardy) 那麼就很可能會受到這個漏洞的影響。您可以利用 sudo ssh-vulnkey -a 指令來檢查您系統裡所有的 SSH 金鑰, 若測試結果為 COMPROMISED,請立即昇級您的 libopenssl 套件並使用 ssh-keygen 指令重新產生一個新的金鑰。若您的 SSH 伺服器是使用 SSH 金鑰來做認証<http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId;=59&blogId;=1>的,請務必同時更新您的 authorized_keys 檔案以免到時無法登入您的 SSH Server。 而系統中其它會使用到 openssl 來產生金鑰的套件,像是 ipopd-openssl、postfix-tls、uw-imapd 及 apache-openssl 等等,也請同時更新這些套件所使用的 SSL 金鑰。請參考 [SECURITY] [DSA 1571-1] New openopenssl packages fix predictable random number generator<http://lists.debian.org/debian-security-announce/2008/msg00152.html>或您系統中的 /usr/share/doc/openssh-server/README.compromised-keys.gz 以取得更多的資訊。 openssl/openssh 應該算是一個系統裡最最基本的元件了。敝人安裝 Debian GNU/Linux 後第一件事就是把 SSH Server裝起來,然後遠端操控。加上 Debian 本身是極受歡迎的的 GNU/Linux 發行版,基於 Debian GNU/Linux 的發行版(像是 Ubuntu 或是 Konppix)可以說是不計其數。個人推估全世界的 Linux 中約有 1/3 受到此漏洞的影響,災情可以說十分慘重。 以 Debian GNU/Linux 受歡迎的程度,以及 openssl 函式庫的普及性,爆出一個如此愚蠢的漏洞是不可思議的,這可是讓 Debian Project 頗覺臉上無光。但,與其批評 Debian 套件品質管理不佳,個人卻認為:『這是遲早的事。簡單得說,誰要看你的程式碼?』 記得很多人都說,Open Source 專案的程式碼漏洞較少,因為『原始碼是公開的,每一個人都可以看,當然程式的漏洞因而有效降低了』。但 openssl這件事卻告訴我們,這種觀點是經不起事實驗証的。那麼多人在用著 Debian GNU/Linux,那麼多的應用程式會用到 openssl 函式庫,但那麼大一個漏洞擺在那整整 2 年卻無人發現。是的,Open Source 專案的程式碼是公開的,但基本上沒人會去看。 更進一步說,整個 Open Source 的世界其實都是建構在如此薄弱的基礎上。當某人推出了一個好用的程式,除非特意去剝開來看,否則誰曉得裡面在搞什麼鬼?就算剝開來看了,真有什麼問題有時 就連原始開發者都搞不清楚了,更何況只是花了 5 分鐘來 trace code 的使用者?有時就算找到了問題點,解決的手法也多是頭痛醫頭腳痛醫腳的緊急手段,若沒有對整個程式的全盤了解,那些修正碼真的能用嗎?這卓實令人懷疑。於 是如此東修西補的結果,程式碼最後變成疊床架屋繁雜無當難以維護也就不令人意外了。 以個人最愛的 IceWM 為例。之前 Pidgin 的 Tray Icon 在 IceWM 上大小異常。不久 IceWM 便推出了解決方案:當 Tray Icon 的 width 小於 height 時,強迫讓 width 等於 height。呃... 憑良心說:這算是解決方案嗎? 而不只是程式開發者。像是套件維護者、文件寫作者、翻譯者等等,都有類似的問題。有很多提交出來的修正檔其實並無法解決問題。有很多了不起的專案卻被打包成了不堪用的套件。而在翻譯時只是做做簡繁轉換的也比比皆是。甚至故意夾帶惡意程式碼等情事也時有耳聞。而會有誰特意去剝開來看裡面可能會發生什麼問題呢?如果再加上不甚用心的維護團隊,這簡直是一場大災難。想想看:連以龜毛著稱的 Debian Project 都會在 openssl 如此重要的套件上犯上這種不該犯的錯誤了,那麼其它的 Linux 發行套件呢?真讓人不敢再想下去了。 當然了,Debian 成名已久,這次的 openssl或許僅是單一事件事件罷了。不過這也給我們一個很大的警愓:別再怠惰了,找個時間,替自己的專案、套件、翻譯成果全部好好重看一次吧。Open Source 的世界乃是根基於每個使用者身上,若每一個人連自己的管區都不肯花費心力好好維護的話,那麼希望 Open Source 能發展到什麼地步也只是癡人說夢罷了。 但在此同時,也別奢望會有什麼人會花費心力替您維護那些程式碼。自己的東西,還是憑藉著自己的良知好好得做下去吧! Things you can do from here: - Subscribe to 今天的 Tetralet 又在唧唧喳喳了<http://www.google.com/reader/view/feed%2Fhttp%3A%2F%2Ftetralet.luna.com.tw%2Frss.php%3FblogId%3D1%26profile%3Drss20?source=email>using *Google Reader* - Get started using Google Reader<http://www.google.com/reader/?source=email>to easily keep up with *all your favorite sites* --~--~---------~--~----~------------~-------~--~----~ "Copy&Paste; Exchange" group. http://groups-beta.google.com/group/mindex?hl=zh-CN -~----------~----~----~----~------~----~------~--~--- -- '''过程改进乃是开始催生可促生靠谱的人的组织! PI keeps evolving organizations which promoting people be good! '''http://zoomquiet.org Pls. usage OOo to replace M$ Office. http://zh.openoffice.org Pls. usage 7-zip to replace WinRAR/WinZip. http://7-zip.org You can get the truely Freedom 4 software. -------------- 下一部分 -------------- 一个HTML附件被移除... URL: http://www.zeuux.org/pipermail/zeuux-universe/attachments/20080518/85f3bf43/attachment.html
Zeuux © 2024
京ICP备05028076号