随着智能硬件进入到人们的生活,人们的生活质量开始有逐步的提高,人们与智能硬件之间的联系更加紧密。同时,智能硬件的安全问题也必须引起高度重视,因为其直接影响到人身安全、社会安全和国家安全。
 
大家是否有想过,自己身边的硬件设备有可能已经被植入了恶意代码?最近有媒体揭露某公司的水滴摄像头直播侵犯用户隐私引发关注。甚至有其他文章爆出大量成人视频出现该公司的水印,酒店室内一些不可描述的画面被录制上传,造成极其恶劣的影响。
 

图片来源网络
 
无独有偶,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日下午
参会地点:杭州市余杭区文一西路未来科技城海创园会议中心

物联网设备是如何被破解的?分析一种篡改IoT固件内容的攻击方式的更多相关文章

  1. 安天透过北美DDoS事件解读IoT设备安全——Mirai的主要感染对象是linux物联网设备,包括:路由器、网络摄像头、DVR设备,入侵主要通过telnet端口进行流行密码档暴力破解,或默认密码登陆,下载DDoS功能的bot,运行控制物联网设备

    安天透过北美DDoS事件解读IoT设备安全 安天安全研究与应急处理中心(安天CERT)在北京时间10月22日下午启动高等级分析流程,针对美国东海岸DNS服务商Dyn遭遇DDoS攻击事件进行了跟进分析. ...

  2. (转)Android 系统 root 破解原理分析

    现在Android系统的root破解基本上成为大家的必备技能!网上也有很多中一键破解的软件,使root破解越来越容易.但是你思考过root破解的 原理吗?root破解的本质是什么呢?难道是利用了Lin ...

  3. Android 系统 root 破解原理分析 (续)

    上文<Android系统root破解原理分析>介绍了Android系统root破解之后,应用程序获得root权限的原理.有一些网友提出对于root破解过程比较感兴趣,也提出了疑问.本文将会 ...

  4. 宋牧春: Linux设备树文件结构与解析深度分析(2) 【转】

    转自:https://mp.weixin.qq.com/s/WPZSElF3OQPMGqdoldm07A 作者简介 宋牧春,linux内核爱好者,喜欢阅读各种开源代码(uboot.linux.ucos ...

  5. 基于Coravel定时任务之物联网设备数量统计

    目录 基于Coravel定时任务之物联网设备数量统计 1 应用背景 2 对比各家定时库 2.1 TaskScheduler 2.2 Fluent Scheduler 2.3 Quartz.net 2. ...

  6. 【阿里云IoT+YF3300】6.物联网设备报警配置

    纵然5G时代已经在时代的浪潮中展现出了它的身影,但是就目前的物联网环境中,网络问题仍旧是一个比较突出的硬伤.众所周知,在当前的物联网规划中,与其说是实现万物互联,倒不如说是行业指标数据监控.对于一些特 ...

  7. 阿里云重磅推出物联网设备身份认证Link ID²

     2018年12月19日,阿里云宣布推出新版物联网设备身份认证Link ID²及物联网安全运营中心Link SOC,护航万物智联.   随着越来越多的设备连接到网络中,随之而来的安全问题越来越突出. ...

  8. 腾讯IOT之树莓派物联网设备

    目录 腾讯IOT之树莓派物联网设备 硬件配置 软件配置 Tecent IOT 开发平台的使用 新建项目 新建产品 添加自定义功能 设备开发 微信小程序配置 面板配置 新建设备 使用设备 在线调试 设备 ...

  9. 从Android设备中提取内核和逆向分析

    本文博客链接:http://blog.csdn.net/qq1084283172/article/details/57074695 一.手机设备环境 Model number: Nexus 5 OS ...

随机推荐

  1. Holding Bin-Laden Captive!(1.多重背包 2.母函数)

    Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/ ...

  2. vue小项目---管理系统

    在上一篇文章中我们已经学习了vue的基本语法,常用属性,了解了vue的基本使用,现在让我们用vue配合Bootstrap来完成一个小项目. 首先导入Bootstap文件. <link rel=& ...

  3. 定制rpm包---Yum环境搭建

    1.1 在yum服务器上创建yum仓库命令 mkdir -p /application/nginx/html/yum cd /application/nginx/html/yum rz #上传rpm包 ...

  4. 新手入门Flume搭建部署

    在root的用户下 1):• 前提 安装JDK环境 2):• 在官网下载Flume,http://mirror.bit.edu.cn/apache/flume 既是:wget  http://mirr ...

  5. php header设置页面编码

    php header设置页面编码 未分类 PHP 页面编码声明方法详解(header或meta) http://www.jb51.net/article/22501.htm PHP 页面编码声明与用h ...

  6. cross-document message 跨文档通信 HTML5

    跨域通信HTML5提供了XDM(cross-document message)安全简单接口:   核心是 postMessage()方法,用来向另一个地址传送信息: var iframeWindow ...

  7. java中表示二进制、八进制、十进制、十六进制

    1.进制 进制是一种记数方式 ,可以用有限的数字符号代表所有的数值.由特定的数值组成. 2.进制的表现形式 二进制: 由0和1两个数字组成. 八进制: 由0-7数字组成,为了区分与其他进制的数字区别, ...

  8. 深入分析Android动画(一)

    动画的分类: ①View动画 View动画顾名思义其作用对象为View,包含平移.缩放.旋转.透明,这四类变化分别对应着Animation的子类TranlateAnimation.ScaleAnima ...

  9. 如何在C#中使用存储过程(SQL Server 2000)

    要在C#中使用存储过程,首先看看test表的创建sql语句:   create table test55 ( uid int identity(1,1), class1 varchar(20), cl ...

  10. C#编写的艺术字类方法

    代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing ...