密钥直接攻击方式分类

TIME:2019-03-21   click: 244 次

针对密钥的间接攻击可以采取软件方法或者是物理方法来实施。

软件攻击

软件攻击是指攻击者经过实行特定的恶意计算机软件,从密码软件体系中获取密钥数据。软件攻击可以经过远程方法完成,而不要求攻击者与攻击方发生物理接触。如今,软件攻击可分爲以下四类:

基于进程隔离漏洞的攻击

在通用计算机体系中,密码运算服务普通是作爲独立的用户态或内核态进程存在,密钥是密码运算进程的数据变量;其它进程只能访问密码服务的明文或密文,而不能读取密钥。由于操作体系的进程隔离机制的存在,密码运算进程之外的其它进程无法访问密钥数据。但是,由于操作体系代码的高度复杂性,总有各种漏洞招致攻击者可以绕过进程隔离机制,不合法地访问其它用户进程的内存空间, 乃至内核空间的数据。

基于内存数据分散的攻击

进程的内存数据会在各种状况下,“合法”地分散到其它方位,进而得到原有的维护并发作新的攻击机会。例如,休眠、Core Dump、顺序解体陈说等状况,会将内存数据复制到其他方位(如硬盘、网络等),就使得攻击者有机会从中获取内存中的密钥等灵敏信息。例如,休眠后内存快照作爲文件存储在硬盘上,即使在文件被删去后,攻击者也有能够康复该数据。又如,经过操作体系支撑的Memory Dump 机制,攻击者获得内存映象并康复出密钥数据。

基于未清零静态内存的攻击

在公钥密码算法完成中,普通需求静态内存分配,用于大整数运算。假设在计算终了后,没有实行清零操作就释放这些静态内存,则其间就能够仍然包括密钥等灵敏数据。攻击者可以经过各种手法获得该内存区的访问权限(例如,内存央求或者是运用安全漏洞获得未分配内存),进而失掉密钥。更值得留意的是,某些状况下,释放内存之前的复杂清零操作,有能够会被编译器的优化功用忽略。

基于异常输入的攻击

参数(如明密文等)的输入普及存在于密码算法和密码协议的完成中,攻击者可以经过构造恶意输入,触发各类异常, 影响密钥数据的安全。近些年来,这类漏洞层出不穷: 例如在XBOX 游戏机上,经过构造游戏存档文件, 能触发缓冲区溢出, 实行恶意代码进而盗取内存中的密钥数据; 2014年5月发现的OpenSSL HeartBleed安全漏洞是由于TLS协议心跳机制完成中缺少对输入参数的鸿沟检查, 攻击者可以构造恶意的心跳央求包发送TLS 服务器,获得64 KB 随机方位的内存数据, 其间就能够包括密钥或者其它灵敏数据。

物理攻击

在物理攻击中,攻击者与攻击方针存在物理触摸,攻击者经过物理方法盗取计算机体系中的密钥数据。事先物理攻击手法次要有:

DMA(Direct Memory Address)攻击

在传统操作体系中,用户态顺序无法在未经操作体系MMU(Memory Management Unit)受权的状况下访问内存物理地址,可是内核驱动和硬件设备仍然被允许间接访问物理内存空间。DMA 攻击运用了外设对内存数据的间接访问来盗取密钥数据。攻击者运用恶意外设(可以是攻击者精心构造的恶意外设,或者在计算机上已有的、带有安全漏洞的外设上植入恶意代码[17,18]),对方针内存地址央求DMA 数据传输,便可以绕过操作体系的内存操持安全机制,间接盗取内存中的灵敏数据。不只如此,攻击者乃至能运用DMA 特性向指定内存地址写入可实行代码,进而读取内存和存放器中的灵敏数据。

Cold Boot 攻击

内存芯片断电之后,其间存储的数据并不会当即消逝,而是会持续一段工夫后逐渐衰减消逝;更爲严重的是,在高温环境之下,内存芯片中的数据衰加速度会大幅下降,可持续达数小时。假设攻击者可以物理触摸到正在运转密码计算的计算机,就可以将恶意启动外设刺进到方针机器偏重启计算机,或者将方针机器的内存条取出后刺进到攻击者的机器中,便可间接读取计算机华夏有的内存数据。Cold Boot攻击可以绕过多种安全机制,可以在笔记本电脑或智能手机上恢复出内存中的灵敏数据。

 

上一篇:虚拟化平台中密钥直接攻击途径 下一篇:传统密钥防护方案