黃 濤 羅 寧 張 欽 沙琪松 孫飛虎
(桂林電子科技大學,廣西 桂林541004)
隨著信息時代的快速發展,人們的上網方式也發生了極大的變化,從臺式電腦到筆記本電腦再到平板電腦、手機,到現在人們日常生活的各個方面已經離不開無線網絡,而用到最多的無線網絡當屬WiFi。WiFi可以保證工作和娛樂活動的正常進行。但是,萬事都有兩面性,WiFi無線網絡為人們帶來便利的同時也會造成一些問題。人們在連接WiFi時,如果將個人信息放在一個相對不安全或者有漏洞的平臺時,攻擊者也就是不法分子可以通過共享網絡和黑客技術竊取用戶的個人信息,隨著各種移動支付以及App的普及,WiFi安全問題必須得到重視。
釣魚WiFi顧名思義就是用來釣“魚”的WiFi,而“魚”就是那些喜歡連接免費WiFi的手機、電腦用戶等,一旦用戶連接上了攻擊者偽造或者攻擊過的WiFi就有可能被竊取信息。而本文介紹的軟件的應用目的就是為了防止這樣的事情發生,通過有效地識別釣魚WiFi,那么黑客利用釣魚WiFi竊取用戶信息就無從談起。本文介紹的是由作者開發的一款軟件,可以掃描出周圍的可連接WiFi,并通過各種攻擊檢測原理在識別到釣魚WiFi時對用戶進行反饋,如果未檢測到釣魚危險,則信任該WiFi,并將其MAC地址添加到白名單。
ARP是Address Resolution Protocol的簡稱,中文翻譯是地址解析協議,是根據IP地址獲取MAC地址的一個協議,它屬于TCP/IP協議簇。主機發送數據信息時將包含目標IP地址的ARP請求廣播到局域網絡上的所有主機,并接收返回消息,以此確定目標的MAC地址。收到返回消息后,將該IP地址和MAC地址存入本機的ARP緩存中并保留一段時間,下次請求時直接查詢ARP緩存以節約資源。ARP攻擊是指攻擊者利用地址解析協議運作機制進行的攻擊,ARP攻擊分很多種,常見的有IP沖突攻擊、ARP溢出攻擊以及ARP欺騙攻擊。其中,IP沖突攻擊原理是制造出局域網上有另一臺主機與目標主機共享一個IP地址的假象,這樣就違反了IP地址不能共享的原則,目標主機會被警告,大量的攻擊數據包會使目標主機消耗大量資源甚至導致目標主機癱瘓。而ARP溢出攻擊是向目標主機發送大量的偽造的MAC—IP映射,目標主機會消耗大量資源去維護ARP高速緩存,如果進一步采用分布式攻擊甚至會導致目標主機癱瘓。以上兩種攻擊方式都是使目標主機癱瘓或不能提供服務,而釣魚WiFi常用的ARP攻擊手段是ARP欺騙攻擊。
ARP欺騙攻擊是ARP常用攻擊類型中最常見的一種。其原理是由攻擊者發送假的ARP數據包到局域網上,特別是送到指定的網關上。其目的是要讓原本應該送到特定的IP地址的數據被錯誤送到攻擊者的主機,攻擊者通過ARP欺騙使局域網內目標主機發送給網關的數據信息都發送給攻擊者。目標主機刷新自己的ARP使得原本在自己的ARP緩存表中對變應的網關的MAC地址為攻擊者的MAC地址,這樣一來其他用戶原本要通過網關發送出去的數據流就會發往攻擊者主機,為了防止被發現,攻擊者還會將修改或刪除后的數據流再轉發給網關,同時欺騙了網關和目標主機,這樣就會造成用戶的數據被篡改或外泄。
DNS是Domain Name System的簡稱,中文翻譯是域名系統,是互聯網的一項服務,它也屬于TCP/IP協議簇。它作為將域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便地訪問互聯網。
DNS作為網絡的基礎服務,其原理也相對比較簡單,其解析過程缺乏認證機制非常容易受到欺騙攻擊。DNS攻擊常用DNS欺騙的手段,利用DNS協議缺少認證的特點,在目標主機發送DNS請求后,攻擊者如果冒充域名服務器并發送帶有錯誤信息的IP地址的DNS相應報文,相當于把目標主機查詢的IP地址設為攻擊者的IP地址,導致目標主機上網就只能看到攻擊者的網頁,而不是想要取得的正確的網站的主頁,比如,原本用戶要訪問www.baidu.com,卻因為DNS欺騙訪問到了攻擊者事先搭建的網頁。DNS欺騙其實并沒有真正“黑掉”對方的網站,而是一種類似重定向的冒名頂替罷了。
在Windows平臺,我們利用編程語言Python下的第三方庫Scapy偵聽局域網,向目標主機發送數據包并通過sniff函數中的filter功能對數據包進行過濾,提取ARP數據包,而攻擊者進行ARP欺騙時是向目標主機發送大量的ARP數據包,通過這個原理可以給當前局域網設置閾值,當單位時間內接收到來自同一個MAC地址發送的ARP數據包超過閾值時,軟件系統將自動判定目標主機受到ARP攻擊并進行警報提示,同時進行Windows操作系統的靜態ARP綁定WiFi設備的MAC地址,這種方法可以極好地防止目標主機受到ARP欺騙攻擊,在Windows操作系統上的ARP靜態綁定的命令是:先通過ARP-a查詢高速緩存下的項目,再找到并記錄WiFi對應的MAC地址和IP地址,再使用命令ARP-s IP地址MAC地址進行ARP靜態綁定。
DNS欺騙是欺騙目標主機訪問攻擊者的主頁或搭建的網站,檢測方式是通過網絡請求以及DNS處理訪問事先記錄的多個常用網站,如百度、搜狐等搜索引擎的IP地址,然后在檢測每隔一段單位時間IP地址并記錄到數據庫中進行對比,某一時刻的IP地址與之前記錄的IP地址有差異時進行警報提示。
因為釣魚WiFi的種類很多,攻擊手段也大有不同,我們僅能模擬并測試兩種攻擊手段并以此進行研究防御措施,同時,我們不知道DNS攻擊方面攻擊者會對哪個URL進行重定向,我們只能將常用的www.baidu.com、www.souhu.com等常用網站作為測試目標進行檢測。雖然我們可以對ARP欺騙進行預防處理,但是對于防止DNS欺騙并沒有采取相關措施,原因是對于DNS欺騙的預防手段需要手動進行操作,如嚴格配置防火墻的控制訪問策略,針對DNS服務器安全設定高優先級防護策略,嚴格控制內外用戶對DNS服務器的訪問,防止有攻擊者竊取權限篡改DNS記錄,還有分離內外部DNS服務器、部署入侵防御系統等,預防手段過于復雜,所以只實現了DNS欺騙檢測功能。
公共場合下的WiFi給我們帶來了極大的便利,彌補了有線網絡的不足,但是其帶來的安全問題不可忽視,在保證個人信息安全的前提下能夠將無線網絡的優勢完全發揮是現在5G時代到來時不得不考慮的問題。為了避免釣魚WiFi攻擊,保護信息安全,必須對針對WiFi發起的攻擊進行充分研究,設置更多更有效的保護措施,以保障WiFi的安全性。即使是再強大的保護系統或是檢測軟件,黑客等不法分子都會找到縫隙乘虛而入,所以,保護機制要不斷更新,任何保護都不是牢不可破的也不是毫無漏洞的。