阅读:0
听报道
论文题目
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)。
要发动这个攻击,一共分四步:
观察受害的小肥羊使用键盘输入密码;
稍等一下,期间小肥羊可能离开自己的位置,或者被有趣的东西吸引(总之就是离开电脑);
开动先进的前视红外仪;
分析红外仪中的图像资料,找出密码!
RE. 换只小肥羊,再来一次。
如果第二步进行得不是很顺利,请默默祈祷,如果祈祷也不行的话……管他呢,我们只是研发人员,以后使用这套方案的特工们会搞定这种小事的。
密码分析
在拿到了红外仪拍摄的结果后,教授们进行了详细而缜密的分析,分析首先对输入者们的输入方式进行了一个分类:
二指禅(Hunt-and-Peck)
六脉神剑(Touch Typists)
九阴白骨爪(Acrylic Nails)
二指禅,顾名思义就是打字只用双手食指的人。在通过红外成像,教授们研究了这类输入者的输入模式,并观察了在简单和复杂密码两种情况下键盘红外成像的变化。
图5、图6中纵坐标为时间,横坐标中,每一组为一个密码。在每个红外图像的开始,被按压过的每个键都残留着热量,随着时间流逝,键上的热量会慢慢消失,体现在图像上即为键的缺少,每组密码中的D 0表示缺少0个键,D 1表示缺少一个键。
在本实验中,针对不同难度的密码都招募了数十位志愿者,所以纵坐标的时间,为当前类(二指禅)输入者的平均时间。
所以对二指禅的使用者来说,根据上面的直方图,不论是简单的密码,还是复杂的密码,似乎只要根据热量依次消失的位置,就能够获得密码!
键盘敲不好,密码会被盗啊!
六脉神剑,当然不是指用六根手指打字的人,而是指打字时能够十指并用的输入者,这类输入者左右手分别覆盖键盘的不同区域,在实际开始输入的时,左右手如果迅速依次按压键帽,可能出现多个键迅速冷却的情况。在红外成像中的体现就是输入模式更加复杂。
图7、图8的坐标轴含义与图5、图6相同。图7、图8中体现出这种输入者模式更复杂的地方是——图中存在多个键几乎同时迅速消失的情况,有的甚至与单个(第一个)键消失的速度相当。
除了复杂的输入模式,在打字的间歇,这类输入者的手一般会放置在键盘的正上方,有时候可能会与键盘保持轻微的接触。这给红外成像带来了极大的干扰。极有可能输入者并没有敲击某个键,但是却因为接触在图像上产生热区从而误导攻击者。
从速度到假动作,全方位抵抗微暖攻击!
尽管如此,对于一个真正的黑客来说,还是能通过微暖攻击来获得用户最近使用过什么键位,再以此通过其他重新排序算法,来降低传统的暴力枚举破解法的计算量。
九阴白骨爪,在小说中,这是一种令很多人无可奈何的功夫。在实验中,教授们观察到了一类输入者,她们大多是女生,有好看的长指甲,所以打字时,也自然是用指甲尖敲击键帽,根本不会发生热交换啊。在现实中,这种功夫也让教授们无可能奈何。
结语
尽管本文提到的破解密码的方法看起来有点科幻,而且实用性可能不太高。但是这种方案的存在,和理论上基本可行,也总会被除了研究者之外的真正黑客,在我们意想不到的场景使用,并且对我们的信息安全造成威胁。
为了应对这种情况,我们可能需要勤练指法来降低自己的中招风险(女同学们可以直接留指甲),同时也期望智慧的科学家和研究者们早日研究出替代手动输入密码的安全方案,为我们未来的生活保驾护航。
ps:本文所有设备选购,模拟攻击表演图片均来自论文原文,作者只是搬运工。
作者:彩云小译七号
审校:刘培源
编辑:王怡蔺
话题:
0
推荐
财新博客版权声明:财新博客所发布文章及图片之版权属博主本人及/或相关权利人所有,未经博主及/或相关权利人单独授权,任何网站、平面媒体不得予以转载。财新网对相关媒体的网站信息内容转载授权并不包括财新博客的文章及图片。博客文章均为作者个人观点,不代表财新网的立场和观点。