前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于IoT安全我有话说

关于IoT安全我有话说

作者头像
FB客服
发布2019-08-30 10:08:32
1K0
发布2019-08-30 10:08:32
举报
文章被收录于专栏:FreeBufFreeBuf

随着5G的到来,万物互联渐渐走入了千家万户,但是接着而来的就是安全问题了,目前市面上的路由器,摄像头,智能门锁等都普遍存在flash问题,也就是说拆掉flash放到xtw100上可以直接dump出未加密的原始数据。

一、iot大致的破解流程

1.1 寻找uart接口

当然一些板子做了一些简单的防护,要不少焊接一个零部件,要不没有焊接引脚,但是总归是从soc上把uart的线引出了。找到引脚后,开始用那个万用表有模有样的猜测tx,rx,gd引脚

1.2 测试波特率

找到uart引脚后,开始遍历波特率,最终的结果是不出现乱码,比如这样

1.3 文件系统密码

一些厂商也可能稍微做了一些安全防护,设置了一个复杂的密码,如果你不知道密码,可能控制台就不好使了,所以就需要用到binwalk这个软件,解压缩文件系统,替换一下密码,再打包一下

1.4替换文件系统

问题来了?

问题1:我怎么给打包好的文件系统替换进去了?

如果大家按照上面的步骤做下来,肯定会知道,默认linux 内核会打印系统分区表,

代码语言:javascript
复制
0x00000000-0x00040000 "bootloader"
0x00040000-0x00060000 "params"
0x00060000-0x00580000 "kernel"
0x00580000-0x10000000 "root"

问题2:知道位置了,我们怎么替换进去?

这里就有一个硬件(土豪金xtw100)

但是需要你的手艺好,能取下flash,再给flash放到xtw100上,进行读写。

1.5 开始挖掘漏洞

到了这一步,就开始传送gdbserver到iot设备上进行调试,挖掘漏洞,这里我就不扩展了。

二、flash的对抗

通过上面的步骤我们可以总结几点,

第一点:必须要获得分区表(这个是通过uart的打印信息获得到) 第二点:通过binwalk软件来提取文件系统 那么对于我们的对抗,就必须在这二点上做文章

2.1关于UART打印问题

设计板子的时候其实有母板,当然肯定有,但是成品后我不建议从soc上引出uart的线,如果你的意见是有问题我需要调试怎么办?那么就折中一下,修改一下bootloader,等用用户插入U盘或者sd卡,我们读取一下里面的内容,对他进行校验一下,如果验证通过,我们才开始打印。

2.2通过软件提取文件系统问题

我们首先来看看binwalk是怎么匹配文件系统的,我们打开binwalk-master/src/binwalk/magic/filesystems。

看到没有jffs2文件的匹配格式,这里我们就来最简单的,给magic修改掉,我们重新生成一下mkfs.jffs2软件。

这里我修改一下mkfs.jffs2里面jffs2文件的magic,具体位置:mtd-utils-2.1.1/include/linux/

我们给这里magic修改一下,再编译一下,再用mkfs.jffs2生成一下文件系统,再用binwalk这类软件扫描一下修改后的文件系统。

现在已经找不到了。

2.3 最后大混淆

虽然我们修改了文件系统,但是如果你们dump过整个flash,就应该知道。

看看

代码语言:javascript
复制
0x00000000-0x00040000 "bootloader"
0x00040000-0x00060000 "params"
0x00060000-0x00580000 "kernel"
0x00580000-0x10000000 "root"

虽然分区表很紧凑,但是你填写的内容没有这么大,所以中间默认以FF填充,那么我们聪明的破解者利用这些FF就大致可以猜测出分区表,所以为了更加安全,我们把一些没有用到的扇区填充杂乱无章的数据,这样让人分不清楚分区表,这样哪怕你dump出flash,也无法修改里面的内容。

2.4我移植后的文件系统

三、总结

3.1各个入口阻断

攻击者要攻击设备,第一步肯定是获得攻击源,那么我们就需要

flash填充未使用页的垃圾数据和自定义文件系统

升级包加密(防止通过抓包获得原始升级包)

3.2 uart打印

这里我们最好不引出uart的引脚,哪怕非要引出也需要通过外部授权才能打印调试信息

3.3 分区表隐藏

这里需要隐藏uboot和kernel中的分区表,最好加密存储

虽然每个程序的水平参差不齐,但是我们可以守护iot的第一道大门,不是虽然一个人就可以自由进出的,希望抛出这块砖希望能引出各大厂商这块玉,希望各大厂商保护好第一道门。

最后祝愿IoT越来越红火。

一年没有见,刀郎想你们了。

*本文原创作者:刀郎,本文属于FreeBuf原创奖励计划,未经许可禁止转载

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、iot大致的破解流程
    • 1.1 寻找uart接口
      • 1.2 测试波特率
        • 1.3 文件系统密码
          • 1.4替换文件系统
            • 1.5 开始挖掘漏洞
            • 二、flash的对抗
              • 2.1关于UART打印问题
                • 2.2通过软件提取文件系统问题
                  • 2.3 最后大混淆
                    • 2.4我移植后的文件系统
                    • 三、总结
                      • 3.1各个入口阻断
                        • 3.2 uart打印
                          • 3.3 分区表隐藏
                          相关产品与服务
                          物联网
                          腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档