李寶來(lái)
(海軍駐石家莊地區(qū)通信軍事代表室,河北 石家莊 050081)
隨著無(wú)線網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,目前Wi-Fi網(wǎng)絡(luò)幾乎已經(jīng)存在于人們?nèi)粘I畹姆椒矫婷?,在居住區(qū)、商業(yè)區(qū)和辦公大樓等人群較為密集的場(chǎng)所,Wi-Fi信號(hào)幾乎無(wú)處不在。由于Wi-Fi信號(hào)的廣泛使用,在大多數(shù)人群密集場(chǎng)所中,Wi-Fi信道的數(shù)據(jù)流量相對(duì)較大,信道利用率較高,很難再在該頻段內(nèi)開(kāi)辟出能夠單獨(dú)利用的通信資源。由于科學(xué)研究等需要,如果需要在Wi-Fi覆蓋頻段進(jìn)行其他無(wú)線信號(hào)的接收,則接收信號(hào)的質(zhì)量在Wi-Fi流量較高的區(qū)域?qū)⑹艿絿?yán)重干擾,因此,如何有效地在Wi-Fi流量較高的區(qū)域?qū)崿F(xiàn)短時(shí)抑制Wi-Fi信道內(nèi)的數(shù)據(jù)傳送就成為值得研究的問(wèn)題。
為實(shí)現(xiàn)Wi-Fi信道流量的短時(shí)抑制,可以利用無(wú)線網(wǎng)絡(luò)安全中的拒絕服務(wù)攻擊的概念[1],讓其他Wi-Fi設(shè)備短時(shí)間不能使用信道即可實(shí)現(xiàn)信道流量的短時(shí)抑制。文獻(xiàn)[2-4]綜合介紹了無(wú)線網(wǎng)絡(luò)中的安全問(wèn)題。文獻(xiàn)[5]介紹了利用Wi-Fi協(xié)議漏洞通過(guò)不斷發(fā)送大量偽造身份認(rèn)證請(qǐng)求導(dǎo)致AP因處理任務(wù)超過(guò)所能承受的能力進(jìn)而中斷已有無(wú)線服務(wù)連接進(jìn)行拒絕服務(wù)攻擊的驗(yàn)證請(qǐng)求洪水拒絕服務(wù)攻擊方式,但是由于攻擊者自身發(fā)送身份認(rèn)證請(qǐng)求也是一種Wi-Fi信號(hào),所以達(dá)到的結(jié)果就是雖然其他節(jié)點(diǎn)無(wú)法有效地和AP通信,但是信道內(nèi)依然存在著攻擊節(jié)點(diǎn)發(fā)送的大量數(shù)據(jù),所以信道相對(duì)來(lái)說(shuō)流量降低的效果并不理想。文獻(xiàn)[6]中針對(duì)NAV機(jī)制的漏洞提出了NAV攻擊。文獻(xiàn)[7]提出了一種欺騙802.11協(xié)議中回退機(jī)制的行為,可以為貪婪節(jié)點(diǎn)爭(zhēng)取更多的帶寬。文獻(xiàn)[8-9]提出取消認(rèn)證洪水攻擊的拒絕服務(wù)攻擊方式,該方式下攻擊者向AP節(jié)點(diǎn)發(fā)送偽造取消身份請(qǐng)求,讓其他節(jié)點(diǎn)與AP節(jié)點(diǎn)的連接斷開(kāi),能夠?qū)崿F(xiàn)短時(shí)間內(nèi)信道內(nèi)Wi-Fi流量下降的情況,但是由于Wi-Fi節(jié)點(diǎn)一般存在斷開(kāi)重連機(jī)制,所以一旦斷開(kāi)又會(huì)嘗試重新連接,并且這種方式對(duì)其他用戶會(huì)造成較為嚴(yán)重的影響,所以不能進(jìn)行推廣。除此之外,對(duì)于上述幾種方式,攻擊者每次發(fā)出的請(qǐng)求都只能對(duì)單一的AP節(jié)點(diǎn)進(jìn)行攻擊,當(dāng)場(chǎng)景中存在多個(gè)AP節(jié)點(diǎn)的情況則不能很好地達(dá)到信道抑制的目的,并且攻擊之前均需要提前對(duì)網(wǎng)絡(luò)進(jìn)行掃描,過(guò)程復(fù)雜,所以直接使用驗(yàn)證請(qǐng)求洪水攻擊和取消認(rèn)證洪水攻擊都不能很好地解決上述問(wèn)題。
本文通過(guò)分析802.11 MAC層協(xié)議,利用其控制幀的RTS-CTS機(jī)制,提出了一種基于CTS幀的在Wi-Fi流量密集場(chǎng)所短時(shí)抑制信道流量的方法[10],并通過(guò)實(shí)驗(yàn)對(duì)該方法的性能進(jìn)行了測(cè)試,結(jié)果證實(shí)了該方法的有效性。
802.11協(xié)議成功地將以太網(wǎng)形式的網(wǎng)絡(luò)應(yīng)用到無(wú)線鏈路之上,和以太網(wǎng)一樣, 802.11 協(xié)議采用載波偵聽(tīng)(Carrier Sense Multiple Access,CSMA)機(jī)制來(lái)控制傳輸媒質(zhì)的訪問(wèn)[11]。不過(guò),碰撞會(huì)浪費(fèi)寶貴的傳輸資源,因此 802.11使用沖突避免(CSMA/CA)機(jī)制,而非使用以太網(wǎng)所采用的碰撞檢測(cè)(CSMA/CD)機(jī)制[12]。
CSMA/CA機(jī)制主要是使用網(wǎng)絡(luò)分配向量(Network Allocation Vector,NAV)來(lái)實(shí)現(xiàn)的[12]。NAV在CSMA/CA機(jī)制中的具體流程如圖1所示。
圖1 NAV示意
圖1表示了一次信息交互過(guò)程中的不同幀的順序以及NAV起到的作用。使用CSMA/CA方式的完整的幀交互方式是由發(fā)送信息方向接收方發(fā)送一個(gè)請(qǐng)求發(fā)送幀(Request to Send,RTS),RTS中包含了發(fā)送方與接收方的MAC地址,并且包含了預(yù)計(jì)占用信道時(shí)間的長(zhǎng)度信息NAV,接收方接收到RTS之后如果處于空閑狀態(tài),則向發(fā)送方返回一個(gè)允許發(fā)送幀(Clear to Send,CTS),在網(wǎng)絡(luò)覆蓋范圍內(nèi)通知所有節(jié)點(diǎn)信道預(yù)計(jì)被占用的時(shí)間以及這段時(shí)間內(nèi)允許通信對(duì)象的MAC地址,即發(fā)送方的MAC地址,于是信道在接下來(lái)的NAV所設(shè)定時(shí)間中,發(fā)送方可以發(fā)送數(shù)據(jù)給接收方,其他節(jié)點(diǎn)則因?yàn)閺腞TS與CTS中得知了信道占用的時(shí)長(zhǎng),所以在這段時(shí)間內(nèi)處于等待狀態(tài)。所以通過(guò)RTS與CTS設(shè)定NAV的方法能夠起到?jīng)_突避免的作用。
通過(guò)對(duì)802.11協(xié)議CSMA/CA機(jī)制的分析,得知RTS與CTS幀對(duì)于控制Wi-Fi信道流量起到關(guān)鍵作用,所以這里對(duì)RTS與CTS的性能進(jìn)行了分析。RTS幀結(jié)構(gòu)如圖2所示。
圖2 RTS幀結(jié)構(gòu)
從圖2可以看出,RTS幀中包含源MAC地址與目的MAC地址,即該控制幀從發(fā)送者發(fā)往接收者。但是接收者收到RTS之后有可能處于忙碌狀態(tài)也有可能處于空閑狀態(tài),所以RTS對(duì)NAV的設(shè)定對(duì)其他節(jié)點(diǎn)并非立即生效,因?yàn)镽TS發(fā)出后,如果接收者處于忙碌沒(méi)有回應(yīng)CTS,但是其他節(jié)點(diǎn)因?yàn)樵揜TS設(shè)置了NAV處于等待,則會(huì)造成資源的浪費(fèi)。 因此,直接通過(guò)偽造RTS來(lái)短時(shí)抑制信道流量的方式不能滿足要求。
相比于RTS幀,CTS幀的結(jié)構(gòu)并不包含源MAC地址,CTS幀結(jié)構(gòu)如圖3所示。CTS幀一旦出現(xiàn)在網(wǎng)絡(luò)中,則所有能夠收到CTS幀的節(jié)點(diǎn)都應(yīng)該對(duì)該幀進(jìn)行響應(yīng),更新NAV,讓自己處于等待狀態(tài)。即CTS對(duì)網(wǎng)絡(luò)中的NAV更新是立即生效的,所以通過(guò)偽造CTS幀的方式實(shí)現(xiàn)信道流量的短時(shí)抑制就比較可行[13]。
圖3 CTS幀結(jié)構(gòu)
此外,由于CTS幀中不包含源MAC地址,所以保密性更強(qiáng),即使是偽造的CTS幀也與網(wǎng)絡(luò)中的真實(shí)CTS幀無(wú)太大差異。這種情況下,偽造的CTS節(jié)點(diǎn)可對(duì)其夠覆蓋范圍內(nèi)的所有同信道的節(jié)點(diǎn)產(chǎn)生抑制效果,而非針對(duì)單一的AP節(jié)點(diǎn),所以適用性相比于對(duì)單一AP節(jié)點(diǎn)的攻擊更廣。
最后,還可以向AP節(jié)點(diǎn)發(fā)送偽造RTS幀來(lái)想AP節(jié)點(diǎn)申請(qǐng)信道使用權(quán),讓AP回應(yīng)CTS幀[14],這種辦法雖然也能夠達(dá)到一定的效果,但是由于該辦法需要知道AP節(jié)點(diǎn)的MAC地址,所以需要提前進(jìn)行網(wǎng)絡(luò)掃描,較為不便,此外,該方式只能針對(duì)單一的AP節(jié)點(diǎn),所以其效果也不及直接偽造CTS幀好。
通過(guò)前面的分析,802.11協(xié)議的MAC層控制幀中的CTS為最佳的方案。圖3中,CTS幀的第2個(gè)字段為時(shí)長(zhǎng)Duration字段,表示信道占用的時(shí)間長(zhǎng)度,正常使用時(shí)取值范圍為0~32 767 ms,由此可知單個(gè)CTS幀最大占用信道的時(shí)長(zhǎng)約32 ms。
實(shí)際情況下可根據(jù)需要?jiǎng)討B(tài)修改Duration字段調(diào)節(jié)信道流量抑制的時(shí)間長(zhǎng)度,如果需要抑制的時(shí)間長(zhǎng)度大于單個(gè)CTS能提供的時(shí)間范圍上限,則可通過(guò)多個(gè)CTS幀來(lái)實(shí)現(xiàn)。
該方案具體要應(yīng)用于實(shí)際中,僅僅考慮MAC層協(xié)議還有些不足,還需要考慮信號(hào)的調(diào)制方式。在真實(shí)的無(wú)線環(huán)境中,在同一頻段下往往存在多種調(diào)制方式的幀,目前比較常見(jiàn)的有直接序列擴(kuò)頻DSSS、補(bǔ)碼檢控CCK和正交頻分復(fù)用OFDM等方式,所以選擇哪一種調(diào)制方式就需要進(jìn)行分析。
當(dāng)同一個(gè)網(wǎng)絡(luò)覆蓋范圍內(nèi)同時(shí)存在802.11b協(xié)議與802.11g協(xié)議時(shí),使用802.11b協(xié)議的數(shù)據(jù)采用CCK或DSSS調(diào)制方式,這些數(shù)據(jù)可以被支持802.11g協(xié)議的設(shè)備所識(shí)別,但是802.11g協(xié)議中如果使用OFDM調(diào)制方式,則這些數(shù)據(jù)不能被802.11b設(shè)備所識(shí)別。
為了解決這個(gè)問(wèn)題,從文獻(xiàn)[12]對(duì)802.11g協(xié)議的保護(hù)機(jī)制的描述中可知,802.11g協(xié)議中存在2種保護(hù)機(jī)制:反身CTS保護(hù)與完整的RTS/CTS交互,其中在完整的RTS/CTS交互過(guò)程中,802.11g設(shè)備發(fā)送RTS與CTS時(shí)必須使用CCK或DSSS調(diào)制方式,這樣才能夠?qū)崿F(xiàn)全網(wǎng)所有設(shè)備都能檢測(cè)到RTS與CTS,由此可知,當(dāng)偽造的CTS幀采用802.11b協(xié)議使用DSSS或CCK進(jìn)行調(diào)制才能確保CTS覆蓋范圍內(nèi)的所有Wi-Fi設(shè)備都進(jìn)行響應(yīng)。
測(cè)試分為屏蔽室內(nèi)測(cè)試與實(shí)驗(yàn)室內(nèi)測(cè)試,其中,屏蔽室內(nèi)測(cè)試是對(duì)CTS方案的可行性進(jìn)行驗(yàn)證,而實(shí)驗(yàn)室測(cè)試則是對(duì)設(shè)備在實(shí)際環(huán)境中的性能表現(xiàn)進(jìn)行測(cè)試。屏蔽室測(cè)試場(chǎng)景拓?fù)浣Y(jié)構(gòu)如圖4所示,該場(chǎng)景下無(wú)線路由器作為AP節(jié)點(diǎn)工作在2.4 GHz頻段的6號(hào)信道下運(yùn)行與802.11g協(xié)議,筆記本電腦A和筆記本電腦B分別通過(guò)Wi-Fi接入該局域網(wǎng)。
圖4 屏蔽室測(cè)試環(huán)境拓?fù)浣Y(jié)構(gòu)
筆記本A通過(guò)AP節(jié)點(diǎn)向筆記本B進(jìn)行視頻文件傳輸,此時(shí)局域網(wǎng)中的6號(hào)信道流量則處于較高的狀態(tài)。從筆記本的電腦顯示上看出,文件傳輸過(guò)程中平均速率在1 Mbps以上,通過(guò)頻譜分析儀也可以直觀看到,在視頻傳輸開(kāi)始后,信道內(nèi)的信號(hào)強(qiáng)度從大約-70 dB上升到-43 dB(頻譜分析儀參考信號(hào)強(qiáng)度是0 dBm)。
在2臺(tái)筆記本電腦的視頻傳輸過(guò)程中,利用通用軟件無(wú)線電外設(shè)(Universal Software Radio Peripheral,USRP)在6號(hào)信道上以20 ms為間隔發(fā)送Duration字段為24.576 ms的ODFM調(diào)制方式的CTS幀后[15],在筆記本電腦上看到數(shù)據(jù)傳輸速率迅速下降到0,一段時(shí)間后提示傳輸錯(cuò)誤的消息。
從頻譜分析儀也能看出,在使用USRP進(jìn)行CTS干擾之后該信道中的信號(hào)強(qiáng)度降低了超過(guò)20 dB。從抓包軟件抓取的數(shù)據(jù)中分析也能得到在USRP偽造CTS幀后,在一段時(shí)間內(nèi)捕獲的幀全部為USRP偽造的CTS幀,筆記本A向筆記本B傳輸?shù)臄?shù)據(jù)幀全部被抑制。其中CTS干擾前后信道頻譜圖如圖5所示,測(cè)試結(jié)果證實(shí)了CTS幀對(duì)信道的抑制作用。
圖5 CTS干擾前后信道頻譜圖對(duì)比
實(shí)驗(yàn)室測(cè)試場(chǎng)景下,先采用與圖4相同的測(cè)試場(chǎng)景,筆記本A向筆記本B傳輸數(shù)據(jù)后采用USRP偽造CTS幀進(jìn)行干擾,從筆記本上顯示的傳輸速率來(lái)看,傳輸速率有所下降,但是并未降低為0,從頻譜分析儀中的信息來(lái)看信道內(nèi)頻譜有些許下降,但也不如屏蔽室內(nèi)效果明顯。從測(cè)試結(jié)果來(lái)看,分析原因是USRP發(fā)射功率過(guò)小,即其偽造的CTS幀覆蓋范圍較小,且調(diào)制方式為OFDM并不能完全保證其覆蓋范圍內(nèi)所有設(shè)備都能響應(yīng)。
隨后,將USRP設(shè)備換成嵌入式物聯(lián)網(wǎng)節(jié)點(diǎn),該節(jié)點(diǎn)發(fā)射的CTS幀與USRP設(shè)備發(fā)射的CTS幀只有2點(diǎn)不同,首先是調(diào)試方式換成了DSSS,然后是發(fā)射功率提高到17 dBm,增加了偽造CTS幀的覆蓋范圍。再進(jìn)行測(cè)試,通過(guò)網(wǎng)絡(luò)測(cè)速軟件,在CTS干擾之前筆記本電腦的網(wǎng)速大約為上行16 Mbps下行11 Mbps,在進(jìn)行CTS干擾之后筆記本出現(xiàn)斷網(wǎng),無(wú)法測(cè)試網(wǎng)速,多次嘗試后在沒(méi)斷網(wǎng)的情況下得到的測(cè)試結(jié)果為上行速度為0下行速度為0.01 Mbps,得到的結(jié)果與屏蔽室內(nèi)文件傳輸中斷的結(jié)果保持一致。
最后,通過(guò)定時(shí)器讓嵌入式物聯(lián)網(wǎng)節(jié)點(diǎn)以遠(yuǎn)大于CTS幀中Duration字段時(shí)長(zhǎng)的時(shí)間間隔發(fā)送偽造的CTS幀,通過(guò)抓包軟件分析可知,信道中除被CTS短時(shí)占用的情況,同時(shí),由于Wi-Fi信道是被斷斷續(xù)續(xù)的短時(shí)占用,周圍的無(wú)線節(jié)點(diǎn)均未出現(xiàn)有明顯的網(wǎng)絡(luò)卡頓情況或斷網(wǎng)情況。
本文提出了一種通過(guò)偽造802.11協(xié)議MAC層CTS控制幀的Wi-Fi信道流量短時(shí)抑制技術(shù)方案,能夠在Wi-Fi流量密集區(qū)域?qū)崿F(xiàn)Wi-Fi特定信道的短時(shí)流量抑制。802.11協(xié)議中設(shè)計(jì)RTS/CTS機(jī)制的初衷是為了解決無(wú)線信道的接入問(wèn)題。然而由于RTS/CTS的幀結(jié)構(gòu)中不包含可以確認(rèn)發(fā)送方身份的內(nèi)容,因此在無(wú)線信道上任何終端都可以隨時(shí)偽造RTS/CTS幀,從而短時(shí)抑制正常的無(wú)線流量。本文提出的方法利用了該機(jī)制的漏洞,在實(shí)驗(yàn)室環(huán)境和實(shí)際生活環(huán)境中,均可以有效地抑制無(wú)線局域網(wǎng)流量,從而為新一代無(wú)線局域網(wǎng)協(xié)議的設(shè)計(jì)以及無(wú)線信道的有效利用提供了新思路。