隔空取物之侧信道攻击
  

新手275718 1775

{{ttag.title}}
在学习CISSP密码学时了解到侧信道攻击(又称边信道攻击、旁路攻击side-channel attack),攻击者通过测量功耗、辐射排放以及进行某些数据处理的时间,借助这些信息倒推处理过程,以获得加密秘钥或敏感数据。本文将从实践角度尝试一种侧信道攻击方法,主要关注特殊场景下的信息泄漏方式。
相关案例首先通过2个案例来直观了解下侧信道,2017年一段昆明小学生“听声音”徒手解开ofo共享单车密码锁的视频流传于网络,视频中该小学生通过不断扭动密码盘来尝试解锁,仅用17秒便成功解开了车锁,这种是通过声音信号的侧信道来推测密码组成。
另一种侧信道是通过图像的隐蔽信道来传递机密信息,越南战争中美国战俘Jeremiah Denton在1966年由北越组织的采访中发送莫尔斯电码,翻译出来就是-/- - -/.-. /- /. . - /.-. /. TORTURE(虐待),这一信息很快被*情报局的专家注意到,北越则要等到消息登上美国媒体才发现,面临舆论压力。下图是当时的影像资料动态图:
理论基础关注侧信道攻击需要了解侧信道信息泄漏通用模型和通信原理的相关知识。
侧信道信息泄漏模型:
侧信道主要存在于信息发送方和信息接受方,比如我们使用手机通讯软件进行聊天,虽然传输过程是加密的,但如果聊天的两个人手机被肩窥(乘扶梯、排队等场景),那么就会存在信息泄漏的风险,因此侧信道信息泄漏本质上还是属于终端的安全。
通信原理侧信道通常是不稳定的,面临太多干扰和不可控因素,为保证信道稳定,我们需要学习通信原理的相关知识。通信的基本过程如下:
信源:消息的发出者信宿:消息的接收者信源编码器:消息的重组单元信道编码器:消息抗毁能力的单元信道:消息的传输媒介干扰源:毁坏传输信道的各种因素信道译码器:消息的毁坏检测单元信源译码器:消息的还原单元
看到通信信道建立的关键过程,我们的理论知识已基本完备,接下来就是如何尝试在特定场景稳定的侧信道攻击。
实践应用模拟场景这里我们假设的场景是:通过某种方式接触到1台类似哑终端电脑,仅保留基本外设,操作系统安全补丁齐全,普通用户权限,对外通信功能(usb拷贝、网卡、蓝牙、红外)全部禁用,硬盘有物理保护并进行全盘加密,那么如何获取这台电脑上的机密文件呢?
选定侧信道我们可以尝试建立侧信道,绕过看似天衣无缝的安全防护体系。分析下可以利用的外设,鼠标,键盘、音箱、显示器,能向外传递信息的数据就是显示器和音箱,首先考虑拍照,拍照可以获取图像数据,依靠视力辨别部分信息,无法获取完整文件,信息传输严重失真。其次联想到摩尔斯电码,这是一种古老的通讯方式,通过滴滴答答的声波传递摩尔斯电码,然后通过接受设备翻译对应电码。理论上可行,将文件流信息编码转换成对应的摩尔斯码,根据分贝数值区分长短码,然后翻译出对应的原文。示例如下:
但是这种方式有2个局限性:
1.干扰源:接收声音信号时一旦遇到噪音,信号将会严重失真
2.速度慢:每次只能传输一个字符,遇到几M的文件将会传输非常久,进一步增加了不确定性。
因此需要寻找一种抗干扰能力强,单次传输信息量大的侧信道。这时考虑到二维码,首先是单次传输信息容量:双色单层(如黑白)的一般是几K的容量,彩色(8色)单层的能够达到几百k 的容量,但是二维码携带的信息越多,抗干扰能力越差。
考虑普通显示设备色域、分辨率、亮度、校准准确度的问题,还有扫码设备摄像头像素的问题,选用常见的双色单层(黑白)二维码是最适合的,即便是低端的720p分辨率的显示器,500万像素主摄的智能手机可以轻松建立侧信道。
下面需要根据通信原理的知识设计稳定的通信信道,通信过程如下:
信源:任意格式文件信源编码器:7z压缩+base64编码信道编码器:数据分组生成二维码信道:动态二维码干扰源:重复接收+信号不对齐信道译码器:二维码解析成分组数据信源译码器:base64解码+7z解压缩信宿:sdcard
发送端通过将原文件进行编码分割转换成二维码图片集,二维码在固定时间间隔变换展示,接受端设置同样的采样时间间隔,最后把采样到的片段信息进行组合就可以解码得到原文件,这样就可以建立稳定的侧信道。
编码实现首先是实现信源编码器,通过将压缩文件的数据流转换为base64,然后再对base64消息进行分段,每段消息再经信道编码器,组成连续的动态二维码gif,完成信道编码过程。这里使用python语言实现,关键代码如下:
接收器需要用到二维码识别设备,使用最常见的android手机即可,那么就需要开发一个apk,这里使用java语言实现。
首先动态二维码经过信道译码器转换成base64消息,完成信道译码过程。关键代码如下:
然后base64消息经过信源译码器得到文件流,文件流再保存到SD卡,即可完成信源译码过程。关键代码如下:
以下是编码完进行测试时发现的问题及对应解决办法:
1.消息包丢失:手抖导致相机对焦失败,可以通过降低采样频率,选用有防抖功能的相机来解决。2.重复发包:多次重复扫码,可以通过对同一采样间隔的消息去重来解决3.包顺序错乱:由于二维码无法标识消息序号,开始传输时无法准确同步。通过循环扫码,识别压缩包文件头信息,排列出正确的包顺序来解决包顺序错乱问题。
最终效果如下图所示,通过连续扫码实现“隔空取物”:
总结本文通过模拟特定场景下的侧信道攻击,可以实现非网络传输,非硬件破解的“隔空取物”。侧信道信息泄漏非常隐蔽,现有的防信息泄漏的安全工具DLP难以防御侧信道的攻击。因此建议对一些敏感岗位人员禁止携带智能设备,同时在终端监控工具上进行调整,实时检测设备音频、图像等潜在的侧信道传输载体,保护关键机密信息。

打赏鼓励作者,期待更多好文!

打赏
2人已打赏

新手275718 发表于 2020-9-25 22:40
  
有空学一下 CISSP,也是很不错的
一一氵 发表于 2020-10-11 10:00
  
感谢分享
ie5000 发表于 2021-3-30 11:54
  
厉害,学习一下,感谢楼主分享
发表新帖
热门标签
全部标签>
西北区每日一问
干货满满
技术盲盒
每日一问
产品连连看
GIF动图学习
技术笔记
安装部署配置
2023技术争霸赛专题
日志审计
技术咨询
新版本体验
功能体验
VPN 对接
秒懂零信任
社区新周刊
信服课堂视频
答题自测
技术圆桌
畅聊IT
专家问答
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
标准化排查
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
通用技术
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
自助服务平台操作指引
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
高手请过招
升级&主动服务
高频问题集锦
【每周新见闻】

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人