https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/
https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/

觀點

無線網路熱安全機制''冷''

2003 / 11 / 05
溫智源
無線網路熱安全機制

現今人們的生活似乎已脫離不了網路,而過去的網路是「一線牽」;總是需要網路線或是電話線為介質來傳遞資料。如今,這種情況隨電磁波的發展有了改變,無線網路時代開啟了網路新世界。各種相關技術相繼發表,相關產品不勝枚舉,只可惜的是這些已上市的產品所依循IEEE 802.11標準的無線區域網路,在資訊安全上的考量似乎不夠嚴謹,雖然有因應之機制卻似乎是心有餘而力不足。根據非官方的說法是因廠商急於早日上市銷售、佔領市場等的商業考量,而輕忽了在安全上的考量,造成現階段安全問題層出不窮。 僅管在IEEE 802.11中所規範之安全機制有所不足,但無線網路的使用卻是一波不可擋的趨勢。「建立良好的資訊安全措施,從了解自身潛在的漏洞威脅開始」(Bob Whelan),以下將為大家說明無線區域網路的基本概念、IEEE 802.11的安全機制及設計目標,這些安全機制完成了那些無線區域網路的安全要求?又留下了多少潛在威脅?
什麼是無線區域網路(Wireless LAN)?
無線網路簡而言之是讓一個或多個資訊設備彼此連結傳遞訊息,而不需要實體的線路。根據IEEE802.11的定義,在無線區域網路中,主要有兩個要素;一為無線網路存取器(Access Point),所扮演的角色是做為分散系統(Distribution System,DS),一般為有線網路(Wired Network)與無線區域網路間的一個橋樑。另一為「站」(Station),所謂的「站」在實際應用上通常指的是使用者端,也就是無線區域網路卡。

無線區域網路其工作方式簡單來說就是將資料透過電磁波傳遞給對方。而其通訊拓撲模式依需求可分為二種:

*簡易模式 (Ad-hoc Mode) 其通訊方式是採點對點(Peer-to-peer)的連接,不需要無線區域網路存取器即可架構,客戶端彼此間直接連結通訊。在此一模式下的設置架構稱為獨立基本設罝 (Independent Basic Service Set,IBBS)。

*基礎建設模式 (Infrastructure Mode) 通訊方式是由無線區域網路存取器做為一個存取點,所有用戶皆與其連結,資料由無線區域網路存取器接送(Relay),其工作模式似乙太網路中的集線器(HUB)般。在基礎建設模式下,又分為兩種架構:

1. 基本服務設置 (Basic Service Set, BSS) 一個基本服務設置只有乙台存取器連結至分散系統(Distribution System, DS)即有線網路,並有一個或多個無線客戶端與其連結。

2. 延展服務設置 (Extended Service Set, ESS) 顧名思義,其設置方式是為了擴展無線區域網路服務範圍,此一設置方式,由兩台或多台存取器分別連結至分散系統,提供漫遊(Roaming)能力;意即使用者在不同的存取器服務範圍間移動但網路連線不會因而中斷,適合大範圍運用。 IEEE 802.11 安全機制 IEEE 802.11 定義了兩種認證方式:開放系統和共享密鑰認證。

開放系統認證 (Open System Authentication)
在開放系統認證下,認證的工作方式是無效的(Null),並且是IEEE 802.11的預設值,換句話說就是任何一個無線區域網路端點皆不需認證的情況便可和其他在同一個設置點(set)的無線區域網路節點連結。其認證過程為:
1. 首先由一個無線區域網路實體對另 一實體提出並要求認證。
2. 實體接收到之後予以回應成功或失 敗。如果是成功,則實體雙方應相互認證對方。

共享密鑰認證 (Shared Key Authentication)
共享密鑰認證如同其名,簡言之,相互連結的無線網路實體分享相同的密鑰做為認證的依據,就像是從前古人用信物做為相認的依據。在實際運作上是以Wired Equivalent Privacy (WEP)做為認證的基礎,其認證過程如下:
1. 首先由客戶端發出連結認證的請求封包給存取點。
2. 存取點如果同意其請求則將由虛擬亂數產生器(Pseudo-random number generator, PRNG)產生一個亂數做為「挑戰字串」(Challenge text)回傳給客戶端。
3. 當客戶端收到這個挑戰字串時,則以相互共享的密鑰使用WEP演算法予以加密並送回給存取點。
4. 存取點收到加密過的挑戰字串,將其以共享的密鑰予以解密後,與在之前送出的挑戰字串比對,如果相同表示認證工作成功並回應給客戶端,連結開始。
Wired Equivalent Privacy (WEP) 由於無線區域網路傳遞訊息的方式是透過電磁波來完成,在電磁波傳播的範圍內,任何無線區域網路裝置皆可接收其傳遞之訊息。換言之,任何攻擊者可在這範圍內使用任何相同標準之網路設備竊聽(Eavesdropping)訊息。

Wired Equivalent Privacy是由IEEE為802.11設計的一套對等式線性加解密的機制,其目標如同其名是企圖讓無線區域網路有著和有線區域網路同等的私密性,保護資料在傳遞過程中免於遭受竊聽,扮演著如同守護者般的角色。WEP並非強制性的,也就是說使用者可依其需要來選用與否,並在開放系統或共享密鑰認證下均可選用。差異點在於開放系統認證下,密鑰由存取點提供,僅作為傳輸資料加密用;而共享密鑰認證環境,除了作為傳輸時資料加密用外,還具有認證之功能。 在WEP中有四個要素,分別是由虛擬亂數產生器所產生的24bits「初始向量值」(Initial Vector, IV) 、共享密鑰(Shared Secret Key)40Bits(註一)、RC4 演算法和CRC-32演算法。整個加密流程如圖三所示。

IEEE 802.11 完成了那些資安工作?
對無線區域網路有了基本概念之後,現就無線區域網路在資訊安全上可能會遭遇的問題,分別從機密性、完整性、可用性和認證、存取管制來討論。

機密性(Confidentiality)
機密性服務,其目的在防止未經授權的人取得訊息,所考量的是確保通訊兩端彼此之間在一定期間內的訊息傳遞不被截取,導致資料外洩。不讓攻擊者利用任何方式取得任何有關兩端間傳遞時的所有相關訊息,在機密性的保謢中,一般所面臨的攻擊方式屬被動式的攻擊,所採用對抗的方式是將資料予以加密,即使被截取,攻擊者仍無法取得實質傳輸的內容。

在802.11中我們可以利用WEP加密的機制來達成保密目的,事實上它的確有效地防止了暴力式攻擊 (Burst-Force Attack) 或字典式攻擊(Dictionary Attack)。因為每一個封包加密時所用的金鑰是由共享密鑰和初始向量值所組合而成,而IV值有2^24種可能。雖然目前上市產品中除了64位元的密鑰外,已有廠商把128位元及256位元密鑰加入其產品中,試圖以加大密鑰長度來增加攻擊的困難度。然而事實上卻不盡人意。因為WEP的真正問題並非在RC4演算法上,而是在其初始向量值和其認證過程。

初始向量值當初設計時認為24Bits所衍生出來的組合足以變化每次加密金鑰的種子(Seed),但卻忽略了IV傳遞是明碼並未加密,攻擊者可利用其所謂的弱初始向量值,如全為'1' 或全'0'便可很輕易地找出密鑰。除此之外,亦可利用IV重覆使用的弱點來找出密鑰,其方式是由Borisov所提出。

共享密鑰認證流程先前已略為介紹了,眼尖的讀者也許發現了挑戰字串是以明碼傳送,而客戶端再予以加密傳回。很明顯的攻擊者只需將「挑戰字串」和加密後的「回應字串」比對,便可找出密鑰。如圖五所示。 密鑰取得的攻擊方式除上述外,還可利用已知的封包如:ARP,DHCP,TCP/ACK.等找出密鑰,或利用AirSnort或WEPCrack等軟體竊聽三至五百萬個封包後,予以分析找出密鑰 。

完整性(Integrity)
完整性是為確保資料在傳遞過程中,接收者所得到的訊息和發送者所發出的訊息是完全一樣。任何被竄改過的訊息便失去了其本身的義意,成為一個無效的資料,更可能影響其他的資訊,造成資訊系統被破壞。在完整性的保謢上,所面臨的攻擊方式多屬主動式的攻擊,在802.11所利用WEP中完整性檢查值(Integrity Check Value, ICV)來對抗;ICV是將訊息透過線性CRC-32檢查加總法運算後產生,若訊息一旦被變更,ICV值就會有所不同,在解密的最後過程 就會發現。但由於CRC-32的計算過於簡單,攻擊者可以修改訊息內容後再重新計算出新的ICV,一併將ICV修改,如此一來這封包就成了合法的封包,接收端無從發現訊息已被竄改。

可用性(Availability)
可用性是為了確保合法的使用者在需要使用系統資源時可順利使用。反之,無論是利用任何手段造成合法的使用者無法順利使用系統資源,資訊系統的可用性便喪失了。對於這類攻擊其手段相當多樣化,諸如高功率電波干擾,實體破壞等。目前802.11並無任何機制防範,使用者只有儘可能的在網路規劃時減少可能的風險。

認證(Authentication)
認證工作有兩個目標,一是確保連結的兩端均是合法認可的,二是確保連結過程中,任一方不被第三者冒充。在這我們所遭遇到的攻擊模式屬主動式,攻擊者利用欺騙(Spoofing) 、中間人(Man-In-The-Middle)...方式進行。802.11對於認證上的保護機制有兩種,一為服務設置識別碼(Service Set Identifier, SSID)用於開放系統認證,另一為WEP用於共享密鑰認證。

利用SSID做為認證方式基本上等於沒有認證,原因是大多數的存取器本身會將其SSID透過信標(Beacon)、廣播(Broadcast)方式不斷地傳送,攻擊者可利用Network Stumbler或是Windows XP本身內建功能取得;少部份存取器可將此廣播功能予以關閉,但攻擊者仍可利用竊聽封包的方式取得SSID。至於以WEP做為認證,其實反而成為洩露密鑰的方式之一,請參照機密性那一段。

存取控制(Access Control)
網路存取控制目標在依據不同的使用者經過認證後,賦予不同的權限或存取資源範圍。802.11在存取控制上僅提供允許或拒絕,並沒有第三種。對於企業用戶而言,若想給予訪客一個無線上網的環境,又可以與內部網路區隔或給予較小的頻寬等,便成了不可能的任務。

在密鑰管理上,在802.11中並沒有規範,在實際運用上不論是存取點或客戶端皆是以手動方式去變更密鑰,需經過冗長的時間,於是變更密鑰成了一件煩鎖的事,而密鑰則傾向成了「萬年密鑰」;再者,在企業用戶中,當眾多使用者都知道這個密鑰時,這密鑰便成了公開的密鑰,其「密」便已不復存在。又若其中一位使用者離開,密鑰應全面變更,但實際落實的又有多少呢?

後語
記得在和教授討論802.11的安全機制時,教授突如其來問了我:十分為滿分,你給802.11幾分?我想了想,3~4分吧。他笑了笑說:我只給2分。當時並不太明白他的用意,但深入了解802.11後不難明白他的2分可能是因為802.11對於相關安全要求都考量了,但卻沒能完全實現。讀者們應不難發現本文將802.11的安全機制說得幾乎一無是處,對資安似乎幫助不大。是的,在無線區域網路上802.11本身的安全機制可以說是完全幾近失敗,特別是對企業用戶而言。僅管如此,亡羊補牢的措施仍有,諸如利用IEEE 802.1x Port-Based network Access Control以Extensible Authentication Protocol (EAP)方式做為認證和強化WEP,或是利用VPN又或是將無線區域網路規劃在防火牆之外,視為internet而非intranet等方式。但以上的各種方案都不在無線區域網路的標準規範內,相容性問題或本身亦有安全漏洞是可預期的,然而不是所有無線區域網路設備都支援。可幸的是,IEEE已著手進行規劃802.11i其目的在改善802.11安全機制,目前尚未正式公佈,最新版本是 draft 7.0。冀望將來802.11i能帶給所有用戶更安全的保護。

(本文作者現任職於英國顧問公司,擔任資安顧問一職)

註一︰
目前市場上已有支援128Bits和256Bits的無線區域網路設備,其工作方式和64Bits一樣,不同的是將WEP的密鑰長度由40Bits加長為104Bits和232Bits,但其IV值仍是24Bits。