最近這兩天,著名的網絡設備供應商TP-Link發表聲明稱,某些“所謂的路由器安全軟件”引導用戶輸入路由器管理員密碼,進行所謂的“健康檢查”,TP-Link建議大家警惕此類軟件,堅決不要在此類軟件中輸入密碼。因為當用戶將這個密碼提供給某些叫做瑞星的廠商時,它們即掌控了路由器的管理權限,上網行為便可能因此暴露出去,包括網銀密碼、支付信息等。
我們姑且不論這個某些廠商的軟件求路由器管理員密碼意欲何為,這種行為如果上綱上線可被稱作“社會工程攻擊”,雖然在小編看來社會工程攻擊這種具欺騙性質的私密信息索要方式沒有技術含量,它們卻真實有效,是黑客常用的方法。大部分釣魚站點所用的也正是此類攻擊方法。
我們不能把某些廠商說成是黑客這么嚴重,不過宣稱“健康檢查”卻是黑客攻擊的有效手段。當然黑客的攻擊方式還有很多種,在《黑客入門》系列文章中,我們將對黑客這個饒有味道的詞匯做深入探討。
我們的初衷是要讓同學們對網絡安全有基本的防范意識,而不是要教導各位成為黑客,如果你有意愿這么做,也歡迎獨自深造。就像社會工程一樣,黑客們總是從網絡中最薄弱的一環開始入手的,路由器也是黑客攻擊的核心所在。而在我們常見的網絡世界里,無線網絡正是最薄弱的一環,所以首篇我們便來說一說WiFi網絡。
無線網絡很不安全
其實不管是高端大氣上檔次的小米路由器搭建的家庭WiFi環境,還是星巴克中的免費WiFi網絡,其本質都是差不多的,不管路由器本身看起來有多貴氣和豪華,它們都必須遵循網絡世界中的一些基本協議來運作。
?。ň退汩L得跟觸控板一樣,還是可以破解)
WiFi由于是種無線傳輸的通訊技術,其傳播過程就在空氣中。我們的電腦或手機之所以可以收到附近無線熱點的信號,并且知道該無線熱點的存在性,是因為該無線熱點(或者說無線路由器)在不停地對外發出一種信標,信標的內容就是“我在這里,我叫XXX”,而且是以廣播的形式反復發出。這一無線網絡覆蓋范圍內的設備都能截獲到這一信標,并通知用戶該Wi-Fi網絡的存在性。
無線網絡的這種特性決定了它相較有線網絡的不安全性,但凡在無線熱點覆蓋范圍內的設備,只要有能力接收這些信息,就能作信息的進一步掌控甚至截獲。所以無線網絡通常都一定具備了信息的加密特性,否則黑客很容易就讀取到密碼之類的敏感信息。
密鑰不只是密碼
所謂的加密,舉個例子說即是當要傳輸“his”這個單詞給對方時,為防止中途被人攔截后獲取信息,通過某種加密規則,實際發出的信息是“jku”——這里的規則是每個字母往后推2位。這樣即便中間人截獲到信息也看不懂這則信息究竟在說什么。當然實際的加密規則不會這么簡單,但僅約定雙方才知道加密和解密規則,互相讀懂對方的信息。
如果某個無線熱點要求客戶端提供密鑰才能連接,則該無線熱點會在信標中說“我在這里,我叫XXX,要連接我的話請提供密鑰”。密鑰顧名思義是一種秘密的鑰匙,它實際是指雙方約定的加密規則,而不是提供一個驗證密碼,解密正需要這樣一把鑰匙。鑒于無線網絡在空氣一定范圍內傳播的特性,客戶端在回復密鑰的過程中,這條回復信息也可以被該網絡覆蓋范圍內的其他設備攔截,如果這個過程不是加密的,那么要讀懂這串字符就顯得相當輕而易舉了。
所以密鑰實則可以簡單理解為通訊雙方約定好的一種加密規則——在此后的通訊中,雙方將以這種規則對收發信息進行加密和解密。當然實際情況不會這么簡單,通常密鑰只是加密規則的一個環節,不同加密協議的規則在復雜性上也是有差異的。
無線信息是如何攔截的
一般來說,無論是PC中的網卡還是手機中的通訊芯片都具備了信息的過濾功能,當它們在接收到某則信息時會首先從最初級的層面將信息拆開,僅查看該信息的接收目標地址,當發現這則信息不是發給自己的時候就將該信息丟棄——這個過程是不會通知用戶的。在無線網絡中,通訊芯片實際經常會執行這個拾獲和丟棄信息的動作。
在例如星巴克這樣的公共WiFi區域,我們的網卡會抓獲很多原本不是發給自己的信息。恰有一些軟件工具,例如Wireshark能夠將這些原本要丟棄的信息拾獲并反饋給用戶,這樣也就實現了Wi-Fi網絡環境中不屬于自己信息的截取。因為愛活是一家非常正經的媒體,且Wireshark設計的初衷是進行數據包分析的,所以這里不會教導同學們Wireshark的使用方法,不過還有一種工具叫百度。
?。ú贿^Wireshark截獲的這些包你能看懂嗎?)
網絡上流傳的一些安全手段因此也就變得不可靠,比如許多同學認為禁止路由器進行信標廣播,即不告訴周圍設備自己的存在性就安全了——有用戶抱怨小米路由器說設置中沒有隱藏信標的選項,但實際情況是就算不進行信標廣播,數據通訊仍有無數數據包在收發,要截獲也很容易,這些通訊數據包里就包含了網絡名稱;另外還有同學認為只要在路由器上綁定連接設備的Mac地址即可,其實Mac地址數據既可以截獲也可以偽裝,所以這些手段根本就稱不上安全。
怎么才能知道鄰居家的WiFi“密碼”
我們打開筆記本或手機的WiFi功能后會發現周圍有很多WiFi信號,有些是來自運營商,有些是來自鄰居,他們的絕大多數都是需要輸入密鑰才能連接。我們前面談過,這些密鑰指的是WiFi數據通訊的加密規則或機制。加密機制是多種多樣的,用過WiFi路由器的同學應該看到過WEP或WPA/WPA2之類的加密選項。通俗地說,這是實現加密的具體方法或協議,闡述的主要是一些加密規則的實現方式。
(小米路由器設置中的加密方式選擇)
WEP是Wi-Fi世界最早提出用于提升無線網絡安全性的加密機制,初期有人認為WEP第一次將無線網絡的安全性提升到了有線網絡的境界。但在本世紀初期,安全或者破壞專家們就發現了WEP的先天缺陷,即采用WEP傳輸的加密信息中有一部分是相對固定的控制信息。就像數學中的應用題一樣,在給定已知條件的情況下,就可以求加密規則和信息原文。實際情況確實是只要截獲足夠多的傳輸信息,就能夠得出密鑰字符串的值。
(如果你有Linux基礎,用一些簡單命令行工具來抓包,能夠獲知很多信息)
WPA和WPA2的出現就是為解決WEP存在的這種缺陷而設的。WPA/WPA2的加密認證機制相比WEP要復雜得多,杜絕了各種篡改數據或解密數據的可能性,其通訊過程迄今堪稱萬無一失。不過黑客們仍然發現,在密鑰驗證過程中,當合法用戶輸入正確的密鑰并反饋給路由器的時候,路由器會回應:密鑰正確,準予連接——這個過程需要進行來去4次通訊,習慣上可稱作“四次握手”,握手成功則可進行后續數據收發。雖然四次握手信息也經過了加密,但此加密過程與密鑰的關聯最大,所以具備了破解的可能性,這是WPA/WPA2的突破口。
在加密機制遭到破解后,還有什么是做不了的呢?這里我們只能把蹭網原理告訴各位同學,具體的實施方法并非三言兩語可以說清。但市面上已經出現了不少成套的數據包截獲和分析,以及密鑰運算工具,其實現原理也就是我們上面提到的這些了。如果你有Linux使用基礎,那么這套工具的使用僅需半天時間就能研究透徹,初級應用就是獲取鄰居家的WiFi“密碼”——不過現代路由器給出了更多樣的解決方案,比如小米路由器在感知到不明設備接入時就會通知主設備,以期起到防范作用——但這種防蹭網手段其實很低級,要找突破手段僅是需要一些時間而已,而且對數據截獲自然也是無能為力。
至于高級的,今年二月份iOS和Mac OS X曝出SSL漏洞,還有近期普遍流行的心臟出血漏洞就可以很好地被WiFi網絡中間人攻擊利用——SSL簡單理解也是一種加密方式(和WEP、WPA/WPA2所處層級不同),雖然它們和WiFi其實沒有太直接的關聯,但如果能夠結合WiFi中間人攻擊,又有幸截獲到網銀密碼...咳咳...我們只能到此為止了。
在這一篇章的講解中,我們非常誠懇殷切地期望同學們注意自家的WiFi網絡,以及前往星巴克之類公共場合的無線網絡接入安全。Windows系統在感知到周圍存在未加密的WiFi網絡,用戶請求接入時都會詢問用戶這是在家里、在辦公室還是在公共場合,顯然是有道理的。
加密是門深刻的學問,即便在比無線安全的有線世界里,加密也是存在而且必須存在的,否則用戶在輸入網銀密碼之后就只能淪為黑客的肉雞了,無需主動給騙子匯款,也能坐等傾家蕩產,或成為攻擊他人的工具。如果你對網絡安全和黑客之道有深深的向往,我們還將在接下來的文章中談到更多與加密,以及各類常規黑客攻擊手段,如我們常聽到的DNS、ARP欺騙、DoS攻擊等有關的內容,這些都將有助于各位輕松毀滅一個大型網絡,最短時間內在網絡上報復仇家,絕對是居家旅行殺人償命的好伴侶。
(審核編輯: 小王子)
分享