藍牙(bluetooth)攻擊與防護(二)

            上一節內容提到的是藍牙協議棧的一些內容

       現階段的嗅探和攻擊嘗試主要基於Backtrack 3的一些現有集成工具,BackTrack是基於Slackware和SLAX的自啓動運行光盤,它包含了一套安全及計算機取證工具。它其實是依靠融合Auditor Security Linux和WHAX(先前的Whoppix)而創建成的。BackTrack 4版本之後使用了ubuntu 8.10 的系統,而且只能裝Debian的軟件包,最新版本是BackTrack 5,國內比較全面的BackTrack網站是Backtrack中文網。比較可笑的是BackTrack在國內爲人熟知的原因是淘寶上或者其他渠道一直在宣傳的所謂永久免費上網卡捆綁銷售的軟件就是BackTrack,其原理除了無線信號通過功放獲得更大的活動半徑之外就是通過BackTrack嗅探SSID破解低密度的WEP無線加密方式獲取無線基站(一般來說就是家庭用戶的無線路由器)的密碼來達到蹭網的目的,如果說用戶密碼比較規律或者簡單的話從時間上來看還是可以接受的,如果不規律且長的話這個耗時就比較難以忍受了,更何況對於現在主流的WPA加密方式通過破解的WEP的方式幾乎是天方夜譚,用最有效的字典破解方式也幾乎是不可能(因爲字典的量難以掌握)。好了,在這裏先告誡一下巴望着免費午餐的人們,況且BackTrack出現的目的並不是用來蹭網,從目的性上來講它的目的是打擊蹭網,這裏暫時先不討論BackTrack了,有興趣的可以自己到中文網站上獲取相關信息,或者直接上國外的網站。

      在具體操作之前先看看藍牙的鏈接過程:

1)建立ACL即基帶層的鏈接;

      AG接收到一個呼叫時,首先建立與HS之間的ACL鏈接,或者把原來處於休眠狀態的下的HS喚醒。這是通過page進程完成的,在page進程建立ACL時,定義AGMaster角色,於是AG首先發起查詢,通過查詢AG獲得HS的藍牙地址。AG在應用層的驅動下向查詢到的HS發起一個page進程,當接收到HS返回的應答信號,AGHS之間的ACL鏈接則已經成功建立。一旦ACL鏈接建立,它可以被用來傳送振鈴信號。振鈴信號的發送是通過AT命令RING來完成的。振鈴信號也可以在SCO鏈路上發送。

2)建立L2CAP層的鏈接;

      ACL鏈接好後,接着建立L2CAP鏈路。AG首先在信令信道上發送一個鏈接請求信令L2CAP_req,要求建立信道標號爲0x0040L2CAP0x00010x003F是協議保留不可動態分配的,0x00400xFFFF可以自由分配),此信道的PSM(協議服務服用)標誌爲0001(用於SDP協議),當對方返回鏈接響應信號,表明0x0040信道已經建好。然後對此信道進行配置,配置完信道後,就可以利用此CID0x0040L2CAP信道進行SDP查詢。

3)進行SDP的查詢過程;

利用CID0x0040L2CAP信道進行SDP查詢過程,首先是AG在此L2CAP信道上發送一個SDP查詢包,SDP查詢包將查詢SDP服務器端HS是否具有所需要的服務。若查詢成功,在ACL鏈路上在AG上再建立一條標號爲0x0041L2CAP鏈路,此信道的PSM0003(用於RFCOMM協議),用來傳輸RFCOMM數據流的。同時斷開用作SDP查詢的標號爲0x0040L2CAP鏈路。

4)建立RFCOMM的鏈路;

CID0x0041L2CAP信道建好之後,接着就是RFCOMM的鏈接建立過程,首先建立控制信道DLCI0DLCIData Link Connection Identifier,用來識別客戶機和服務器間應用的正在進行的連接),建鏈發起方AG在信道上發送一個SABM幀,即要求建立RFCOMM層上的Channel 0,如果響應方HS希望建立鏈接,返回一個UA幀,表明已經建立好了Channel 0這條RFCOMM信道。此信道爲控制信道,用來傳送攜帶控制信息和命令的UIM幀。如果響應方HS不希望建立鏈接,返回一個DM幀。

其次建立數據信道,先是對數據傳送信道的參數進行協商,協商命令PN參數包括對將要建立的信道Channel1的優先級,最大幀長等,當雙方協商好建立傳輸數據的信道Channel 1

5)當RFCOMM建立完成,將通過RFCOMM信道傳輸Headset的控制層的部分AT命令;

即在RFCOMM數據傳送信道Channel 1上利用UIH幀傳送AT+CKPD等命令,當接收到對方的響應OK後,就可以開始建立SCO鏈接。

6)建立SCO的鏈接;

初始化時,HCI發一個WRITE_VOICE_SETTING命令,對音頻狀態進行一些設置,當接收到AG的建立SCO鏈接的請求時,若HS允許,發送一個接收的HCI命令,在命令完成之後,傳輸音頻信號的SCO鏈路就建立好了,此時就可以進行語音通信。

7)應用層執行藍牙HSAG之間的音頻傳輸。

 

      上面的描述比較繁瑣,但實際上除去跳頻需要和藍牙信令的內容,每個層次之間的鏈接的建立還是模仿TCP三次握手的通訊方式,既然如此,考慮從TCP常規的攻擊方式演進到藍牙形式上是否可行呢,下一節中我來展示一下一些普通的攻擊。

發佈了25 篇原創文章 · 獲贊 49 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章