截至4月7日前,不少人都未聽過OpenSSL這名稱。4月7日,這程式傳出過去兩年存有嚴重漏洞時,互聯網隨即掀起恐慌,有網絡保安專家甚至稱,若以1級至10級計算,今次的漏洞算是11級。人們才知道該程式原來為全球三分之二伺服器使用,跟大家生活息息相關。但當大部分網站都不付分文使用該程式加密數據時,程式背後的核心團隊卻只有4人,每年籌得的款項更不足100萬美元。明報國際組
義務程式員無心釀大禍
「心臟出血」的罪魁是31歲的德國程式員澤格爾曼(Robin Seggelmann),今次保安漏洞是他在2011年大除夕義務為OpenSSL修補程式時的無心之失。他對《悉尼先驅晨報》稱,他當時補了幾個漏洞又增加了新功能,正是在新增功能出現了問題。當他提交更新程式碼後,審查員也沒看到錯誤,於是錯誤便成為正式版本發布。
他說,該錯誤「有點瑣碎」,但造成影響卻「嚴重」。
僅1全職工程師 專家吃驚
當時負責審查澤格爾曼的更新,正是OpenSSL計劃唯一的全職工程師亨森(Stephen Henson)。
46歲的英國密碼學者亨森是數學博士,他在其個人網頁「電郵我前須知」,便提到其工作大部分都是關於「資金不足的」OpenSSL,又稱不時收到個人及公司電郵要求他作技術技援,當中以那些大型跨國公司「尤其麻煩」,對於那些不想付錢但又想得到他支援的公司,他反問:「如果我致電你公司要求一大堆免費諮詢,他們會怎樣回覆?」
這段說話可側面反映OpenSSL的艱苦經營。這個廣為大企業採用的程式,背後的團隊只有11人,核心工程師只有4人,但只有亨森是全職員工,但卻沒有從這程式賺錢。
美國北卡州加密專家Kenneth White便對《華爾街日報》表示:「這是互聯網上最為複雜的通訊程式碼之一。但是軟件核心團隊卻只有那麼少人,叫人吃驚。」
OpenSSL計劃在1998年開始,目的是製作一套免費加密工具,將用戶傳送到伺服器的數據加密免被黑客讀取,這套程式漸漸為Amazon、facebook、Netflix甚至美國聯邦調查局所用。
開發團隊成員索普(Geoffrey Thorpe)向《華爾街日報》稱,他日間要上班,所以只能花很少時間在OpenSSL上。索普說﹕「你可以說這差事像通渠,複雜棘手而人人視之為理所當然,直到出了問題。」
OpenSSL出問題消息傳出後,有人質疑開放源碼問題。但程式碼出錯並不罕見,無關乎開放還是封閉與否,正如微軟和蘋果對旗下的收費程式差不多每個月都公布修補漏洞。
只靠捐款運作的OpenSSL缺乏人力物力,才令問題變大。負責籌款的是OpenSSL Software Foundation。自從「心臟出血」之後,捐款雖然略為增加,但是大部分都是5美元或10美元的捐款。
開放源碼易出錯 需多人檢視
對於今次事件的教訓,澤格爾曼稱,這顯示需要更多人參與檢視開放源碼。
他說:「不幸地,雖然百萬計人使用這程式,但出力的人卻很少。」他指出,開放源碼軟件的好處便是人人都可以檢查程式碼,「愈多人檢查便愈好,尤其像OpenSSL這類軟件」。