如果黑客发起“微暖攻击”,你怎么接招 论文解读

RunMews 2023-05-04 21:07:05

论文题目 Thermanator: Thermal Residue-Based Post Factum Attacks On Keyboard Password Entry论文作者 Tyler Kaczmarek,Ercan Ozturk,Gene Tsudik论文地址 https://arxiv.org/abs/1806.10189

也许是在某个冬夜,教授们在大雪中行走,偶然回头发现身后脚印的变化:远处的脚印已经被大雪掩埋;稍远的脚印在雪中已经模糊不清;而刚刚踏足的地方脚印还清晰可见。

于是教授们脑中灵光一闪:如果我自己是一只跳动的手指,而这条路是一块巨大的键盘,那根据我的脚印,不就能猜出我正在输入的东西了吗?

如果现在输入的是密码,

嘿嘿嘿 ……

于是来自加利福尼亚大学欧文分校(UC Irvine)的教授们就开始围绕这个灵光一现的想法构建完整的场景和解决方案。身为科学家,第一步,当然是为自己的想法寻找理论依据。

理论依据

人击打键盘的动作当然不可能留下如脚印般清晰可见的痕迹,那么在击打键盘时会发生什么呢?

人体的温度与键盘的温度是不同的,那么在击键发生接触的时候,肯定会发生热交换啊!灵感的大门被打开,理论支撑随之而来。

当两个物体发生热传导,那么它们当然应该服从热传导定律(傅里叶定律):

其中K是被加热物体的导热率,A是接触面积,T1是较热的物体的温度,T2是较冷的物体的温度,t是接触时间,d是被加热物体的厚度。集合等式右边所有项计算出来的q,就是传导过去的能量(单位焦耳)了。

通过查阅资料,我们获知:

  • 成人指尖的平均面积为400平方毫米。
  • 平均人体皮肤温度是307.15 k (34℃)。
  • 按键的平均持续时间为0.28 s。
  • 键盘温度与空气的温度相同,对于一个典型的办公室来说,OSHA2是294.15 k (21℃)。
  • 键帽厚度0.0015m,也就是1.5 mm

代入上面的等式,然后按动手边的小计算器,可计算出q= 0.1458 J 。这就是我们一次击键时传递的能量。

唔...那这个q代表什么呢?能不能跟我们所关注的热量/温度建立起公式呢?

是时候召唤出比热容公式了:

q为总热能,c为接受热量物体的比热容,m是接受热量物体的质量,△T是改变的温度。

那么为了得知键盘将这些能量转化为多少热量,研究者们观察了若干键盘,并将其中的一些大卸八块,获得了以下数据:

常用的键盘材质为PTB,密度为1.3 g/cm3;

平均每个键帽大小约为[15.5mm x 15.5mm x 1.5mm](其实 的键帽厚度就是这时候测量的),约为3.55mm3,平均重量为(不算空格和回车)0.4616g。

通过查阅资料,PTB的比热容为1000 J/kgK,导热率为0.274 W/mK。

将我们辛苦获得的数据代入比热容公式,按动计算器,算出?T = 0.3092 K,也就是我们每次击打键帽将带来0.3 ℃左右的温度改变。选购前视红外仪的时候,这将是一个重要的参考指标。

当输入完成,手指离开键盘的时候,指尖残留的热量会从键帽渐渐消失,和大雪覆盖脚印的过程如出一辙。

既然是散热的过程那必然服从牛顿冷却定律:

牛顿冷却定律:https://zh.wikipedia.org/wiki/%E5%86%B7%E5%8D%B4%E5%AE%9A%E5%BE%8B

T(t)代表t时刻的温度,Ts代表环境温度,T0代表物体(键帽)初始温度,κ是在0.00024025平方米平面上(键帽面积)的静止空气的冷却常数。

当将这些数据代入上述公式,最后一次按动计算器,得出 t=55.7 s。也就是说我们通过按键传递的温度会在1分钟内被散发

通过这么一系列较为缜密的计算,我们终于为漫步中的奇想建立了一个合理的理论基础。

知己知彼

理论小楼已经构建完毕,想要在实战中达到目标,当然需要知己知彼。首先,教授们考察了键盘的种类,确定了大多数人都在使用这个布局的键盘。

考察完目标后,还需要一个趁手的仪器来获取理论中预测的键盘热量数据。通过多方打听,教授知道了,一个叫做前视红外仪(FLIR)的仪器正是我们需要的东西,于是他们慎重的考察了四款前视红外仪。除了对精度和效果方面的要求外,价格也是一个重要的参考因素,毕竟这个季节,地主家也没有余粮……

最终选定了性价比最优的SC620型作为实验中的使用的仪器。

模拟实战

拿到了装备以后,可谓万事俱备,只欠实战。在进行实战前,给将要进行的实验起个名字。众所周知,堡垒最容易从内部攻破,而本次使用的方法就是一种从内部发起的攻击方法,于是作者们给这种破解密码的方式起了一个响亮的名字:微暖攻击(Thermanator Attacks)

要发动这个攻击,一共分四步:

  1. 观察受害的小肥羊使用键盘输入密码;
  2. 稍等一下,期间小肥羊可能离开自己的位置,或者被有趣的东西吸引(总之就是离开电脑);
  3. 开动先进的前视红外仪;
  4. 分析红外仪中的图像资料,找出密码!

RE. 换只小肥羊,再来一次。

如果第二步进行得不是很顺利,请默默祈祷,如果祈祷也不行的话……管他呢,我们只是研发人员,以后使用这套方案的特工们会搞定这种小事的。

密码分析

在拿到了红外仪拍摄的结果后,教授们进行了详细而缜密的分析,分析首先对输入者们的输入方式进行了一个分类:

  • 二指禅(Hunt-and-Peck)
  • 六脉神剑(Touch Typists)
  • 九阴白骨爪(Acrylic Nails)

二指禅,顾名思义就是打字只用双手食指的人。在通过红外成像,教授们研究了这类输入者的输入模式,并观察了在简单和复杂密码两种情况下键盘红外成像的变化。

图5、图6中纵坐标为时间,横坐标中,每一组为一个密码。在每个红外图像的开始,被按压过的每个键都残留着热量,随着时间流逝,键上的热量会慢慢消失,体现在图像上即为键的缺少,每组密码中的D 0表示缺少0个键,D 1表示缺少一个键。

在本实验中,针对不同难度的密码都招募了数十位志愿者,所以纵坐标的时间,为当前类(二指禅)输入者的平均时间。

所以对二指禅的使用者来说,根据上面的直方图,不论是简单的密码,还是复杂的密码,似乎只要根据热量依次消失的位置,就能够获得密码

键盘敲不好,密码会被盗啊!

六脉神剑,当然不是指用六根手指打字的人,而是指打字时能够十指并用的输入者,这类输入者左右手分别覆盖键盘的不同区域,在实际开始输入的时,左右手如果迅速依次按压键帽,可能出现多个键迅速冷却的情况。在红外成像中的体现就是输入模式更加复杂。

图7、图8的坐标轴含义与图5、图6相同。图7、图8中体现出这种输入者模式更复杂的地方是——图中存在多个键几乎同时迅速消失的情况,有的甚至与单个(第一个)键消失的速度相当。

除了复杂的输入模式,在打字的间歇,这类输入者的手一般会放置在键盘的正上方,有时候可能会与键盘保持轻微的接触。这给红外成像带来了极大的干扰。极有可能输入者并没有敲击某个键,但是却因为接触在图像上产生热区从而误导攻击者。

从速度到假动作,全方位抵抗微暖攻击!

尽管如此,对于一个真正的黑客来说,还是能通过微暖攻击来获得用户最近使用过什么键位,再以此通过其他重新排序算法,来降低传统的暴力枚举破解法的计算量。

九阴白骨爪,在小说中,这是一种令很多人无可奈何的功夫。在实验中,教授们观察到了一类输入者,她们大多是女生,有好看的长指甲,所以打字时,也自然是用指甲尖敲击键帽,根本不会发生热交换啊。在现实中,这种功夫也让教授们无可能奈何。

结语

尽管本文提到的破解密码的方法看起来有点科幻,而且实用性可能不太高。但是这种方案的存在,和理论上基本可行,也总会被除了研究者之外的真正黑客,在我们意想不到的场景使用,并且对我们的信息安全造成威胁。

为了应对这种情况,我们可能需要勤练指法来降低自己的中招风险(女同学们可以直接留指甲),同时也期望智慧的科学家和研究者们早日研究出替代手动输入密码的安全方案,为我们未来的生活保驾护航。

作者:彩云小译七号审校:刘培源


每一个HTML文档中,都有一个不可或缺的标签:<head>,在几乎所有的HTML文档里, 我们都可以看到类似下面这段代码:

html{color:#000;overflow-y:scroll;overflow:-moz-scrollbars}
body,button,input,select,textarea{font-size:12px;font-family:Arial,sans-serif}
h1,h2,h3,h4,h5,h6{font-size:100%}
em{font-style:normal}
small{font-size:12px}
ol,ul{list-style:none}
a{text-decoration:none}
a:hover{text-decoration:underline}
legend{color:#000}
fieldset,img{border:0}
button,input,select,textarea{font-size:100%}
table{border-collapse:collapse;border-spacing:0}
img{-ms-interpolation-mode:bicubic}
textarea{resize:vertical}
.left{float:left}
.right{float:right}
.overflow{overflow:hidden}
.hide{display:none}
.block{display:block}
.inline{display:inline}
.error{color:red;font-size:12px}
button,label{cursor:pointer}
.clearfix:after{content:'\20';display:block;height:0;clear:both}
.clearfix{zoom:1}
.clear{clear:both;height:0;line-height:0;font-size:0;visibility:hidden;overflow:hidden}
.wordwrap{word-break:break-all;word-wrap:break-word}
.s-yahei{font-family:arial,'Microsoft Yahei','微软雅黑'}
pre.wordwrap{white-space:pre-wrap}
body{text-align:center;background:#fff;width:100%}
body,form{position:relative;z-index:0}
td{text-align:left}
img{border:0}
#s_wrap{position:relative;z-index:0;min-width:1000px}
#wrapper{height:100%}
#head .s-ps-islite{_padding-bottom:370px}
#head_wrapper.s-ps-islite{padding-bottom:370px}#head_wrapper.s-ps-islite #s_lm_wrap{bottom:298px;background:0 0!important;filter:none!important}#head_wrapper.s-ps-islite .s_form{position:relative;z-index:1}#head_wrapper.s-ps-islite .fm{position:absolute;bottom:0}#head_wrapper.s-ps-islite .s-p-top{position:absolute;bottom:40px;width:100%;height:181px}#head_wrapper.s-ps-islite #s_lg_img,#head_wrapper.s-ps-islite#s_lg_img_aging,#head_wrapper.s-ps-islite #s_lg_img_new{position:static;margin:33px auto 0 auto}.s_lm_hide{display:none!important}#head_wrapper.s-down #s_lm_wrap{display:none}.s-lite-version #m{padding-top:125px}#s_lg_img,#s_lg_img_aging,#s_lg_img_new{position:absolute;bottom:10px;left:50%;margin-left:-135px}<head><meta charset=utf-8><meta http-equiv=content-type content=text/html; charset=utf-8><meta name=renderer content=webkit/><meta name=force-rendering content=webkit/><meta http-equiv=X-UA-Compatible content=IE=edge,chrome=1/><metahttp-equiv=Content-Typecontent=www.zyhsqjfw.com;charset=gb2312><meta name=viewport content=width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no></head>.s-ps-sug table{width:100%;background:#fff;cursor:default}.s-ps-sug td{color:#000;font:14px arial;height:25px;line-height:25px;padding:0 8px}.s-ps-sug td b{color:#000}.s-ps-sug .mo{background:#ebebeb;cursor:pointer}.s-ps-sug .ml{background:#fff}.s-ps-sug td.sug_storage{color:#7a77c8}.s-ps-sug td.sug_storage b{color:#7a77c8}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .sug_del{font-size:12px;color:#666;text-decoration:underline;float:right;cursor:pointer;display:none}.s-ps-sug .mo .sug_del{display:block}
.s-ps-sug .sug_ala{border-bottom:1px solid #e6e6e6}

head标签作为一个容器,主要包含了用于描述 HTML 文档自身信息(元数据)的标签,这些标签一般不会在页面中被显示出来。

...全文
144 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

48

社区成员

发帖
与我相关
我的任务
社区描述
BSV区块链(BSV Blockchain)是唯一遵从2008年发布的比特币白皮书宗旨的全球公有链,具有稳定性、可拓展性、安全性、支持安全即时交易四大核心特性。
区块链 技术论坛(原bbs)
社区管理员
  • BitcoinSV社区
  • m0_61093267
  • 吴小花❀
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧