WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 3848查看
  • 3回复

主题

好友

1760

积分

金牌会员

发表于 2009-6-10 13:43:36 |显示全部楼层
作者:杨哲 / Christopher Yang [ZerOne]
(欢迎转载,转载时请注明作者及出处,注:本文详细部分已发表在《黑客防线》2008年5月份,封面即可见)
写在前面的话:


当你坐在机场人头涌动的大厅里,漫不经心地翻看着八卦杂志,可曾想过离你5、6米远的桌上,会有一台笔记本正在快速下载并记录着你PDA里所有关于后天安全技术峰会的秘密资料?


当你靠在咖啡屋舒适的软椅上,正在和公司的重要合作伙伴建立私人友谊,可曾想过在隔间里,一台笔记本正在快速而又安静地记录你手机里所有客户的电话号码和短信?


……
这不是什么电影,而是就在我们的身边,就在我们的手上,每一个闪动着蓝色微光的手持设备上,另一个繁华技术背后的安全阴影---蓝牙,难道真是方便了自己也方便了大家?
1.什么是蓝牙?





蓝牙(Bluetooth)是一种全球通用的短距离无线传输技术,使用与微波相同的2.4GHz附近免付费、免申请的无线电频段。为避免此频段电子装置众多而造成的相互干扰,因而以一千六百次高难度跳频以及加密保密技术,传输速率在432Kbps到721Kbps不等。蓝牙技术非常适合耗电量低的数码设备相互分享数据,如手机、掌上电脑等。而且,蓝牙设备之间还能传送声音,如蓝牙耳机。蓝牙规范中广为应用的成熟版本为1.1,带宽约1Mbps,而也有的版本达2Mbps。所以说,蓝牙非常适合于传送小文件(10MB以下的图片、铃声、电子书、文稿等等),方便与速度兼得。目前最新版本是2.1+EDR版本。


从其他角度来说,蓝牙也是一种无线标准,就像ZeeBig和Wi-Fi一样,因为蓝牙标准同样在2.4GHz频段下工作,所以很多用户经常混淆。其原本目的是用来取代红外的,与红外技术相比,蓝牙无需对准就能传输数据(红外的传输距离在几米以内)。目前根据传输距离的远近,蓝牙可分为“Class1”、“Class2”和“Class3”标准,Class1标准传输距离可达100米左右,而最短的Class3传输距离只有1米左右。我们常用的键鼠产品一般都采用传输距离在10米左右的Class2标准。
虽然蓝牙标准的最高传输速率为1Mbps,相对2.4GHz非联网方案来说只是它的一半,不过由于蓝牙设备都有统一的标准,所以任何蓝牙设备在一定范围内都可以互相配对、连接,可以更加广泛的使用,优势非常明显。
虽然蓝牙标准的最高传输速率为1Mbps,相对2.4GHz非联网方案来说只是它的一半,不过由于蓝牙设备都有统一的标准,所以任何蓝牙设备在一定范围内都可以互相配对、连接,可以更加广泛的使用,优势非常明显。
2.蓝牙通信的主从关系及配对


蓝牙技术规定每一对设备之间进行蓝牙通讯时,必须一个为主角色,另一为从角色,才能进行通信,通信时,必须由主端进行查找,发起配对,建链成功后,双方即可收发数据。理论上,一个蓝牙主端设备,可同时与7个蓝牙从端设备进行通讯。一个具备蓝牙通讯功能的设备,可以在两个角色间切换,平时工作在从模式,等待其它主设备来连接,需要时,转换为主模式,向其它设备发起呼叫。一个蓝牙设备以主模式发起呼叫时,需要知道对方的蓝牙地址,配对密码等信息,配对完成后,可直接发起呼叫。
3 .蓝牙配对及认证
蓝牙设备通过初始配对过程建立安全连接。在此期间,一个或两个设备需要输入PIN码,内部算法利用该代码生成安全密钥,安全密钥随后用于验证将来任何时候的设备连接。
4 。关于PIN码


个人识别码 (PIN) 是一个 4 位或更多位的字母数字代码,该代码将临时与产品相关联,以便进行一次安全配对。产品所有者只能出于配对目的与信任的个人和信任的产品共享 PIN 码。不输入此 PIN 码,则不能进行配对。无法配对,则无法建立正常蓝牙通讯,也就无法使用蓝牙耳机、蓝牙GPS等。
5.蓝牙攻击分类
同无线攻击一样,蓝牙攻击也按照原理分为多种方式BlueBug、BlueDump attack、BlueSnarf等,涵盖了蓝牙扫描、模块漏洞利用、暴力破解、交互数据嗅探等多个方面,我们就分别来看一看其具体实现。
5.1 BuleTooth Scan蓝牙设备扫描
5.1 BuleTooth Scan蓝牙设备扫描
随着带有蓝牙功能的智能手机及蓝牙适配器价格的下降,促使了更多的人开始接触蓝牙技术,尤其是在蓝牙耳机等附加设备的推动下,使得开启了蓝牙功能的智能手机、PDA等比比皆是。去年我去赛格电脑城给PDA找配件,随手打开笔记本,使用笔记本自带的蓝牙模块就可以轻易地发现周围如此多的蓝牙设备,如下图,其中大部分是智能手机。至于机场、大型宾馆、会馆等人口稠密区域,开启蓝牙的设备更是数不胜数。



除了通过查看其中对应设备属性来识别目标蓝牙设备类型外,还可以通过分析通信中的蓝牙数据包来获知目标设备类型,如下为蓝牙设备扫描中的交互数据报文(为方便大家查看,我已将主要部分提取)。
---------------------------------------
Frame 73: (Controller) Len=17
HCI:
HCI Event:
Class of Device:
Service Class:
Bit_22: Telephony (Cordless telephony, Modem, Headset serivce,...)
Bit_20: Object Transfer (v-Inbox, v-Folder,...)
Bit_19: Capture (Scanner, Microphone,...)
Bit_17: Networking (LAN, Ad hoc,...)
Major Device Class: Phone (cellular, cordless, payphone, modem,...)
Minor Device Class: Cellular
Format type: 0x0
---------------------------------------
可以看到,在Class of Device栏中Major Device Class即主要设备类型已经识别出为Phone即电话,而在下栏Minor Device Class即次要设备类型处显示为Cellular,与前面内容连在一起对应的设备而16进制编码为:5a0204对应是Cell Phone,也就是我们所说的移动电话即手机设备。
蓝牙通讯Sniff嗅探攻击
由于蓝牙通讯和传统的Wireless无线环境一样,基本上都是在空中进行广播数据。因为从理论上而言,任何人都可以截获周围几米内正在传输的蓝牙通讯数据,也就是说,只要使用特定的设备,怀有恶意的攻击者是可以进行拦截、伪造、破坏正常的蓝牙通讯,这种攻击方式也就是我们常常提到的Sniff嗅探攻击,这里由于对象的不同,也就变成了BlueTooth Sniff—蓝牙嗅探攻击。
为了更具有广泛意义,下面我以带蓝牙功能的手机与笔记本之间建立蓝牙对等网这种稍微复杂环境为例,而不再以蓝牙耳机与手机进行蓝牙配对等其它简单方式讲述嗅探攻击,因为在前者环境下我们可以设定位数较长的PIN码。那么,我们就来看看在蓝牙局域网的状态下,如何通过嗅探来截获并分析出蓝牙设备的验证PIN码。关于嗅探的原理这里限于篇幅不再深入讲述,但基本方式和无线嗅探一样,在指定蓝牙适配器后,就可以进行蓝牙数据的嗅探。加上很多蓝牙设备会定时进行PIN码验证,所以攻击者只需要稍微耐心地等待即可。
下图为截获到的手机与笔记本进行蓝牙通信的数据报文。


由上图可以看到,在捕获的蓝牙设备通讯报文中,在顺序为80的数据报文出现了关键性的PIN_Code_Request_Reply蓝牙设备PIN应答报文,如下
80 Command 0x040d PIN_Code_Request_Reply 23 26 00:00:07.4460 2008-2-12 23:53:00.5584
打开此数据报文架构分析,如下所示
----------------------------------
Frame 80: (Host) Len=26
Bluetooth USB:
Type: Command Packet
Total Length: 23
HCI:
HCI Command:
Opcode: 0x040d
Group: Link Control
Command: HCI_PIN_Code_Request_Reply
Total Length: 23
Bluetooth Device Address: 0x00-1a-89-26-cb-c8
LAP: 0x26-cb-c8
UAP: 0x89
NAP: 0x00-1a
PIN Code Length: 7
PIN Code: 0x00 00 00 00 00 00 00 1a 89 37 36 35 34 33 32 31
---------------------------------
可以看到其中Bluetooth Device Address栏为00-1a-89-26-cb-c8,此为NOKIA 5300型手机内置蓝牙设备地址(BD_ADDR),在其下栏PIN Code Length处,可以清楚地看到截获到该PIN码长度为7位,而在最后PIN Code栏处,其末尾为7位16进制代码,从右至左读出为:31323334353637,转换为ASCII码即可得出数值为1234567,同时可以看到,这个数值和上图右侧Character窗口分析数值完全一致,该数值就是蓝牙设备7位数的连接PIN码!!
蓝牙PIN码破解攻击
由于在默认情况下,市面上销售的蓝牙通讯器材普遍在出厂前就已经被设定了默认连接PIN码,所以,基本上连接所有的蓝牙设备都需要先输入正确的连接PIN码,并在通过验证后才可以进行蓝牙通讯。我们先来看看PIN的验制机制及过程。
那么,为了达到非法连接蓝牙设备,达到进一步攻击的目的,破解蓝牙设备连接PIN码,也成为攻击者们的首要目标之一。一般来说,通过BlueTooth嗅探抓包,即可捕获蓝牙设备之间的通讯数据报文,比如手机与蓝牙耳机之间、手机与手机之间、笔记本与手机之间的通讯数据等。而双方之间的所有协商交互过程,也会一目了然。也就是说,在公共场所进行蓝牙设备配对是很容易被监听的。

为方便大家理解,我这里借用一下来自以色列特拉维夫大学的蓝牙PIN码破解研究论文的部分原理内容,下为作为本地蓝牙PIN码暴力破解原理图:


下表中列出了在配对和认证过程中,两个蓝牙设备A和B之间交换的关键通讯消息。


既然知道了破解原理,那么我们在截获到关键的PIN码交互数据报文后,便可过滤出实际需要的内容,接下来,就可以将过滤出的完整PIN码加密交互报文,导入暴力破解软件进行破解,如下图中显示破解出4位PIN码,只花费0.2秒。



经过反复代码改进的PIN码破解工具,其破解速率已经从以前的1000key/s提升到了65,000key/s,这个速率会随着设备硬件性能的提升而有所变化,根据来自特拉维夫大学的研究报告表明,在奔腾4 3.0GMHz的机器上测试结果显示,破解4位的PIN仅仅需要0.063秒。由于大部分手机、PDA及蓝牙耳机等连接PIN码被设计成固定的位数,一般都是4位数。所以,参考上面的破解速率,即便是一般的家用计算机破解开4位数的PIN码也就是花费不到0.1秒的时间,这确实是件很能打击一些人自信的事情。



再加上很多用户都没有或者根本不知道修改默认PIN码,导致一个令人哭笑不得的现象出现,就是80%以上的智能手机、PDA及蓝牙设备的连接PIN码都是出厂时默认设置的“0000”、“1111”或者“1234”。这似乎已经不能用粗心来解释了吧?尤其是一些厂商不允许用户修改PIN码,更增加了被猜到的可能(就这么几种组合,都不用暴力破了,人肉破解上吧)
而对于一些其它允许设置高位数连接PIN码的蓝牙设备,比如支持6位、8位甚至更高的商用蓝备、军警用蓝牙战术/保障器材等,也不能因此掉以轻心,原因是目前PIN码大部分还只是支持纯数字的PIN码,还很少支持“大小写字母+数字”、“特殊符号+数字”等组合PIN码,所以,从基本的概率计算就可以知道:

6位纯数字PIN码可能组合数=10*10*10*10*10*10=1000000
7位纯数字PIN码可能组合数=10*10*10*10*10*10*10=10000000
…….. 依此类推

那么,再参考上面提及的破解速率,可以看到,破解7位到9位的PIN码花费的时间将会是2分钟~277分钟,这确实不是个令攻击者乐观的数值,但也不是个让我们感到欣慰的数值,毕竟,4个多小时就能破解开的加密强度还是让人有些汗颜。所以对于有着高端安全要求的环境,在启用Buletooth设备时应采用10位以上的PIN码,那么破解出这样长度的PIN码就会至少需要2天,甚至半年以上。这样的话,是不是就没有更好的办法对PIN码进行攻击了呢?其实作为目标明确的攻击者而言,还有一个选择就是前面提到的----BlueTooth Sniff。

主题

好友

46

积分

禁止访问

发表于 2010-1-26 15:26:40 |显示全部楼层
梦遗落在草地上
月经常挂在树梢上

















折扣网  打折网   精品男装  时尚女装
回复

使用道具 举报

主题

好友

134

积分

注册会员

发表于 2010-2-6 09:59:15 |显示全部楼层
本帖最后由 哥自横刀向天笑 于 2010-5-9 15:28 编辑

支持下楼主!

谢谢分享。。










广告内容已经被和谐
回复

使用道具 举报

主题

好友

3614

积分

论坛元老

发表于 2010-5-9 15:28:37 |显示全部楼层
楼上的这样搞有意思么
回复

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-17 09:19 , Processed in 0.060324 second(s), 16 queries .

返回顶部