溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

無(wú)線鍵鼠監(jiān)聽(tīng)與劫持

發(fā)布時(shí)間:2020-07-17 23:48:24 來(lái)源:網(wǎng)絡(luò) 閱讀:259 作者:博文視點(diǎn) 欄目:網(wǎng)絡(luò)安全

引言:鍵盤是生活中最常見(jiàn)的硬件之一,無(wú)線鍵鼠由于其方便美觀受到很多人的青睞,那么它的安全性如何呢?面對(duì)***我們又如何防護(hù)呢? 
本文選自《硬件安全***大揭秘》。

1.無(wú)線鍵鼠的興起

  鍵盤連接到計(jì)算機(jī)有多種方式,有線鍵盤鼠標(biāo)在生活中最常見(jiàn),適用范圍也很廣泛,但有線連接不僅對(duì)操作距離有限制,而且給攜帶造成了不便。不僅如此,繁雜的線纜還很容易把桌面弄得凌亂不堪。無(wú)線鍵鼠非常好地解決了上述問(wèn)題。無(wú)線鍵鼠又分為藍(lán)牙類型和2.4GHz 類型,文中所指的無(wú)線鼠標(biāo)一般指2.4GHz 類型。值得注意的是,雖然藍(lán)牙鍵鼠的工作頻段也是2.4GHz 頻段,使用的卻是藍(lán)牙通信協(xié)議,符合藍(lán)牙標(biāo)準(zhǔn)。而2.4GHz 類型的鍵鼠主要指利用專屬無(wú)線協(xié)議開(kāi)發(fā)的無(wú)線產(chǎn)品。2.4GHz 類型的無(wú)線鍵鼠,一般在計(jì)算機(jī)的USB 接口處插上一個(gè)適配器,鼠標(biāo)和鍵盤通過(guò)電池供電。

2.無(wú)線鍵鼠的基本原理

  無(wú)線鍵鼠與有線鍵鼠的主要區(qū)別在于信號(hào)傳輸方式。有線鍵鼠利用導(dǎo)線傳輸信息,而無(wú)線鍵盤利用無(wú)線電傳輸信息。早期的無(wú)線鍵盤使用27MHz 的頻段,當(dāng)時(shí)的無(wú)線接收器相對(duì)現(xiàn)在的集成芯片來(lái)說(shuō)要大得多。目前大多數(shù)產(chǎn)品都工作在2.4GHz 的ISM(工業(yè)、科學(xué)、醫(yī)療)頻段。下面我們大致介紹無(wú)線鍵盤的工作原理。當(dāng)按下鍵盤時(shí),鍵盤內(nèi)部的單片機(jī)利用矩陣掃描的原理檢測(cè)到是哪個(gè)按鍵按下了,相應(yīng)按鍵有相應(yīng)的編碼;單片機(jī)利用無(wú)線收發(fā)模塊把按鍵信息通過(guò)無(wú)線電傳播出去;電腦端插在USB 接口上的適配器收到相應(yīng)的數(shù)據(jù)后會(huì)通過(guò)USB 向電腦操作系統(tǒng)傳輸按鍵的輸入信息。這樣就完成了一次按鍵信息的傳送,下面將詳細(xì)介紹無(wú)線通信的硬件部分和通信數(shù)據(jù)部分。

3.硬件部分

  如果想真正了解鍵盤的構(gòu)造、基本原理等信息,拆解是非常直接有效的方法。 
無(wú)線鍵鼠監(jiān)聽(tīng)與劫持
  上圖為某無(wú)線鍵盤的拆解圖。右下部分是一個(gè)電池槽,紅色的線是一根電源線,為單片機(jī)和無(wú)線模塊供電。目前市場(chǎng)上最常見(jiàn)的就是這種薄膜式鍵盤。薄膜式鍵盤取代機(jī)械鍵盤的原因并非機(jī)械鍵盤的品質(zhì)不夠好、手感不佳。機(jī)械鍵盤的手感、使用壽命都要優(yōu)于薄膜鍵盤,只是因?yàn)槌杀具^(guò)高而逐漸退出市場(chǎng)。最近因更追求產(chǎn)品的品質(zhì),機(jī)械鍵盤又逐漸流行起來(lái)。 
  薄膜式鍵盤內(nèi)部共分三層,實(shí)現(xiàn)了無(wú)機(jī)械磨損,其特點(diǎn)是低價(jià)格、低噪音和低成本,已占領(lǐng)市場(chǎng)絕大部分份額。我們現(xiàn)在經(jīng)常使用的就是薄膜鍵盤。薄膜式鍵盤架構(gòu)很簡(jiǎn)單,除了上下蓋、鍵帽之外,拆開(kāi)鍵盤之后,還會(huì)看到橡膠帽(但事實(shí)上現(xiàn)在都是用硅膠制成)、三片薄膜、電路板,以及電路板上的IC。再檢視薄膜的話,還可以看到導(dǎo)電的印刷涂料。薄膜式鍵盤的原理相當(dāng)簡(jiǎn)單,三片薄膜中,最上方為正極電路,最下方為負(fù)極電路,中間為不導(dǎo)電的塑料片。 
無(wú)線鍵鼠監(jiān)聽(tīng)與劫持
  接著,在上方放按壓模塊(通常包括鍵帽、鍵帽下方活動(dòng)模塊,以及橡膠帽),當(dāng)手指從鍵帽壓下時(shí),上方與下方薄膜就會(huì)接觸通電,完成導(dǎo)通。 
  然而,我們更關(guān)注的是它的射頻部分。也就是它采用了哪款芯片,完成對(duì)數(shù)據(jù)的傳輸。這樣我們才能更方便地找對(duì)方向進(jìn)行研究。 
無(wú)線鍵鼠監(jiān)聽(tīng)與劫持
  上圖為無(wú)線鍵盤的射頻部分,用的是Nordic 公司設(shè)計(jì)的nRF24L01 芯片。黑色方塊即為該芯片,周圍是該芯片正常工作所需的外圍器件,例如電容、電阻等器件。左邊×××蛇形的圖案是PCB 天線。它是利用印制電路板上的導(dǎo)線作為天線的一種方式。這種天線的好處是相對(duì)于外置天線體積更小,而且更廉價(jià),但缺點(diǎn)是距離較短,適用于對(duì)距離沒(méi)有嚴(yán)格要求的地方。這款無(wú)線收發(fā)芯片是了解無(wú)線鍵鼠通信基本原理的關(guān)鍵部分,有助于我們對(duì)無(wú)線鍵盤的研究,下面將介紹該芯片的一些基本情況。 
  nRF24L01 是Nordic 公司設(shè)計(jì)的一個(gè)具備協(xié)議解析功能的單芯片無(wú)線收發(fā)器,適合低功耗的無(wú)線應(yīng)用場(chǎng)景。nRF24L01 工作在全球開(kāi)放ISM 頻段(工業(yè)、科學(xué)和醫(yī)用頻段),頻率范圍內(nèi)2.400GHz~2.4835GHz。因?yàn)閚RF24L01 僅僅是一個(gè)無(wú)線收發(fā)器,沒(méi)有集成單片機(jī),所以在使用時(shí)需要配合單片機(jī)和少量的外圍器件工作。我們可以通過(guò)SPI 接口對(duì)nRF24L01 進(jìn)行操作和配置。通過(guò)SPI 接口可以讀寫(xiě)nRF24L01 內(nèi)部的寄存器,完成對(duì)其的配置和其他所有的操作。 
  該無(wú)線設(shè)備采用GFSK 調(diào)制方式。用戶可以修改無(wú)線設(shè)備的信道、輸出功率和數(shù)據(jù)速率。nRF24L01 支持三種速率250kbit/s、1Mbit/s 和2Mbit/s。目前應(yīng)用廣泛的是2Mbit/s 的數(shù)據(jù)傳輸速率。 
  下圖所示為Nordic 公司官方給出的電路參考設(shè)計(jì)原理圖。大多數(shù)公司都是據(jù)此進(jìn)行開(kāi)發(fā)的,除非一些公司對(duì)某些方面有特殊的需求才會(huì)對(duì)該原理圖調(diào)整。許多廠家會(huì)據(jù)此進(jìn)行二次開(kāi)發(fā),生產(chǎn)出該芯片的模塊。 
無(wú)線鍵鼠監(jiān)聽(tīng)與劫持
  下圖為該芯片的成品模塊 
無(wú)線鍵鼠監(jiān)聽(tīng)與劫持
  該模塊只引出了必要的電源及控制接口,其他外圍電路都已經(jīng)集成在模塊上。這樣的好處是使用更方便,不需要關(guān)心芯片的外圍電路和天線部分。天線的設(shè)計(jì)是電路設(shè)計(jì)上的難點(diǎn),細(xì)小的失誤都可能對(duì)通信距離產(chǎn)生較大的影響。所以很多廠商都采用設(shè)計(jì)成熟的模塊,而不是自己重新設(shè)計(jì)這一部分。 
無(wú)線鍵鼠監(jiān)聽(tīng)與劫持
  上圖為該模塊的引腳順序圖,可以與單片機(jī)進(jìn)行連接。相應(yīng)的引腳功能如下。 
無(wú)線鍵鼠監(jiān)聽(tīng)與劫持
  模塊保留了用戶需要用到的8 個(gè)接口。其中1 號(hào)和2 號(hào)引腳為電源接口,為該模塊供電。3 號(hào)引腳為芯片使能接口,用于設(shè)置芯片是工作在接收模式還是發(fā)送模式。4 號(hào)至7 號(hào)引腳是用于SPI 通信的四條連線。CSN 用于片選芯片,也就是芯片的SPI 通信使能。SCK 是單片機(jī)為SPI 通信提供的通信時(shí)鐘。MOSI 是單片機(jī)向模塊發(fā)送數(shù)據(jù)的數(shù)據(jù)接口,MISO 是模塊向單片機(jī)發(fā)送數(shù)據(jù)的數(shù)據(jù)接口。8 號(hào)引腳IRQ 在接收到數(shù)據(jù)時(shí)通過(guò)電平跳變來(lái)通知單片機(jī)模塊已經(jīng)收到了數(shù)據(jù)。這種方式的好處在于單片機(jī)在沒(méi)有收到數(shù)據(jù)時(shí)可以完成其他任務(wù),不需要一直查詢?cè)撃K是否收到數(shù)據(jù)。當(dāng)然,這個(gè)接口也可以不用,不過(guò)如上所述,需要一直查詢是否收到了數(shù)據(jù),這種方式是非常低效的。采用這種方式帶來(lái)的另外一個(gè)缺點(diǎn)是一直使單片機(jī)處于工作狀態(tài),不利于休眠,會(huì)造成功耗大幅度提高。 
  通過(guò)上述物理接口就可以達(dá)到配置和操作nRF24L01 的目的。了解硬件是不夠的,對(duì)通信的數(shù)據(jù)的學(xué)習(xí)仍然是一門必修課。

4.通信數(shù)據(jù)部分

  nRF24L01 支持?jǐn)?shù)據(jù)包的自動(dòng)裝配,自動(dòng)發(fā)送確認(rèn)包和重發(fā)數(shù)據(jù)包。它支持1 至32 字節(jié)的負(fù)載長(zhǎng)度。能把收到的包自動(dòng)分解,得到需要的負(fù)載部分。nRF24L01 擁有6 個(gè)通信信道,最多支持1 對(duì)6 的星形網(wǎng)絡(luò)。 
無(wú)線鍵鼠監(jiān)聽(tīng)與劫持
  上圖為nRF24L01 的數(shù)據(jù)包格式,其中包括了1 個(gè)字節(jié)的前導(dǎo)碼、3 至5 字節(jié)的地址、9 個(gè)比特的包控制段、0 至32 字節(jié)的負(fù)載段及CRC 校驗(yàn)碼。數(shù)據(jù)包內(nèi)各個(gè)部分在整個(gè)通信中扮演著不同的角色,有著不同的作用,下面將對(duì)它們做詳細(xì)介紹。 
  前導(dǎo)碼用于讓接收端的解調(diào)器和輸入的比特流同步。這里的前導(dǎo)碼的長(zhǎng)度是一個(gè)字節(jié),序列是01010101 或者10101010。至于具體是哪種前導(dǎo)碼,與緊接在前導(dǎo)碼后面地址的第一個(gè)比特有關(guān)。如果地址的第一個(gè)比特是1,則前導(dǎo)碼被自動(dòng)設(shè)置為10101010。如果地址的第一個(gè)比特是0,則前導(dǎo)碼被自動(dòng)設(shè)置為01010101。這些措施用于保證有足夠的過(guò)度時(shí)間來(lái)穩(wěn)定接收器。簡(jiǎn)單地說(shuō),前導(dǎo)碼的存在主要是為了讓后續(xù)的數(shù)據(jù)流接收更加穩(wěn)定。 
  這里的地址是發(fā)射器發(fā)送給接收器的。地址用于該數(shù)據(jù)包被正確的接收器偵測(cè)和接收,而不是被其他設(shè)備錯(cuò)誤地接收到。當(dāng)我們?cè)诮邮掌髦袑?xiě)入地址后,可以方便地過(guò)濾掉不是發(fā)送給自己的數(shù)據(jù)包,保證接收到的數(shù)據(jù)包至少地址是正確的。我們可以通過(guò)設(shè)置名為AW 的寄存器,調(diào)整地址的寬度到3 個(gè)、4 個(gè)或者5 個(gè)字節(jié)。 
無(wú)線鍵鼠監(jiān)聽(tīng)與劫持
  上圖為數(shù)據(jù)包中的包控制字段(Packet Control Field),它涉及對(duì)數(shù)據(jù)包的控制工作,主要包括負(fù)載長(zhǎng)度字段(Payload Length)、包識(shí)別字段(PID)和自動(dòng)應(yīng)答的非確認(rèn)標(biāo)志(NO_ACK)。包控制字段包含6 比特的負(fù)載長(zhǎng)度字段。當(dāng)該器件作為接收端設(shè)定為動(dòng)態(tài)負(fù)載長(zhǎng)度時(shí),該負(fù)載長(zhǎng)度字段用于指示負(fù)載有多長(zhǎng),以便于快速讀取負(fù)載。當(dāng)設(shè)定為靜態(tài)負(fù)載長(zhǎng)度時(shí),就用不到該字段了,因?yàn)槊看蔚呢?fù)載長(zhǎng)度都是固定的。 
  兩個(gè)比特的包識(shí)別字段用于檢測(cè)接收到的包是新的還是重傳的。包識(shí)別字段是為了防止同樣的負(fù)載被多次送到單片機(jī)中重復(fù)處理。當(dāng)發(fā)送端每次發(fā)送新的數(shù)據(jù)包的時(shí)候,包識(shí)別字段的值都會(huì)增長(zhǎng)。在接收端的器件會(huì)根據(jù)包識(shí)別字段和循環(huán)校驗(yàn)碼(CRC)決定該數(shù)據(jù)包是重傳的還是新的。當(dāng)多個(gè)數(shù)據(jù)包丟失后,這次的包識(shí)別碼就可能和上次的一樣,如果這樣的話,nRF24L01 會(huì)比較兩次的循環(huán)校驗(yàn)碼。如果兩次的循環(huán)校驗(yàn)碼相同,最新接收的數(shù)據(jù)包就會(huì)被認(rèn)為是上次接收數(shù)據(jù)包的備份而被丟棄。 
  可選的自動(dòng)應(yīng)答特性控制著非確認(rèn)標(biāo)志(NO_ACK)。當(dāng)自動(dòng)應(yīng)答這個(gè)特性被利用時(shí),這個(gè)標(biāo)志才有效。設(shè)置這個(gè)標(biāo)志為1,告訴接收器這個(gè)包是不需要被自動(dòng)應(yīng)答的。 
  負(fù)載(Payload)是用戶定義的數(shù)據(jù)內(nèi)容。它的長(zhǎng)度可以是0 至32 字節(jié)。用戶可以把需要傳輸?shù)臄?shù)據(jù)放在負(fù)載字段里傳輸。循環(huán)冗余校驗(yàn)碼用于數(shù)據(jù)包的錯(cuò)誤檢測(cè)。在數(shù)據(jù)發(fā)送前,發(fā)射器會(huì)根據(jù)發(fā)送的數(shù)據(jù)產(chǎn)生循環(huán)冗余校驗(yàn)碼。當(dāng)接收器接收到數(shù)據(jù)時(shí),也會(huì)根據(jù)接收到的數(shù)據(jù)產(chǎn)生循環(huán)冗余校驗(yàn)碼。最后,接收器會(huì)計(jì)算接收到的數(shù)據(jù)校驗(yàn)碼,并和直接接收到的校驗(yàn)碼進(jìn)行比對(duì),如果相同則認(rèn)為數(shù)據(jù)在傳輸過(guò)程中沒(méi)有出錯(cuò),如果不相同就認(rèn)為出錯(cuò)了,需要采取重傳或者其他措施。該字段可以被設(shè)定為1 個(gè)或者2 個(gè)字節(jié),并且從地址開(kāi)始計(jì)算,也包括了包控制字段和負(fù)載。

5 如何防御

  有線鍵盤記錄器在有些單位或者某些場(chǎng)景,作為按鍵日志記錄設(shè)備是必須使用的。請(qǐng)不要隨意取下,以免引起不必要的誤會(huì)。 
  對(duì)于個(gè)人而言,有線鍵盤記錄器這種***手段要防御說(shuō)容易不容易,說(shuō)難也不難。說(shuō)容易是因?yàn)檫@種外接設(shè)備肉眼可見(jiàn),說(shuō)難是因?yàn)橐密浖z測(cè)非常難,幾個(gè)簡(jiǎn)單的防御方法如下。 
  首先,提高防范意識(shí)。使用臺(tái)式機(jī)前檢查一下,看看后面是不是被裝了“小尾巴”。當(dāng)然,每次都看太麻煩,可以選擇將機(jī)箱放在肉眼可見(jiàn)的桌上,沒(méi)事瞅一眼。使用筆記本電腦的話,隨時(shí)看下就好。 
其次,不熟悉的人送的鍵盤,不要隨意接受!或者發(fā)現(xiàn)自己的鍵盤有被拆卸過(guò)的痕跡,也需要注意!也許,鍵盤里面,就藏著一塊電路板,在你不經(jīng)意時(shí),竊取了你的賬號(hào)和密碼,繼而以此為突破口竊取更多的機(jī)密。當(dāng)然,還是自己去市面上買的鍵盤相對(duì)放心。 
  再就是,輸入關(guān)鍵信息時(shí),用軟鍵盤輸入比較好,前提是電腦本身的軟件安全要做好,如果中了***被錄屏就沒(méi)辦法了。 
對(duì)于無(wú)線鍵盤監(jiān)聽(tīng)的防御,很簡(jiǎn)單,不使用無(wú)線鍵鼠就行!特別是在辦公室用臺(tái)式機(jī)或者筆記本電腦時(shí),完全沒(méi)必要使用無(wú)線鍵盤,手機(jī)和iPad 用屏幕鍵盤就可以。如果必須要用無(wú)線鍵盤,可以考慮自己做一個(gè)轉(zhuǎn)換的硬件,將USB 有線鍵盤轉(zhuǎn)換成藍(lán)牙或者無(wú)線鍵盤,至于方法,與無(wú)線鍵盤記錄器是一個(gè)原理。 
  最后,安全沒(méi)有絕對(duì),但也不要被謠言所恐嚇,保持良好心態(tài),小心謹(jǐn)慎,定期更換強(qiáng)密碼很重要。 
  特別是對(duì)于掌握公司或者機(jī)關(guān)單位重要賬號(hào)密碼的工作人員,請(qǐng)?zhí)岣咦晕野踩婪兑庾R(shí)。

警告:非法竊取他人信息是違法行為,本節(jié)內(nèi)容僅供學(xué)習(xí)參考!切勿犯錯(cuò)!

  我們將在明天的推送中向您介紹一個(gè)無(wú)線鍵鼠的監(jiān)聽(tīng)與劫持的經(jīng)典案例《MouseJack》:MouseJack能利用無(wú)線鼠標(biāo)和鍵盤存在的一些問(wèn)題,達(dá)到偽裝成鍵盤并實(shí)現(xiàn)任意按鍵的效果。 
  本文選自《硬件安全***大揭秘》,點(diǎn)此鏈接可在博文視點(diǎn)官網(wǎng)查看。 

無(wú)線鍵鼠監(jiān)聽(tīng)與劫持

  想及時(shí)獲得更多精彩文章,可在微信中搜索“博文視點(diǎn)”或者掃描下方二維碼并關(guān)注。
                         無(wú)線鍵鼠監(jiān)聽(tīng)與劫持



向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI