10

面部识别设备中存在多处可利用的漏洞

 3 years ago
source link: http://netsecurity.51cto.com/art/202010/628382.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

为了对面部识别设备中存在的安全性问题有更细微的了解,研究人员分析了四种不同模型的安全性。研究人员的案例研究表明,恶意攻击者可能会滥用这些漏洞来攻击设备。

指纹读取器、虹膜扫描仪和面部识别摄像头等生物识别安全解决方案已被广泛用于管理面部设备安全的操作。但是这些生物特征认证器通常在计算上很繁琐,例如,传统的面部识别安全解决方案使用外部服务进行验证用户所需的计算。现场摄像机拍摄图像,然后将其发送到进行处理的基于云的服务。在大规模的安全验证中,身份验证和用户验证之间会出现延迟,向身份验证服务发送大量图像数据也会导致网络带宽消耗问题。

Ar2Yjeq.jpg!mobile

为了解决这些问题,安全解决方案制造商正在将边缘计算用于基于面部识别的访问控制设备。在这种架构下,设备本身就是边缘节点,并且配备齐全,可以直接验证用户图像。这些具有边缘计算功能的设备仅依赖外部服务来进行协调和维护任务。

由于没有在网络上传输用户映像,因此该体系结构减少了延迟和网络带宽消耗。但是,对于在验证过程中配备有更高计算能力和更多职责的低功耗“哑”设备(多数的自动化设备不开放接口,即所谓的哑设备))存在安全方面的担忧。

为了更全面地了解面部识别设备中存在的安全问题,研究人员分析了四种不同型号的安全性:ZKTeco FaceDepot-7B,海康威视DS-K1T606MF,Telpo TPS980和Megvii Koala。

实验设置

设备及其服务器组件(如果适用)是在隔离的测试网络中设置的,研究人员的安排模拟了这些设备在企业环境中的正常运行方式。如图1所示,该设置包含三个组件:

  • 门禁设备:这是正在测试的门禁设备;
  • 中间人(MitM)设备:此设备用于透明地捕获访问控制设备和相应服务器组件之间的网络数据包;
  • 管理服务器:访问控制设备通常随附包含服务器组件的软件套件, 服务器组件已安装在此管理服务器中。

V7JvUv3.png!mobile

研究人员用来评估访问控制设备安全性的设置图

设备硬件中的漏洞

ZKTeco FaceDepot 7B室内面部识别站

尽管设备本身采用的是固定的平板电脑尺寸,但如图2所示,设备底部暴露的USB-A端口使其容易被误用。服务该设备的技术人员使用该USB端口更新设备固件,但恶意用户可能会在该设备上安装Android软件包(APK)。

Ez26nqQ.png!mobile

ZKTeco访问控制设备底部的一个暴露的USB端口

Telpo TPS980门禁终端

该设备有一个用于面部识别的前置摄像头,升级后的机型配有两个摄像头和一个可选的红外摄像头。如图3所示,设备后面是RS-485、Wiegand和数字输出接口,还有一个用于调试的USB端口。在设备的背面还可以看到它的序列号。在下面的章节中,我们将详细介绍攻击者如何在恶意攻击中使用这些功能。

A7Z3Anq.png!mobile

Telpo访问控制设备的正面和背面

滥用管理员访问权限

此设备管理界面的唯一保护是密码,通过使用设备的可见序列号,研究人员可以使用cURL命令从Telpo云服务器获取设备密码和其他敏感信息:

AjIJJ3.png!mobile

获取密码后,研究人员可以自由管理该设备。此访问级别附带的可能操作包括创建新用户和更改设备参数,例如,活动检测。动态检测功能可以区分静态图片和真人。关闭此功能会使设备更容易受到静态图像的欺骗。

此外,由于所有连接到Telpo云帐户的设备都共享相同的密码,因此研究人员也可以访问其他设备。

使用通过序列号获得的client_secret信息(在前面的代码片段中突出显示),研究人员还可以发现可用于远程管理设备的access_token密钥。研究人员在以下cURL命令中显示此代码:

MZ3YzqY.png!mobile

使用access_token密钥,研究人员现在可以远程管理连接的设备。可能的远程管理任务包括获取用户列表(包括他们的照片)、注册新用户以及更新用户的详细信息(例如姓名和照片)。使用此技术时,可能会阻止恶意攻击者的唯一问题是密钥在生成一小时后过期。

通过USB端口加载恶意文件

该设备的功能类似于普通的Android设备,这意味着恶意攻击者可以使用USB端口启用MTP(媒体传输协议),并在设备的默认配置中传输文件。幸运的是,Telpo禁用了命令行工具Android Debug Bridge(adb),该工具可使用户直接与Android设备通信以进行应用程序安装、系统修改、文件传输和其他设备操作。

但是,仍然可以通过连接到USB端口来收集用户信息。注册用户的面部存储在路径/Telpo_face/Registered Image/中。攻击者可以访问这些文件,每个文件都使用用户名和内部ID命名,例如“John Doe-1368.jpg”。

未加密和不安全的网络流量

ZKTeco FaceDepot 7B室内面部识别站

设备和服务器之间的网络流量是通过纯文本HTTP完成的,这为恶意攻击者留下了开放的途径,然后他们可以轻松访问通往IP摄像机设备的网络,并嗅探设备与服务器之间的网络流量。这样,攻击者可以获取进行攻击所需的信息。

在这种情况下,恶意攻击者可以收集的最重要数据是令牌值。这是设备和服务器之间的共享秘密,在设备首次向服务器注册时设置。因为令牌值随设备的每个HTTP请求附加到cookie标头,所以研究人员能够获得令牌值,如图4所示。

5af91acb931f56cb8ab169974f466378.png

存储为cookie的令牌值

从研究人员观察到的结果来看,服务器识别IP摄像机设备的唯一方法是通过此令牌值。如果获取了令牌,则任何HTTP客户端都可以模拟服务器上的访问控制设备。在研究人员的例子中,研究人员使用cURL在获得令牌后模拟访问控制设备。研究人员还观察到令牌值似乎没有过期。两周后,研究人员使用相同令牌进行的同一实验仍成功进行了攻击。

通过cURL注册一个新用户

拥有管理员权限的人可以添加新用户,管理员获取新用户的照片和个人详细信息,然后设备将这些信息上传到服务器。如前所述,服务器通过令牌值对设备进行身份验证,因为流量属于明文,令牌值很容易获取。

使用研究人员获得的令牌值,研究人员可以向服务器发送HTTP请求,以模拟用户注册流量。以下cURL命令序列将一个新用户注册到服务器:

c29a19c602418cac79dc22ea4bfc664d.png

第一个cURL命令为新用户注册元数据,在本例中,用户ID和PIN都设置为“11111”,权限设置为“0”(普通用户),名称设置为“Bogus”。第二个cURL命令为新用户设置照片。这张照片将是面部识别的基础。该设备将图像上传到服务器,然后服务器将该图像传播到其他连接的访问控制设备。

userdata.post文件包含研究人员通过POST提交给服务器的数据,在研究人员的例子中,文件包含以下内容:

AzAneam.png!mobile

在服务器和连接的访问控制设备之间的下一次同步事件中,所有设备都将识别新用户。

通过cURL将用户权限提升为管理员权限

使用令牌值也可以将用户提升为管理员,为此,研究人员使用了以下cURL命令:

MFJBjeE.png!mobile

cURL命令将特权设置为“14”,这是使用户成为管理员的值。服务器和所有连接的IP摄像机的下一次同步后,所有设备将识别新管理员。

如前所述,任何获得令牌值的人都可以模拟设备和服务器之间的网络流量。我们还发现可以从更新命令中获取用户照片和数据。

Megvii Koala人脸识别门

Megvii Koala有两个版本:一个是在线版本,其数据库托管在云中;一个是离线版本,用户托管在本地的数据库。在脱机版本中,访问控制设备和服务器之间的网络流量是通过HTTP完成的。由于HTTP流量的纯文本性质,此版本容易受到远程攻击。

研究人员发现可以模拟已连接的访问控制设备并发送将识别并验证的服务器数据,为此,研究人员使用了设备的媒体访问控制(MAC)地址,该地址可以通过Nmap在网络上以明文形式找到,或者在某些情况下在设备背面打印。研究人员发送了带有MAC地址的cURL请求,以诱骗服务器认证注册用户并不再进行安全防护。以下是此技术的一个示例:

YniUv2m.png!mobile

它使用以下值:

  • MACADDRESS:这是连接的访问控制设备的MAC地址;
  • 0:这是为fmp_threshold设置的值,以禁用活动性检测例程;
  • mugshot.jpg:这是预先注册的用户的照片。 服务器将使用该图像进行面部识别程序;

如果操作成功,则服务器将返回以下JSON数据:

NRrAVje.png!mobile

返回的JSON数据的重要部分如下:

807ebc6f4cdf94cebdb3b2d190ee9ab0.png

如果can_door_open的值为“true”,这将向门发出释放锁并打开的信号。

这种方法要求恶意攻击者首先拥有注册用户的图像,他们可以很容易地获得这些图像,他们可以简单地在社交媒体平台上搜索公司员工的照片。有了图像,即使实际用户不在附近,他们也可以远程解锁门。

海康威视DS-K1T606M人脸识别终端

对于此设备,研究人员注意到与服务器的通信似乎是编码的自定义二进制格式。有迹象表明该协议未加密,这样攻击者就可以从网络数据包中读取设备的序列号。

但是,即使所使用的协议是二进制编码的,并且也没有记录在案,仍然有可能从服务器和设备之间的网络流量中获取数据。当一个新用户使用一个设备来注册他们的信息和面部图像时,设备会在下一次服务器同步时将数据上传到服务器。在同步过程中,可以从网络流量中获取用户信息甚至人脸识别图像。

优秀做法和缓解措施

针对特定技术的安全实践很少被应用到其他不同的应用中,当研究人员查看将HTTP用于API通信时,这一点很明显。HTTP是在20世纪90年代为桌面web浏览器引入的,经过多年的改进,安全实践得到了改进:加强协议、确保通信加密、确保会话不可重用等等。对于相对较旧的技术而言,边缘计算是一种相对较新的媒体,并且许多边缘设备制造商尚未采用这种安全措施。研究人员的案例研究表明,诸如访问控制摄像头之类的关键设备如何依赖经过实践检验的协议(如HTTP),但是部署的系统却缺少某些安全点。

为了缓解依赖这些设备所涉及的风险,企业用户可以遵循以下安全部署准则:

  • 检查设备本身的安全性,并对任何基于边缘的安装执行风险分析;
  • 管理硬件漏洞,例如可见的设备信息和可访问的端口;
  • 将边缘设备及其服务器隔离在网络空间中,并使外部用户无法访问它们;
  • 采用基于网络的IP过滤(例如,以防火墙或访问控制列表的形式),以仅允许来自批准的网络端点的通信;

除了以上漏洞外,研究人员还发现更多的安全问题,并在研究论文“识别和授权:偷偷通过基于边缘的访问控制设备”中阐述了其他缓解措施。

【责任编辑:赵宁宁 TEL:(010)68476606】


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK