物联网设备是如何被破解的?分析一种篡改IoT固件内容的攻击方式
随着智能硬件进入到人们的生活,人们的生活质量开始有逐步的提高,人们与智能硬件之间的联系更加紧密。同时,智能硬件的安全问题也必须引起高度重视,因为其直接影响到人身安全、社会安全和国家安全。
大家是否有想过,自己身边的硬件设备有可能已经被植入了恶意代码?最近有媒体揭露某公司的水滴摄像头直播侵犯用户隐私引发关注。甚至有其他文章爆出大量成人视频出现该公司的水印,酒店室内一些不可描述的画面被录制上传,造成极其恶劣的影响。
图片来源网络
无独有偶,CCTV在11月份报道了扫地机器人如何变成“间谍”,黑客利用漏洞伪装成用户登录,然后对扫地机器人进行远程遥控,通过摄像头和手机的连接实时监控家中的环境 。家用摄像头的安全风险,除了公开出售IP,甚至还有破解软件在QQ群中传播叫卖。
图片来源网络
美国国土安全部DHS在去年10月就发布了《保障物联网安全战略原则》。今年10月ARM向IETF提交了A Firmware Update Architecture for Internet of Things Devices的草案,如果通过就会成为标准,可以推进IoT安全的发展。同年1月,工信部也在发布的《物联网发展规划(2016-2020年)》提出了物联网产业未来五年发展的主要任务。 各国都在逐步完善物联网的政策法规,进一步指导物联网行业的健康发展,加强物联网设备的安全性。
物联网设备在哪些场景及环节可能被植入恶意代码:
1、物联网设备出厂前留有后门或由内鬼批量植入恶意代码。这些案例并不新鲜,媒体报道也并不少见。
2、第三方销售渠道(包括代购)在销售前篡改软硬件内容。比如把iPhone5套上iPhone6外壳销售,又或是在里面加入后门代码等等,对于专业人士,这些并无太大难度。
3、经他人(维修点维修人员、同事朋友、侦探)手后,固件内容被篡改,待日后获取用户隐私,追踪用户位置等。
面对层出不穷的物联网设备安全事件,顶象技术的安全工程师用msp430开发板来演示一种篡改IoT固件内容的攻击方式。
一、模拟通讯场景
1.1 涉及到的硬件
a、实验所采用的开发板使用的是TI公司的msp430f149芯片。
b、开发板有4个自定义按键:S1~S4。
c、开发板有8个LED指示灯:D1~D8。
d、有一个开发板可扩展1602LCD液晶显示屏。
根据开发板硬件原理图,P6OUT的第0~第7位分析表示D1~D8号LED灯,置0亮灯,置1灭灯。因此,0xFC对应D1和D2亮;
硬件如图所示:
图1 开发板以及本实验中涉及到的硬件部分
1.2 通讯模拟原理
假设有A和B两个端。当按S1/S2/S3时,从A发送特定加密数据给B;当按S4时,B接收信息并解密使用。
由于三组操作的步骤是相似的,这里只展示先按S1,再按S4这组操作的效果展示:
a、按S1键。A端将字符串"FC"加密发送给B。
b、按S4键。B端读取数据,然后解密并转换成整数,赋值给P6OUT。
1.3 具体实现
按S1键。A端将字符串"FC"加密发送给B。
int envLen = 0;
char src[10] = {"FC"};
char env[10] = {0};
ENCRYPT(src, strlen(src) + 1, env);
envLen = strlen(env);
SendMsg(env, envLen);
按S4键。B端读取数据,并解密并转换成整数,赋值给P6OUT,来点亮LED灯。
char* res = NULL;
void* src = NULL;
int32_t srcLen = 0;
char plain[100] = {0};
src = ReceiveMsg(&srcLen);
Decrypt(src, srcLen, plain);
P6OUT = strtol(plain, &res, 16);
1.4 运行结果
图2 先按S1键,再按S4键,则点亮D1和D2灯
二、Hook攻击测试
2.1 Hook原理
拦截Encrypt, 按S1/S2/S3键时将加密前后信息显示到液晶屏上。
拦截Decrypt, 按S4键时将解密前后信息显示到液晶屏上。
2.2 Hook实现
对于msp430芯片, 一般厂商在出厂时会烧断熔丝来防止固件提取。但事实上msp430芯片只需要支付几百块RMB,就可以将熔丝修复,并提取出固件内容。由于本测试是基于开发板,所以有关于提取固件的内容就不在这里详述了。
首先用工具将固件内容以TI-TXT的方式dump下来, 然后将用于Hook的opcode植入进去, 然后对TI-TXT文件完成修改操作。Hook完成后用Beyond Compare查看TI-TXT的对比如下图:
图3 对TI-TXT文件处理后的对比:左侧为原始固件内容,右侧为加入Hook代码后的固件内容
将改后的TI-TXT文件推回到开发板的芯片中。
2.3 运行结果
注意:按S1的图中,请无视LED灯(D1~D8),因为这些灯是上次操作S4遗留下来的。S1的操作对LED灯没有任何影响。
图4 按S1键,在液晶屏上显示"FC"的加密过程
图5 在按S1键后再按S4键,则点亮D1和D2灯,并在液晶屏上显示"FC"的解密过程
三、IoT安全防护方案
随着各种IoT(物联网)设备的不断出现,对这些智能设备的攻击也随之而来。而由于IoT设备功能的特殊性,这些攻击带来的后果更为多样和严重。例如智能摄像头被攻破可能带来家庭或工作隐私视频的泄露,智能手表被攻击可能带来行动轨迹的泄露,智能汽车被入侵更是可能直接带来生命安全的威胁。
顶象技术专家马涛给智能硬件购买者一些建议
1、首先,尽量从正规渠道购买信誉较高的产品。
2、其次,设备出现故障尽量选择官方指定维修点。
3、再次,自己的有可能涉及到隐私、敏感内容的智能硬件设备,如果可能,建议不要让它单独经他人之手。
4、最后,建议选择使用了强度较高安全解决方案的智能硬件设备。因为这种设备的修改固件的难度极大,安全性更好。
针对IoT固件的防护,顶象技术从源头入手通过对IoT设备上运行的程序进行深入保护,使得攻击者无法破解其内部工作逻辑,从而保证了这些IoT设备在复杂、不安全的环境中,仍能按照预设的功能正常、安全的运行。
使用顶象IoT安全编译器和顶象IoT安全SDK可以使hook无法进行,同时逆向破解难度更高,可以做为固件内容被提取后的最后一道防线。
典型使用场景
为了更好了解物联网设备的威胁隐患,保障物联网的安全运行,12月22日,顶象技术携手浙江省物联网产业协会在杭州举办第一届《物联网智能设备安全防护》研讨会。
来自政府和企业的物联网专家将现场与嘉宾共同分享未来物联网安全的市场趋势,探讨最热门的物联网安全技术;通过实际应用案例分享,使到场嘉宾及客户充分了解顶象技术在IOT行业顶尖的安全防护方案,诚邀您的参加!
参会时间:2017年12月22日下午
参会地点:杭州市余杭区文一西路未来科技城海创园会议中心