網(wǎng)絡(luò)安全攻防:藍牙安全
1. 藍牙簡介
藍牙(Bluetooth)是一種無線技術(shù)標(biāo)準,可實現(xiàn)固定設(shè)備、移動設(shè)備和樓宇個人域網(wǎng)之間的短距離數(shù)據(jù)交換(使用2.4~2.485 GHz的ISM波段的UHF無線電波)。
如今,藍牙由藍牙技術(shù)聯(lián)盟(SIG,Bluetooth Special Interest Group)管理。藍牙技術(shù)聯(lián)盟在全球擁有超過25000家成員公司,它們分布在電信、計算機、網(wǎng)絡(luò)和消費電子等多重領(lǐng)域。IEEE將藍牙技術(shù)列為IEEE 802.15.1,但如今已不再維持該標(biāo)準。藍牙技術(shù)聯(lián)盟負責(zé)監(jiān)督藍牙規(guī)范的開發(fā),管理認證項目,并維護商標(biāo)權(quán)益。制造商的設(shè)備必須符合藍牙技術(shù)聯(lián)盟的標(biāo)準才能以“藍牙設(shè)備”的名義進入市場。藍牙技術(shù)擁有一套專利網(wǎng)絡(luò),可發(fā)放給符合標(biāo)準的設(shè)備。
在各大手機廠商以及 PC 廠商的推動下,幾乎所有的移動設(shè)備和筆記本電腦中都裝有藍牙的模塊,用戶對于藍牙的使用也比較多。
藍牙用于在不同的設(shè)備之間進行無線連接,如連接計算機和外圍設(shè)備(打印機、鍵盤等),又或讓個人數(shù)碼助理(PDA)與其他附近的 PDA 或計算機進行通信。具備藍牙技術(shù)的手機可以連接到計算機、PDA甚至連接到免持聽筒。
藍牙和Wi-Fi(使用IEEE 802.11標(biāo)準的產(chǎn)品的品牌名稱)有些類似的應(yīng)用:設(shè)置網(wǎng)絡(luò)、打印或傳輸文件。Wi-Fi 主要是用于代替工作場所一般局域網(wǎng)接入中使用的高速線纜應(yīng)用,這類應(yīng)用有時也稱作無線局域網(wǎng)(WLAN)。藍牙主要是用于便攜式設(shè)備及其應(yīng)用的,這類應(yīng)用也被稱作無線個人域網(wǎng)(WPAN)。藍牙可以代替很多應(yīng)用場景中的便攜式設(shè)備的線纜,能夠應(yīng)用于一些固定場所,如智能家庭能源管理(如恒溫器)等。
Wi-Fi和藍牙的應(yīng)用在某種程度上是互補的。Wi-Fi通常以接入點為中心,通過接入點與路由在網(wǎng)絡(luò)里形成非對稱的客戶機—服務(wù)器連接。而藍牙通常是兩個藍牙設(shè)備間的對稱連接。藍牙適用于兩個設(shè)備通過最簡單的配置進行連接的簡單應(yīng)用,如耳機和遙控器的按鈕,而Wi-Fi更適用于一些能夠進行稍復(fù)雜的客戶端設(shè)置和需要高速響應(yīng)的應(yīng)用,如通過存取節(jié)點接入網(wǎng)絡(luò)。但是,藍牙接入點確實存在,而且Wi-Fi的點對點連接雖然不像藍牙一般容易,但也是可能的。Wi-Fi Direct為Wi-Fi添加了類似藍牙的點對點功能。
傳統(tǒng)藍牙是指“藍牙4.0規(guī)范”之前的藍牙設(shè)備,而符合“藍牙4.0規(guī)范”的則稱為“低功耗藍牙”。
以下是目前常用的藍牙版本的介紹,分別介紹了各個版本的改進、優(yōu)勢以及特點。
(1)Bluetooth 2.1
Bluetooth 2.1+EDR 進一步減少耗電量,并簡化了設(shè)備間的配對過程。2007年,耗電量方面則是藍牙2.1改進最大的地方。在藍牙2.0標(biāo)準中,規(guī)定的是每隔0.1 s手機就需要和藍牙設(shè)備進行聯(lián)系配對一次,而2.1版本中則將這個時間限制延長至0.5 s,手機和藍牙設(shè)備無形中節(jié)省了很多電量,大大提升了續(xù)航能力。
(2)Bluetooth 3.0
Bluetooth 3.0+HS,高速傳輸,速率提高到約24 Mbit/s。2009年4月21日,Bluetooth SIG正式頒布了“Bluetooth Core Specification Version 3.0 High Speed”(藍牙核心規(guī)范3.0版高速),藍牙3.0的核心是“Generic Alternate MAC/PHY”(AMP),這是一種新的交替射頻技術(shù),允許藍牙協(xié)議棧針對任一任務(wù)動態(tài)地選擇正確射頻。最初被期望用于新規(guī)范的技術(shù)包括802.11以及UMB,但是新規(guī)范中取消了UMB的應(yīng)用。
作為新版規(guī)范,藍牙3.0的傳輸速度自然會更高,而秘密就在802.11無線協(xié)議上。通過集成“802.11 PAL”(協(xié)議適應(yīng)層),藍牙3.0的數(shù)據(jù)傳輸率提高到了大約24~25 Mbit/s(即可在需要的時候調(diào)用802.11Wi-Fi用于實現(xiàn)高速數(shù)據(jù)傳輸),是藍牙2.0的8倍,可以輕松用于錄像機至高清電視、PC至PMP、UMPC至打印機之間的資料傳輸。
功耗方面,通過藍牙 3.0 高速傳送大量數(shù)據(jù),自然會消耗更多能量,但由于引入了增強電源控制(EPC)機制,再輔以802.11,實際空閑功耗會明顯降低。
(3)Bluetooth 4.0
藍牙技術(shù)聯(lián)盟于2010年6月30日正式推出藍牙核心規(guī)格4.0(稱為Bluetooth Smart)。它包括經(jīng)典藍牙、高速藍牙和藍牙低功耗協(xié)議。高速藍牙基于 Wi-Fi,經(jīng)典藍牙則包括舊有藍牙協(xié)議。藍牙4.0的改進之處主要體現(xiàn)在3個方面:電池續(xù)航時間、節(jié)能和設(shè)備種類。此外,藍牙 4.0 的有效傳輸距離也有所提升。藍牙 4.0 最重要的特性是省電科技,極低的運行和待機功耗可以使一粒紐扣電池連續(xù)工作數(shù)年之久。此外,低成本和跨廠商互操作性,3 ms低延遲、100 m以上超長距離、AES-128加密等諸多特色,可以用于計步器、心律監(jiān)視器、智能儀表、傳感器物聯(lián)網(wǎng)等眾多領(lǐng)域,大大擴展藍牙技術(shù)的應(yīng)用范圍。
(4)Bluetooth 5.0
Bluetooth 5是藍牙技術(shù)聯(lián)盟(Bluetooth Special Interest Group)于2016年6月16日發(fā)布的新一代藍牙標(biāo)準。藍牙5.0的開發(fā)人員稱,新版本的藍牙傳輸速度上限為2 Mbit/s,是之前4.2LE版本的兩倍。藍牙5.0 的另外一個重要改進是,它的有效距離是上一版本的4倍,理論上,藍牙發(fā)射和接收設(shè)備之間的有效工作距離可達300 m。藍牙5.0將添加更多的導(dǎo)航功能,因此,該技術(shù)可以作為室內(nèi)導(dǎo)航信標(biāo)或類似定位設(shè)備使用,結(jié)合Wi-Fi可以實現(xiàn)精度小于1m的室內(nèi)定位。
2. 低功耗藍牙
藍牙低功耗(BLE,Bluetooth Low Energy)(或BTLE)是Bluetooth v4.0的一項關(guān)鍵功能,將重新定義藍牙技術(shù)的使用方式。藍牙低功耗延續(xù)“傳統(tǒng)”藍牙技術(shù)的精神,包括低成本、短距離、可互操作,工作在免許可的2.4 GHz ISM射頻頻段,同時增加了創(chuàng)新的超低功耗運作模式,提供多種新類型的使用案例和應(yīng)用可能性。雖然藍牙 4.0 又號稱低功耗和較遠距離連接,但實際情況下,智能手機和硬件設(shè)備間的連接距離沒有理論給出的遠。藍牙低功耗技術(shù)是低成本、短距離、可互操作的頑健性無線技術(shù),工作在免許可的2.4 GHz ISM射頻頻段。低功耗技術(shù)從一開始就設(shè)計為超低功耗(ULP)無線程技術(shù)。它利用許多智能手段最大限度地降低功耗。
BLE分為3部分:Service、Characteristic、Descriptor,這3部分都由UUID作為唯一標(biāo)識符。一個藍牙4.0的終端可以包含多個Service,一個Service可以包含多個Characteristic,一個Characteristic包含一個Value和多個Descriptor,一個Descriptor包含一個Value。
BLE工作在ISM頻帶,定義了兩個頻段,2.4 GHz頻段和896/915 MHz頻段。BLE工作在2.4 GHz頻段,僅適用3個廣播通道,適用于所有藍牙規(guī)范版本通用的自適應(yīng)調(diào)頻技術(shù)。
(1)藍牙設(shè)備掃描
目前許多手機自帶了藍牙功能,當(dāng)然也能掃描藍牙設(shè)備。但是手機自帶的這些功能往往只是提供了最基本的信息,而沒有過多的信息,甚至只有一個藍牙設(shè)備的名稱。
在Android設(shè)備上有一款名為BLE Scanner的軟件,可以提供更全面的信息掃描,詳細到信號強度以及硬件地址和方位,而且還擁有歷史記錄等功能,如圖1所示。
圖1 BLE Scanner軟件
在Linux系統(tǒng)上可以使用hcitool和BTScanner,使用這兩個軟件掃描可以獲得更詳細的信息。
$ hcitool scan –all可以掃描附近的藍牙設(shè)備,如圖2所示。
圖2 掃描附近的藍牙設(shè)備
$ hcitool lescan
掃描附近的低功耗藍牙設(shè)備。
可以使用gatttool進行設(shè)備連接,獲得主要信息以及服務(wù)信息,如圖3所示。
圖3 獲得主要信息和服務(wù)信息
UUID是“Universally Unique Identifier”的簡稱,是通用唯一識別碼的意思。對于藍牙設(shè)備,每個服務(wù)都有通用、獨立、唯一的UUID與之對應(yīng),如圖4所示。
圖4 藍牙設(shè)備的UUID
(2)BLE嗅探
Ubertooth One是一款適用于藍牙實驗的開源2.4 GHz無線開發(fā)平臺,它適于被動式的藍牙監(jiān)測,可以在github上找到最新的源代碼。
根據(jù)官網(wǎng)上的教程安裝好所需的文件之后,原先插在USB口上只會亮兩個綠燈,裝完了驅(qū)動之后,會亮起兩個紅燈,這時候就證明Ubertooth One可以使用了。
插上天線之后,可以使用Ubertooth觀察頻譜,如圖5所示,命令如下。
$ ubertooth-specan-ui
圖5 Ubertooth頻譜分析器
使用 Kismet 工具可以測量周圍的無線信號,并查看所有可用的無線接入點。可以配合Ubertooth One使用,效果更佳。
(3)BLE攻擊
iOS下可以使用Light Blue來強制連接藍牙設(shè)備,而把原來的連接斷開。進入Light Blue頁面可以看到附近的藍牙設(shè)備,選擇Flower care進行連接,如圖6所示。
圖6 Light Blue連接藍牙設(shè)備
進入連接頁面,可以看到該藍牙設(shè)備更詳細的信息,包括設(shè)備名、設(shè)備 UUID、ADVERTISEMENT DATA,以及設(shè)備包含的服務(wù)、服務(wù)包含的特征等,如圖7所示。圖
圖7 詳細信息
還可以連接小米手環(huán)進行重放攻擊。在Alert Level中寫入新值1和2(震動級別:0-不震動、1-輕微&小幅震動、2-強烈震動),可控制小米手環(huán)的震動。通過這種方法,可控制一定范圍內(nèi)任何人的小米手環(huán),使其不停震動。