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