背景介紹
由于射頻技術(shù)的發(fā)展,鍵盤連接到計算機不再局限于有線的連接方式,而是出現(xiàn)了使用射頻技術(shù)的無線鍵盤。相比較于傳統(tǒng)的有線鍵盤,無線鍵盤沒有了繁雜的線纜,同時不再被距離限制。
目前世面上的無線鍵鼠分為藍牙類型和2.4GHz類型,其中2.4GHz類型的又占據(jù)了絕大部分的市場份額。2.4GHz類型的鍵鼠主要指利用專屬無線協(xié)議開發(fā)的無線產(chǎn)品,使用時一般先在計算機的USB 接口處插上一個適配器,鼠標和鍵盤通過電池供電,兩者之間通過射頻技術(shù)傳遞消息,將用戶的輸入輸出到電腦上。但是對目前熱賣的無線鍵鼠進行研究之后發(fā)現(xiàn),在無線鍵鼠和適配器的通訊過程中存在很大的安全漏洞,用戶的輸入很容易遭受到篡改,造成安全威脅。
現(xiàn)在我們請上這次實驗的主角——無線鍵鼠套裝。

準備工作
本次實驗用的硬件是曾經(jīng)出現(xiàn)過的HackRF,之前我們用它完成了GPS定位劫持和門鈴重放實驗。因為對10MHz-6GHz頻段的支持,讓我們可以用它攻擊工作在2.4GHz頻段的無線鍵鼠。實驗的平臺為kali Linux。下圖為Hackrf。

在對任何無線電設(shè)備進行研究的過程中,首先需要找到設(shè)備進行通信的頻率。在kali Linux上面就有這樣一款軟件來完成這一步驟,而且操作簡單,使用圖形化界面。下圖即為通過 Gqrx SDR 我們可以找到無線鍵鼠的工作頻段——2427MHz:

攻擊思路
對付無線設(shè)備最簡單直接同時也是最有效的方法就是重放攻擊,在之前攻擊無線門鈴的實驗中也采用了類似的思想。它的基本原理就是把竊聽到的數(shù)據(jù)原封不動地重新發(fā)送給接收方。
很多時候,網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)是加密過的,此時竊聽者無法得到數(shù)據(jù)的準確意義。但如果他知道這些數(shù)據(jù)的作用,就可以在不知道數(shù)據(jù)內(nèi)容的情況下通過再次發(fā)送這些數(shù)據(jù)達到欺騙接收端的目的。
如果信號沒有采用時間戳或者序列碼的機制,設(shè)備會很容易被攻擊利用。下圖為對無線鍵鼠進行重放攻擊的流程演示圖:

結(jié)果演示
在實驗中我們錄制了鍵盤上的“B”鍵,錄制完成后直接對得到的射頻信號進行重放,可以看到所錄制的信號在重放過程中將字符“b”打印在了終端上(紅圈部分截取部分):

實驗總結(jié)
重放攻擊是一種簡單、粗糙的攻擊方式,只要有能夠收發(fā)射頻信號的硬件設(shè)備就可以實現(xiàn),但越是簡單的攻擊方式就越難以防范。
對于防范重放攻擊而言,用戶能夠做的事情并不多,只能是在購買設(shè)備時盡量選擇更加安全的設(shè)備來防范可能存在的攻擊。更重要的是廠商在設(shè)計設(shè)備時引入序列碼等手段消除簡單重放的可能。如果是在公司等對鍵入內(nèi)容保密性要求較高的場合,建議使用有線鍵盤。

在無線鍵鼠攻擊的下篇,我們將更進一步,對采集到的信號進行分析,推導出用戶按下了鍵盤上的哪些鍵!實施完整的鍵盤監(jiān)聽攻擊。
敬請期待。
|