嵌入式 -- WINKHUB 边信道攻击 (NAND Glitch)

0x00 前言

随着物联网IOT的飞速发展,各类嵌入式设备, 路由器安全研究也越来越火. 但因为跟以往纯软件安全研究的要求不同, 这类研究往往需要结合相应的硬件知识. 很多朋友困惑如何开始, 甚至卡在了该选何种工具上. 因此汪汪将会在系列文章中分享一些实战案例和相应的工具使用. 希望能对嵌入式安全研究起到抛砖引玉作用.

在WINKHUB这个案例中我们将使用几款简单的入门工具如万用表; UART 转接头和导线等. 同时将介绍一种通过芯片阻断的方式, 获取系统ROOT权限的攻击方法. 这种方法是俗称边信道攻击中最容易上手的一种. 汪汪希望可以借此小文让大家体验下, 并不是所有的边信道攻击都那么的高不可攀.

0x01 必备神器UART转接头

正所谓工欲善其事必先利其器, 拥有得心应手的辅助工具, 对我们研究嵌入式设备安全将起到事半功倍的作用. 而说起嵌入式设备不管是开发调试还是安全研究, 都会用到UART转接头 这个神器.

UART接口简称通用异步收发传输器, 是一种通用串行数据总线.我们可以通过它来调试目标设备. UART 口在PCB上通常分为: Vcc; GND; TX; RX 这4口. 而UART转接头则在电脑USB 口之间取到转接的作用.

UART转接头在配置上非常简单. 只需在目标PCB板上找到正确的UART 端口, 并设置好如baud rate 这类参数便可以使用诸如Minicom这类程序跟目标进行通讯了. 凡是有配置过CISCO 路由器的朋友对此操作界面一定不会陌生.

但是通常PCB板上会将用于调试的UART 端口隐藏 or 存在多个UART端口. 如何在目标PCB板上找到正确的UART 端口, 也是个可以探讨的话题. 不过因为我们今天的目标WINKHUB已经明确的标识出UART端口位置, 所以暂且不表.

还有个值得注意的地方便是正确的baud rate 参数. 比如常见的9600 or 115200. 如果此参数设置不对, 我们便无法看到正确的调试信息. 这时我们可以使用专门用来确定未知串行行设备波特率程序baudrate来发现正确的参数.而其工作原理是试图把所有的baudrate都过一遍,直到屏幕上显示清晰的调试信息.

0x02 WINKHUB 物联网关

终于到今天的主角上场了, 本次的攻击目标是这款名为WINKHUB 的物联网关. 你是否好奇为何需要此类网关设备呢? 玩过IOT设备的朋友就会发现, 现有的IOT产品仅同时支持1到2种互联方式. 比如Philips的HUE智能灯系列采用Zigbee作为联接技术. 而用户若是想把HUE跟使用Bluetooth的智能门锁互联,还需要在添加额外设备. 这从用户体验的角度上来说是非常不方便的. 而WINKHUB网关的优势就在于其同时支持WIFI; Bluetooth4.0; Zigbee; Z-Wave 和 RF 等主流的IOT 联接方式. 换句话说用户只需要买一个这样的网关, 就不用担心不同IOT产品间的兼容问题.

 

然而成也萧何,败也萧何. WINKHUB 在功能上的优势, 也给攻击者提供了更多的攻击向量. 作为一款智能网关以往家用路由器上常出现的安全隐患也依然存在. 譬如在早期的固件版本中就存在Command execution 漏洞 (set_dev_value.php). 而在官方修复的新版本中又被发现了SQL Injection漏洞.

图上为包含Command execution 漏洞的PHP 代码段. 通过此漏洞我们可以root 权限执行任何系统命令. 比如读取shadow 文件.

0x03 边信道 (NAND Glitch)

NAND Flash 在嵌入式系统中通常用来存储固件, Bootloader, 内核以及root files. 是整个系统中最重要的. 同时也是攻击者最想搞定的目标之一. NAND Flash 的容量大小, 接口数也跟芯片的不同而不同. 大家可以通过查datasheet 的方式来确认. 在前面提到代码漏洞爆出后. WINKHUB的厂商通过软件升级的方式迅速将其修复. 但对厂商来说, 还有一种攻击方式却没那么容易修复. 这便是用NAND 芯片作为切入点, 通过边信道攻击来得到ROOT权限. 而这也是当年成功拿下XBOX 游戏机的方法之一.

(图为XBOX 游戏机NAND Flash)

有很多朋友一提到边信道攻击,就觉得是个特别高大上. 其实边信道攻击也分好几种方式. 除了大家普遍了解的信息泄露之外, 错误注入攻击(Fault Glitch) 也是很常见的一种攻击方式. 跟信息泄露测量不同的是, 错误注入攻击的目的往往在于改变程序的运行流程, 尤其是在安全认证机制上. 或者通过阻断内核被正常读取的方式, 强制系统进入U-boot shell模式.

错误注入攻击通常使用激光; 热能; 噪音等作为而错误注入的传输源. 不过也可简单到通过一条数据线接GND的方式来完成攻击. 但是必须注意的是错误注入(Fault Glitch) 具有结果难于预测特性. 尤其是在 timing 的掌控上. 汪汪在实际测试过程中因操作不当, 曾毁坏过2台 WINKHUB.

0x04 NAND Glitch 实战

本文中的错误注入攻击便是通过阻断内核被正常读取的方式, 强制WINKHUB系统进入U-boot shell模式来得到root 权限. 通过读datasheet 我们可以发现 WINKHUB 的NAND Flash 的第29号PIN 为数据输入输出口.

我们首先通过万用表查找GND 口. 随后使用普通的数据线在系统启动, 并尝试读取NAND芯片中的内核等信息的瞬间短接以达到数据阻断(NAND Glitch) 的目的.

 

但大家在完成这看是简单的过程中一定要小心仔细. 原因可以看图中29号PIN的实际大小来感受下.

不过多加练习几次后, 也就运用自如啦. 再系统进入U-boot Shell 后, 我们便可以通过修改内核参数得到ROOT Shell. 整个过程大家可以观看以下视频.

0X05 总结

通过这个案例, 相信大家在嵌入式攻击方式上有了更多的了解. 有时候纯软件的步骤无法达到目的时, 可以考虑下硬件比如边信道的方式. 同时汪汪觉的开发者们在设计一款嵌入式设备的时候, 也可以多从攻击者的角度考虑. “ Think like an attacker ” 绝不仅仅是说说而已. 剑走偏锋, 逆其道行之. 攻击者往往会从你想不到的地方作为攻击点.

0x06 参考文献

http://baike.baidu.com/item/UART

https://code.google.com/p/baudrate

http://www.wink.com/products/wink-hub

https://www.exploitee.rs/index.php/Wink_Hub

http://www.devttys0.com/2012/11/reverse-engineering-serial-ports

http://www.eurasia.nu/wiki/index.php/Xbox_360_Reset_Glitch_Hack
时间: 2024-09-20 09:03:54

嵌入式 -- WINKHUB 边信道攻击 (NAND Glitch)的相关文章

如何发现防不胜防的边信道攻击?

本文讲的是 如何发现防不胜防的边信道攻击?,反病毒软件捕捉不到Rowhammer及类似边信道攻击,于是,一组美国科学家着手研究该怎样捕获这些攻击的特征. 一旦考虑到实验室环境和间谍工具之类的东西,边信道攻击就是很具体的事儿了.举个例子,Rowhammer攻击.这是一个通过快速重写RAM行,以纯软件方式翻转RAM上邻近存储单元的攻击方法.最终,Rowhammer能使攻击者搞崩内核进程,获取到root权限. 美国马萨诸塞州伍斯特理工学院(WPI)的3名研究员,在国际密码研究学会(IACR)发表了一篇

边信道攻击新花样:硬盘LED灯也会泄漏你的信息

你可能从未想过,有一天硬盘指示灯也会出卖你的信息- 很多时候人们会把存储机密信息或者承载关键设备运行的系统进行物理隔离来确保安全.然而道高一尺,魔高一丈,攻击者总会想出办法进行针对性的破解窃密,比如之前就有过利用风扇或硬盘的噪音来将信息发送到附近的智能手机的攻击案例. 最近,来自以色列本-古里安大学的一项实验显示,硬盘的LED指示灯竟然也可以被黑客利用!这些指示灯本来是设计以显示硬盘的工作状态的-恭喜边信道攻击(查看之前的报道)家族又添一新成员! 又一种有趣的边信道攻击 这些极富创意的研究人员最

从物理隔离设备上窃取密钥的方法(附:边信道攻击大全)

一般认为,物理隔离是迄今为止最安全的计算机保密技术.它也是近年来的研究热点. 物理隔离的含义是让设备与互联网,以及其它连接到外网的计算机分开,使黑客无法远程访问设备上的数据. 但在判定物理隔离设备"安全"之前,我们应当三思. 来自以色列特拉维夫大学(Tel Aviv University)和以色列理工学院(Technion) 的一组研究人员发现了从一墙之隔的物理隔离设备上窃取数据的新方法. 去年,他们展示了仅使用一台无线电接收器和皮塔饼(Pita Bread,一种阿拉伯面包)从物理隔离

“闭塞网络”攻击思路总结

如何从不联网的电脑中盗取1KB名叫<新建文本文档>内容为 test 的txt文件?实际上这个是FreeBuf小酒馆里面的某个问题,当然,回答也很喜感-.. 这个问题描述的非常像是一个闭塞网络,但闭塞网络并不是完全安全的,有很多种办法可以从脱离互联网的电脑中窃取数据.每一种方法都依赖于不同的方式传输数据,包括声信号和电磁波. 有一些系统的网络流量为了避免敏感数据被窃取都被经过精心监控和检查,但他们仍然可以被上述方法窃取数据. 2015年3月 –BitWhisper –通过散热量侵入闭塞网络PC

利用这个Linux漏洞 世界上随便哪个人都能轻易完成攻击

本文讲的是利用这个Linux漏洞 世界上随便哪个人都能轻易完成攻击,Linux系统2012年末用的传输控制协议(TCP)中的一个漏洞,给互联网用户带来了严重威胁,无论他们是否直接使用Linux. 该TCP漏洞是由加州大学河滨分校的一组研究人员发现的,能使攻击者远程劫持用户的互联网通信.该漏洞可被用于发起针对性攻击,追踪用户网上活动.强行终止通信.劫持主机间对话,或者降级Tor之类匿名网络的隐私保证. 由于无数互联网服务器.安卓手机和一系列其他设备都是运行Linux的,一大波用户可能会受影响. L

OpenSSL安全公告高危漏洞 可以对默认配置的服务器发动DDoS攻击

OpenSSL项目组在今天发布高威胁安全通告CVE-2016-6304,更新内容包括:修复了自2016年5月以来的安全漏洞,其中包括一个高危漏洞,一个为"中危",其余均评级为"低危".OpenSSL安全公告 [22 Sep 2016]公告如下: OCSP状态请求扩展跨内存边界增长(CVE-2016-6304) 安全等级: 高危 恶意的客户端可以发送过大的OCSP状态请求延期.如果该客户端不断请求重新谈判,发送一个大的 OCSP 状态请求每延长一次,那么就会有无限的内

“质数+探查”可攻击英特尔软件防护扩展指令拿到密钥

软件防护扩展指令( Software Guard Extensions:SGX )本应隐藏数据,但"质数+探查"的攻击方法搞定了它. 1月,英特尔SGX输入输出防护被曝存在可能缺陷,现在,应受保护的SGX飞地上又出现了恶意软件. 奥地利格拉兹科技大学的研究人员写了概念验证程序(PoC),不用SGX保护系统,却用来隐藏恶意软件,并在5分钟之内,就从SGX管辖范围内获取到了RSA密钥. 设计SGX就是为了避免出现这种情况.SGX是隔离机制,本应防止代码和数据不被窥探--恶意特权用户也不行.

别折腾安全软件了 你的手机也许还不配被黑客破解

欢迎关注"创事记"的微信订阅号:sinachuangshiji 文/阿尔法虎 黑客替各种犯罪活动背了很多锅,但是手机诈骗这一口大黑锅真的不能完全扣在黑客头上.在收到要钱短信时动动脑,看到附带链接的"激情视频"."艳照大全"管住手别去点,平日不做亏心事,不怕领导叫你去办公室. "黑客入侵手机",想想就让人心生恐惧,但是这种恐惧多半是源于对未知事物的不解,以及把黑客入侵手机这一不常见的事情与手机诈骗这种极其常见的事情混为一谈.作为

网络空间安全攻防战

近期,经中央网络安全和信息化领导小组批准,国家互联网信息办公室发布了<国家网络空间安全战略>,将网络安全提升到战略层面. 美国当地时间1月11日,美国候任总统特朗普在发布会上首度承认俄罗斯黑客干预美国大选,并表示自己上任后不会再让类似的事故发生.特朗普还表示,将就网络安全组建一个由企业家组成的团队,由前纽约市长鲁迪·朱利亚尼负责,定期召开企业家会议,向特朗普介绍网络安全问题和解决方案. 经过半个多世纪的发展,以互联网为代表的计算机网络已经成为真正全球意义的信息共享与交互平台,深刻地改变了人类社