WiFi協(xié)議又一個安全漏洞

一大早起來,看到一個視頻,標(biāo)題是“WIFI協(xié)議曝漏洞,無線網(wǎng)絡(luò)不再安全【黑客新聞】”。嗯,雖然明白是標(biāo)題黨(WiFi就沒安全過),但還是成功吸引了我這個資淺的前網(wǎng)絡(luò)安全從業(yè)人員的興趣??赐暌曨l后,云里霧里的,不清楚到底是個什么漏洞,突然就拍腦袋決定浪費一個周日上午,仔細(xì)研究一下。
額,首先是找原始論文。嗯,說實話,工作后,自己的技能里,提升最大的,就是找英文文獻——國內(nèi)的新聞,一般都是翻譯的外文新聞,而且不放原文鏈接。所以,一般要找的話,先要找到英文版的新聞,再在里面翻論文的標(biāo)題或鏈接——國外的記者其實也很多不放這些東西的,哈哈。
在這篇文章里順利了找到了鏈接:
WiFi protocol flaw allows attackers to hijack network traffic (bleepingcomputer.com)
論文鏈接:
usenix2023-wifi.pdf (mathyvanhoef.com)
先看了下這個Bill Toulas寫的報導(dǎo),很欣慰,比起其他幾篇新聞,這篇里對技術(shù)細(xì)節(jié)有一些描述,大致理解了下原理和過程,如下:
原理是,路由器收到“節(jié)能標(biāo)記”(終端進入節(jié)能模式,不再接收數(shù)據(jù))后,會將發(fā)送給這個終端的報文緩存起來,等到終端重新 wake up 后,再將這些數(shù)據(jù)發(fā)送給終端。而攻擊者利用這個節(jié)能-喚醒功能,先發(fā)送節(jié)能標(biāo)記讓路由器緩存后,再要求路由器重發(fā)送明文報文或者使用群地址加密密鑰(group-address encryption key)加密——這之后的報文將不再安全。
漏洞的核心就在于,讓路由器認(rèn)為終端睡眠了,之后強行改變安全上下文。
但是,看完后,還有一些疑惑:
攻擊成功的關(guān)鍵點有兩個:
1. 發(fā)送“睡眠標(biāo)記”的報文?!?,這個不應(yīng)該被加密嗎?攻擊者怎么利用的呢?
2. 其次改變路由器的安全上下文(也就是發(fā)送 Auth. / Association Request)?!~,這個操作感覺和“節(jié)能模式”沒關(guān)系。那么,不再睡眠模式里,這個攻擊有用嗎?
為了回答這兩個問題,還得看下論文。不過,跳過了大段的摘要介紹以及后面的實施細(xì)節(jié),只找了這兩個問題相關(guān)的段落。
第二個問題,倒是很快找到了答案,它也是這篇論文的重點了:Auth. / Association Request ?應(yīng)該要被Wi-Fi Management Frame Protection (MFP) 標(biāo)準(zhǔn)加密保護,因此在正常通信時,是不會被攻擊者利用的。但是,本文進入節(jié)能模式后,安全上下文被改變,才導(dǎo)致其被利用。
而論文中的“Lessons Learned”也說,問題的根本在于“標(biāo)準(zhǔn)沒有充分地討論安全上下文改變的過程和影響”:
We believe the root cause of the identified issues in that the standard is not sufficiently explicit in handling security context changes.
第一個問題,找了好久沒有找到答案。于是,不得不去翻標(biāo)準(zhǔn)——真心不想翻IEEE的標(biāo)準(zhǔn),太長了,至今沒有看完過哪怕一篇IEEE的標(biāo)準(zhǔn)……
看了一會兒,才明白,這個疑惑是自己的知識盲區(qū)導(dǎo)致的:
TAs changing Power Management mode shall infom the AP of this fact using the Power Management bits within the Frame Control field of transmitted frames.
這個Powere-Saving位是在傳輸幀的幀控制域(Frame Control field)里,例如:


所以,這個bit位無法被加密到。攻擊者只需要修改一個普通報文的Pwr Mgmt的值即可。
嗯,花了一個小時,疑惑解決完了。不過,論文在后面還詳細(xì)討論了好多東西:
3.3 General Attack Strategy and Methodology
3.4 Frame Leaks in FreeBSD
3.5 Frame Leaks in Linux and Hardware
3.6 Defenses
4 Abusing the Queue for Network Disruptions
5 Overriding the Victim’s Security Context
6 Discussion on Impact and Lessons Learned
應(yīng)該是攻擊的細(xì)節(jié),以及一些影響和如何應(yīng)對的討論。不過,沒有仔細(xì)看了,畢竟不從事這一行了,不想把整個周日全部花在這上面。:)
最終,討論下,對自己的影響和學(xué)習(xí)到(思考)的東西吧。
對我自己應(yīng)該影響不大。老早就知道WiFi不安全了,平時主要依靠的還是TLS的安全性(雖然也有很多針對TLS的攻擊,不過,大部分情況下還是可靠的)。主要的影響,在于HTTP服務(wù),和一些局域網(wǎng)的服務(wù)(大部分局域網(wǎng)的服務(wù)都是弱安全的,甚至大部分都是明文的)。畢竟大部分時候,我們都假設(shè)局域網(wǎng)內(nèi)是安全可信的環(huán)境,因此,局域網(wǎng)的服務(wù)更多地是考慮速度問題,而不是安全問題。
因此,對于普通人而言,更重要的,是要把自己的局域網(wǎng)打造得和“安全專家們所假設(shè)的”那樣安全可信。例如,老生常談的,不要連接陌生的wifi,不要讓陌生人連入自己的wifi等等——在這個攻擊里,如果路由器在被攻擊者誘導(dǎo)刪除終端的密鑰后,如果使用明文發(fā)送報文的話,攻擊者即使沒有WiFi密碼也能得到報文數(shù)據(jù);但是,如果路由器實現(xiàn)得好一些,使用group-address encryption key加密,那么沒有WiFi密碼的攻擊者應(yīng)該也得不到數(shù)據(jù)。
為什么Power-Saving位不放到加密域里?兩種可能:先設(shè)計了節(jié)能模式功能,應(yīng)用之后再考慮的安全加密功能。而設(shè)計加密功能的老兄,根本推動不了去修改協(xié)議,把它放到加密域里去。第二種可能,設(shè)計者經(jīng)過討論,認(rèn)為這個位不會被攻擊者利用,或者利用了危害也不大。如果原因是第二種,那么就再一次證明以前的一個猜想:設(shè)計時認(rèn)為不會被利用的信息,最終都會被攻擊者所利用。以前想過一個極端結(jié)論:要安全,那就把除了會話標(biāo)識符(解密時要用,所以不能加密)以外的東西都加密起來。哈哈,不過無法實現(xiàn)——加密太多,速度太慢了。
論文作者認(rèn)為問題的根因在于標(biāo)準(zhǔn)制定者沒有徹底討論安全上下文改變的細(xì)節(jié)和影響。但我覺得更普遍的問題在于:MFP和Power-Saving兩個機制在設(shè)計時,互相“不知道對方”。這在我們平時工作中非常常見:我自己設(shè)計了一個功能,自己考慮的時候,覺得非常好,各個方面都考慮到了。但是,一上到實際環(huán)境里,總能發(fā)現(xiàn)各種問題:與老系統(tǒng)之間相互影響產(chǎn)生問題、與同步開發(fā)的其他系統(tǒng)之間的相互影響產(chǎn)生問題、與之后新上線的系統(tǒng)之間的相互影響也產(chǎn)生了問題。現(xiàn)網(wǎng)運行的系統(tǒng)就像是一個不知道加了多少種化學(xué)藥品,而且還在不停地加入新化學(xué)藥品的燒杯,里面每時每刻都在發(fā)生難以預(yù)測的化學(xué)變化。我覺得,除了拉普拉斯妖,沒人誰能將這樣一個系統(tǒng)完全掌握,那也就不可能有一個存在,能設(shè)計一個絕對安全的系統(tǒng)加入其中。
目前的安全體系里,沒有絕對安全,只有相對安全。安全人員們的設(shè)計初衷就是,讓攻擊者付出的成本高于收益。因此,平時使用網(wǎng)絡(luò)設(shè)施時,別妄想一套解決方案,解決所有場景:該“裸奔”的時候就“裸奔”,該上“大鎖”的時候就上“大鎖”。
參考:
封面、頭圖、攻擊原理步驟以及部分摘抄出自論文《Framing Frames: Bypassing Wi-Fi Encryption by Manipulating Transmit Queues》
WiFi protocol flaw allows attackers to hijack network traffic (bleepingcomputer.com)
802.11 幀格式和分類詳解 - 肉滾滾和代碼 - 博客園 (cnblogs.com)
《802.11-1997 - IEEE Standard for Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications》
?Network traffic hijacking facilitated by WiFi protocol vulnerability | SC Media (scmagazine.com)