自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何實(shí)現(xiàn)遠(yuǎn)程攻擊 Android 藍(lán)牙

移動(dòng)開發(fā) Android
在CanSecWest安全會(huì)議上作者論述了一種對(duì)Android4.3及其以上版本適用的藍(lán)牙協(xié)議棧(Bluedroid)的遠(yuǎn)程攻擊,這篇文章簡(jiǎn)單的描述了這個(gè)bug。

在上周的CanSecWest安全會(huì)議上我論述了一種對(duì)Android4.3及其以上版本適用的藍(lán)牙協(xié)議棧(Bluedroid)的遠(yuǎn)程攻擊。這篇文章簡(jiǎn)單的描述了這個(gè)bug。

如果讀者沒有耐心的話,可以點(diǎn)這里直接觀看攻擊視頻

這個(gè)漏洞存在于Bluedroid的BLE數(shù)據(jù)包解析代碼中。要測(cè)試這個(gè)漏洞,攻擊者需要強(qiáng)制一名用戶連接到惡意的BLE(藍(lán)牙智能)設(shè)備上。連接時(shí),該惡意設(shè)備會(huì)發(fā)布一個(gè)格式錯(cuò)誤的GATT通知數(shù)據(jù)包,從而造成協(xié)議棧的崩潰。

這聽上去好像有點(diǎn)牽強(qiáng)——攻擊者能強(qiáng)制一名用戶連接到設(shè)備上。但考慮到這樣一個(gè)事實(shí):很多Android的BLE應(yīng)用會(huì)適時(shí)連接到任何廣告設(shè)備上來(lái)確定其是否是與該應(yīng)用程序相關(guān)聯(lián)的設(shè)備。只要有應(yīng)用是出于攻擊的目的連接就可以成功。

但這個(gè)漏洞沒有可利用性:崩潰是由一個(gè)FORTIFY_SOUCE檢測(cè)錯(cuò)誤所造成的。此外,該漏洞已在Android4.4以上的版本中被修復(fù)。

問題代碼

問題代碼可以在stack/gatt/gatt_cl.c中的gett_process_notification(614行)處被找到。這段代碼用于解析通知包(BLE設(shè)備周期性的發(fā)送給BLE機(jī)主的消息)。在626行可以看到如下代碼:

  1. STREAM_TO_UINT16 (value.handle, p); 
  2. value.len = len - 2
  3. memcpy (value.value, p, value.len); 

value.len是unit16_t。p和len都可由攻擊者控制,但我們只對(duì)len感興趣。p表示攻擊者發(fā)送的數(shù)據(jù)包內(nèi)容,len則是該數(shù)據(jù)包的大小。

這段代碼輸出一個(gè)至少2字節(jié)大小的數(shù)據(jù)包。如果攻擊者發(fā)送了只有一個(gè)字節(jié)的格式錯(cuò)誤的數(shù)據(jù)包,那么value.len=len-2的計(jì)算結(jié)果將會(huì)下溢到65534。那么memcpy將會(huì)試圖從p中拷貝將近64000字節(jié)的數(shù)據(jù)。

演示

我為此做了一個(gè)演示視頻。

我用經(jīng)修改過的BlueZ(linux 藍(lán)牙協(xié)議棧)的版本搭建了一個(gè)攻擊平臺(tái),BlueZ在這里作為一個(gè)運(yùn)行GATT服務(wù)的BLE設(shè)備。當(dāng)一個(gè)BLE機(jī)主連接時(shí),它會(huì)自動(dòng)發(fā)送一個(gè)只有單字節(jié)大小的通知數(shù)據(jù)包。

在視頻中,我使用一個(gè)BLE心跳監(jiān)控應(yīng)用演示了這個(gè)漏洞。出于演示的目的,我手動(dòng)連接該應(yīng)用至惡意的BlueZ設(shè)備。當(dāng)音樂結(jié)束時(shí)協(xié)議崩潰了。

adb logcat的輸出類似于如下顯示:

  1. F/libc    (19174): FORTIFY_SOURCE: memcpy buffer overflow. Calling abort(). 
  2. F/libc    (19174): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 19956 (BTU) 

我再次注意到該攻擊是不可利用的——原因是FORTIFY_SOURCE的運(yùn)行檢測(cè)機(jī)制。該代碼在編譯時(shí)已知目標(biāo)緩沖區(qū)的長(zhǎng)度。在運(yùn)行時(shí),該代碼會(huì)檢查memcpy的長(zhǎng)度是否大于目標(biāo)緩沖區(qū),如果是則會(huì)調(diào)用abort()。

時(shí)間表

以下是bug追蹤時(shí)間表:

  • 2013-09-30:向google披露該漏洞

  • 2013-10-07:承諾解決

  • 2013-10-30:Android 4.4 r0.9 標(biāo)記該漏洞

  • 2013-10-31:Android 4.4發(fā)布版修復(fù)

google并沒有在Android 4.3上發(fā)布修復(fù)版,原因是他們希望所有用戶都升級(jí)到4.4。

更多信息

如果你想要學(xué)習(xí)更多關(guān)于BLE主動(dòng)攻擊和模糊化處理技術(shù),可以觀看我的CanSecWest演講視頻。Outsmarting Bluetooth Smart.

原文鏈接: lacklustre   翻譯:deathmonkey

譯文鏈接: http://blog.jobbole.com/63830/

責(zé)任編輯:閆佳明 來(lái)源: oschina
相關(guān)推薦

2009-09-18 12:29:55

2013-06-25 10:48:28

Android藍(lán)牙地址串反序?qū)崿F(xiàn)

2021-05-21 15:09:59

遠(yuǎn)程工作網(wǎng)絡(luò)攻擊安全漏洞

2022-06-23 16:10:14

勒索軟件遠(yuǎn)程優(yōu)先網(wǎng)絡(luò)安全

2022-08-04 08:44:31

Android系統(tǒng)攻擊鏈

2020-09-17 11:02:40

BLESA藍(lán)牙攻擊漏洞

2010-09-14 09:04:54

2021-09-13 06:33:27

遠(yuǎn)程工作ITCIO

2023-09-18 14:41:56

2020-05-20 12:52:03

漏洞攻擊藍(lán)牙

2010-09-16 08:14:00

2010-09-26 13:56:43

SQL遠(yuǎn)程查詢

2024-05-31 08:45:24

2010-09-16 11:13:02

2021-08-03 14:32:18

黑客NFC藍(lán)牙攻擊

2010-09-08 15:10:48

2021-09-13 18:09:35

cThreadHija遠(yuǎn)程進(jìn)程注入網(wǎng)絡(luò)攻擊

2023-03-08 21:30:33

2015-10-21 11:03:21

ssh登錄Linux

2021-05-20 05:30:58

網(wǎng)絡(luò)釣魚攻擊惡意文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)