引言:鍵盤是生活中最常見的硬件之一,無線鍵鼠由于其方便美觀受到很多人的青睞,那么它的安全性如何呢?面對***我們又如何防護(hù)呢?
本文選自《硬件安全***大揭秘》。在彌勒等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),網(wǎng)絡(luò)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,彌勒網(wǎng)站建設(shè)費(fèi)用合理。
鍵盤連接到計(jì)算機(jī)有多種方式,有線鍵盤鼠標(biāo)在生活中最常見,適用范圍也很廣泛,但有線連接不僅對操作距離有限制,而且給攜帶造成了不便。不僅如此,繁雜的線纜還很容易把桌面弄得凌亂不堪。無線鍵鼠非常好地解決了上述問題。無線鍵鼠又分為藍(lán)牙類型和2.4GHz 類型,文中所指的無線鼠標(biāo)一般指2.4GHz 類型。值得注意的是,雖然藍(lán)牙鍵鼠的工作頻段也是2.4GHz 頻段,使用的卻是藍(lán)牙通信協(xié)議,符合藍(lán)牙標(biāo)準(zhǔn)。而2.4GHz 類型的鍵鼠主要指利用專屬無線協(xié)議開發(fā)的無線產(chǎn)品。2.4GHz 類型的無線鍵鼠,一般在計(jì)算機(jī)的USB 接口處插上一個適配器,鼠標(biāo)和鍵盤通過電池供電。
無線鍵鼠與有線鍵鼠的主要區(qū)別在于信號傳輸方式。有線鍵鼠利用導(dǎo)線傳輸信息,而無線鍵盤利用無線電傳輸信息。早期的無線鍵盤使用27MHz 的頻段,當(dāng)時的無線接收器相對現(xiàn)在的集成芯片來說要大得多。目前大多數(shù)產(chǎn)品都工作在2.4GHz 的ISM(工業(yè)、科學(xué)、醫(yī)療)頻段。下面我們大致介紹無線鍵盤的工作原理。當(dāng)按下鍵盤時,鍵盤內(nèi)部的單片機(jī)利用矩陣掃描的原理檢測到是哪個按鍵按下了,相應(yīng)按鍵有相應(yīng)的編碼;單片機(jī)利用無線收發(fā)模塊把按鍵信息通過無線電傳播出去;電腦端插在USB 接口上的適配器收到相應(yīng)的數(shù)據(jù)后會通過USB 向電腦操作系統(tǒng)傳輸按鍵的輸入信息。這樣就完成了一次按鍵信息的傳送,下面將詳細(xì)介紹無線通信的硬件部分和通信數(shù)據(jù)部分。
如果想真正了解鍵盤的構(gòu)造、基本原理等信息,拆解是非常直接有效的方法。
上圖為某無線鍵盤的拆解圖。右下部分是一個電池槽,紅色的線是一根電源線,為單片機(jī)和無線模塊供電。目前市場上最常見的就是這種薄膜式鍵盤。薄膜式鍵盤取代機(jī)械鍵盤的原因并非機(jī)械鍵盤的品質(zhì)不夠好、手感不佳。機(jī)械鍵盤的手感、使用壽命都要優(yōu)于薄膜鍵盤,只是因?yàn)槌杀具^高而逐漸退出市場。最近因更追求產(chǎn)品的品質(zhì),機(jī)械鍵盤又逐漸流行起來。
薄膜式鍵盤內(nèi)部共分三層,實(shí)現(xiàn)了無機(jī)械磨損,其特點(diǎn)是低價(jià)格、低噪音和低成本,已占領(lǐng)市場絕大部分份額。我們現(xiàn)在經(jīng)常使用的就是薄膜鍵盤。薄膜式鍵盤架構(gòu)很簡單,除了上下蓋、鍵帽之外,拆開鍵盤之后,還會看到橡膠帽(但事實(shí)上現(xiàn)在都是用硅膠制成)、三片薄膜、電路板,以及電路板上的IC。再檢視薄膜的話,還可以看到導(dǎo)電的印刷涂料。薄膜式鍵盤的原理相當(dāng)簡單,三片薄膜中,最上方為正極電路,最下方為負(fù)極電路,中間為不導(dǎo)電的塑料片。
接著,在上方放按壓模塊(通常包括鍵帽、鍵帽下方活動模塊,以及橡膠帽),當(dāng)手指從鍵帽壓下時,上方與下方薄膜就會接觸通電,完成導(dǎo)通。
然而,我們更關(guān)注的是它的射頻部分。也就是它采用了哪款芯片,完成對數(shù)據(jù)的傳輸。這樣我們才能更方便地找對方向進(jìn)行研究。
上圖為無線鍵盤的射頻部分,用的是Nordic 公司設(shè)計(jì)的nRF24L01 芯片。黑色方塊即為該芯片,周圍是該芯片正常工作所需的外圍器件,例如電容、電阻等器件。左邊×××蛇形的圖案是PCB 天線。它是利用印制電路板上的導(dǎo)線作為天線的一種方式。這種天線的好處是相對于外置天線體積更小,而且更廉價(jià),但缺點(diǎn)是距離較短,適用于對距離沒有嚴(yán)格要求的地方。這款無線收發(fā)芯片是了解無線鍵鼠通信基本原理的關(guān)鍵部分,有助于我們對無線鍵盤的研究,下面將介紹該芯片的一些基本情況。
nRF24L01 是Nordic 公司設(shè)計(jì)的一個具備協(xié)議解析功能的單芯片無線收發(fā)器,適合低功耗的無線應(yīng)用場景。nRF24L01 工作在全球開放ISM 頻段(工業(yè)、科學(xué)和醫(yī)用頻段),頻率范圍內(nèi)2.400GHz~2.4835GHz。因?yàn)閚RF24L01 僅僅是一個無線收發(fā)器,沒有集成單片機(jī),所以在使用時需要配合單片機(jī)和少量的外圍器件工作。我們可以通過SPI 接口對nRF24L01 進(jìn)行操作和配置。通過SPI 接口可以讀寫nRF24L01 內(nèi)部的寄存器,完成對其的配置和其他所有的操作。
該無線設(shè)備采用GFSK 調(diào)制方式。用戶可以修改無線設(shè)備的信道、輸出功率和數(shù)據(jù)速率。nRF24L01 支持三種速率250kbit/s、1Mbit/s 和2Mbit/s。目前應(yīng)用廣泛的是2Mbit/s 的數(shù)據(jù)傳輸速率。
下圖所示為Nordic 公司官方給出的電路參考設(shè)計(jì)原理圖。大多數(shù)公司都是據(jù)此進(jìn)行開發(fā)的,除非一些公司對某些方面有特殊的需求才會對該原理圖調(diào)整。許多廠家會據(jù)此進(jìn)行二次開發(fā),生產(chǎn)出該芯片的模塊。
下圖為該芯片的成品模塊
該模塊只引出了必要的電源及控制接口,其他外圍電路都已經(jīng)集成在模塊上。這樣的好處是使用更方便,不需要關(guān)心芯片的外圍電路和天線部分。天線的設(shè)計(jì)是電路設(shè)計(jì)上的難點(diǎn),細(xì)小的失誤都可能對通信距離產(chǎn)生較大的影響。所以很多廠商都采用設(shè)計(jì)成熟的模塊,而不是自己重新設(shè)計(jì)這一部分。
上圖為該模塊的引腳順序圖,可以與單片機(jī)進(jìn)行連接。相應(yīng)的引腳功能如下。
模塊保留了用戶需要用到的8 個接口。其中1 號和2 號引腳為電源接口,為該模塊供電。3 號引腳為芯片使能接口,用于設(shè)置芯片是工作在接收模式還是發(fā)送模式。4 號至7 號引腳是用于SPI 通信的四條連線。CSN 用于片選芯片,也就是芯片的SPI 通信使能。SCK 是單片機(jī)為SPI 通信提供的通信時鐘。MOSI 是單片機(jī)向模塊發(fā)送數(shù)據(jù)的數(shù)據(jù)接口,MISO 是模塊向單片機(jī)發(fā)送數(shù)據(jù)的數(shù)據(jù)接口。8 號引腳IRQ 在接收到數(shù)據(jù)時通過電平跳變來通知單片機(jī)模塊已經(jīng)收到了數(shù)據(jù)。這種方式的好處在于單片機(jī)在沒有收到數(shù)據(jù)時可以完成其他任務(wù),不需要一直查詢該模塊是否收到數(shù)據(jù)。當(dāng)然,這個接口也可以不用,不過如上所述,需要一直查詢是否收到了數(shù)據(jù),這種方式是非常低效的。采用這種方式帶來的另外一個缺點(diǎn)是一直使單片機(jī)處于工作狀態(tài),不利于休眠,會造成功耗大幅度提高。
通過上述物理接口就可以達(dá)到配置和操作nRF24L01 的目的。了解硬件是不夠的,對通信的數(shù)據(jù)的學(xué)習(xí)仍然是一門必修課。
nRF24L01 支持?jǐn)?shù)據(jù)包的自動裝配,自動發(fā)送確認(rèn)包和重發(fā)數(shù)據(jù)包。它支持1 至32 字節(jié)的負(fù)載長度。能把收到的包自動分解,得到需要的負(fù)載部分。nRF24L01 擁有6 個通信信道,最多支持1 對6 的星形網(wǎng)絡(luò)。
上圖為nRF24L01 的數(shù)據(jù)包格式,其中包括了1 個字節(jié)的前導(dǎo)碼、3 至5 字節(jié)的地址、9 個比特的包控制段、0 至32 字節(jié)的負(fù)載段及CRC 校驗(yàn)碼。數(shù)據(jù)包內(nèi)各個部分在整個通信中扮演著不同的角色,有著不同的作用,下面將對它們做詳細(xì)介紹。
前導(dǎo)碼用于讓接收端的解調(diào)器和輸入的比特流同步。這里的前導(dǎo)碼的長度是一個字節(jié),序列是01010101 或者10101010。至于具體是哪種前導(dǎo)碼,與緊接在前導(dǎo)碼后面地址的第一個比特有關(guān)。如果地址的第一個比特是1,則前導(dǎo)碼被自動設(shè)置為10101010。如果地址的第一個比特是0,則前導(dǎo)碼被自動設(shè)置為01010101。這些措施用于保證有足夠的過度時間來穩(wěn)定接收器。簡單地說,前導(dǎo)碼的存在主要是為了讓后續(xù)的數(shù)據(jù)流接收更加穩(wěn)定。
這里的地址是發(fā)射器發(fā)送給接收器的。地址用于該數(shù)據(jù)包被正確的接收器偵測和接收,而不是被其他設(shè)備錯誤地接收到。當(dāng)我們在接收器中寫入地址后,可以方便地過濾掉不是發(fā)送給自己的數(shù)據(jù)包,保證接收到的數(shù)據(jù)包至少地址是正確的。我們可以通過設(shè)置名為AW 的寄存器,調(diào)整地址的寬度到3 個、4 個或者5 個字節(jié)。
上圖為數(shù)據(jù)包中的包控制字段(Packet Control Field),它涉及對數(shù)據(jù)包的控制工作,主要包括負(fù)載長度字段(Payload Length)、包識別字段(PID)和自動應(yīng)答的非確認(rèn)標(biāo)志(NO_ACK)。包控制字段包含6 比特的負(fù)載長度字段。當(dāng)該器件作為接收端設(shè)定為動態(tài)負(fù)載長度時,該負(fù)載長度字段用于指示負(fù)載有多長,以便于快速讀取負(fù)載。當(dāng)設(shè)定為靜態(tài)負(fù)載長度時,就用不到該字段了,因?yàn)槊看蔚呢?fù)載長度都是固定的。
兩個比特的包識別字段用于檢測接收到的包是新的還是重傳的。包識別字段是為了防止同樣的負(fù)載被多次送到單片機(jī)中重復(fù)處理。當(dāng)發(fā)送端每次發(fā)送新的數(shù)據(jù)包的時候,包識別字段的值都會增長。在接收端的器件會根據(jù)包識別字段和循環(huán)校驗(yàn)碼(CRC)決定該數(shù)據(jù)包是重傳的還是新的。當(dāng)多個數(shù)據(jù)包丟失后,這次的包識別碼就可能和上次的一樣,如果這樣的話,nRF24L01 會比較兩次的循環(huán)校驗(yàn)碼。如果兩次的循環(huán)校驗(yàn)碼相同,最新接收的數(shù)據(jù)包就會被認(rèn)為是上次接收數(shù)據(jù)包的備份而被丟棄。
可選的自動應(yīng)答特性控制著非確認(rèn)標(biāo)志(NO_ACK)。當(dāng)自動應(yīng)答這個特性被利用時,這個標(biāo)志才有效。設(shè)置這個標(biāo)志為1,告訴接收器這個包是不需要被自動應(yīng)答的。
負(fù)載(Payload)是用戶定義的數(shù)據(jù)內(nèi)容。它的長度可以是0 至32 字節(jié)。用戶可以把需要傳輸?shù)臄?shù)據(jù)放在負(fù)載字段里傳輸。循環(huán)冗余校驗(yàn)碼用于數(shù)據(jù)包的錯誤檢測。在數(shù)據(jù)發(fā)送前,發(fā)射器會根據(jù)發(fā)送的數(shù)據(jù)產(chǎn)生循環(huán)冗余校驗(yàn)碼。當(dāng)接收器接收到數(shù)據(jù)時,也會根據(jù)接收到的數(shù)據(jù)產(chǎn)生循環(huán)冗余校驗(yàn)碼。最后,接收器會計(jì)算接收到的數(shù)據(jù)校驗(yàn)碼,并和直接接收到的校驗(yàn)碼進(jìn)行比對,如果相同則認(rèn)為數(shù)據(jù)在傳輸過程中沒有出錯,如果不相同就認(rèn)為出錯了,需要采取重傳或者其他措施。該字段可以被設(shè)定為1 個或者2 個字節(jié),并且從地址開始計(jì)算,也包括了包控制字段和負(fù)載。
有線鍵盤記錄器在有些單位或者某些場景,作為按鍵日志記錄設(shè)備是必須使用的。請不要隨意取下,以免引起不必要的誤會。
對于個人而言,有線鍵盤記錄器這種***手段要防御說容易不容易,說難也不難。說容易是因?yàn)檫@種外接設(shè)備肉眼可見,說難是因?yàn)橐密浖z測非常難,幾個簡單的防御方法如下。
首先,提高防范意識。使用臺式機(jī)前檢查一下,看看后面是不是被裝了“小尾巴”。當(dāng)然,每次都看太麻煩,可以選擇將機(jī)箱放在肉眼可見的桌上,沒事瞅一眼。使用筆記本電腦的話,隨時看下就好。
其次,不熟悉的人送的鍵盤,不要隨意接受!或者發(fā)現(xiàn)自己的鍵盤有被拆卸過的痕跡,也需要注意!也許,鍵盤里面,就藏著一塊電路板,在你不經(jīng)意時,竊取了你的賬號和密碼,繼而以此為突破口竊取更多的機(jī)密。當(dāng)然,還是自己去市面上買的鍵盤相對放心。
再就是,輸入關(guān)鍵信息時,用軟鍵盤輸入比較好,前提是電腦本身的軟件安全要做好,如果中了***被錄屏就沒辦法了。
對于無線鍵盤監(jiān)聽的防御,很簡單,不使用無線鍵鼠就行!特別是在辦公室用臺式機(jī)或者筆記本電腦時,完全沒必要使用無線鍵盤,手機(jī)和iPad 用屏幕鍵盤就可以。如果必須要用無線鍵盤,可以考慮自己做一個轉(zhuǎn)換的硬件,將USB 有線鍵盤轉(zhuǎn)換成藍(lán)牙或者無線鍵盤,至于方法,與無線鍵盤記錄器是一個原理。
最后,安全沒有絕對,但也不要被謠言所恐嚇,保持良好心態(tài),小心謹(jǐn)慎,定期更換強(qiáng)密碼很重要。
特別是對于掌握公司或者機(jī)關(guān)單位重要賬號密碼的工作人員,請?zhí)岣咦晕野踩婪兑庾R。
警告:非法竊取他人信息是違法行為,本節(jié)內(nèi)容僅供學(xué)習(xí)參考!切勿犯錯!
我們將在明天的推送中向您介紹一個無線鍵鼠的監(jiān)聽與劫持的經(jīng)典案例《MouseJack》:MouseJack能利用無線鼠標(biāo)和鍵盤存在的一些問題,達(dá)到偽裝成鍵盤并實(shí)現(xiàn)任意按鍵的效果。
本文選自《硬件安全***大揭秘》,點(diǎn)此鏈接可在博文視點(diǎn)官網(wǎng)查看。
想及時獲得更多精彩文章,可在微信中搜索“博文視點(diǎn)”或者掃描下方二維碼并關(guān)注。
當(dāng)前文章:無線鍵鼠監(jiān)聽與劫持
路徑分享:http://aaarwkj.com/article14/ijpjde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、ChatGPT、軟件開發(fā)、網(wǎng)站收錄、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)