高複雜性下的藍芽安全危機

了不起的廠長發表於2019-05-24

高複雜性下的藍芽安全危機

高複雜性下的藍芽安全危機

藍芽就像膠水一樣和我們的智慧裝置緊密的粘在一起,這意味著一旦出現BUG,可能會引發嚴重的後果。

最近,位於美國加州聖克拉拉市的安全公司McAfee(邁克菲,是一家致力於建立最佳電腦保安解決方案的公司,該公司提供的防毒軟體是全世界最暢銷的防毒軟體之一)的研究人員報告了一種名叫BoxLock(一款自帶掃碼功能的掛鎖,可以支援藍芽、掃碼開鎖)的智慧掛鎖存在藍芽低能耗(BLE,全稱Bluetooth Low Energy,它是藍芽協議的一個濃縮版本)誤配置的問題,它使得裝置可以在沒有任何密碼或加密保護的情況下自由配對,研究人員可以隨意連線到任何一把鎖上,通過分析可以辨別出是哪個裝置發出瞭解鎖命令,此外BoxLock將該命令配置為讀寫模式,一旦攻擊者知道目標是誰,就能啟用解鎖命令。

高複雜性下的藍芽安全危機

除以上事件之外,其實類似漏洞早在2017年就被曝光了,當時影響著包括電腦、手機、物聯網在內的近50億終端裝置,雖然很多缺陷已被修復,但目前仍有10多億裝置受到影響,而這類通過利用一系列藍芽漏洞攻擊的媒介統稱為BlueBorne。

高複雜性下的藍芽安全危機

BlueBorne有什麼危害

因為藍芽程式在作業系統中具有很高的許可權,導致BlueBorne這種只需要無線訊號就能攻擊的方式極具感染力,它能像感冒病毒一樣通過空氣從一臺裝置傳播到另一臺裝置,瞄準網路防禦最薄弱的地方以達到完全控制整個系統的目的。

高複雜性下的藍芽安全危機

為什麼有這麼大危害

那麼導致出現問題的原因是什麼呢?也許很多人會直接懷疑藍芽本身的問題,其實不全是如此,當初藍芽協議為了使使用者能夠靈活配置,提供了龐大的可選項和標準文件供生產廠家使用,藍芽協議標準多達2822頁,而Wi-Fi協議(802.11)標準才450頁,這龐大臃腫的標準使得生產廠家無法準確的使用最合適的配置,從而導致釋出的產品可能含有致命的漏洞。

高複雜性下的藍芽安全危機

下面就列出一些由物聯網安全公司Armis Labs釋出的最具代表性的幾個藍芽相關漏洞(包含了藍芽協議本身及生產廠家)。

CVE-2017-1000251,這是Linux核心的遠端控制執行漏洞,攻擊者可以利用此漏洞向藍芽協議的L2CAP(藍芽系統中的核心協議,負責適配基帶中的上層協議)層傳送畸形資料包,對目標裝置進行惡意配置,為下一步攻擊做準備。

高複雜性下的藍芽安全危機

CVE-2017-1000250,Linux的藍芽協議棧資訊洩露漏洞,因為藍芽設計規範程度不夠,導致部分Linux和安卓系統會被攻擊者完全控制,從而執行進一步的攻擊。

高複雜性下的藍芽安全危機

CVE-2017-0785,安卓資訊洩露漏洞,類似於上述的藍芽協議棧資訊洩露漏洞,攻擊者可以利用漏洞在安卓裝置上反覆傳輸指令,達到繞過驗證和保護機制的效果。

高複雜性下的藍芽安全危機

CVE-2017-0781,安卓系統的遠端控制執行漏洞,因為安卓在訊息處理的程式碼邏輯部分存在一處邏輯錯誤,導致堆溢位被觸發後,後續的快取區大小填寫不受限制。

高複雜性下的藍芽安全危機

CVE-2017-0782,也是安卓遠端控制執行漏洞,這個是因為安卓在控制幀資料包的一段程式碼邏輯有問題,後續程式碼又沒做檢驗,導致利用漏洞可以突破最大傳輸單元的大小限制。

高複雜性下的藍芽安全危機

CVE-2017-0783,安卓資訊洩露安全漏洞和Windows資訊洩露安全漏洞,攻擊者可以自己組建網路,並設定自己為網路訪問點,然後修改動態主機配置協議伺服器構造惡意中繼。

高複雜性下的藍芽安全危機

CVE-2017-14315,蘋果遠端控制執行漏洞,因為基於藍芽低功耗的語音控制命令傳輸在訊息來源驗證方面存在邏輯漏洞,對傳入的指令大小驗證不嚴格導致溢位,從而使得遠端程式碼可以在iOS藍芽協議棧上被執行。

高複雜性下的藍芽安全危機

在物聯網爆發的時代,越來越多的智慧裝置加入,隨著藍芽功能不斷介入我們的生活,安全問題該怎麼辦呢?對此,研究人員稱藍芽協議正在不斷進行完善,未來會有增強安全性的工具或元件出現,但是呢,平時有可用的安全補丁一定要打,不常用藍芽時最好還是給關了。對此,你怎麼看?

高複雜性下的藍芽安全危機

如果你願意,讓我來幫你關注那些可能不知道又想知道卻想不到的知識,公眾號【關愛程式設計師社群】。

相關文章