IOT之蓝牙安全 1) 从入门到放弃

Posted 移动安全王铁头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOT之蓝牙安全 1) 从入门到放弃相关的知识,希望对你有一定的参考价值。

1.基本概念

蓝牙是个啥:

蓝牙是一个无线通信协议,让传输数据从有线到无线,让通信更加便捷。

其他无线协议:Wifi ZigBee。

大家好,我是王铁头 一个乙方安全公司搬砖的菜鸡
持续更新移动安全,iot安全,编译原理相关原创视频文章
视频演示:https://space.bilibili.com/430241559

蓝牙名字由来

很久很久以前,一个维京海盗狠人,丹麦的国王(Harald Blåtand Gormsen),可能像图上一样又壮又狠。

这个海贼王大佬统一了散乱的北欧,海贼王大佬的绰号是 蓝牙。

有这个绰号是因为, 这个狠人有一颗坏牙,很多人说是吃蓝莓吃成蓝色的了,大家就喊他蓝牙。

很多年后,巨头爱立信搞了一个无线协议,就用这个海贼王的绰号做了协议的名字。也可以看出爱立信当时野心不小,蛋糕就那么大,他想都吃了。

放到中国,可能就叫 秦牙,不,叫嬴政了。


官网和官方文档

https://www.bluetooth.com

https://www.bluetooth.com/specifications/specs/core-specification/

打开官方文档是酱紫的

英语只有3.5级的我,对英语有密集恐惧症,害 难受

相关版本

蓝牙版本 发布时间
蓝牙5.3 2021.07.13
蓝牙5.2 2019.12.31
蓝牙5.1 2019.01.21
蓝牙5.0 2016.12.16
蓝牙4.2 2014.12.04
蓝牙4.1 2013.12.06
蓝牙4.0+BLE 2010.06.30
蓝牙3.0+HS 2009.04.21
蓝牙2.1+EDR 2007.07.26
蓝牙2.0+EDR 2004.11.09
蓝牙1.2 2003.11.05
蓝牙1.1 2001.02.22

今年7月13号 蓝牙已经发布了 5.3版本。特性我还没看,毕竟4.0我都没有搞清楚。

≥ 4.0 开始有了低功耗蓝牙 (Bluetooth Low Energy)

< 4.0 的被称为经典蓝牙 (Classic Bluetooth)

学不动了 太难了

蓝牙分类

Bluetooth :经典蓝牙 (相关设备:蓝牙耳机)

Bluetooth Smart :单模蓝牙 也就是 低功耗蓝牙 (相关设备:蓝牙锁)

Bluetooth Smart Ready:双模蓝牙 同时支持 经典蓝牙和低功耗蓝牙 (相关设备:手机)

低功耗蓝牙 经典蓝牙区别

(表格来自某基百科,我简单改了改)

简单总结。

低功耗蓝牙:耗电量小,传输距离远, 速度快,适合数据量小 的传输。 (蓝牙锁,蓝牙灯泡)

经典蓝牙: 耗电量大,传输距离近,速度一般,适合数据量大的传输。 (蓝牙耳机 蓝牙音箱)

基本用途

主要分为经典蓝牙 和 低功耗蓝牙

各自用途如下,左边是经典蓝牙,右边是低功耗蓝牙。

2.蓝牙安全威胁

海量cve:

BlueBorne,Bleedingbit,Fixed Coordinate Invalid Curve Attack,SweynTooth,KNOB,KNOB,

Pairing Method Confusion,BlueFrag,Spectra,BLURtooth,BLESA,BleedingTooth,BlueMirror,

InjectaBLE,BrakTooth

完整链接:

https://github.com/engn33r/awesome-bluetooth-security/

PIN码爆破:

pin码 (Personal Identification Number) 就是蓝牙配对的时候,弹窗让你输入的那个身份验证码。

蓝牙在认证配对过程中,会生成一个 Link key (链路密钥)。

Link key 用于蓝牙之间的身份认证 鉴权,也是 Encryption Key (加密密钥)的主要参数。

生成 Link key 的其他参数很容易被直接获取,Pin码是最后一道防护。

抓包蓝牙设备配对的数据包,然后相关软件爆破pin码后,蓝牙的整个加密认证体系就凉凉了。

身份伪造:

每一个蓝牙都有一个唯一的设备地址 ,蓝牙mac地址。

攻击者可以修改自身的设备地址,来伪造身份。

或者扫描附近的蓝牙设备,把自己信息修改的和另一个设备一模一样,完成身份克隆。

这里一般和别的攻击配合使用。比如 中继攻击鉴权Dos攻击

中继攻击(Relay Attack):

蓝牙传输范围是有限的。假设这里最远是100米。 你的车在500米开外。

现在很多车都安装了蓝牙数字钥匙,一般你的手机靠近车一定距离,车端蓝牙连接到你手机端蓝牙,车就会自动解锁。(很多车都有这个功能)

这时候我搞几个蓝牙信号增幅的设备,这几个设备啥也不干,就当搬运工,可以理解成基站类似的东西,一个设备放你身边,一个被法外狂徒带着,在你车旁边,你的车感受到了被搬运工设备传过来的蓝牙电波,还以为你已经靠近了车。

这时候法外狂徒直接拉车门就能把车开走了。

当前大多数设备都没有对这个问题做出防范。

油管上的蓝牙中继视频。是一个美女黑阔大佬录的,用蓝牙中继解锁了一个蓝牙智能锁。

https://www.youtube.com/watch?v=3e4DBk5BKLg&t=239s

美女又飒技术又好 推介去看看

拒绝服务攻击 (Denial Of Service Attack )

l2ping Dos

用l2ping之类的工具对设备进行 Dos 连接,类似于ping 攻击,设备如果没有做安全防护,直接被打瘫,打到设备没电也是正常的。

鉴权Dos攻击

每次鉴权失败是有间隔时间的,就解锁手机,连续输错几次,发现要等得时间越来越长,蓝牙也是这样的。

修改设备Mac地址,伪装成发起方尝试连接目标设备,故意失败多次,间隔时间不断增大,达到一个最大值。

这时候,你伪装的那个设备,正主过来了,都不能连接了。

obex 文件Dos

利用 OBEX 协议, 大批量给目标设备发送文件,目标设备被大量请求打到瘫痪,啥事都不能干了。正常设备过来连也连不了了。

中间人攻击

中间人攻击比较骚,同时欺骗两个设备,让设备A B 以为他们在正常通讯。

实际上,中间人设备在这里当搬运工,在这里偷窥双方传递了啥消息。

当然,中间人设备也可以不止是搬运工,他也可以修改双方传输的数据。

重放攻击:

跟很多协议的重放类似,没啥说的。

fuzz攻击

逆向分析设备端的逻辑,大概看看蓝牙发了啥指令,编写自动化脚本,构造随机,畸形指令进行大批量测试,看设备还能正常工作。

位置暴露:

蓝牙设备如果没有设置随机地址,那么在处于可发现的状态时,每次开启都是固定地址。

如果设备是随身的,或者是车载蓝牙,那么这个设备被发现了,就说明你在附近了。

如果搞得高级一点,在你可能经过的地方布置一些蓝牙探测设备,那么就能完整的跟踪行程,方便后续搞一些,法外狂徒喜欢干的事。

3.蓝牙安全国家标准

这里关注一下 2020年4月28 发布的国标蓝牙安全指南

GB/T 38648-2020


持续更新移动安全,iot安全,编译原理相关原创视频文章

相关资料关注公众号回复 关键字 蓝牙 进行下载

以上是关于IOT之蓝牙安全 1) 从入门到放弃的主要内容,如果未能解决你的问题,请参考以下文章

网络安全从入门到放弃之SQL注入基本原理

Git从入门到放弃

Git从入门到放弃

python全栈开发从入门到放弃之函数基础

python从入门到放弃之图像处理

python全栈开发从入门到放弃之列表的内置方法