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 網站上下載。ArsTechnicaGlenn Fleishman 寫了十分詳盡的技術說明 - Battered, but not broken: understanding the WPA crack

November 17th, 2008 at 11:28 pm | Comments & Trackbacks (0) | Permalink


New MadWifi HAL

還記得我在 OSDC.TW 2008 無線網路架設說過 OpenWrt trunk 的 Atheros MadWifi hal binary 有相容性問題,以至於某些網路卡無法連接使用。

HAL 是所謂 Hardware Abstraction Layer,是 MadWifi 驅動程式的核心,也是少數由於版權的緣故無法提供程式碼,而只能以二進位檔案散佈。因此某些驅動程式的問題,在沒有開放原碼的狀態下,大部分的開發者就算想修改也無能為力。

最近幾個月來,Madwifi Team 的幾位成員,包含 OpenWrtnbd, DD-WRTBrainSlayerMaksat Wireless 開始合作以 Atheros 的新 HAL 與 BSD 大神 Sam Leffler 的程式碼為基礎,改進了新版的 HAL 驅動程式,修正許多過去已知的問題與加強訊號抗擾性。目前仍陸續改版測試中,新版 HAL 與程式可於 http://svn.madwifi.org/madwifi/branches/madwifi-hal-testing 取得。

其實這樣的合作一直在進行,但礙於 Atheors 簽訂條款有權可讀相關程式碼的人並不多,許多的討論都是在私下進行的。如此一來造成自由軟體社群間的溝通出現隔閡,造成許多新來後到的人無法了解狀況。於是 mrenzmann 決議將原本封閉的郵遞論壇開放為 madwifi-project,希望可以因此塑造一個比較健康的溝通環境。

最近 MadWifi 社群也在探討未來的發展走向,由於目前的 Code Base 過於雜亂,眾人已無力維護。希望最終目標為從封閉的 HAL 驅動程式改為使用正在開發中的 ath5k/ath9k 等完全開放原碼的驅動程式。為此,madwifi 正在徵求意見調查,希望可以了解大家使用 Atheros 相關無線網路卡的驅動程式時,最需要的功能是哪些 ? 若你也是用 Atheros 的無線網路卡,不妨填填此問卷調查吧。

(對,說得是你們這些 EEEPC/Acer One/Netbooks 使用者阿)

September 26th, 2008 at 8:00 am | Comments & Trackbacks (0) | Permalink


你看得到我嗎?

早些時候在參與 PORTA2030 時,也試著去研究了幾個藝術團體的作品,其中一個很快的就引起我的注意。說的是英國的 Blast Theory (關於 Blast Theory) 藝術團體的《你看得到我嗎?》(Can You See Me Now?, 2001),分別已經在 Sheffield, RotterdamTokyo 等幾個都市作過展出,是利用 GPS, 無線網路與手持裝置所設計的虛擬追逐遊戲,玩家透過電腦進入真實都市的虛擬線上地圖,而獵人 (Runner) 則拿著手持裝置與無線電中傳來的線索尋找你的蹤影,若你不幸在虛擬地圖上被靠近逮到,就輸了遊戲。是很有趣的 Urban game (Location-based game)

影片來源: http://www.blasttheory.co.uk/bt/mov/mov_cy.html

Blast Theory 過去十幾年來還進行過許多有趣的計畫研究,如《洛伊叔叔無所不在》 (Uncle Roy All Around You, 2003) 與 Rider Spoke, 2007 等。

其中《洛伊叔叔無所不在》是 Blast Theory 與 Mixed Reality Lab, University of Nottingham 合作的成果,一樣是利用無線網路技術與行動裝置,玩家手持著裝置,根據洛伊叔叔所傳送過來的提示與訊息,來想辦法與洛伊叔叔會合,玩家也可以透過網路協助拿著裝置的玩家,遊戲考驗的與陌生人的信賴關係,探討使用新科技的無線設備對社交關係的影響。細節可以參考 WiredXeni Jardin 對 Blast Theory co-founder Matt Adams 的專訪,On Your Mark, Get Set, Unwire! 江凌青小姐也曾為《你看得到我嗎?》與《洛伊叔叔無所不在》計畫寫了藝術評論

September 24th, 2008 at 8:00 am | Comments & Trackbacks (0) | Permalink


Mobile AP based on OpenWrt

上週末的 COSCUP 2008,由於第一天現場網路斷線,臨時跟幾位長輩借用了 3G SIM Card/Modem/AP 來擋一下。感謝 Custom Wu, ik, in2, Kinght Feng, Lloyd Hung (sort by letters) 的大德大力相挺。

為了能夠讓 3G 轉成無線網路 (802.11b/g) 訊號,連忙將有 USB Ports 的 ASUS WL-HDD2.5 與 FON2202 改裝含撥接工具新的 OpenWrt 版本。特意將先前未安裝的 kmod-usb-serial、kmod-ppp、comgt 等套件再補裝進新編譯的軔體。

華為 (Huawei) 的 E220 先前曾經試用過,這張卡的行為頗為詭異,它會提供 Virtual CD 與 USB serial 介面,Virtual CD 裡面擺的是驅動程式、手冊、設定檔 (for Windows) 等。

麻煩的是,大約是 Hotplug 或某種 race condition 的問題,有時 Linux 不會偵測到 serial interface,有時可抓到介面,可是在卸載 Virtual CD 前是無法使用的,很多時候就算卸載或不載入 Virtual CD 也無法使用! 所幸 bobovsky 做了一個初始化程式,執行後可以確保 USB Modem 被正確啟用。(顯然是用 USB sniffer 之類的工具做出來的)

因此我唯一需要做的是將程式編譯成 MIPS (LSB) 給 WL-HDD2.5, MIPS (MSB) 給 FON2202,丟到機器上並稍加設定。

必須先為系統添加一組 hotplug script /etc/hotplug.d/usb/20-usg-3g,目的在於判斷 E220 被插入時,自動執行初始化指令,讓 Modem 變成可撥接的狀態。

#!/bin/sh

# Copyright (C) 2006 OpenWrt.org

case "$ACTION" in
	remove)
		[ ${PRODUCT} == "12d1/1003/0" ] && {
			ifdown wan
			echo 1 > /proc/diagled/usb
		}
		;;
	add)
		[ ${PRODUCT} == "12d1/1003/0" ] && {
			/bin/huaweiAktBbo
			echo 0 > /proc/diag/led/usb
		}
		;;
esac

另外,由於 usbserial 還不認得 E220,因此必須將 vendor/product id 先餵給它,如此插入設備時就可以自動產生 device file 等。作法是更改 /etc/modules.d/60-usb-serial

usbserial vendor=0x12d1 product=0x1003 maxSize=4096

上述是將硬體驅動的方法,此外就是要加入撥接工具。這件事情 comgt 可以代勞,OpenWrt 已經整合好相關的 Script,只要利用 UCI (Unified Configuration Interface) 對 /etc/config/network 進行更改如下即可

#### 3G
config interface	wan
    option device       "/dev/usb/tts/0"
    option proto        "3g"
    option apn          "internet"
    option service      "hsdpa" # or cdma, evdo, umts_only, or gprs_only
    # option pincode      "0000"
    option mtu          "1492"

由於大家的 SIM Card 都關掉了 PIN Code 檢驗機制,為了避免系統對 Modem 輸出錯誤 PIN Code 而鎖死 SIM Card,我也稍加更改了 /lib/network/3g.sh,避免系統在初始化時試圖對 Modem 設定 PIN Code.

--- ../../package/comgt/files/3g.sh	2008-04-17 09:29:56.000000000 +0800
+++ lib/network/3g.sh	2000-01-01 08:23:32.000000000 +0800
@@ -73,10 +73,12 @@
 		fi
 		# Don't assume Option to be default as it breaks with Huawei Cards/Sticks

-		PINCODE="$pincode" gcom -d "$device" -s /etc/gcom/setpin.gcom || {
-			echo "$cfg(3g): Failed to set the PIN code."
-			set_3g_led 0 0 0
-			return 1
+		test -z "$pincode" || {
+	  		PINCODE="$pincode" gcom -d "$device" -s /etc/gcom/setpin.gcom || {
+				echo "$cfg(3g): Failed to set the PIN code."
+				set_3g_led 0 0 0
+				return 1
+		    	}
 		}
 		test -z "$mode" || {
 			MODE="$mode" gcom -d "$device" -s /etc/gcom/setmode.gcom

只要將上述所需的套件都編譯、選定,在稍加修改特定幾個 Scripts 後,就可以利用方便的 ImageBuilder 產出所需的軔體了。本次也借用了 Knight 的 BandLuxe C120,基本用法是一樣的。

August 27th, 2008 at 3:53 pm | Comments & Trackbacks (3) | Permalink


OpenWrt Case Study at COSCUP

上週末的 COSCUP 2008 終於結束了。報名人數超過四百餘人 (且還有眾多人員向隅),報名踴躍與出席狀況都相當良好,活動算是大成功阿。特別是今年第一個晚上的 BoF ,開了五個議程,每場都有同好參加,是第一次台灣社群活動所謂 BoF 成功的例子阿∼ 成功的會議要感謝主辦團隊跟各社群協調者的大力支持、配合。

這次活動,兼任了場地的無線網路佈建跟最後一場主持人,順便分享了一場年初到目前為止的無線網路佈建經驗。簡報檔案可於COSCUP 2008 網站上下載。


感謝 cocakl 攝影

講題的部份,由於時間只有二十分鐘,有許多東西其實沒辦法深入解釋說明,光是講到頭幾頁介紹 OpenWrt 8.08 就已經花了十五分鐘。很多可以詳細說明的細節只好略過不提,像是天線的配置與選擇技巧,以及 802.11 b/g 所使用的 DSSS, OFDM特性差異,特別是投影片的最後幾張政見宣導沒有機會講。投影片中的許多細節可以於先前 Blog 過的文章中找到深入說明。去年的簡報也可於下載。

本次活動的網路實在是非常囧。早在一個月前就已經去場勘,原則上除了需要先註冊欲使用的設備 MAC Address 外,網路直接使用台灣大學應用力學研究所的區網應該可以非常順暢。沒想到活動前一天才知道,8/23 整天台灣大學因為網路設備升級會斷線!

當下重新為 ASUS WL-HDD25 與 FON2202 重新編譯了一版可以接取 Huawei E220 的 OpenWrt Trunk 版本。前一晚幾乎都在編譯加上測試。雖然當天借用到了四、五個 3G SIM/Modem,沒想到還是不敵場內 GSM/3G 訊號不良,對外頻寬比小便撥接還慢。虧我還帶了一台 EEEPC + USB Hub 要當 Multipath-routing Gateway (後來才知道原來大廳可以收到好訊號,應該要另外想辦法弄幾台 Repeater 出來打進室內才對)

週六傍晚與週日雖然對外恢復,但是台大對外路由一直頗怪,像是接到中華電信或國外某些網段都會嚴重掉封包。且台灣大學內部的名稱伺服器反應特慢,所以大家使用大約也會感受到鈍鈍。(大家倒是很給面子的沒有嫌棄阿,感恩)

連續幾次佈建都不甚順利,下次真的要買綠色乖乖來祭拜宅神 (地基主) 了啊。

August 26th, 2008 at 5:24 pm | Comments & Trackbacks (0) | Permalink


Atheros IEEE 802.11n ath9k driver

哈,終於我 Thinkpad X60 上的 Atheros AR5418 802.11abgn Wireless PCI Express Adapter 要有原生 (Native) 驅動程式了。

Linux Wireless Driver 強者 Luis R. Rodriguez (mcgrof) 加入 Atheros Communications Inc. 後,終於釋出了第一版的開放原碼驅動程式。ath9k 預計支援的晶片有

  • AR5418+AR5133
  • AR5416+AR5133
  • AR5416+AR2133
  • AR9160
  • AR9280
  • AR9281

目前只有 STA 功能,但是 AP, WDS, IBSS (for mesh) 都列在 TODO List 中了。最新的程式碼可以於此下載

git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/ath9k.git

當下的版本必須搭配最新的無線網路模組使用,可於此下載

git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git

或是從 Luis R. Rodriguez 的獨立開發分支中取出無線相關模組與 ath9k driver。

根據 Luis 的說明,ath9k 的程式碼目前已整合於

git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git

關於相關討論,可參考 ath9k-devel 郵遞論壇。依照目前的進度看起來,大約至少要到 2.6.27/2.6.28 才會整合到官方核心中。BTW, OpenWrt 是第一個整合 ath9k 的套件系統喔。;-)

August 7th, 2008 at 7:16 pm | Comments & Trackbacks (0) | Permalink