最近連續發生數起攻擊自由開放源代碼軟件服務器事件,使得開發人員不得不謹慎應對這種最新局勢。
過去四月來,不明入侵者接連攻破Linux核心開發小組、Debian Project、Gentoo LinuxProject與GNUProject等專門放置程序與源代碼的服務器。GNUProject更是管理許多Linux與其他類Unix系統所使用的重要程序開發。接二連三的攻擊事件也讓這些專案領導人紛紛
回頭查看自己的安全。
“這批主要針對開放源代碼服務器與核心開放源代碼開發服務器的攻擊的確引人側目。”負責GentooLinux源代碼擴散系統的成員CoreyShields表示。“大家擔心的是有人意圖不軌,刻意變更核心軟件,那使用者用到的都是被動過手腳的產品。”
雖然微軟的Windows向來是黑客主要瞄準對象,但在開放源代碼模式逐漸成為氣候之后,現在也成了攻擊者覬覦的對象。LinuxOS與其他開放源代碼應用越來越熱門,黑客興趣也跟著大增。即使自認為已經做好相關安全措施的開發人員現在也不禁開始擔心這種趨勢。
“大家都不希望自己是下一個受害者,必須跑在黑客之前做好保護措施才行。”SambaProject(可兼容于Windows網絡的熱門開放源代碼文件服務器計劃)共同創始人暨開發人員JeremyAllison表示。
一連四起
12月1日,專門提供Gentoo源代碼下載的一臺服務器(總數105臺)遭入侵,所幸主要的源代碼數據庫并沒有遭到威脅。遭入侵的服務器上所安裝的安全軟件立即偵測到這種攻擊,并做了完整的紀錄。
在此之前,11月份的一起攻擊則瞄準Linux核心(kernel),此次是一位開發人員的系統被入侵用來當作攻擊踏板,該入侵者利用被入侵的電腦來發送源代碼給另一臺服務器,若有人安裝該源代碼,便可能遭到攻擊者取得系統權限。該起攻擊事件在24小時便被偵測到。
其他攻擊事件則更為嚴重。入侵者取得進入GNUProject開發系統Savannah的權限;另一起事件中,四臺用來管理Debian版本開發與社群作為的DebianProject服務器也被取得完整權限。
兩起攻擊行徑都相當類似:入侵者先取得合法的使用者登入帳號密碼,再利用一個最近被發現的Linux核心漏洞取得系統所有人的權限。Debian與GNU計劃領導人目前先把系統下線,開發人員全都無法存取,直至確定安全無虞后才會再開放。
GNU Project表示最近這起攻擊事件,加上稍早三月FTP服務器被侵入事件,導致領導階層開始做些改變以為應對。
新增數字簽名
“我們預期在Savannah事件后會采取一些行動,”自由軟件基金會法律長EbenMoglen表示,該基金會負責GNUProject,專門提供Unix與Linux系統專用的自由軟件。這些行動包括,專案領導人會強迫開發人員在所有貢獻的源代碼中做數字簽名程序,同時也會在公開給大眾的開放源代碼維護系統中新增額外的功能,在接受任何變更前會先檢查開發人員的數字簽名。
“我們認為新增數字簽名是最有效的辦法,可確保我們接受源代碼的完整性。”Moglen表示。
GNUProject將自己所提供的程序稱為自由(free)軟件,因為這些程序在擴散時都得受GNU公共授權書約束,它允許大家變更并自行重新散播軟件,但前提是變更過的源代碼也必須一起擴散出來。其概念是希望借由大眾的共同參與來自由共享、改善、使用軟件。
但批評者認為,這樣的軟件開發模式也必須付出看不見的代價。微軟信息安全總經理GregWood表示,“用在商業流程上,開放源代碼有其代價,企業必須自行做好安全檢查,所有流程建立也必須自行負擔。”
微軟也有自己的問題。例如,在2000年十月,入侵者便通過某位開發人員的電腦取得微軟網絡的使用權限。自此之后,微軟發起信賴運算計劃(TrustworthyComputing),力圖保護軟件與開發流程的安全性。
開發人員指出,最近幾起攻擊事件雖然導致不肖份子取得部分電腦的權限,但對于開發部分并不受影響,因為這些計劃已經采取相關的安全措施作為回應。
“最近幾次入侵事件都能很被快發現,主因是主網站多半沒有對外開放,入侵者若在第二層網站進行變更就會被數個安全機制察覺到,”Linux核心使創者以及現行維護者LinusTorvalds表示。
Torvalds多次改變安全策略。早期還在芬蘭赫爾辛基大學念書時,他將Linux核心版本放在一臺可通過校園網絡存取的機器上。現在,Linux核心服務器則由多道防火墻保護著,并通過SSH加密通訊與加密簽名來確保完整性。
Torvadls現在所使用的開放源代碼核心維護應用是由BitMore所研發,該公司創始人LarryMcVoy強調,每個計劃都應該使用這類簽名(或稱checksums)來確保開放源代碼沒有被亂改。
“若你的信息沒經過checksum檢驗,你覺得不會有事,那你就是在自找麻煩。”McVoy說。
包括Debian Project、GentooLinux、SambaProject都已開始采用外部checksums來檢驗文件是否在遭受入侵期間被動過手腳。MandrakeSoft創始人GaelDuval表示,這類技術讓專案維護工作輕松不少。
“安全問題不是始于今日,解決方案也早已存在市場,”Duval說。“最重要的是系統管理員與用戶必須重視安全性。”
不怕被動手腳 只怕小蟲
不過Apache軟件基金會的開發人員JustinErenkrantz則表示開放源代碼的開發模式其實讓安全問題減輕不少,由于開發屬于分散式模式,因此還有其他許多信息儲存器(repository)可用來查看主服務器內的源代碼是否完整。
“若apache.org遭到入侵,我們可查看每個開發人員都能與信息儲存器同步化,沒有被加入惡意源代碼。”Erenkrantz表示。
Torvalds也同意這種看法,他表示若核心開發主服務器遭入侵,開放源代碼社群還是有其他檢驗平衡措施可做補救。
“最重要的是,最后總會被查出來,”Torvalds說,“核心源代碼不斷被復制,我們總是找得出哪里被偷放了不該放的程序。”
Torvalds認為,一些簡單的錯誤反而比惡意攻擊者來得可怕。
“我個人比較擔心一些常見的臭蟲,”Torvalds表示,“大部分被發現的核心漏洞都是一些很愚蠢的小蟲,就像Debian被咬到的那只,而非什么特別厲害的黑客在干壞事。”