WPA/TKIP is vulnerable ?!
最近 802.11 無線網路協定中所使用的加密演算協定 WPA 傳出了一些消息,一說可以利用常見的圖形處理硬體加速破解運算速度,另外則是說德國的學術單位研究出 WPA/TKIP 中使用的弱加密方式,足以用以塞入短封包攻擊。
首先是 Slahsdot 上提到俄國的資訊安全公司 Elcomsoft 釋出了一款商業軟體 ElcomSoft Distributed Password Recovery,這款軟體的最大特色是可以利用 NVIDIA 的圖形處理器來加速猜密碼的時間,根據 Elcomsoft 的網頁說明,運算速度可加快二十倍到百倍。若是搭配大量的硬碟、主機與顯示卡,的確是有機會快速破解 WPA (WPA2)/PSK 阿。
不過 Elcomsoft 號稱有專利申請中,不過社群中早已有人實做可以在 Linux, MacOS 上執行的版本,叫做 pyrit (對,他是 Python 寫的)。最新的開發進度與消息可以在 pyrit blog 上找到。
Slashdot 上另外一則消息,則是說德國的 Erik Tews 與 Martin Beck 成功的「破解」WPA/TKIP 加密方式,即將在 PacSec 會議上發表。不過事實是,他們利用了 TKIP 的弱驗證碼演算法與 802.11e 的漏洞,於是可以將小封包如 ARP 封包重新送入網路中。這個技術並沒有取得無線網路使用的密碼,而入侵者也無法盜用該無線網路。
詳細的說明可以參考原始的論文 - Practical Attacks against WEP and WPA,應用程式 tkiptun-ng 也可於 aircrack-ng 網站上下載。ArsTechnica 的 Glenn Fleishman 寫了十分詳盡的技術說明 - Battered, but not broken: understanding the WPA crack。
Net-SMS-PChome 0.13 updated
由於 PChome 簡訊服務的網頁又改版了,與舊版比起來認證的方式與訊息編碼都作過更改,現在編碼方式改為 UTF-8,而非原本的 BIG5。
為了剩下尚未用畢的額度,改了一版針對目前網頁格式的版本,並稍加修改版次為 0.13。有興趣者以 Perl 編程使用 PChome 簡訊服務者,可於此 http://people.debian.org.tw/~chihchun/debian/libnet-sms-pchome-perl/ 下載原始碼與 Debian 套件。
ASUS EeePC 901 五秒鐘內開機
這是 Arjan van de Ven 與 Auke Kok 在 Linux Plumbers Conference 2008 上的展示畫面。
在讀 O’Really 對 Arjan van de Ven 的訪問 How PowerTOP, LatencyTOP, and Five-Second Boot Improve Desktop Linux) 時,知道了在 Intel Open Source Technology Center 工作的 Arjan 在 PowerTop, LatencyTop 上的努力,以及其他開發者如何利用這些工具來改進軟體的效能與品質。
在訪問後段提到了 Arjan 最近在 Linux Plumbers Conference 2008 上的實做展示,Arjan 的簡報中提到了開發的思維態度應該以五秒鐘內開機為目標,不要把加速開機當作目標。同時也不要弄先開機,再做後續處理,造成系統無法使用的暫時性解決方式。應該想辦法把正確的事情作對來加速速度,如開機時以平行執行方式 (Parallel boot) 啟動系統也不是正確的行為。
這樣的論點,當然讓長期使用這種解決方案的開發者不甚認同,像是 Mandriva 的 Frederic Crozat 就跳出來說明過去幾年來各種平行執行的策略,並說明在 EeePC 上碰到的一些硬體問題,經過調整後,可以讓 Mandriva 在 Eee PC 上以 15 秒內開機。
而 Arjan 的作法是將開機分成四個程序,分別是 Kernel, Early boot, X Server, GUI/Desktop。其中除了 Desktop 系統外,其他的程序都只能花用一秒鐘執行!
在核心的主要修改是利用從 RedHat readahead 改來的 sreadhead 加速軟體的檔案載入速度 (上個月我也介紹過 readahead 加速 Linux 開機速度 ? 。另外 sreadhead 的原始碼會在 Moblin Project 釋出) ,並將所需驅動程式先編入核心,關掉 initrd,預先建好 /dev 下需要的 device files, 同時利用新的 asynchronous initcall level 來載入較不重要的核心模組。如此可將核心載入時間壓縮在一秒。
相關的新 APIs 已經丟到 LKML 上供檢閱,希望可以納入 2.6.28 中。
而開機程序 (init scripts) 則還是利用 sysvinit,不用平行執行 (Parallel Boot) 之方法,也不利用 udev 動態產出 /dev 下的檔案,而是先固定寫死。另外雖說 initscripts 都還保持著原本的版本,在此預設也是不執行的。
另外 X Server 則稍加修改了 xorg-x11-drv-intel 顯示卡驅動程式,讓其在偵測硬體時,就一併先進行硬體設定,且修正了一些 PCI posting 的臭蟲。而且修改 XKB 快取 keyboard mappings,因為 XKB 居然會每次開啟時呼叫 C preprocessor 來編譯 keyboard mappings!至於桌面系統則使用輕量的 XFCE,稍加修改讓桌面程式同時執行。
如此如此,讓 Arjan 硬幹出來的版本,讓那天展示的跑在 ASUS EeePC 901 上 Fedora 與 Moblin 可以在五秒鐘內開機!相較於其他在 ASUS EeePC 901 上得套件系統開機動輒要約30秒到一分鐘,的確快了很多。
但是我要一個只有桌面沒有網路連線的機器要做什麼呢 ? 且許多硬幹的方法,必須針對特定硬體作調整,的確不適用一般新安裝的系統。不過 Arjan 的 Fastboot 的確很值得參考使用,另外許多低效能問題的解決方法也都可以採用。希望這些新的研究可以盡快的套用到更多的環境上才是。
對了 Arjan van de Ven 也是 Linux-ready Firmware Developer Kit 的發起人,Linux-ready Firmware Developer Kit 是協助 BIOS/EFI 開發工程師測試的工具,若你是開發主機板或 BIOS/EFI 軔體的工程師,請別忘了下載來玩玩,或許可以避免發生 Foxcomm 前陣子的窘狀。
Atheros releases 802.11abg HAL code
上禮拜才在說自由軟體社群的幾位開發者正在合作修改 Madiwifi HAL 驅動程式。結果週五的時候,為 Atheros Communications Inc 工作的 mcgrof 公告了一個重大的消息,就是將 Atheros 802.11a/b/g 原本私有授權的 HAL 驅動程式以 ISC licence 授權開放出來!
於是我們除了有開放原碼的 ath9k,ath5k 也可以名正言順的參考 HAL 原始碼來實做了!雖說 code base 已經有顯著的不同,但最大的差別就是原本被 NDA 牽制,只能讀改 HAL 原始碼,不能投入 ath5k 開發的軟體工程師,現在被解禁了!![]()
如此一來,madwifi 的死期將至。
Open Search Plugins
在網路上做研究或查找某些論壇的討論時,你總需要特別查某個網站的資訊,雖然說 Google 已經相當實用,但很多時候你會想要直接利用網站的搜尋功能,免得漏掉某些 Google 尚未索引的頁面。像是必須登入後才能顯然內容/搜尋的網站。
比較方便的方法是將網站的搜尋功能擺進瀏覽器的 Search Plugin,除了在網路上找一些別人已經做好的 Open Search 搜尋外掛外,也可配合工具如 Ready2Search 或 Search Plugins Generator 產生出適合的搜尋外掛。
推薦使用 Search Plugins Generator。使用的方法相當簡單,只要使用 “TEST” 當作搜尋字串,並將網站搜尋結果的網址複製,貼上到 Generator 上並為它取一個名字,稍微選擇各種編碼參數,送出 Generator 表單後即可生成搜尋外掛。若你碰到的搜尋網站表單使用的是 POST 而不是 GET,請使用 frmget bookmarklets 將其改為 GET,如此才能取得正確參數。
你也可以瀏覽 Plugin List 來參考安裝別人已經預先建好的 Search Plugin,部份網站亦會內嵌搜尋外掛,此時可點選 Firefox 的 Search Plugin 即可直接匯入。另外一個技巧是你也可修改 Firefox 的 browser.search.openintab 設定,讓新的搜尋預設開啟在新 Tab 頁面,而不是轉導當下網頁。
追蹤最新 Linux Kernel 開發狀況
前陣子在 Tossug 的 IRC Channel 上討論除了訂閱 LKML 來了解 Linux Kernel 的各種開發進度外,是否還有其他更有效率的方法 ?
對,你可能是用了超新型電腦設備的資深使用者,或者是某某公司的 Linux kernel 維護/開發者,需要了解相關硬體驅動程式的開發支援狀態,或是 API 的改變。
當然,訂閱 LKML 可以確保你不會錯過任何一條新消息。但每日高達兩三百封電子郵件,許多信件中還包含 patches,光下載就花掉不少時間,更何況需要消化這些湧入的訊息。
比較容易的方式是透過 USENET 或 RSS Feeds 訂閱 LKML,如此只需要下載標題,再選擇標題閱讀即可。若不想透過電子郵件軟體閱讀訊息,網路上有相當多提供郵遞論壇轉網頁的網站可使用,如 Google Groups 、The Mail Archive、Napple、LKML.org 等,你尚可配合其內建或 Google 等網路搜尋引擎來查找你想要搜尋的關鍵字,還算相當方便。
許多網站都還提供 RSS 的訂閱機制,你可以直接在 RSS Reader 訂閱後,看到感興趣的標題在點入閱讀。不過大部份的網站都只讓你訂閱最新的標題,如此還是會收到相當多訊息,不甚方便。
但 LKML.org 提供了一個追星族 (groupie) 功能,我個人認為相當實用,這功能讓你可以訂閱特定開發者的發言!於是,你可以追蹤一些重要人士的發言,如 Linus Torvalds, Andrew Morton 等,以免錯過重要的決策資訊。
但是我要推薦的是 Gmane,一樣是將 LKML 轉換儲存,Gmane 提供了更多樣的介面,包含了
- Loom 網頁瀏覽介面
- Blog 網頁瀏覽介面
- NNTP/USENET
- RSS 訂閱機制
- 搜尋功能
其中 RSS 訂閱機制,提供了高達四種訂閱方式!你可以
我個人習慣只訂閱郵件標題與內容摘錄,如此就可以只跟著感興趣的題目,而不會分心在其他的議題上。Gmane 除了訂閱方式多元以外,它的瀏覽介面與搜尋也相當神速與方便,特別是所謂的 Loom 瀏覽介面,配合鍵盤指令使用,比在本地端讀取還方便多了!同時也非常方便用來監視其他相關的郵遞論壇。
除了追郵遞論壇的討論細節外,你也必須知道大方向的發展狀態。首先要推薦是 LWN,它提供最具深度與時效的報導,且一個月也才五元到十元美金,請以訂閱作為支持這個網站的行動吧。若你是為商業公司服務,請記得告訴你老闆可以使用團體帳號訂閱。若你不想花錢在這上面,上面的新聞只要過了時效就可以免費瀏覽了。
另外 KernelTrap 的熱門話題與新聞也應該要時常閱讀。並也可以透過 Kernel Newbies 的核心變動懶人包,來了解新版核心的變動資訊。
