隨著城市無線局域網熱點在公共場所大規模的部署,無線局域網安全變得尤為突出和重要,其中偽AP釣魚攻擊是無線網絡中嚴重的安全威脅之一。
受到各種客觀因素的限制,很多數據在WiFi網絡上傳輸時都是明文的,如一般的網頁、圖片等;甚至還有很多網站或郵件系統在手機用戶進行登陸時,將帳號和密碼也進行了明文傳輸或只是簡單加密傳輸(加密過程可逆)。因此,一旦有手機接入攻擊者架設的偽AP,那么通過該偽AP傳輸的各種信息,包括帳號和密碼等,就會被攻擊者所截獲。
本文主要從理論上探討偽AP釣魚攻擊的檢測和阻斷技術。
802.11是IEEE在1997年為無線局域網(Wireless LAN)定義的一個無線網絡通信的工業標準。此后這一標準又不斷得到補充和完善,形成802.11x的標準系列。802.11x標準是現在無限局域網的主流標準,也是Wi-Fi的技術基礎。本文只介紹一下平時應用最多的應該是802.11a/b/g三個標準。
協議 | 發布(年/月) | Op.標準頻寬 | 實際速度(標準) | 實際速度(最大) | 半徑范圍(室內) | 半徑范圍(室外) |
---|---|---|---|---|---|---|
802.11a | 1999 | 5.15-5.35/5.47-5.725/5.725-5.875 GHz | 25 Mbit/s | 54 Mbit/s | 約30米 | 約45米 |
802.11b | 1999 | 2.4-2.5 GHz | 6.5 Mbit/s | 11 Mbit/s | 約30米 | 約100米 |
802.11g | 2003 | 2.4-2.5 GHz | 25 Mbit/s | 54 Mbit/s | 約30米 | 約100米 |
WLAN有以下三種網絡拓撲結構:
1) AD-Hoc網絡
無AP,站點間直接通信。
win7自帶的AD-Hoc組建功能,可以讓我們很方便的在一個小范圍內快速組建"局域網",聯網打游戲啥的很方便。
2)?BSS網絡
又名Infrastructured網(基礎設施網):有AP(Access Point, 接入點),無線站點通信首先要經過AP。對于個人PC來說,使用最多的所謂"無線Wi-Fi"指的就是BSS網絡模式
3)?ESS網絡
其中,ESS中的DS(分布式系統)是一個抽象系統,用來連接不同BSS的通信信道(通過路由服務),這樣就可以消除BSS中STA與STA之間直接傳輸距離受到物理設備的限制。
根據拓撲結構可以得出802.11的兩類服務:
站點服務SS(每個STA都要有的服務)
分布式系統服務DSS(DS特有服務)
3.1 幀格式概述
無線中的數據傳播有如下相似的格式:
其中preamble是一個前導標識,用于接收設備識別802.11,而PLCP域中包含一些物理層的協議參數,顯然Preamble及PLCP是物理層的一些細節。MAC層處理的是幀數據,截取上圖中MAC頭開始的部分構成MAC幀格式如下所示:
3.2 MAC Header
1)Frame Control(幀控制域)格式如下所示:
2)Duration/ID(持續時間/標識):表明該幀和它的確認幀將會占用信道多長時間;對于幀控制域子類型為:Power Save-Poll的幀,該域表示了STA的連接身份(AID, Association Indentification);
3)Address(地址域):源地址(SA)、目的地址(DA)、傳輸工作站地址(TA)、接收工作站地址(RA),SA與DA必不可少,后兩個只對跨BSS的通信有用,而目的地址可以為單播地址(Unicast address)、多播地址(Multicast address)、廣播地址(Broadcast address);
4)Sequence Control(序列控制域):由代表MSDU(MAC Server Data Unit)或者MMSDU(MAC Management Server Data Unit)的12位序列號(Sequence Number)和表示MSDU和MMSDU的每一個片段的編號的4位片段號組成(Fragment Number)。
3.3 幀類型
針對幀的不同功能,可將802.11中的MAC幀細分為以下3類:
Frame Control(幀控制域)中的Type(類型域)和Subtype(子類型域)共同指出幀的類型,當Type的B3B2位為00時,該幀為管理幀;為01時,該幀為控制幀;為10時,該幀為數據幀。而Subtype進一步判斷幀類型,如管理幀里頭細分為關聯和認證幀,管理幀的幀格式如下圖所示:
管理幀的主體包含的固定字段與信息元素是用來運送信息的。管理幀主要以下幾種,負責鏈路層的各種維護功能。
1.beacon信標幀
主要用來聲明某個網絡的存在。定期(默認100s、可自己設置)傳送的信標可讓station得知網絡的存在,從而調整加入該網絡所必需的參數。
2.Probe Request 探查請求幀
移動工作站利用Probe Request探查請求幀來掃描區域內目前有哪些802.11網絡。
包含2個字段:
3.ProbeResponse探查響應幀
如果ProbeRequest所探查的網絡與之兼容,該網絡就會以ProbeResponse幀響應。送出最后一個信標幀的工作站必須負責響應所收到的探查信息。
Probe Request幀中包含了信標幀的所參數,station可根據它調整加入網絡所需要的參數。
4.IBSS announcement traffic indication map (ATIM)
IBSS 的通知傳輸只是消息。
5.Disassociation and Deauthentication
取消關聯、解除驗證幀。
6.AssociationRequest
關聯請求幀。
7.Reassociation Request
重新關聯。
8.Association Response and Reassociation Response
關聯響應、重新關聯響應。
9.Authentication
身份驗證幀
10.Action frame
幀傳送、關聯與身份驗證的狀態。共有三種狀態,后面會詳細介紹。
下面主要介紹下信標幀的格式:
信標幀被定期傳送以便于移動STA能定位和識別BSS,信標幀中的信息允許移動STA能在任何時候定位BSS,同時信標幀還含有通知處于節能模式的STA取回緩沖的幀的信息。
如圖所示,一個信標幀包含有以下固定域:時間戳、信標間隔、能力信息。信標幀中的信息單元包括:服務集標識號(SSID)、支持的速率、一個或多個PHY參數集、一個可選的無競爭參數集、一個可選的IBSS參數集和一個可選的通信指示圖。
偽AP釣魚攻擊,國外又稱為“雙面惡魔攻擊(evil twin attack)”,是通過仿照正常的AP,搭建一個偽AP,然后通過對合法AP進行拒絕服務攻擊或者提供比合法AP更強的信號迫使無線客戶端連接到偽AP。因為無線客戶端通常會選擇信號比較強或者信噪比(SNR)低的AP進行連接。為了使客戶端連接達到無縫切換的效果,偽AP應該以橋接方式連接到另外一個網絡。如果成功進行了攻擊,則會完全控制無線客戶端網絡連接,并且可以發起任何進一步的攻擊。
通常來說,發起無線釣魚攻擊的黑客會采取以下步驟:
1、獲取無線網絡的密鑰。對于采用WEP或WPA認證的無線網絡,黑客可以通過無線破解工具,或者采用社會工程的方法,來竊取目標無線網絡的密鑰,對于未加密的無線網絡則可以省略這一步驟,使得無線釣魚攻擊更容易得手。
2、偽造目標無線網絡。用戶終端在接入一個無線網絡之前,系統會自動掃描周圍環境中是否存在曾經連接過的無線網絡。當存在這樣的網絡時,系統會自動連接該無線網絡,并自動完成認證過程;當周圍都是陌生的網絡時,需要用戶手工選擇一個無線網絡,并輸入該網絡的密鑰,完成認證過程。
而黑客在偽造該無線網絡時,只需要在目標無線網絡附近架設一臺相同或近似SSID的AP,并設置上之前竊取的無線網絡密鑰。這臺AP一般會設置成可以橋接的軟AP,因此更加隱蔽,不容易被人發現。
這樣,黑客偽造AP的工作就完成了,由于采用了相同的SSID和網絡密鑰,對用戶來說基本上難辨真偽,并且由于偽造AP使用了高增益天線,附近的用戶終端會接收到比較強的無線信號,因此用戶會發現,在自己終端上的無線網絡列表中,這個偽造的AP是排在靠前位置的。這樣,用戶就會很容易上鉤,掉入這個精心構造的陷阱中。
圖 無線釣魚過程
3、干擾合法無線網絡。對于那些沒有自動上鉤的移動終端,為了使其主動走進布好的陷阱,黑客會對附近合法的網絡發起無線DoS攻擊,使得這些無線網絡處于癱瘓狀態。這時,移動終端會發現原有無線網絡不可用,重新掃描無線網絡,并主動連接附近同一個無線網絡中信號強度最好的AP。由于其他AP都不可用,并且黑客偽造的釣魚AP信號強度又比較高,移動終端會主動與偽造的AP建立連接,并獲得了IP地址。
至此,無線釣魚的過程就已經完成了,剩下的就是黑客如何處理網中的這些"魚"了。
4、截獲流量或發起進一步攻擊。無線釣魚攻擊完成后,移動終端就與黑客的攻擊系統建立了連接,由于黑客采用了具有橋接功能的軟AP,可以將移動終端的流量轉發至Internet,因此移動終端仍能繼續上網,但此時,所有流量已經被黑客盡收眼底。黑客會捕獲流量并進一步處理,如果使用中間人攻擊工具,甚至可以截獲采用了SSL加密的Gmail郵箱信息,而那些未加密的信息更是一覽無余。
更進一步,由于黑客的攻擊系統與被釣魚的終端建立了連接,黑客可以尋找可利用的系統漏洞,并截獲終端的DNS/URL請求,返回攻擊代碼,給終端植入木馬,達到最終控制用戶終端的目的。此時,那些存儲在終端上的資料已經是黑客囊中之物。
對于偽AP釣魚攻擊,采用精準迅速的檢測技術及時地發現并阻斷攻擊是非常必要的。目前的偽AP檢測技術主要包括信標幀時鐘偏差、時序特性、無線嗅探、指紋識別等方式。
利用時鐘偏差技術快速準確的檢測出未授權的無線AP,主要通過收集AP的信標幀和探頭響應消息來計算AP的時鐘偏差,這個是根據IEEE802.11協議中的TSF(Time Synchronization Function,定時同步功能)時間戳來計算的。如果AP的時鐘偏差值與特征庫中儲存的偏差值不一樣,則可認定這個AP為一個無線釣魚AP。
偽AP通常從源信標幀復制timestamp字段的值,所以它與授權AP幾乎采用同一個時鐘偏差。但是,當進行信標幀重構時,在形成幀并重傳的過程中會產生幾微秒的延遲。這將產生具有不同序列號的重復幀,這樣就可以通過計算兩個相鄰信標幀之間的timestamp間隔差異,即時鐘偏差,與預先設定的閾值進行比較來檢測偽AP。檢測步驟如下圖所示:
首先,從無線網絡中的授權接入點獲取訓練數據集。數據集包含從授權的AP(合法AP)中接收的信標幀。對于AP的時鐘偏差的計算,我們使用信標幀的時間戳值。
從信標幀中獲取到時間戳后使用LSF(最小二乘法擬合)算法計算出AP的時鐘偏差,然后存儲進數據庫作為以供以后使用。
處理完授權AP后。接下來需要對未授權的AP(待檢測AP)進行處理。首先,我們需要建立未授權的AP數據集,該數據集包含信標幀值。同樣使用LSF算法計算未授權AP的時鐘偏差。
之后,比較合法AP與待檢測AP的時鐘偏差值。根據比較結果可知待檢測的AP是否為偽AP。
基于時序特性的檢測方法實際上就是通過檢測兩個順序幀的接收時間間隔,即幀間到達時間來進行偽AP識別的。也可以測量認證幀和ACK幀之間的時序,即第一個確認幀被發送和相應的認證響應幀被發送之間的時間間隔。這種技術的缺點是在高流量的網絡中檢出率比較低。
一些公司如 Air-Magnet 使用無線嗅探解決方案,將傳感器部署在整個網絡空間中。為了在分布式代理服務器結構中檢測偽AP,使用傳感器收集物理和數據鏈路層信息,所收集的信息中包含信道、SSID、MAC地址、信號強度和AP控制幀等信息。非法設備和安全威脅能夠被追蹤并通過無線鎖定,或者鎖定交換機端口。您也可以在平面圖上看到非法設備準確的物理位置已確定您所處無線環境內的所有可能存在的安全威脅。
這些部署方案的代價是十分昂貴的,且這種無線方案一般不容易擴展,因為它涉及到大量的基礎設施改建和大型網絡改建,部署無線嗅探器要充分覆蓋大型網絡,例如,在城市建設公共熱點。這種無線嗅探方式在兩種情況下將會失效:第一種,無線釣魚AP禁止向外界發送信標幀(隱藏SSID),降低信號強度,或使用非標準的協議和頻率;第二種,攻擊者使用定向天線,使得無線釣魚AP覆蓋范圍很小,從而很難被發現。
這種方法運用請求-響應主動探測技術,可以通過網絡探測和像nmap之類的安全審計工具實現。這種方法發送一個請求幀,并等待響應以確定設備如何對碎片幀做出回應或者如何處理幀。這種技術也有缺點:它使用了可以被大多數攻擊者繞過的主動探測技術。此外,該技術可以被正常的WLAN流量所干擾。
論文《A Passive Fingerprint Technique to Detect Fake Access Points》中提出了一種使用PLL(the physical layer header length)作為指紋參數進行偽AP檢測,文章指出這種方法在非高流量環境下可以在100ms內準確地識別到偽AP。
該檢測流程首先捕獲AP無線通信數據包,然后過濾出信標幀,從中提取出MAC、SSID,PLL存入到buffer中。
接下來需要設置一個閥值(TSV),然后比較每一個信標幀的PLL與TSV,如果PLL<TSV,則表明該AP是偽AP。
論文中通過訓練大量合法AP與偽AP的樣本數據得到TSV的計算公式為:
即取偽AP的最大PLL值與合法AP的最小PLL之和的平均值。
在檢測到偽AP后,需要采用有效而精準的方式阻斷客戶端連接偽AP。我們可以采用dos攻擊方式,使客戶端無法連接到偽AP,從而達到阻斷偽AP連接的目的。針對無線AP的dos攻擊主要有以下幾種:
為了了解這幾種攻擊的原理,我們必須先了解IEEE802.11無線認證狀態。
IEEE 802.11將AP和STA在建立連接階段的狀態分為以下三種:
最初,STA和AP都處于狀態1,AP在啟動之后就會廣播信標幀,告知周圍的STA這里存在一個可用的無線網絡,通常AP廣播信標幀的間隔為100毫秒。在連接到AP之前,STA首先要掃描所有無線信道,選擇要連接的AP,然后同選定的AP進行認證。完成認證后,STA和AP將進入狀態2,STA將與AP建立連接,成功二者將進入狀態3。
如果STA想斷開與AP的連接,它將向AP 發送Disassociation幀。當然STA也可以向AP發送一個Deauthentication幀徹底地斷開與AP的連接。同樣,當AP想斷開與客戶端的連接時,它將發送一個Disassociation幀給客戶端。AP也可以通過廣播Disassociation幀來斷開與所有STA的連接。當AP或STA收到一個Disassociation幀時二者的狀態將回退到狀態2,當收到一個Deauthentication幀時二者的狀態將回退到狀態1。DOS攻擊就是基于無線客戶端的這幾種狀態進行攻擊的。
圖 IEEE802.11無線認證狀態轉換圖
認證洪水攻擊(Authentication Flood Attack),即身份認證洪水攻擊,通常被簡稱為Auth攻擊,是無線網絡拒絕服務攻擊的一種形式。該攻擊目標主要針對那些處于通過驗證、和AP建立關聯的關聯客戶端,攻擊者將向AP發送大量偽造的身份驗證請求幀(偽造的身份驗證服務和狀態代碼),當收到大量偽造的身份驗證請求超過所能承受的能力時,AP將斷開其它無線服務連接。
一般來說,所有無線客戶端的連接請求會被AP記錄在連接表中。當連接數量超過AP所能提供的許可范圍,AP就會拒絕其它客戶端發起的連接請求。
關聯洪水攻擊(Association Flood Attack),通常被簡稱為Asso攻擊,是無線網絡拒絕服務攻擊的一種形式。它試圖通過利用大量模仿的和偽造的無線客戶端關聯來填充AP的客戶端關聯表,從而達到淹沒AP的目的。在802.11層,共享解密身份驗證有缺陷,很難再用。僅有的其他備選項就是開放身份驗證(空身份驗證),該身份驗證依賴于較高級別的身份驗證,如802.1x或VPN。
開放身份驗證允許任何客戶端通過身份驗證然后關聯。利用這種漏洞的攻擊者可以通過創建多個到達已連接或已關聯的客戶端來模仿很多客戶端,從而淹沒目標AP的客戶端關聯表,具體情況如下圖所示。客戶端關聯表溢出后,接入點將不再允許更多的連接,并會因此拒絕合法用戶的連接請求。此類攻擊和之前提及的Authentication Flood Attack表現很相似,但是原理卻不同。
去認證洪水攻擊(Deauthentication Flood Attack),全稱去身份認證洪水攻擊或認證阻斷洪水攻擊,通常被簡稱為Deauth攻擊,是無線網絡拒絕服務攻擊的一種形式,它旨在通過欺騙從AP到客戶端單播地址的取消身份驗證幀來將客戶端轉為未關聯的/未認證的狀態。對于目前廣泛使用的無線客戶端適配器工具來說,這種形式的攻擊在打斷客戶端無線服務方面非常有效和快捷。一般來說,在攻擊者發送另一個取消身份驗證幀之前,客戶端會重新關聯和認證以再次獲取服務。攻擊者反復欺騙取消身份驗證幀才能使所有客戶端持續拒絕服務。
去身份驗證洪水攻擊具體步驟如下:
攻擊者先通過掃描工具識別出預攻擊目標(無線接入點和所有已連接的無線客戶端)。
通過偽造無線接入點和無線客戶端來將含有Deauthentication幀注入到正常無線網絡通信。
此時,無線客戶端會認為所有數據包均來自無線接入點。
在將指定無線客戶端“踢出”無線網絡后,攻擊者可以對其他客戶端進行同樣的攻擊,并可以持續進行以確保這些客戶端無法連接AP。
盡管客戶端會嘗試再次連接AP,但由于攻擊者的持續攻擊,將會很快被斷開。
下圖為去身份驗證洪水攻擊原理圖,可看到攻擊者對整個無線網絡發送了偽造的取消身份驗證報文。
去關聯洪水攻擊(Disassociation Flood Attack)的攻擊方式和Deauthentication Flood Attack表現很相似,但是發送數據包類型卻有本質的不同。它通過欺騙從AP到客戶端的取消關聯幀來強制客戶端成為圖所示的未關聯/已認證的狀態(狀態2)。一般來說,在攻擊者發送另一個取消關聯幀之前,客戶端會重新關聯以再次獲取服務。攻擊者反復欺騙取消關聯幀才能使客戶端持續拒絕服務。
RF干擾攻擊(RF Jamming Attack),是通過發出干擾射頻達到破壞正常無線通信的目的。
由于目前普遍使用的無線網絡都工作在2.4GHz頻帶范圍,此頻帶范圍包含802.llb、 802.llg、802.lln、藍牙等,所以針對此頻帶進行干擾將會有效地破壞正常的無線通信,導致傳輸數據丟失、網絡中斷、信號不穩定等情況出現。
當無線黑客使用射頻干擾攻擊來對公司或者家庭無線網絡進行攻擊時,無線路由器或無 線AP將會出現較為明顯的性能下降,而當遇到針對2.4GHz整個頻段的阻塞干擾時,整個無線網絡中的AP及無線路由器甚至都將不能正常工作。
目前的無線阻斷技術,用的比較多的是去關聯以及去認證技術。對網絡進行實時監聽,當移動用戶接入非法AP中時,捕獲偽AP與終端相互傳送的幀,獲取偽AP以及終端的MAC地址,幀序列號等信息,然后構造去關聯幀或去認證幀,模擬偽AP或終端發送數據包。通過持續不斷地發送數據包,使終端無法與偽AP進行連接,從而達到了阻斷終端接入偽AP的目的,如下圖所示: