第 168 期 以 Snort 實作入侵偵測系統─自由軟體鑄造場電子報─智邦公益電子報
enews.url.com.tw · February 07,2012[技術專欄] 以 Snort 實作入侵偵測系統
老薯條(http://vulscan.wynetech.com.tw)/文 2011-03-/02
前言
在一般企業中通常會設置防火牆作為防止駭客入侵的第一道防線,有些企業甚至認為防火牆即是唯一需要的資安設備,但在實務上,防火牆並無法有效阻擋所有種類的網路攻擊行為。也因此有所謂的入侵偵測系統設備(既然無法阻擋攻擊,那就記錄攻擊行為,以便事後追查,當然目前也有所謂的入侵預防系統 (Intrusion Prevention System, IPS),除了可記錄惡意行為外還可直接阻擋正在進行中的惡意行為)。在本篇文章中,筆者將結合開源碼社群中最有名的入侵偵測軟體 (Snort) 與 Web 介面的管理軟體 (BASE) 實作一個網頁型的入侵偵測系統。本系統所需套件如下表:
軟體名稱 | 網址 | 說明 |
Fedora 11 | http://fedoraproject.org/ | Linux 作業系統 |
Libpcap | http://www.tcpdump.org/ | 擷取網路封包的程式庫 |
PCRE | http://www.pcre.org/ | 正規化表示法的程式庫 |
Snort | http://www.snort.org | 網路型入侵偵測系統 |
PHP | http://www.php.net | 網頁程式語言 |
Apache | http://www.apache.org | 網站伺服器 |
BASE (Basic Analysis and Security Engine) | http://base.secureideas.net | 網頁式入侵偵測系統管理程式 |
MySQL | http://www.mysql.com | 資料庫軟體 |
ADOdb | http://adodb.sourceforge.net/ | PHP 資料庫程式庫 |
什麼是入侵偵測系統
入侵偵測系統依偵測型式可分為網路型入侵偵測系統(Network-based Intrusion Detection System,以下簡稱為 NIDS)及主機型入侵偵測系統(Host-based Intrusion Detection System,在此我們不多加討論主機型入侵偵測系統)。NIDS
網路型入侵偵測系統通常部署在網域閘道上 (gateway),通過竊聽 (sniffer) 的方式,即時監測網路上的封包並比對攻擊模式,當發現有疑似入侵行為時能即時提出警告的防禦系統。一般而言 NIDS 網路部署如下圖示:▲圖 1
NIDS 部署在網域閘道上 (gateway) 監控所有的封包並與攻擊模式資料庫比對,一旦發現有符合攻擊樣式的網路封包,即觸發相關事件來通知管理者,相信細心的讀者一定會發現上圖中的入侵偵測系統 (Snort) 是接在 switch 裝置前的 hub,而不是與 switch 裝置直接連接,這是因為封包在這兩種裝置上傳遞方式不同的緣故。在 hub 上,封包是採用廣播的方式,當封包進入到 hub 時,將會以廣播的方式將封包傳遞給 hub 上所有的主機,但只有目的主機會接收此封包,也就是說,在 hub 上連接的主機都會接收到封包,只是沒收下來而已,在這個情況下,如果我們讓網卡進入所謂的混亂 (promiscuous) 模式,那網卡就會強制的將同一 hub 上的所有封包資訊接收下來(這也是一些以竊取資料為目的木馬程式的特徵),所以有些網管人員會特別注意相關 log 檔案是否有類似 (promiscuous) 的字串,不過 Snort 在啟動後,也會強迫網卡進入混亂 (promiscuous) 模式,藉此取得其它主機的封包。以 Linux 系統為例;讀者可利用 ifconfig 指令查看目前網卡的狀況,如下圖為一個正常模式的網卡,在此模式下,網卡僅會處理與本身相關的封包。
▲圖 2
讀者可利用 ifconfig eth0 promisc 指令,讓網卡進入混亂 (promiscuous) 模式,如下圖即為一個進入混亂 (promiscuous) 模式的網卡,在此模式下,網卡會處理流經 hub 的所有封包,Snort 即是利用此特性處理網域內的所有封包並比對是否有惡意樣式的封包,所以 Snort 程式在執行時,會將網卡設定成混亂 (promiscuous) 模式。
▲圖 3
而在 switch 裝置上,則是會保存一張對應表,對應接在 switch 上的每台主機埠口(即 switch 裝置上的埠會對應連接此實體埠主機的 MAC 資訊),一旦封包流進此 switch 即會先查詢此對應表,並直接將封包直接傳遞給目的主機,而其他不相關的主機無法接收到封包。因此,若無經過特殊的處理,Snort 直接連在 switch 上是無法取得其它主機的封包。這也是為什麼 Snort 主機不能直接接在 switch 上來從事監控作業,而必須接在 hub 上的原因。除非 switch 有提供所謂的 mirror 功能,可將 switch 上其它埠所接收到的封包複製一份到 Snort 主機所在的埠口上,否則 Snort 接在 switch 上是無法取得其它主機的封包(僅可取得流經自己主機的封包)。
NIDS 偵測的方式可分為特徵比對 (Signature-based) 方式與異常偵測 (Anomaly-based) 方式,如下所述:
特徵比對 (Signature-based)
特徵比對 (Signature-based) 又稱為「不當行為偵測 (Misuse detection)」,系統會先針對入侵特徵建立一「異常特徵資料庫」,只要 NIDS 偵測到的封包內容與資料庫的某個特徵相符,系統即會判別為入侵。此種方式的優點是不易誤判,因為個別的攻擊行為通常擁有特殊的特徵符號。就如同病毒碼一般可精確比對出攻擊模式。但就如上所言,此種方式是否能完整的檢測出惡意的封包,取決於「異常特徵資料庫」的完整性,異常特徵資料庫越完整,檢測出惡意封包的機率就越大,所以此種方式並無法檢測出未知的攻擊方式,因為需要先有攻擊行為才會有攻擊特徵,「異常特徵資料庫」才能加入此種攻擊特徵,最後 NIDS 才可藉此掃描出惡意封包。Snort 所採用的偵測方式,即屬於特徴比對的方式。異常偵測 (Anomaly-based)
運用統計分析的方式,先定義出正常的系統模式(以下簡稱正常模式),而後當 NIDS 檢測出不符合正常模式的流量時,即判別為異常,此種模式的優點在於可偵測未知的攻擊行為,因為攻擊行為常會造成系統偏離正常模式而被檢測出來,但缺點是很難界定所謂的「正常的系統模式」,所以經常會有誤判的情況,也因此大部份的入侵偵測系統大都採用特徵比對的方式。安裝 Snort
Snort 是一種以攻擊特徵碼為基礎的入侵偵測系統,利用事先建立好的已知攻擊資料特徵碼,來比對接收到的封包內容是否含有攻擊行為。若符合特徵碼即觸發相對應的動作。相關架構圖如下所示:▲圖 4
Packet Decoder(封包解碼器)
當 Snort 取得各種不同通訊協定的網路封包後,第一件事即將封包置入「封包解碼器」模組中做第一階段的封包處理與分析,以作為下一個階段(前處理器與偵測引擎)的資料來源。Preprocessors(前處理器)
Snort 的前處理器為外掛程式 (plugin) 的架構,主要功能在於重新標準化網路流量(如重組封包、分段與重組 TCP stream、編碼的轉換等等),以使得網路流量能精確的被偵測引擎 (Detection Engine) 解析及匹配特徵碼。Detection Engine(偵測模組)
Detection Engine(偵測模組)主要功能在於規則分析與特徵偵測,Detection Engine(偵測模組)將 Snort 的規則文件引入,並按照規則文件中的規則,逐一比對並分析網路封包,一旦發現封包有符合規則文件中定義的行為,即觸發該規則文件中所定義的處理方式,當所有的規則都不符合時,即會丟棄該封包。Snort 的規則文件分為兩個部份:1. 規則表頭 (Rule-Header) 規則表頭是規則中第一個圓括孤之前的部份,通常是用來決定封包比對來源範圍(如:限定比對那些範圍的 IP)及比對成功時的動作(如:用 log 或是直接丟棄)。
2. 規則選項 (Rule-Options) 規則選項主要利用一至多個關鍵字設定欲偵測的流量特徵,規則選項依功能可區分為下列四個部份:
(1) Meta-data 用來設定欲顯示的相關訊息,如當規則觸發時所要產生的訊息或弱點的相關參考訊息。
(2) Payload 用來比對封包內容的規則,如比對是否需區分大小寫或特定字串等等。
(3) Non-Payload 用來比對各種協定的欄位值。
(4) Post-Detection 當封包內容與規則符合時,除了在規則表頭 (Rule-Header) 所定義的動作外,另外會觸發的動作指令如下規則範例:
alert tcp any any → any 5432 (msg:"someone access PSQL command:SELECT"; content:"select";)
規則描述如下表:
alert【處理方式】 | 產生警示的 log |
tcp【來源通訊協定】 | 偵測 TCP 的封包 |
any【來源 IP】 | 偵測任何的來源 IP |
any【來源 port】 | 偵測任何的來源埠 |
any【目的 IP】 | 偵測任何的目的 IP |
5432【目的 port】 | 僅偵測 5432 埠的封包 |
【進階處理內容】 | 若符合內容含有「select」的字串,則將 msg 後的字串記錄起來。 |
上述規則的意義為:
當主機上的 5432 埠,如果有接收到內含有 select 字串的封包,則記錄一筆警示記錄(記錄內容為「someone access PSQL command:SELECT」)。
Logging and Alerting:當 Snort 偵測出惡意封包時,可以將該訊息記錄起來並觸發相關警告事件。
Output Modules:可將相關資訊輸出到檔案或資料庫等儲存媒介,在本解決方案中,我們會將相關的資訊儲存至資料庫中。
接下來,繼續安裝 Snort,假設讀者已安裝完成 Apache 與 MySQL,請讀者依序以下列步驟安裝相關套件:
1. 安裝 Libpcap 及 PCRE
yum install libpcap*
yum install libpcre*
2. 設定 ADOdb
至 http://adodb.sourceforge.net/ 取得最新的版本,解開後,將相關檔案置於 /usr/local/adodb 目錄即可
3. 安裝 Snort 的資料庫
(1) 新建一個名稱為 snort 的資料庫
(2) 在 Snort 原始碼的 schemas 目錄下有一個 create_mysql 檔案
利用 mysql –u [USER] –p [Password] snort
(新建立 Snort 所需要的資料庫表格)
4. 安裝 Snort
(1) 至 www.snort.org 取得最新版本的 Snort 解壓縮後,如下指令:
./configure && make && make install 即可安裝完成
(2) 接下來即為建立 Snort 所需的相關目錄:
mkdir –p /opt/snort/etc #放置 config 檔案目錄
mkdir –p /opt/snort/rules #放置規則檔的目錄
mkdir –p /var/log/snort #放置 log
(3)下一步即為取得 Snort 的規則集(目前 Snort 是必需付費方可取得最新的規則集,但讀者可至官方網站簡單註冊後,即可取得未註冊的版本)將相關的規則集檔案解壓縮後置於 /opt/snort/rules 即可。
(4)再來即為設定 Snort 的組態檔 (snort.conf),基本上僅需設定下列選項即可:
var HOME_NET any #設定欲監控的主機(any 表示任意的主機均符合)
var EXTERNAL_NET any #設定外部主機範圍
output database: log, mysql, user =【資料庫使用者帳號】
password =【資料庫密碼】 dbname=snort host=localhost
#MySQL 資料庫的支援
在安裝完成後,即可開始測試 Snort,Snort 提供兩種工作模式:
(1) 監聽 (sniffer) 模式
在此模式下,Snort 僅是 sniffer(如 tcpdump)的功能,監聽所有來往的封包,但不會做攻擊模式的比對。
讀者以 snort –v 進入 sniffer 模式,如下圖示:
▲圖 5
(2) NIDS(網路型入侵偵測系統)
在此模式下,Snort 不僅會監聽所有來往的封包,並會做攻擊模式的比對。
4. 安裝 BASE 軟體
由於 BASE 軟體有繪圖及 Email 相關功能, 所以我們還必需安裝 PHP 相關的模組。
pear install Mail #利用安裝 Email
pear install Image_Color-1.0.2.tgz #安裝繪圖所需的模組
pear install Image_Canvas-0.3.0.tgz
pear install Image_Graph-0.7.2.tgz
安裝完成後,可利用 pear list 來檢查是否有安裝相關模組,如下圖示:
▲圖 6
將 BASE 相關程式置於網站根目錄下的 base 目錄,(在此為 /usr/local/apache2/htdocs/base),後利用瀏覽器設定,如下步驟:
步驟1(檢查相關環境):
▲圖 7
步驟2(設定 ADOdb 的所在目錄):
▲圖 8
步驟3(設定資料庫相關的資訊):
▲圖 9
步驟4(設定從網站登入的帳號及密碼資訊):
▲圖 10
步驟5(產生相關的資料庫表格):
▲圖 11
當一切順利完成後,讀者可利用瀏覽器瀏覽 http://〈base IP〉/base/ 即可瀏覽 BASE 的相關頁面
接下來即請讀者啟動 Snort,如下指令:
/usr/local/snort/bin/snort -c /usr/local/snort/etc/snort.conf -D
(以常駐程式方式啟動 Snort,並將網卡設定成 promiscuous,讀者可利用 dmesg 查看是否有類似下列的文字「device eth0 entered promiscuous mode」)。
下圖為 Snort 偵測到 Teardrop(一種拒絕服務攻擊的手法)攻擊的畫面:
▲圖 12
至此,讀者已成功建立網頁型入侵偵測系統。可由網頁介面來掌控入侵偵測系統的相關資訊。
[源碼快訊] 【活動新聞】另類的自由風景-電信網路軟體 OpenBSC 的發展故事
OSSF/編述 2011-03-08
近年來電信網路技術的蓬勃發展,讓手機改變了大多數人們的生活面貌。隨著技術不斷地日新月異,從 2G 到 3G、行動網路生活面貌的成形,這個改變還會繼續在持續中;然而在手機系統中仍有許多待面對的挑戰與發展空間。由與台灣關係密切的德國黑客 Harald Welte 所發起的 OpenBSC 計畫就是一個例子。它是一個很特殊的 GSM 網路基地台端 BSC(Base Station Controller,基地台控制系統)的自由軟體計畫。就像其他的自由軟體計畫一樣,一個創造性的想法、一種透明化的運作方式,就會帶動一整個領域出現了改變與發展的契機。
OpenBSC 社群資深的德國開發者 Holger Freyther,應軟體自由協會之邀請,將於近日抵台與國內自由軟體社群分享這套軟體發展的故事,同時也介紹它在一些實際案例當中所發揮的影響。本次活動除了公開邀集國內的社群朋友來一同對話;同時也邀請了曾經參與過自由軟體手機計畫的國內知名開發者 Jserv 黃敬群先生做在地的回應。歡迎有興趣的朋友可以踴躍參加!
◎ 活動時間:2011 年 3 月 9 日(三)下午 7:00 ~ 9:00
◎ 活動地點:蘋果優仕八德店 2 樓(台北市八德路一段15號,順發 3C 隔壁,八德路跟新生北路交叉口。)
◎ 主辦單位:中華民國軟體自由協會
◎ 活動網頁:http://registrano.com/events/openbsc
[源碼新聞] 【社群採訪】- 創意十足的 Mozilla Firefox 社群 - Mozilla Taiwan
李婉婷/採訪 2011-03-07
瀏覽器是一個十分貼近大眾、也十分重要的工具軟體,每天上網都需要透過它與外界聯繫,Firefox 的開發一直以來都是從易學易用的角度出發,而 Firefox 背後的 Firefox Taiwan 社群 (MozTW) 在推廣上也是秉持著這個理念進行,一直默默的在為使用者服務。不,他們其實一點都不默默,在各大社群活動場合都可以看到 MozTW 的身影,他們是活潑、有衝勁、有很多創意點子的一群人。MozTW 社群固定每個星期一會在台北市杭州南路的生態綠咖啡館聚會,每次聚會並沒有特定主題,跟其他社群相比,MozTW 的社群成員大多不是技術背景出身,反而是使用者佔的比例比較高,也因此在聚會中大家分享自己生活趣事的狀況也比較多。生態綠就像是下班後聊天放鬆的地方,這點也很符合 Firefox 易學易用、貼近生活的開發目的,或許也是這樣輕鬆的氣氛,MozTW 在辦活動時花招特別多,創意的點子也源源不絕。
曾經在一次社群聚會中,趙柏強 (Bob) 等人剛好就聊到 IE8 推出,要舉辦記者會,由於記者會當天正好訂在 4 月 1 日愚人節,於是 MozTW 的社群成員花了一個晚上的時間,架了一個「用 Firefox 體驗 IE8 功能 (http://moztw.org/events/ie8/)」的宣傳網站,乍看之下,還以為是在替 IE8 做宣傳,其實是想搭著 IE8 的順風車推銷自家瀏覽器,網頁內容盡是用 IE8 來突顯 Firefox 眾多好用的功能。Bob 笑著說:「還有朋友打電話來問說,是不是 Mozilla Taiwan 網站被入侵了?」而最諷刺的是,當天在 Google 搜尋列打上「IE8」,搜尋出來的結果第一筆結果不是微軟的官方網站,反而是這個他們靈機一動所想出來的網站。
以往在自由軟體大型活動中,只有廠商有攤位可以擺宣傳品,而現在不少大型活動都已經開放攤位給社群申請,社群可以在專屬的攤位放一些文宣品、小贈品來為自己的理念或軟體做宣傳。有這樣的福利其實可以歸功於 MozTW,MozTW 是第一個在國內大型自由軟體活動裡擺攤位的社群,這其實是源自於一個意外。在 2008 年時,由於 Mozilla 基金會當時贊助 COSCUP2008 因此有個攤位,這個攤位後來給了 MozTW 使用,此後大家發現有個可以讓社群伙伴定點聚集、發放推廣贈品的攤位還挺方便的,於是便開始了向活動主辦者爭取社群攤位的申請風潮。
除了舉辦一般的社群活動之外,MozTW 也嘗試走入校園,吸引年輕學子使用 Firefox,希望 Firefox 易學常用的特性,能作為使用者接觸自由文化的起點,讓同學體驗自由軟體的便利之處及價值所在。MozTW 也在網路上找尋願意合作的圖文部落客,設計了大家十分熟悉的 Q 版火狐吉祥物 - Foxmosa(小莎),並且利用小莎這個虛擬角色經營 Plurk 和 Twitter 進行網路行銷,到目前已經長達兩年的時間了,MozTW 社群希望經營這樣的吉祥物能更貼近大家的生活。在推廣宣傳方面 MozTW 投入了不少心力、加入許多創意,跟國外的 Mozilla 社群相比,MozTW 的推廣策略是走在很前面的。
最後,熱情、活潑、創意十足的 MozTW 想對初步接觸自由軟體的開發者說:自由軟體是一個可以讓開發者,尤其是資工系的學生,可以自由地從事軟體研究及開發的神兵利器,自由軟體也很適合用來激發群體創意並加強參與者本身的技術能力。一般來說,傳統的商業軟體在開發上通常需要經過多層關卡的管理與決策,但若是透過自由軟體,使用者可以自由地開發自己有興趣的軟體,並且做完後可以放在網路上讓大家測試,是一個非常優異的實作媒介與學習客體,希望大家日後能多多利用自由軟體的這項優點來提升自己的軟體開發功力,並透過交互分享多人共工的開發方式,來結交人生路途上志同道合的好朋友。
[源碼密技] 以磁碟為主要處理對象的備份工具 - DAR & DarGUI
翁卓立/文 2011-03-04
DAR 簡介 想在 UNIX/Linux 系統上備份檔案有許多選擇,最知名的莫過於 tar 指令。傳統的 tar 指令只能打包檔案,不支援壓縮功能,但透過管線轉向的方式並搭配 gzip、bzip2 等指令,或是直接使用較新版本的 tar 指令,都可以同時打包並壓縮檔案。如果使用者不熟悉 tar 指令,亦可選擇安裝 zip/unzip 或 rar/unrar 等套件來備份與壓縮檔案。
DAR:
官方網站:http://dar.linux.free.fr/
原始檔網址:http://ncu.dl.sourceforge.net/project/dar/dar/2.3.10/dar-2.3.10.tar.gz (1.3MB)
(大多數 Linux 發行版本均有內建 DAR 套件,例如 Red Hat、SUSE、Gentoo 與 Ubuntu 等,可直接使用該發行版本的套件管理程式進行安裝。)
DarGUI:
官方網站:http://dargui.sourceforge.net/
下載網址:http://nchc.dl.sourceforge.net/project/dargui/dargui/0.5.2/dargui-0.5.2_i386.deb (2.3MB)
使用 tar 指令打包與壓縮檔案雖然方便,但 tar 指令卻存在著一個問題:tar 指令不支援以分割檔案的方式,進行檔案打包與壓縮。假設主機上的備份裝置只有 DVD 燒錄機,但打包好需要備份的檔案遠超過 4.37 GiB(或 4.7 GB),此時便無法直接將打包完成的檔案備份到其他儲存媒體上。就算使用 Double Layer 的 DVD 光碟片進行備份,也仍然有 8.75 GiB(或 9.4 GB)的容量限制問題。當然遇到此類問題時,仍然有許多解決辦法,例如直接複製檔案存入外接硬碟,或是藉由網路將檔案傳輸到另一部主機的硬碟空間。但這樣的解決方案,都無法將檔案備份到相對而言比較穩定的光碟儲存裝置之中,對於備份檔案的安全性而言,仍然無法讓人放心。有些人可能會透過 split 指令,先將打包後的檔案進行分割,再依序處理所有檔案。只是這樣的備份檔案需要先後使用二個指令,使用者不免覺得麻煩。
所幸在 UNIX/Linux 系統上打包與備份,並不是只有 tar 一種解決方案。大多數 Linux 發行版本中,都提供一套名為 DAR 的套件可以作為檔案打包、備份的另一種選擇。DAR 這套工具的全名為 Disk ARchive(磁碟備存),本身是以 Shell 命令備份檔案。 DAR 與 tar 相當類似,都是用於打包及壓縮檔案或目錄,二者最大的差異是,DAR 打包後的檔案,主要是輸出到磁碟儲存裝置。由於使用的是磁碟裝置,輸出檔案時自然會面臨各種磁碟裝置的容量上限問題,因此 DAR 採用了分割方式,也就是依照使用者指定的參數將輸出檔案進行切割,並儲存成數個分割檔案。這些分割檔案被稱為 slice,可以依照不同的輸出裝置調整檔案大小。例如,檔案輸出時要使用軟碟機、CD-R 光碟燒錄機、DVD-R 光碟燒錄機,或是已經快被眾人遺忘的 ZIP Drive 等裝置進行備份,即可依照上述輸出裝置的容量上限,調整每一個 slice 的大小。
▲ DAR 是以 Shell 命令的方式進行作業。
由於打包檔案可能會佔用許多磁碟空間,即使事先指定以分割方式進行處理,仍然需要預留足夠的磁碟空間,才能存放這些打包後的分割檔案。如果系統上的磁碟剩餘空間不足,備份檔案時可能會發生些許問題。對此 DAR 提供了一項非常特別的設計。亦即,在建立每一個 slice 之後,可以暫停動作,讓使用者先行處理其他工作,或是直接執行 Shell Script,繼續該 slice 的後續處理。例如打包並切割後的檔案要備份到 CD-R 光碟片,即可要求 DAR 建立一個 slice 之後,先將該 slice 備份到 CD-R 光碟片中,完成後再切割出下一個 slice 及其它備份工作。
▲ DAR 在每一個 slice 建立完成後,可以暫停執行以便讓使用者進行其他處理。
DAR 的主要特色
除了打包檔案的切割與壓縮功能外,DAR 也擁有許多其他備份工具無法兼備的特色。例如差異化備份功能,即為 DAR 最重要的特色之一。在大部份的情況下,前後二次備份系統之間,系統上的檔案多半只有一部份經過變動,如果二次均全數重新備份,將會相當耗時費力。但 DAR 所支援的差異化備份模式,可以自動比較二次備份,辨認出新增或變更過的檔案,並只處理這些檔案,所以能採用較有效的方式備份系統。如果系統發生問題需要回存備份檔案,只需要先回存先前的完整備份檔,再回存後續的差異備份檔,即可將檔案系統恢復至原先的狀態,即使原先的完整備份檔包括事後已經被刪除的檔案,也不會產生處理上的問題。DAR 在進行備份作業時,也可使用過濾器,指定需要備份的檔案。例如需要連同檔案目錄一起備份時,可能有些不必要的檔案不希望被加入備份檔之中(例如暫存檔或不重要的記錄檔),此時就可以利用過濾器的功能,將這些檔案排除在備份檔案的範圍之外。相反的,如果有某些檔案一定要進行備份,就可使用過濾器的含括功能,將這些檔案列為必需備份的檔案之一。而且無論在建立或解開備份檔案時,都能套用過濾器功能。過濾器是以檔案名稱作為處理依據,但並未限定只能處理檔案,如果備份時需要或不需要子目錄,亦可使用過濾器進行處理。
▲ DAR 可以利用過濾器功能,將檔案包含或排除在備份檔案之列。
由於備份時通常會產生一個相當大的檔案,因此經常使用壓縮模式。但有時候需要從備份中還原某一個檔案,而不需要將整個備份目錄回存,此時便需要備份工具提供直接存取功能,使用者才能在不需要解開整個備份,直接將某個檔案回存至系統中。DAR 就支援直接存取功能。需要使用直接存取功能時,DAR 會先讀取備份的索引目錄資訊,直接找到欲回存檔案在備份中的位置,並回存該檔案至系統中。如果備份時使用了分割功能將備份切成好幾個 slice,則 DAR 會告知使用者該檔案位於哪一份 slice 之中,並要求使用者提供該 slice ,即可回存該檔案。
除了上述功能以外,比較值得一提的是,DAR 還支援測試功能與管線功能。其中,測試功能可以直接測試備份,以確定備份中資料是否損毀,並將測試結果告知使用者。如果只想確認備份檔的正確性,不想花時間解開整個備份,選擇使用測試功能會比較方便。管線功能則允許 DAR 將備份結果輸出到標準輸出介面,或是轉向至其他軟體進行後續處理。相反的,DAR 也可以接收經由管線轉向而來的資料,並進行回存處理。操作管線轉向功能較為複雜,但 DAR 的功能也因此能發揮到極致。
雖然大多數人通常會在 Linux 系統中使用 DAR,這並不代表 DAR 只能在 Linux 系統中使用。相反的,使用者已經在許多不同的作業系統平台上測試過 DAR,而且執行時也沒有因而產生問題。這些作業系統包含 Windows、Solaris、FreeBSD、NetBSD 與 MacOS X 等等,幾乎涵蓋了所有主流的作業系統。而在 DAR 2.0.0 版之後,DAR 也開始提供應用程式介面(即 API),讓有意為 DAR 開發相關程式者,也能直接使用這些 API 進行資料處理。這樣的運作模式同時也為 DAR 帶來許多好處-若有使用者認為文字介面的 DAR 在操作上不夠便利,可以選擇使用利用這些 API 所開發的 DAR 圖形使用者介面,例如 KDar 與 DarGUI 。
DarGUI 簡介
從 DarGUI 的名稱之中即可得知,這套工具是以圖形前端介面操作 DAR 的應用程式。DarGUI 是以 GTK+ 進行開發,也由於大多數的 Linux 發行版本都支援 GTK+ 程式庫,因此大部份的 Linux 發行版本上都可以執行 DarGUI。會出現 DarGUI 自然是因為 DAR 的參數與選項很多,造成備份作業較複雜,對於剛接觸 DAR 的使用者來說,也是一項嚴苛的考驗。但有了 DarGUI 的輔助,即可使用最直覺的操作介面,直接利用 DAR 備份資料,減輕許多使用者的負擔。▲ DarGUI 提供了 DAR 的圖形操作前端介面。
事實上 DarGUI 並不是第一個 DAR 的圖形前端介面,先前也曾經出現過 KDar 這套軟體,提供了類似 DarGUI 的功能。但 KDar 在 2007 年 12 月釋出最後一個版本之後,已經長達三年不曾更新。再加上 KDar 是針對 KDE 所設計,而 KDE 這幾年來已經產生相當程度的變化,所以即使是「最新」版本的 KDar,也已經無法在目前大多數的 Linux 發行版本上執行。這樣的過程,也是促使 DarGUI 作者開發一套全新 DAR 使用者介面的主要原因。
由於 DarGUI 的主要特色都是基於 DAR 提供的功能,它只是 DAR 的前端介面,提供使用者以圖形介面進行操控,可以降低使用上的難度,減少不必要的困擾,卻依然能使用 DAR 提供的各式功能。例如使用者可以利用 DarGUI 直接查看 DAR 備份中的內容,或是在備份中點選開啟要解開的檔案。選擇欲解開的檔案時,亦可使用特定關鍵字進行搜尋,以過濾不必要的檔案。如果想要了解備份檔案的相關統計資訊,也能以 DarGUI 直接瀏覽相關資訊,例如備份中所包含的檔案數量,或是檔案壓縮的相關資訊等等。而在建立備份檔案時,使用者也能藉 DarGUI 的介面直接方便地進行處理。使用者只需要指定一些必要選項,例如 slice 的大小、是否採用壓縮功能,以及決定檔案或目錄的過濾關鍵字,即可立即備份資料。
▲以 DarGUI 建立備份檔案相當方便,所有 DAR 所支援的選項都能且接在畫面上進行設定。
如果要進行的是差異化備份功能,或是要檢查備份的正確性,也能直接使用 DarGUI 進行處理。此外,DarGUI 還能使用比對功能進行檢查,找出備份檔案與原系統存放的檔案間是否有差異,方便使用者決定如何備份或回存。如果希望定期備份,DarGUI 也提供了排程功能。使用者可以指定定期備份的週期,或是在指定的時間點備份。由於作者也提到可能有許多功能並未被考慮到,作者相當歡迎任何人提出針對 DarGUI 功能上的看法與建議。目前仍然有許多人持續開發 DarGUI,只要提出的是技術上可行的建議方案,便會在後續版本中陸續加入這些新功能。
英文是 DarGUI 操作介面的預設語言,但 DarGUI 也支援數種不同的語言,包含法文、西班牙文、德文以及瑞典文。雖然 DarGUI 缺少熱心人士協助中文化,目前尚未支援正體中文,將來仍然有可能釋出 DarGUI 中文版本。但即使是使用英文介面,由於 DarGUI 已經簡化 DAR 的操作過程,只要事先熟悉軟體的使用方式,使用時也不至於發生太大問題。
▲ DarGUI 目前仍是以英文介面為主,但本身已經提供了多國語系支援功能。
結語
使用開放原始碼的作業系統或是工具程式,在功能支援上永遠有無限的可能。比方,tar 指令不夠友善,便出現 DAR 這種改進後的備份工具;而 DAR 的操作介面為人垢病,便出現 圖形使用者介面的 DarGUI。或許目前這些工具的表現都稱不上盡善盡美、毫無缺點,但只要開發團隊持續維護,或具備相關技術能力的人可以提供支援,在不久的將來,這些軟體都可能提出更多新功能,以滿足各種不同的需求者。作者簡介
翁卓立逢甲大學資訊工程學系、台灣科技大學電子所畢業,目前擔任韌體研發工作,主要使用 Embedded Linux 進行產品開發。著有「Linux 進化特區:Ubuntu 10.04 從入門到精通」等書。
[自由專欄] 大家都看不見 世界就很安全?談 Security by Obscurity 的資訊安全觀
洪朝貴/文 2011-03-03
◎ 本篇文章傳達筆者意見,不代表自由軟體鑄造場電子報立場,回覆意見請見部落格原文網址:http://blog.ofset.org/ckhung/index.php?post/111c
趨勢科技張明正董事長日前接受彭博社訪問時表示:Android 系統因為開放原始碼,所以沒有蘋果下 iPhone 平台來得安全。這和幾年前李家同校長發表的看法類似:「開放型的操作系統雖然有很多優點,但極容易被人不法侵入,而且侵入以後,常可以通行無阻,如入無人之境。」這種「security by obscurity」的資訊安全觀,不僅挑戰著資訊安全專家和美國白宮的智慧,也挑戰著事實。
國際資訊安全專家的看法,與臺灣資訊界兩位大老正好相反。他們認為:好的演算法,應該攤在陽光下,讓所有資訊專家檢驗。如果沒有專家看得出漏洞,被檢驗的演算法才比較可能是安全的。上述資訊安全的基本原則,叫做 Kerckhoffs' principle。我在「見不得人的 DRM 演算法」一文當中,列舉過一些電腦高手對於這個議題的觀點。這裡再補充一個:近年來活躍於密碼學舞臺的世界知名資訊安全專家 Bruce Schneier 曾經說過:
身為密碼與資安專家,我一直搞不懂開放原始碼議題為什麼會引起這麼大的騷動。在密碼學界,開放原始碼是資訊安全的先決條件;過去數十年來一直都是如此。公開的安全當然比私密的安全更安全:不論是加解密演算法、安全協訂、資安原始碼皆然。對我們來說,開放原始碼不只是一種商業模式,它根本就是工程師應有的聰明態度。
如果資安專家談的太抽象、太理論,那就讓我們談談真實世界所發生的資安問題吧。資訊界兩位大老談的都是作業系統;不過對於一般使用者而言,更需要謹慎守護的第一道防線,可能是雲端年代最重要的代步工具-瀏覽器。去年年初 Google 中國被入侵,臺灣多數大學基於其對瀏覽器的宗教狂熱,一直不敢公開談論這個資訊安全問題。到了去年年底,IE 瀏覽器的零時差攻擊,而中韓潰客很可能用到這個漏洞,導致行政院網站遭到惡意攻繫,再次突顯 IE 瀏覽器的資安問題。關心資訊安全的兩位大老,只批評「目前仍處於小眾的作業系統」的資訊安全;但對於 IE 所造成的這兩個影響既深且廣的資訊安全事件、對於眾多強迫用戶使用破敗舊版 IE 的自殘網站、對於至今沒有具體因應作為的資訊學界與資訊產業,卻反而沒有提出任何建議,這令人十分失望。
「還好我的電腦沒有被入侵。」那可能是你的感覺。今日最大規模的資安問題-botnet 殭屍網路-最可怕的地方,在於被入侵的受害用戶仍舊能夠繼續正常使用電腦,因而經常完全不自覺。操作殭屍網路的駭客潰客入侵你的電腦,用意多半不在你的資料,而在徵召你的電腦參與大規模的集體攻擊。他當然不希望驚動「電腦被徵召」的受害者,這樣那部電腦才會持續留在線上隨時待命-等待他發動攻擊金融機構或政府機關的命令。
殭屍網路的最重要傳染途徑,就是 IE 了。不過,IE 的用戶人口最多,所以光看這個數字還不足以說明 IE 比較不安全。Firefox 用戶的電腦當然也有機會被徵召進殭屍網路。拿上面連結的數據和 2009 年瀏覽器市佔率對照並相除,會發現:IE 與 Firefox 的中鏢率比值為 5:3。真的嗎?大家都看不見 IE 的原始碼,所以封閉原始碼的 IE 真的就比開放原始碼的 Firefox 更安全嗎?
當然,挑戰 Kerckhoffs 原理的資訊界兩位大老,談的都是作業系統,而不是瀏覽器。那更好,就來談談作業系統的中鏢率吧。「IE 助長殭屍網路」那篇文章裡面,沒有作業系統相關數據,無法定量分析。搜尋 Linux botnet,發現 2009 年出現首宗(似乎也是唯一的一宗)Linux 殭屍網路事件。被入侵的,並不是一般用戶的電腦。一般 Linux 用戶的電腦,需要以個案方式手動入侵,對於經營殭屍網路的潰客來說,不符合經濟效益。被入侵的,是沒有設定密碼的某些網路分享器 。不管 Windows 桌機的中鏢率是否真的高達 25%,至少可以確定 linux 桌機的中鏢率,是零。也就是說,我在 Linux 下生活了 15 年,到目前為止,我的電腦還沒有榮幸被徵召加入殭屍網路。
這個例子除了說明使用開放原始碼的 Linux 遠比使用封閉原始碼的 Windows 安全之外,還提醒我們三件事。第一,大多數諸如網路分享器之類的裝置,之所以採用開放原始碼的 Linux,而不是採用封閉原始碼的 Windows,資訊安全當然也是重要的考量之一。如果 Linux 不安全,資訊廠商當然寧可花錢取得授權,改用「比較安全的 Windows」。第二,系統再怎麼安全,產品再怎麼優,如果用戶沒有資訊安全意識-例如連密碼都沒設定-那麼一樣會曝露在風險當中。一位負責任的資訊安全專家,會提醒大眾要提高資訊安全意識,不要仰賴任何產品-防毒軟體也好、Linux 也好-而不是淡化嚴重的資安問題,甚至扭曲事實,找不相關(甚至正好顛倒是非)的藉口來搪塞。第三,在這個案例裡面,只有特定型號的分享器受害。這再次驗證了資安專家早就提出的建議:類似生物多樣性的「作業系統/瀏覽器多元化」,有助於提升網路社會整體的資訊安全。詳見 Schneier 的專訪與 O'Donnell 與 Sethu 的學術論文摘要。一位真正關心社會整體資訊安全的專家,必須要關心這個議題。
李校長的專長是演算法,而不是資訊安全。當然,一位學術成就遠低於李校長的部落客,讀者也不需要將他的話照單全收。問問搜尋引擎吧:請看看「李家同 演算法」和「李家同 資訊安全」,會搜出什麼樣的天壤之別。相較於他令人敬佩的學術成就,和許多技術文章的高水準,李校長那篇文章的專業程度,令向來敬佩他的我訝異得說不出話來。以他對於資訊教育界及對於社會整體龐大的影響力,卻對大眾提出違背事實的資訊安全建議,非但沒有協助自由軟體界讓數位高牆倒下,反而協助微軟強化數位高牆,令人感到多重的不安與十分的不解。讓數位高牆倒下
至於張董顛倒黑白的動機,就很容易理解了;甚至可以得到一點點諒解。張董的任務是賺錢,而不是拯救世界。這不是在指責趨勢科技,而是要請消費者認清資本主義社會的現實-不論你喜不喜歡。2005 年 Sony 藉由音樂光碟入侵消費者電腦的時候(請搜尋 Sony rootkit),部落客於 10 月底揭露其劣行,一開始主流媒體都不願意報導;而資訊安全界則只有 F-Secure 與 Sysinternals 兩家小的防毒軟體公司積極回應。諸如 McAfee 與 Symantec 一開始都不願意真的移除入侵的程式碼;他們甚至還替 Sony 的行為辯解,誤導消費者。至於趨勢科技,則遲至 2006 年才低調推出反安裝工具。難怪 Sneier 這樣評論這些資訊安全大廠:「Sony rootkit 事件突顯了什麼呢?說得好聽一點,這些公司無能;說得不客氣一點,那是欠缺專業倫理呀。」回到這次張董發言事件,難怪部落客們會立即反駁,會調侃張董是資訊不安全專家,認為他可能只是害怕將來 Windows 退流行,就沒生意可做,才會出此下策。詢問報 (the Inquirer) 倒是打趣地指出,趨勢科技不用太擔心自由軟體用戶的批評-趨勢科技不會「失去」這些客戶,因為他們從來就不需要買防毒軟體。
但是 Sony 事件對我們的啟發還不僅止於此。如果 Sony 會在你的電腦開設後門,那麼微軟與蘋果會不會?如果按照張董和李校長的建議,大家都把頭埋到沙子裡,反而只剩下微軟和蘋果可以看得見一切,那麼這個社會將會更加安全,還是更加危險?這不是假設性的問題,這是發生過很多次,甚至現在還存在於你的(以及可能存在於兩位資訊大老的)電腦、手機、隨身聽裡面的事實。請搜尋「Windows phone home」、「Windows stealthy update」、「Windows 盜版警察」、「Apple secret url」、「MobileMe secretly」。這裡的重點已經不是潰客入侵。這裡的重點是:如果「收你錢、不給你看原始碼、告訴你把頭埋在沙子裡比較安全」的資訊廠商,恰恰就是入侵你電腦的潰客呢?封閉原始碼真的比較安全嗎?到底對誰比較安全呢?
最後,提醒消費大眾幾件事。第一,請不要為了合理化自己的「選擇」,而強迫自己「相信」謊言。我選擇使用 Ubuntu,Slax,與 SimplyMEPIS,是因為這些版本的 Linux 方便性等等諸多考量;但並不會因此而天真地認為我的選擇,就一定也比其他版本的 Linux 或比 BSD 更安全。盲目的品牌忠誠,只會讓你變成任人宰割的肥羊。「我可以繼續使用封閉原始碼的 Windows 嗎?」如果因為環境的現實因素不配合,身旁找不到熱心的小學三年級 Linux 玩家可以幫忙你解決問題,那當然也只好繼續用 Windows。哦,要記得安裝防毒軟體。如果我必須用 Windows, 會比較相信開放原始碼的 ClamWin;但是請不要因為繼續用 Windows, 就跟著催眠自己相信那些「自身利益與社會利益」衝突的公司。「提出有利於社會整體資訊安全的建議-例如丟棄 IE-會不會與我自身的利益衝突呢?」一家以營利為目的的公司會怎麼做?消費者應該要有智慧判斷。如果我是防毒軟體公司的董事長,我也不敢保證我的表現會比張董事長展現更高的道德良知與社會責任。第二,沒有任何「產品」是完全安全的;重點是「態度與習慣」。(Schneier 的原文是:Security is a process, not a product. 。不過在此處,「態度與習慣」可能比較能夠抓住其原意。)第三,請不要盡信主流媒體-特別是臺灣的資訊媒體。當然,部落客也可能有自己的偏見、利害關係、甚至被收買(請搜尋「國光部落客」);不過,至少從很多部落客的不同意見裡面,你可以看到比較全面的、未經言論管制的多元觀點。這個年代,網路搜尋的能力很重要。請搜尋比較「白宮 Drupal」和「White House Drupal」、請新聞搜尋比較「俄國 Linux」和「Russia Linux」、你不僅會看到外國改用開放原始碼的自由軟體的趨勢,也會同時看到臺灣多數主流資訊媒體對於這一塊重要趨勢的噤聲。
美國許多政府部門諸如國防部、能源部、健康部、國安部、交通部等等單位改用自由軟體的趨勢是否值得學習?ARM 與 Linux 是否真的將終結微軟與 Intel 的壟斷?Android 會不會就是未來的大勢所趨?微軟真的就要潰堤了嗎?不論這些問題的答案是肯定或否定的,至少在看過這些文章以及用您自己智慧搜尋到的結果之後,你會更清楚地確認:眾人-包含具有實戰經驗的真正資安專家-的智慧認為:採用看得見原始碼的自由軟體,比較有利於資訊安全。Security by obscurity is no security.
[源碼快報] 微軟 Windows Phone Marketplace 禁止使用類 GPL 授權
謝良奇/編譯 2011-03-01你或許已經知道 Apple 的 App Store 政策不相容於 GPL,因此採用此一授權的軟體不能在 App Store 上散佈。那麼,Microsoft 的 Windows Phone Marketplace 呢?Windows Phone Marketplace 的使用條款中,明確地禁止 GPL3 及類似的相容著佐權 (copyleft) 授權軟體。
該項條款被開放源碼倡導者 Jan Wildeboer 在其部落格上揭露,不過最早注意到的人是 Nokia 開發者。他在評估 Nokia 切換至 Windows Phone 7 會遇到的問題時,提醒大家注意 Microsoft 與 Nokia 採用的授權條款不同,因而讓 Nokia 先前支持的 Symbian 和 MeeGo 平台上開發的軟體無法轉換至 Windows Phone 7。而 Nokia 的 Symbian 和 MeeGo 平台都是相容於自由和開放源碼的平台。
正如 App Store,Windows Phone Marketplace 的管理也依賴若干條款。在其條款中,Microsoft 明確地指出,不希望 Marketplace 中出現任何 GPL 軟體。Windows Phone Marketplace 應用軟體供應者協議的第 5.e 節宣稱,應用軟體不能包含任何全部或部份由排外條款 (Excluded License) 管理的軟體、文件或其他內容,或是可能因此造成該應用軟體隸屬於排外條款管轄之物。
至於何謂排外條款,在該條款 1.l 節已加以定義。排外條款為任何要求軟體或共同組成之軟體,必須揭露或散佈其原始程式碼,或必須在不收費情況下允許衍生創作或再散佈。排外條款包含但不限於 GPLv3 授權,在此 GPLv3 涵蓋了 GNU GPL v3、GNU Affero GPL v3、GNU LGPL v3,或任何等同授權。
鑒於 VLC 這類 GPL 應用軟體現身 Apple iPhone App Store 後遭到移除,此一自由軟體授權的禁令顯然是 Microsoft 對此一議題的回應。由於 Apple 和 Microsoft 這樣的商業應用軟體商店並沒有直接提供應用軟體原始程式碼的機制,而且他們也有某些形式的 DRM,以避免使用者將二進位檔案傳輸給其他人,即使是不收費的軟體也一樣。因此這些限制讓這類商店無法相容於 GPL。
初步看來,Microsoft 的條款似乎沒有將 BSD 授權、MIT 授權、Apache 授權等開放源碼授權,納入排外授權的範圍中。此外,儘管使用 GPL 當作例子,Microsoft 的限制並不僅限於 GPL 授權,像是 Eclipse Public 授權、Mozilla Public 授權,以及其他弱著佐權授權,恐怕也在禁用之列。
有趣的是,外界猜測如此一來 Microsoft 自家通過 OSI 認可的 Microsoft Reciprocal License 和 Microsoft Public License,也會遭到禁止。來自 Microsoft 官方發言人的最新說法是,Microsoft Public License 並不在禁用之列。這些禁止條款同時意味著 Microsoft 的新夥伴 Nokia 旗下的 Qt 環境,將因為採用 GPL 的緣故而無法在該平台上使用。
相關網址:
1.Microsoft 的 Windows Phone Marketplace 禁止自由軟體
http://www.h-online.com/open/news/item/Microsoft-bans-free-software-from-Windows-Phone-Marketplace-1191524.html
2.GPL 類似授權遭 WP7 Marketplace 禁用
http://www.osnews.com/story/24433/GPL-like_Licenses_Explicitly_Banned_from_WP7_Marketplace/
3.Microsoft 禁止自家授權
http://blogs.computerworlduk.com/simon-says/2011/02/microsoft-bans-its-own-licenses/index.htm
[源碼快報] 移除 PS3 Linux 支援功能 Sony 遭控違反電腦欺詐和濫用法
謝良奇/編譯 2011-03-03
美國北加州地方法院 (US District Court for Northern California) 日前駁回了針對 Sony 在 Playstation 3 中移除 Other OS 功能所提起集體訴訟中的多項指控。根據 Groklaw 報導,法官同意 Sony 律師提出的論點,認為使用者購買的硬體只需要在第一年保固期限支援遊戲機功能。Sony 明確地將軟體功能和 Playstation Network 服務排除在此一保固期之外,並保留隨時修正其功能的權利。
根據法官的意見,使用者取得僅針對該軟體的使用權。法官因此駁回了 Sony 違反加州消費者法律救濟法 (California Consumer Legal Remedies Act) 的指控。此外,違反明示擔保 (express warranty)、銷售與針對特定用途適用性的默示擔保 (implied warranties)、Magnuson-Moss 擔保法要求,以及針對強占 (conversion)、不公平競爭、不當得利的指控,也遭到駁回。
原告有 20 天時間重新遞交修正後的訴狀。然而,不論如何,由於原告針對 Sony 違反電腦欺詐和濫用法 (Computer Fraud and Abuse Act,CFAA) 的指控,並未遭到駁回,此一案件將繼續進行。
由於移除 Other OS 功能,Sony 可能因此違反 CFAA,該法案將對電腦系統的非授權修改,視為違法行為。儘管 Sony 的律師辯稱用戶並未被強制安裝 3.21 版韌體,但原告並不同意,原告指稱該升級強制用戶在 Other OS 與 Playstation Network 服務兩者中做出選擇,而 Playstation Network 服務為該遊戲機多數功能所需,包括即時通訊、線上組隊、存取修補和額外功能。
在此同時,Sony 成功地讓法官接受該公司控告 George Holz 的案子。Sony 指控 Playstation 3 黑客 George Hotz 違反 CFAA,原因是 Holz 破解其 Playstation 3 並在網路上散佈相關資訊。Holz 日前在網路上尋求協助,希望籌措足夠捐款以聘請更好的律師。至今他已委請 2 位律師,其費用已由第一輪捐款所得支應。Holz 希望再委請 3 位律師以便與 Sony 法律團隊抗衡。
Hotz 認為自己針對自製軟體與 Other OS 功能破解 Playstation 3 並非違法行為,他的主要論點圍繞著一個問題,那就是我們是否真的擁有所購買之物?總結他為何被控告的原因,他說,Sony 的理由站不住腳,該公司因為他破解他自己的 Playstation 3 而控告他。
黑客目前有了新的工具軟體來規避 Playstation Network 對他們的諸多限制。該電腦軟體近來在網路上流傳,可以當作遊戲機與 Playstation Network 間的代理伺服器,允許使用者切換 Playstation Network 服務帳號與遊戲機硬體的 ID 編號,這些編號顯然是以未加密形式傳送至 Playstation Network 服務。Sony 勢必要改善 Playstation 3 與 Playstation Network 服務間的資料流量加密,以避免出現帳號盜用等可能的濫用情況。
相關網址:
1.反對 Sony 在 PS3 上禁止 Linux 的法律行動多數遭駁回
http://www.h-online.com/open/news/item/Action-against-Sony-for-blocking-Linux-on-the-PS3-broadly-dismissed-1194982.html
2.Sony PS3 破解戰爭:Geohot 募集辯護資金
http://www.electricpig.co.uk/2011/02/22/sony-ps3-hacking-battle-geohot-raises-defence-fund/
3.GeoHot 募集法律辯護資金
http://www.myce.com/news/george-hotz-crowd-sources-his-legal-defense-fund-to-own-sony-in-court-40459/
4.Sony 面臨違反美國電腦欺詐和濫用法指控
http://www.theinquirer.net/inquirer/news/2027743/sony-allegations-fraud-abuse-act-breach
[源碼快報] 白宮網站 WhiteHouse.gov 再度釋出 Drupal 程式碼
謝良奇/編譯 2011-02-22
白宮 (White House) 部落格的文章指出,白宮新媒體主任 (New Media Director) Macon Phillips 在美國國務院 (State Department) 舉辦的Tech@State: Open Source 會議中宣佈,將釋出第二波程式碼給 Drupal 社群。根據該部落格,美國總統網站 WhiteHouse.gov 也將支援若干 Drupal 相關專案的開發。
這次最新的程式碼貢獻,則包含了用以改善知名檔案管理器 IMCE 功能的一系列工具 IMCE Tools。IMCE Tools 擁有三項主要功能。首先 IMCE Directory Manager 提供了一套介面,用以指定使用者透過 IMCE 模組可存取的目錄。IMCE Search 則是檔案搜尋工具,允許在 IMCE 介面中搜尋檔案,協助找出上傳檔案的位置。最後的 IMCE File Path 透過 URL 代表檔案以簡化檔案分享。
自從 2009 年 10 月之後,WhiteHouse.gov 網站開發者從私有解決方案,切換到開放源碼網站內容管理系統 Drupal,並且在 2010 年 4 月貢獻出程式碼釋出。那次的程式碼貢獻包含 4 個模組:Context HTTP Headers、Akamai、GovDelivery、Node Embed。Context HTTP Headers 允許網站建置者為網站內容附加新的元資料 (metadata),Akamai 則讓 WhiteHouse.gov 用以整合內容傳遞網路 (content delivery network)。GovDelivery 模組可以讓電子郵件根據用戶需求進行客製化。Node Embed 則用來確保網站上的所有影像帶有適當元資料,以便讓螢幕讀取軟體讀取無誤。
除此之外,WhiteHouse.gov 也支援了若干嵌入於 Drupal 社群之中的優秀專案。其中 Features、Spaces、Boxes、Context、StrongArm、Adm 專案已經被運用在協同合作軟體 Open Atrium 中。WhiteHouse.gov 並支援了自動標籤模組 Calais、大量檔案上傳工具 IMCE SWFupload,以及提供 wh.gov 簡縮網域功能的 shortURL 模組的開發。
儘管貢獻程式碼給開放源碼社群並非使用開放源碼的必要條件,美國聯邦政府此舉顯示了該政府能夠充分參與開放源碼活動。
相關網址:
1.WhiteHouse.gov 再度貢獻 Drupal 程式碼
http://www.h-online.com/open/news/item/WhiteHouse-gov-makes-further-Drupal-code-contribution-1189243.html
2.WhiteHouse.gov 貢獻第二波程式碼給 Drupal 社群
http://www.fiercegovernmentit.com/story/whitehousegov-contributes-second-round-code-drupal-community/2011-02-14
3.WhiteHouse.gov 第二次釋出開放源碼程式碼
http://www.tmcnet.com/usubmit/2011/02/20/5325353.htm
[源碼快報] Nokia 透露 Qt 未來計畫 開發者釋出 Android 版 Qt 實作
謝良奇/編譯 2011-02-24Nokia 與 Microsoft 合作關係發佈後,Nokia 也籌劃推出搭載 Windows Phone 7 作業系統的手機。MeeGo 另外兩個開發合作夥伴 Intel、Linux 基金會 (Linux Foundation),則是對此一宣告表示失望。應用軟體開發者則擔心 Qt 框架的未來發展。為了因應與 Microsoft 合作關係帶來的可能損害,Nokia 在官方部落格發表文章,概述了 Qt 的未來發展。
根據報告,Intel 對 Nokia 揚棄 MeeGo 作為主要智慧型手機平台的計畫並不知情,該公司表示儘管感到失望,但仍然會推動 MeeGo,Intel 希望 Nokia 能對近 1 年前共同發起的計畫持續貢獻。
Nokia、Intel 將各自的 Linux 行動作業系統 Maemo 和 Moblin,結合成為 MeeGo,由 Linux 基金會管理。該基金會執行董事 Jim Zemlin 也表達對於 Nokia 宣告的失望之情,他也希望其他合作夥伴能站出來參與 MeeGo。
原本預期 Nokia 將帶領 MeeGo 在 Linux 手機上走向普及,不過現在該公司表示今年只計畫推出一部 MeeGo 相關裝置。同時,Nokia 執行長 Stephen Elop 表示該公司希望在今年底前推出 Windows Phone 7 裝置。
MeeGo 可說是 Linux 領域中最有機會徹底改變行動產業的最重要發展之一。然而,隨著重要性降低,變成只是 Nokia 旗下的一項研發專案,MeeGo 的未來目前看來似乎會在手機以外的市場。Intel 指出小筆電、平板電腦、汽車系統會是 MeeGo 的其他潛力所在,並且在全球行動通訊大會 (Mobile World Congress) 展示了 MeeGo 平板使用者體驗。
應用軟體開發者則擔心起 Qt 框架的未來。Nokia 曾大力推銷 Qt 未來會成為所有 Nokia 裝置上行動應用軟體開發的利器。Nokia 旗下 Qt 生態體系(Qt Ecosystem,銷售、市場和服務)主管 Daniel Kihlberg 在 Qt 部落格上發文談到 Nokia 的計畫。
Daniel 以 Nokia 未來仍計畫要賣出 1 億 5 千萬部具備 Qt 應用軟體的 Symbian 裝置,再加上 MeeGo 相關裝置的應用軟體開發,說明 Qt 將持續在 Nokia 扮演重要角色。然而,由於不會出現 Windows Phone 7 版的 Qt 作為行動 Qt 應用軟體開發者的轉移路徑,從文章的讀者評論看來,顯然引發眾多開發者的怒火。
儘管許多開發者建議就像 LibreOffice 和 OpenOffice 的例子一樣,對 Qt 進行分支。由於 Qt 的多數程式碼由 Nokia 提交,將 Qt 進行分支會有實質困難。其他開發者則提及 1998 年成立的 KDE 自由 Qt 基金會 (KDE Free Qt Foundation)。KDE 自由 Qt 基金會與 Nokia 簽訂了授權協議,確保 Qt 將持續提供 LGPL 2.1 與 GPL 3 授權。當 Nokia 停止 Qt 自由軟體版本的開發後,該基金會有權以 BSD 形式授權或是其他開放源碼授權來釋出 Qt。不過由於該條款要求至少 12 個月的停止開發,鑒於 Nokia 目前還在開發 Qt,這條路似乎也行不通。
在此同時,一位羅馬尼亞軟體開發者 Bogdan Vatra 公佈他針對 Android 行動作業系統 Qt 實作的第一個 alpha 版本。Vatra 獨立於 Nokia 和 Google 之外開發完成的,並不叫做 Qt for Android 或類似名稱,而是 Necessitas Suite。Vatra 表示 Nokia 建議他避免在名稱中使用 Qt,而關於使用 Android,他沒有收到 Google 的回覆。由於該框架目前為 alpha 狀態,API 還不穩定,Vatra 建議開發者不要將用到此一框架建構的軟體,發佈到 Google 的 Android Market 上。
為鼓勵開發者開始圍繞此一專案建構社群,此次 alpha 釋出顯得格外重要。開發者已可取得 Ministro 安裝程式,安裝系統的共享 Qt 程式庫、Qt 框架,以及 Android 版本的 Qt Creator 開發環境。文件提供了安裝與開發指引。Necessitas Suite 程式碼採用 BSD 授權釋出。
相關網址:
1.Nokia 透露 Qt 未來
http://developers.slashdot.org/story/11/02/13/0137250/Nokia-Gives-Some-Hints-On-the-Future-of-Qt
2.Nokia 的 MeeGo 計畫得到的是失望與憤怒
http://www.h-online.com/open/news/item/Disappointment-and-anger-greet-Nokia-s-MeeGo-plans-1189300.html
3.微軟與 Nokia:對 Linux 與開放源碼社群的打擊
http://myn900.wordpress.com/2011/02/12/microsoft-nokia-a-blow-to-linux-and-the-open-source-community/
4.Qt 的 Android 實作現身
http://www.h-online.com/open/news/item/Qt-implementation-for-Android-introduced-1194815.html
最新消息:芬蘭公司 Digia 從 Nokia 手中,收購 Qt 商業版本以及技術支援服務。詳見 The H Open Source 以及 OSNews 報導。
[企業應用] 淺談 App Store 與開放源碼軟體授權的案例: VLC 的非法下架與 Miro Video Converter 的合法上架
曾義峰/文 2011-03-07
前陣子有機會研究 App Store 與 VLC 及 Miro Video Converter 三者間彼此的法律關係,本文只以案例淺談開放源碼軟體的授權,日後再以專文深入探討 App Store 商業模式與開放源碼的應用規則。
【前情提要】
App Store 是 Apple 為 iPhone, iPod Touch, iPad 提供的線上服務,允許使用者購買或免費使用平台上的應用程式。
VLC,全名是 VLC Media Player,是一款非常著名的開放源碼影音播放軟體,支援常見的影音格式,甚至支援播放不完整檔案,例如經由 P2P 協定下載但尚未完成的檔案。
Miro Video Converter 是一款極為便利的開放源碼影音格式轉換軟體,經過格式轉換的檔案,即可供不同平台上的播放軟體使用。
【事件始末】
App Store 是否可以上架 GPL-like(註一)類開放源碼軟體授權下的應用程式已經爭論許久,而本篇的兩位主角 VLC (http://www.videolan.org/vlc/) 與 Miro Video Converter (http://mirovideoconverter.com/) 都是 GPL-like(註二)的開放源碼應用程式,也都與 App Store 有著微妙關係。
從 2010 年 10 月 VLC 於 App Store 上架的合法性爭論(2011 年 1 月 8 號正式下架 http://www.tuaw.com/2011/01/08/vlc-app-removed-from-app-store/),到 2011 年 1 月 29 號 Miro Video Converter 合法上架,讓很多程式開發者覺得很混亂,到底「App Store 上能不能使用 GPL-like 類開放源碼軟體授權下的應用程式」?
【VLC 的非法下架】
在 2010 年 10 月,Applidium 公司將 VLC 移植於 iPad, iPhone, iPod Touch 平台上,並於 App Store 上公開免費供人下載使用,另外也提供該 VLC 的所有程式原始碼。重點是在上架之前只爭取到部分 VLC 專案開發成員暨著作權人的同意。
事後,VLC 專案的其中一位開發者 Rémi Denis-Courmont 向 Apple 要求 App Store 下架該軟體,並聲稱 App Store 條款與 GPL 開放源碼授權條款是不相容的。隨後 FSF(Free Software Foundation, 自由軟體基金會)也發表一篇文章 (http://www.fsf.org/blogs/licensing/vlc-enforcement),支持 Rémi Denis-Courmont 的說法,聲明 GPL 開放源碼授權條款與 App Store 條款的不相容性。於是在 2011 年 1 月 8 號,App Store 正式下架了 Applidium 公司的 VLC 應用程式。
有人認為這個事件是 Nokia 與 Apple 的商業競爭行為,因為 Rémi Denis-Courmont 是 Nokia 的員工,Nokia 自然不希望 App Store 上有 VLC 這麼流行的影音播放應用程式。當然 Rémi Denis-Courmont 本人對此批評並不認同。
【Miro Video Converter 的合法上架】
如果 App Store 條款與 GPL 開放源碼授權條款具有不相容性,那麼為何 VLC 會因此而下架,但嗣後 Miro Video Converter 卻又歡喜的上架?這兩款同是 GPL-like 的應用程式,為何有前後不同的差別待遇?
我認為,最大的差別在於「上架的人是誰」。
把 VLC 上架的人並非 VLC 專案的開發者,換句話說並不是 VLC 專案的著作權人。然而把 Miro Video Converter 上架的人是 Miro 專案的開發者,也就是著作權人本人。兩個案例最大的差別就是這點。
所以 VLC 著作權利人可以要求別人遵守自己的遊戲規則,例如要求符合 GPL 開放源碼授權條款,而 Miro Video Converter 專案的著作權人當然也可以破壞自己的遊戲規則。
【結論】
談論開放源碼軟體或自由軟體授權時,除了條款本身的內容外,還需留意著作權人為何,畢竟在著作權法之下,著作權人的意見在司法實務上有最高的參考價值,承審案件的法官或是其他司法審判人員都需要高度尊重權利人的意見。
然而不論是 Apple App Store 或是 Android Market 上,目前都充斥著許多明顯或刻意違反開放源碼授權條款及其平台條款的應用程式。就我所處理或發現的案例中,有些甚至還是急欲上市企業的核心產品。這樣的行為其實有著很大的風險性,因為若是公司產品後續被著作權人提告,不僅商譽受損、產品下架,甚至可能導致巨額損害賠償的後果,因為這些產品不僅違反著作權,不少案例甚至還連帶違反了專利權及商標權的相關規定。
註一:GPL-like 意指具備 GPL 授權條款特性的開放源碼授權條款,諸如 GPL2, LGPL2.1, GPL3, LGPL3 及 AGPL3 都屬此一範疇。
註二:VLC 採用的開放源碼授權條款是 GPL2.0 或其後版本。Miro Video Converter 採用的開放源碼授權條款是 GPL3.0 或其後版本。