物联网安全硬件修改系列-硬改
前言
硬件层面的修改在现实生活中是相当常见的事情,所谓的硬改、魔改、硬破等等说法,指的就是在硬件层面对设备进行diy功能改造。例如针对传统路由器的硬件架构,替换大容量的内存和闪存芯片,使之能够刷openwrt系统;对某些设备进行配置层的升级,如iPhone,小米等手机内存扩容,使之具有更大容量的存储空间和运行内存; 以及对设备的破解,例如ps,xbox等游戏主机系列的硬破、软破,还有对各种加密录音笔,摄像头,加密U盘和硬盘的破解。
研究硬件修改对硬件diy改造,以及厂商在硬件层的安全防护具有非常重要意义。硬件层修改分为硬改和软改两个部分,硬改是对硬件中芯片和电路的改造、替换等,软改是针对芯片固件的修改、重打包等。本节将用具体的几个实例展示如何对设备进行硬改。
硬改路由器刷openwrt
修改方案
目前市面上主流的路由器,平时家用功能或许够用,但如果需要一些高级功能,比如屏蔽广告,挂vpn等等又难以实现,而采用openwrt系统可以充分满足定制化和diy的需求,openwrt是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,但如果专门购买openwrt系统的路由器,价格却又不是十分亲民,如果能把传统路由器通过硬件修改,刷入openwrt系统,就是个低成本的解决方案了,本次用来硬改的路由器具体参数如下:品牌:TP-Link, 型号:WR842N,版本:v4.3,采用高通QCA9533的主控,16M的闪存、2M的flash芯片,虽然是老机器,但除了不能外接usb,基本满足需求,当然价格也便宜。
不得不说TP-Link最近出的机器,硬件缩水越来越严重,新的机器,闪存都集成到了CPU里面,基本没有硬改的空间了。
更换内存芯片
openwrt系统最低硬件配置需要32M内存+8M存储芯片,因此需要更换机器上对应的两块芯片,下图红框部分。
首先更换内存芯片,换上64M内存芯片,新手的话,建议通过风枪来拆芯片,先用胶带保护一下芯片周围的元件,防止吹飞掉,加点助焊膏,温度稍微高一点。
芯片拆下后,先清洁一下焊盘,用吸锡线去掉焊盘上残余的锡,使焊盘平整,便于对齐芯片引脚。
清洁完成后,换上64M芯片,注意芯片上的小圆点就是第一脚,需要跟焊盘上的右下角的小圆点对齐,方向不对,芯片就白焊了。
对齐芯片后,先上一点锡,把芯片固定住,然后涂上助焊剂,为了防止引脚锡粘连,建议助焊膏多放一点,然后采用堆锡法,烙铁头采用弯头,便于拖动焊锡,温度稍高一点,一般无铅锡丝温度在380左右,否则焊锡拖不动,注意锡要适量,否则处理起来比较麻烦,用烙铁头的弯曲处沿着引脚朝一个方向拖动,可能会有剩余的锡处理不掉,可以用吸锡线处理。焊好一侧后,继续用同样的方式焊另一侧,全部焊接完成之后,让芯片自然冷却后,用洗板水或无水酒精清洗干净。
先通电测试下路由器工作是否正常,如果亮灯不正常,就需要补焊一次。
确认路由器工作正常,接下来拆下flash芯片,同样用风枪,拆下后,处理一下焊盘。
刷编程器固件
在恩山上下载了LEDE17.1的编程器固件,支持WR842N型号路由器,明月固件也可以,然后把bin文件通过编程器刷进芯片中。
芯片放置在烧录座中,用烧录座连接编程器。
编程器刷入固件。
更换闪存芯片
把烧录完成后的芯片取出,然后焊接上,同样注意引脚的方向,芯片上的小圆点为第一脚,对准焊盘上的第一脚,加点助焊膏。
存储芯片引脚间距较大,用烙铁头粘上一点锡,采用点焊法即可焊上。
硬改完成
全部焊接完成,把板子清洁一下,重新通电测试,路由器正常,搜索到wifi信号后连接,后台地址:http://192.168.1.1/ 默认用户名和密码;root、root,登录进去,一切正常,说明硬改成功。
openwrt刷好后,需要先修改密码,然后开启一下ssh,就可以用ssh登录管理了,网上很多编译好的安装包,根据自己的需要安装。
体外分离硬破摄像头
修改方案
在对某品牌智能摄像头进行串口调试时,发现厂商对串口进行了加密,需要输入root密码才能登陆系统。
尝试读取固件中的shadow文件,随即拆掉芯片进行固件读取,飞线读写的成功率不高。
成功提取固件,找到密码,却暴力破解不了,可行的方案是修改密码然后重新打包固件在刷进芯片中了,改完密码后,重打包在刷进去。
然而事情并不简单。
固件修改重刷之后,通电测试发现摄像头并不能启动,排查问题根源在于固件重打包过程出了问题,内部可能也有校验,反复多次试验后,出现了意料之中的事情,因为摄像头较为廉价,PCB做工用料并不是十分优秀,反复拆焊导致焊盘损坏,芯片焊上去出现短路、断路等等问题,绝缘层脱落,采用飞线也无法解决,机器彻底报废,最终出现了如下尸横遍野的结果。
拆存储芯片
固件修改重刷是难以一次修改成功的,报废过多,造成太多的浪费,最终想到采用全部焊点飞线到烧录座上,在把芯片放在烧录座上,只要保证焊接不出错,飞线距离够短,就能保证焊盘不受损坏,固件也可以反复烧录测试。
首先拆掉芯片,周围同样采用胶带保护一下。
飞线芯片烧录座
飞线采用很细的漆包铜线,线长控制在10厘米以内,刮去漆包线头的绝缘层,然后依次飞线焊接,注意焊盘和烧录座引脚的顺序。
飞线完成后,用热熔胶固定好焊盘和飞线,防止焊点脱落。
通电测试,发现机器一切正常,说明改造成功。
烧录固件
继续修改固件测试,修改的细节在之后固件修改章节会详细说明,
因为芯片放在烧录座上,可以轻易的取下重刷,极大的提高了效率,最终成功修改好密码,固件刷录,机器开启正常。
硬破成功
用修改之后的密码成功登陆进行串口调试,继续更深层次的安全检测,此处调试接口RX、TX焊点已引出,方便接线。
魔改小米5手机加6G内存
修改方案
小米手机一向以性价比著称,但其中的小米5作为2016年的旗舰机,却受到颇多的诟病,核心在于采用的是高通骁龙820的CPU,高配版的内存RAM都只有3G,导致手机运行中不是很流畅,鉴于内存过低,因此准备魔改成6G内存,本次更换的芯片为三星K3RG6G60MM-MGCJ-LPDDR4-6G内存芯片。
拆机
说干就干,小米5的话,还是很好拆的一种机型,后盖可以直接打开,然后把螺丝、排线、电池一一取下,主板拿出来即可,注意电池因为背面贴有双面胶,一定不要用蛮力,否则可能损坏底部的排线和屏幕。
主板取下后,没有被屏蔽罩保护的就是内存芯片,揭开散热垫,小米5自带的内存芯片型号为:海力士skhynix-H9HKNNNDGUMU-BRNMH-3Gbit-LPD4。
拆内存芯片
拆内存芯片要注意保护好周围元器件,贴上高温铝箔纸,涂上焊膏,风枪先给板子预热几秒,然后在距离芯片1厘米左右位置,沿着芯片四周按照同一个方向转动,使芯片均匀受热,防止爆板和爆片。
)
取下芯片后,清洁焊盘。
植锡球
BGA焊接,植锡球是关键,植锡之前,必须把植锡网清洁干净,选用合适的锡球和BGA专用焊膏,先把芯片涂上一层焊膏,涂抹要均匀,注意不要过多,以植锡网覆盖上去后,焊膏不能溢出植锡网孔为准,否则会粘连锡球,选用0.25的无铅低温锡球,把芯片在植锡台上放好,然后盖上植锡网,要对准芯片的焊点,然后盖上固定盖。倒进锡球,稍微晃动一下,使锡球均匀的分布在网孔里,然后倒掉多余锡球,取下植锡网,在用热风枪加热植好锡球的芯片,使锡球固定,注意要缓慢移动风枪,风嘴距离芯片要稍远一点,防止锡球吹飞。
BGA焊接
先给焊盘均匀的上好一层焊膏,植好锡球的芯片,对准主焊盘,然后放置到BGA返修台上固定好,先100度预热烘干,在执行BGA焊接曲线。
焊接完成后,使板子自然冷却,然后清洗干净。
魔改完成
装机,然后开机测试,一切正常,说明魔改成功。
《物联网安全百科》
伏宸安全实验室发起的开源图书《物联网安全百科》已经初步上线了,书中记录了实验室最新的一些研究成果和方向,以及物联网安全研究从基础到进阶的一些经验和知识,希望对有志于物联网安全研究者能起到一点的帮助,开源图书项目也希望能够得到大家的支持,一起参与去丰富内容,使之更加完善。
图书阅读:https://iot-security.wiki
项目地址:https://github.com/yaseng/iot-security-wiki