侧信道攻击——是一种利用计算机不经意间释放出的信息信号(如功耗,电磁辐射,电脑硬件运行声)来进行破译的攻击模式:例如,黑客可以通过计算机显示屏或硬盘驱动器所产生的电磁辐射,来读取你所显示的画面和磁盘内的文件信息;或是,通过计算机组件在执行某些程序时需要消耗不同的电量,来监控你的电脑;亦或是,仅通过键盘的敲击声就能知道你的账号和密码。
2017年一段昆明小学生“听声音”徒手解开ofo共享单车密码锁的视频流传于网络,视频中该小学生通过不断扭动密码盘来尝试解锁,仅用17秒便成功解开了车锁,这种是通过声音信号的侧信道来推测密码组成。
另一种侧信道是通过图像的隐蔽信道来传递机密信息,越南战争中美国战俘Jeremiah Denton在1966年由北越组织的采访中发送莫尔斯电码,翻译出来就是-/- - -/.-. /- /. . - /.-. /. TORTURE(虐待)。
调节转盘通过内部机械声打开保险柜
所谓侧信道,就是与主信道相对的,加密信息通过主信道进行传输,但在密码设备进行密码处理时,就像图2展示的一样,会通过侧信道泄露一定的功耗、电磁辐射、热量、声音等信息,泄露的这些信息又随着设备处理的数据及进行的操作的不同而有差异(比如输入0输出0肯定比输入1输出0耗能少,少了由1到0的转化过程;条件分支指令肯定比算术运算指令耗能少,这是由其硬件决定的)。攻击者就通过分析信息之间的这种差异性来得出设备的密钥等敏感信息。即本质上是利用了设备能量消耗的数据依赖性和操作依赖性。
水杯注水的"时间”、水杯里的水有多少又为“能量"
通常我们设计算法的时候,我们考虑的是输入和输出。我们不会考虑程序运行时发生的其他事情。"密歇根大学的计算机科学家、侧信道攻击的主要研究者Daniel Genkin说:"但计算机不是在纸面上运行的,而是在物理上运行。当你从纸上转移到物理时,就会有各种各样的物理效应的计算:时间、能量、声音。侧信道攻击利用其中的一种效应来获取更多的信息,并搜集算法中的秘密。
局限性:
1.干扰源:接收声音信号时一旦遇到噪音,信号将会严重失真
2.速度慢:每次只能传输一个字符,遇到几M的文件将会传输非常久,进一步增加了不确定性。
攻击类型:
● 错误攻击
考虑篡改设备上的密码系统,观察密码设备的一些错误操作,期望从错误行为的结果中推导出秘密参数。
● 时间攻击
利用密码系统的密钥与运行时间的关系来进行攻击的方法,与其它侧信道攻击相比,这种攻击方法几乎不需要什么特殊设备。
● 能量攻击
通过分析密码设备的能量消耗获得其密钥。常见的有SPA和DPA等攻击方式。
● 电磁攻击
通过高精度电磁探头多次采集目标产品工作时电磁辐射强度变化,再辅助以信号处理方式重建信号,利用DPA思想推演目标产品的密钥。
● 其他
故障攻击、基于缓存的攻击、基于扫描的攻击、光学辐射攻击、基于频率的攻击、组合攻击、声音攻击等。
事件:
熔断漏洞(CVE-2017-5754)漏洞,幽灵漏洞包括边界检查绕过(CVE-2017-5753)和分支目标注入(CVE-2017-5715)还有英特尔CPU曝出严重漏洞,SGAxe攻击:从SGX Enclave中窃取敏感数据(CVE-2020-0549)和CrossTalk攻击:从CPU核心窃取信息(CVE-2020-0543)
现代CPU为加快执行速度,在执行分支语句时,会依据以前的执行路径进行预测执行,如果预测执行的路径正确,则可加快执行速度,即使预测执行的路径错误,也不会降低执行速度。
攻防世界MISC有一道侧信道初探的题目
打开后有俩张图片,貌似是根据第一张图片的代码意思去解密第二张图片信号波动隐藏的信息
在第一张图片中k代表密钥 𝒌=(𝑘i-1, …, 𝑘o),将最终结果的O递归到密钥算法矩阵R,在for循环里有个if条件判断语句,判断每轮密钥替换是否为1,如果为1,则将每两轮的矩阵R再加上功耗消耗的P,重新递归到新一轮的矩阵R,不进入if条件判断则能量消耗会少一些,不再增加功耗消耗P。
最后的flag为:flag:SCTF{0110111010}