經常有白帽子跟宅客君說,只要你開著WiFi,我就有辦法拿到你手機的敏感信息。作為演示,他們經??梢裕ㄔ谖匆娺^的情況下)直接說出手機品牌,并給出一些敏感文件的信息。
他們利用的是一種“偽造WiFi”的技術,也可以稱之為“蜜罐網絡”。
簡單來說,就是搭建一個手機曾經連過的WiFi,比如無密碼的“CMCC”、密碼是“pass”的“WiFi”。手機發現這個WiFi就會自動連接上。接下來處于同一個網絡,而且路由的控制權還在白帽子那邊,手機后臺app的同步數據自然全被對方知道。
SSID(WiFi名字)、密碼相同,WiFi就可以連接,在現在看也不算漏洞,大部分個人WiFi的密碼還是很私密的(因為有類似WiFi萬能鑰匙的app存在,這個判斷不一定準確)。但是,當出現大量公共WiFi后,它就變得有機可乘。樓下餐廳、旁邊商超、無線公交……,遍布整個城市的公共WiFi并沒有私密性,它們的密碼是公開的,或者直接沒有密碼。
光有大的框架是不夠的。想有針對的偽造WiFi,首先還需要知道這臺手機曾經連過哪些WiFi,盲目亂試的效果可不會好。
這里牽涉到了手機與路由之間的連接過程。嗯,如果你使用的是Android手機,可以先看看/data/misc/wifi/wpa_supplicant.conf這個文件(需root權限),該文件內包含了這臺手機曾經連過的所有WiFi信息,SSID、密碼、加密方式、MAC等等,其它系統也有類似的文件結構。
智能手機廠商以及系統提供方想為用戶提供更好體驗,它們會對WiFi連接速度做出特別的優化。比如,廣播所有曾連接過WiFi的名字。路由器會收到這些信息,如果其中有無密碼的WiFi,經過定制的路由器可以自動設置成同名WiFi。攻擊來了。
守衛WiFi的最后一重關卡還在手機上,是我們在“為什么說公共WiFi不安全?”一文中強調的取消自動連接。
當碰到這種偽造WiFi時,自動連接就會變得很悲劇。后臺app同步的數據可以被馬上監聽到,如果有主動上網,泄漏的數據還會更多。這也是為什么很多人惡心WiFi萬能鑰匙,它的存在,讓這種偽造WiFi攻擊有可能波及個人網絡。
后記
偽造WiFi攻擊并不常見,這種攻擊消無聲息、短時間所得甚少,因此非常難被發現。但小編認為,有很多同類案例,比如Google街景車,會掃描經過路途的WiFi并存儲在云端,這已經是一種廣撒網式的搜集數據了。
它的最高成果,目前來看應該是自動化的攻擊裝置。一個定制化的OpenWrt系統,針對每個路過的手機偽造不同WiFi,并自動做數據監聽。國內目前有不少白帽黑帽在研究。
防范它沒有太好的辦法,一是主動關閉WiFi功能,二是取消自動連接(見這兒),三是連接無密碼WiFi后取消保存。這都是些較麻煩的操作。當然,安全與便利幾乎永遠都是對立的。