查看原文
其他

看不见的热攻击之攻击手机锁屏密码(二)

2017-03-31 hanbingxzy 看雪学院

THERMALANALYZER(热分析器)

下面,我们将介绍 ThermalAnalyzer 的设计和实现。此 ThermalAnalyzer 由捕获图像的热像仪和用于提取 PIN 和图案的识别流水线组成。


识别流水线

识别流水线由六个步骤组成,用于从图像中提取PIN或图案(图2)。这些步骤使用OpenCV(http://opencv.org/)实现,包括帧提取、预处理、噪声和背景去除以及阈值处理。最后一步是特征提取,以推导出接触点的位置和温度信息。


帧提取和相机配置

我们使用 Optris 热像仪 API(http://www.optris.com/software)捕获了热像。使用处理器间通信,我们以 16 位颜色格式的帧捕获温度信息的编码。我们使用其API来配置相机以捕获在 19℃ 到 32℃ 之间的温度。这是为了实现表示如图 2 所示的不同温度值的较高的颜色对比度。对于每个被捕获的帧,都会有预处理过程被执行。这包括噪声过滤、背景去除和阈值处理。


噪声过滤

我们吸收了论文[1,32,42]所使用的噪声过滤处理过程,采用 5x5 像素的中值过滤器,将图像转换为灰度图并重新应用过滤器来增强降噪。


背景去除

为去除背景,我们构建了半静态背景模型。就我们来说,静态模型是首选的,因为我们希望检测到的热痕迹持续多个帧,且不被动态背景模型吸收。然而,另一方面,在操作过程中,需要一个动态模型来容忍设备的轻微温差。因此,我们构建了一个半静态背景模型,其中更新由学习速率(α)参数控制,该参数是控制背景模型更新速率的值。为 0.001 的 α 值在初步试验中表现最好。结果,密码输入产生的最新热痕迹仍处于前景,而与环境温度没有太多差异的热痕则与背景相融合。


阈值处理

为了区分与识别热痕迹相关的区域(图2),我们使用了 Otsu 的阈值处理方法[37]。基于 Otsu 算法的动态计算的阈值,帧被分为两个之间有最小重叠的像素组。然后,我们应用了一个额外的形态closing(注:逼近?)操作来突出显示阈值前景的边界并除去背景。


特征提取

我们的特征分为(1)用于 PIN 检测的圆形痕迹,以及(2)用于图案检测的线条痕迹。

通过从二进制图像中提取轮廓可检测出热迹线,在提取时,要扫描图像来检测轮廓数组。类似于 Sahami 等人的工作,我们使用圆形拟合轮廓检测来识别 PIN 输入。轮廓中心从提取出的轮廓的空间矩计算出。为检测圆形拟合的热迹,我使用相同的方式,采用 Hough Transform(注:霍夫变换)提取线形拟合轮廓检测来识别输入的图案,如图 2 所示。


PIN 和图案顺序检测

在处理流水线的这一步,已经从捕获的帧中提取了 PIN 或图案输入,但没有关于输入顺序的信息。为了推断 PIN 的顺序,我使用带虚拟输入键盘的预设帧,采用正方形来识别 PIN 位置。正方形表示整个有效区域(ROI,regions of interest)。Mowery 等人报告说,以平均温度表示 ROI 收获了最佳的恢复输入序列顺序的性能。因此,我们计算每个 ROI 的平均温度,并根据其权重排序。

为了识别重复条目,我们计算每个数字的总体平均温度。从而减去背景温度。因此,从未按下的数字将具有几乎为零的温度值。所以,重复输入(即被多次触摸的数字)具有超过总平均值的值。可以从检测到的按压总数的相对温度值推断重复的数量。总之,给定一个四位数的 PIN,将有四种检测结果:

        1. 四种不同的热痕:这意味着没有重复。因此,以降序的方式根据其温度排列痕迹刚推断出(注:PIN密码)序列。

        2. 三种不同的热迹:具有 T_contact 温度的热迹是PIN中的最后一个输入,因为它会保持 T_contact 值。这为剩下的序列留下了 3 种可能性,这足以让攻击者尝试而不被锁定。然而,这种方法将与最近捕获的帧一起才起作用,因为热痕,即 T_contact,随着时间推移衰减。

        3. 两种不同的热迹:根据权重的相对比例确定每个数字的重复次数。然后规范化权重将显示最后触摸的数字。一旦识别出最后一位数字,攻击者可以判断它是重复的数字(即其他副本位于第1、2 或 3 位,而剩余的数字根据其热痕排序),或最后一位数字不是一个重复的数字,因而攻击者有3种不被锁定的尝试可能性。

        4. 一个热迹:这意味着 PIN 由相同的数字重复4次。

        由于热痕迹衰减,可能会遇到前三种情况之一。在这种情况下,我们认定丢失的数字为不明数字,并将其设置为 PIN 的开头(例如,如果检测到 3 个痕迹,没有重复的证据,则第一个数字被标记为未知,其余的三个按照他们的温度权重排序)。

        对于图案,遵循相同的方法,其中提取的线根据其平均温度进行分析和排序。另外,比较所提取线的两端温度可识别此线的方向。我们的算法不考虑特殊图案长度,因此我们将可用的热迹线呈现可再生图案。

        更保守地分析,ThermalAnalyzer 没有针对特定长度(最大为 9)的图案检测进行优化。这是因为在我们的威胁模型中,而且很可能也是在真实情况下,攻击者不知道图案长度。这意味着在 ThermalAnalyzer 产生长度为n而不是9的猜测的情况下,剩余的 9-n 个热痕迹在攻击时已经消失。

  图3:设置用于拍摄手机屏幕的热像仪


收集热像

尽管过去几年引入的各种认证方案,但个人识别码(PIN)是最常用的方案之一。此外,随着 Android 设备在市场上占主导地位,图案越来越多地被采用,这是一种 Android 图形密码方案,用户可在其上的3×3网格中绘制一个可显示的由点的连接构成的线条图案。

在这项研究中,我们分析了用户输入密码后智能手机屏幕的热像。我们使用 ThermalAnalyzer 分析这些图像,并特别关注于理解(1)不同的认证方案,(2)密码输入和攻击之间的时间,(3)密码属性影响热攻击可行性。


设计

该研究采用重复的测量设计,所有参与者都接触到所有情形。我们研究了三个独立变量对成功热攻击的影响:(1)密码类型:所使用的方案是PIN还是图案,(2)热痕迹的年龄:我们分析验证后0,15,30,45和60秒的热痕,以调查它们可以被攻击者利用多久,以及(3)PIN 和图案的特性。

对PIN码,我们研究的属性是 PIN 中副本数。一方面,副本扭曲了热痕迹,使输入顺序不好区分;另一方面,副本的存在减少了密码空间,这意味着来自热攻击的较少信息将足以揭示密码。

我们研究了无重复,1 重复和 2 重复的影响(例如分别为 1236,1223 和 3222)。例子分别显示于图1a,1b和1c。对于图案,我们调查了图案中重叠数的影响。当用户的手指通过已被选中的节点时则发生重叠。我们预计重叠可能使热迹线扭曲,足以使得不可能重建输入的图案。我们研究了在图案中有一个,两个或没有重叠的影响(分别参见图1e,1f 和 1d)。


仪器

我们的设备有两个三星 Galaxy Note Edge 智能手机,一个热相机(Optris PI450 [http://www.optris.com/thermal-imager-pi400])和一个 GoPro Hero3 RGB 相机,均安装在三脚架上。一个智能手机用于练习密码,另一个用于实际输入。热像仪具有 382×288 像素的光学分辨率和 80Hz 的帧速率。它能测量 -20℃ 和 900℃ 之间的温度,并具有作为噪声当量温差(NETD,是指被解释为对象温差的电子噪声)的 0.04℃ 的热敏感度。相机拍摄的波长在 7.5μm 和 13μm 之间的光谱范围内。镜头提供 80°×58° 的视场。热敏相机使用 USB 作为电源以及传输数据。它提供以 16 位彩色值形式编码的温度信息。

为了确保在预期时间记录下热痕迹,我们在相机前面距离 80 厘米的使用位置标记(参见图3),以指示为了借助热像仪记录热痕迹的智能手机的最佳放置位置,同时这样最小化热反射。另外,我们使用 RGB 摄像机记录了整个研究。此RGB视频反馈在之后用于确定用户手指不再接触屏幕的时间。


参与者和过程

我们使用大学邮寄名单招募了 18 名参与者(10 名女性和 8 名男性),平均年龄为28.3岁(SD = 4.7)。所有参加者都是不同专业的学生。两名参与者是左撇子。没有一个参与者曾经接触过过热相机。

参加者到达实验室后,我们首先要求他们签署同意书并说明研究的目的。接下来,我们将一组印在卡片上的PIN和图案以及两个智能手机交给参与者。为避免输入错误和暂停,我们要求参加者首先通过在练习机上多次输入密码来预先熟悉密码。我们指示参与者输入密码,然后立即将用于研究那个智能机放在他们前面的桌子上的位置标记上(参见图3)。我们在每个输入之间等待了三分钟,以确保上一个输入的热痕完全衰减。每个参与者输入了每种类型的三个密码(即18个密码)。其顺序使用拉丁方来反平衡。

研究花了大约40分钟。我们视频记录了研究过程,以对输入时间的进行事后分析。在整个实验中,除手机温度外,我们还记录了参与者的优势手(即用于输入密码的手)的温度。实验在稳定于24℃的室温下进行。

为了分析热攻击,我们考虑了两个方法:(1)目视检查热迹和(2)使用我们的计算机视觉方法 ThermalAnalyzer。分析由作者之一完成,其不知道而且从未看过输入密码列表。另外,反馈来自于热像仪的分析。早期使用 ThermalAnalyzer,此作者报告了存储于 csv 文件中的包含所有可能组合的重新生成的PIN和图案。

        图4:该图显示当衰减时间为0、30、60秒时输入的PIN(顶部)和图案(底部)导致的热迹。


结果

为了评估针对 PIN 和图案的成功热攻击,我们测量了

        1. 成功率:热攻击成功显示整个密码的案例百分比

        2. Levenshtein距离:产生的猜测与正确密码之间的距离。

成功率和 Levenshtein 距离在前人研究中用以反映成功攻击率的高低程度(成功率)以及猜测与真实密码之间距离接近程度(Levenshtein距离)。

我们目视检查了数据中的热图像样本(3名参与者)。但是,我们无法通过视觉恢复PIN的整个顺序,也不能恢复图案的方向。这在图1a中是显而易见的,图中识别 3 和 6 的顺序对于肉眼来说是具有挑战性的。另外,图案的起始点不是视觉上可以推导的(见图1e)。因此,我们只考虑了 ThermalAnalyzer 的 PIN 和图案。我们调查了三个独立变量的影响:(1)认证方案,(2)热痕年龄和(3)密码特性。在研究期间执行的任务通常需要 26% 至 44% 的 CPU 使用率。

本文由 看雪翻译小组 hanbingxzy 编译,来源 HIC Group@vis.uni-stuttgart.de


❤ 往期热门内容推荐



更多优秀文章,长按下方二维码,“关注看雪学院公众号”查看!



看雪论坛:http://bbs.pediy.com/

微信公众号 ID:ikanxue

微博:看雪安全

投稿、合作:www.kanxue.com

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存