COVID-19接触者追踪应用程序的隐私研究

 

COVID-19流行病毒已蔓延至全球,并导致大量生命的消逝。为了有效应对这种大流行病,已经开发了许多数字接触者追踪移动应用程序。不幸的是,许多此类应用缺乏透明度,因此产生了对其安全性和私密性的担忧。

在本文中,力求对全球官方的接触者追踪应用中的隐私问题进行系统的跨平台研究。为此总共收集了41个已发布的应用程序,其中许多都在iOS和Android平台上运行,并分析了它们的文档和二进制代码。结果表明,某些应用程序公开了可识别的信息,这些信息可启用应用程序的指纹识别功能并追踪特定用户,从而引发安全和隐私问题。此外,即使某些应用程序是为同一目的而设计的,但它们在不同的移动平台上的数据收集行为却不一致。

 

0x01 Abstract

自2019年12月首次出现以来,COVID-19已在全球180多个国家迅速蔓延,仅在短短几个月内死亡人数就已超过700,000。在撰写本文时,只有少数几个国家成功地控制了它。根据他们的实践,接触者追踪是监视和控制病毒传播的广泛认可的有效策略。

接触者追踪是一种传染病控制策略,旨在识别可能与感染者接触过的人。这不是一项新技术,并且在过去的大流行病中都曾使用过,包括2003年的SARS和2009年的H1N1。常规上,接触者追踪是从收集感染患者的必要信息开始手动进行的,例如通过广泛的采访得知他们去过的地方和遇到的人。不幸的是,由于不可靠的人类记忆以及与陌生人的联系,人工接触者追踪可能会导致不准确。此外,人工接触者追踪还会导致较大的延迟,这可能会降低其有效性。

为了克服人工追踪中的上述问题,近来已经开发了许多数字接触者追踪系统,其使用摄像机镜头,信用卡交易或蜂窝网络(例如,蜂窝塔)或智能手机中的信息。其中,出于至少两个原因,使用智能电话中交换和存储的信息进行自动接触者追踪被认为是最有前途的解决方案之一。首先,智能手机无处不在。如今,全球有35亿智能手机用户(占总人口的1/3),并且超过77%的美国人拥有智能手机。其次,智能手机拥有许多传感器和通信渠道。例如,智能手机可以轻松地从GPS传感器获取位置信息,通过蜂窝网络或Wi-Fi与互联网通信,并直接使用蓝牙在彼此之间交换信息。

尽管基于智能手机的数字接触者追踪非常有前途,但是它引起了隐私问题,因为如果设计和实施不当,它很容易成为监视系统。要进行操作,接触者追踪应用程序需要其设备收集大量隐私信息(例如,用户的可识别信息)。但是,这种数据收集过程缺乏透明度。也就是说根据观察,到2020年6月,只有少数官方接触者追踪应用程序是开源的,而大多数仍是开源的。尽管这些应用程序中有许多已经宣布将应用隐私保护协议,但是这些公开披露的协议也被批评为在一定程度上牺牲了隐私。例如,即使没有使用实际位置的Bluetooth LoEnergy(BLE),它也可能会发生各种数据泄漏,同时当局或其他用户也可以将受感染用户的身份去匿名化。

由于缺乏透明度以及对隐私的关注,希望对政府和医疗机构发布的官方移动接触者追踪应用程序进行系统的研究。尽管有很多方面需要考虑,但着重于以下几个方面:(i)收集了哪些类型的与隐私相关的信息(即显示一个人的身份的信息)用于接触者追踪? (ii)是否正确设计和实施了这些应用程序,以避免隐私泄露? (iii)是否将数据传输到其他方,例如服务器或其他用户,以保护隐私(例如,是否已保护数据免受窃听,追踪和去匿名攻击)? (iv)这些应用在不同的移动平台上是否表现一致?

为此,截至2020年6月15日,在Android和iOS平台上收集了41个官方移动接触者追踪应用程序集(总共26个独特的应用程序),并使用了一系列技术来分析接触者追踪应用程序的数据隐私。具体来说,对于每个应用程序,首先会识别接触者追踪相关的API,以检测该应用程序是使用GPS还是BLE来追踪用户。接下来,对应用程序进行去编译,并对代码进行分析,以识别为接触者追踪收集的与隐私有关的数据,包括用于BLE广播的数据和与GPS数据一起收集的数据。最后,将Android和iOS相同应用的结果进行交叉比较,以研究其行为差异。

 

0x02 Background

1)数字接触者追踪

长期以来,公共卫生部门一直使用接触者追踪来监视和控制传染病的传播。本质上是追踪系统,它必须收集相关数据(例如位置)来追踪联系方式。与大多数基于位置的追踪(例如地图导航)不同,后者必须将用户精确定位到特定的物理区域,例如,具有以经度和纬度标记的确切物理位置的特定建筑物,并非所有用于接触者追踪的数字技术都需要此类精确数据,因为接触者追踪的目的只是为了了解两个人是否非常接近。因此,可以将用于追踪的数据类型分为以下两类。

(I)用于位置追踪的数据:收集人员曾去过的确切位置并将这些位置与时间戳联系在一起是追踪用户的最直接方法(例如,地理位置定位驾驶员)。同时,智能手机可以通过读取硬件层(例如GPS传感器)或软件层(例如有关Wi-Fi热点的信息)来提供各种数据,这些数据可用于查明Wi-Fi的特定位置。用户。根据用户的追踪方式,可以进一步将用于位置追踪的数据分为两个子类别。

–基于连续坐标的数据:可以通过其GPS坐标识别位置。要获取此类数据,可以直接从其嵌入式GPS传感器读取智能手机的坐标。还可以使用手机信号塔和Wi-Fi来估计整个区域内的大致位置。此外,甚至IP地址也可以用于猜测精度较高的位置,例如街道地址。

–基于离散地点的数据:除了使用连续坐标追踪用户外,还可以分析基于用户的饮食场所的运动。例如可以通过使用固定的监视摄像机来知道用户访问过的地方,要求用户在某些地方通过二维码签入,甚至收集包含位置信息的信用卡的交易记录。通过收集离散的地点,可以发现用户访问过的地点。

(II)用于邻近跟踪的数据:与常规的位置跟踪不同,理论上,邻近跟踪仅测量两次相遇之间的距离,而无需任何精度级别的任何可识别的位置信息。另外,它需要用户之间的数据交换。在这种情况下,蓝牙低功耗(BLE)是一种非常适合的技术,因为它的信号强度可用于估计距离以及低能耗。

2)邻近跟踪中的BLE

BLE是Bluetooth Low Energy(蓝牙低功耗)的缩写,是一种无线通信技术,具有较低的能耗。近年来,它已广泛应用于可穿戴,智能家居,信标和汽车加密狗中。其功能非常适合用于移动接触者跟踪,这有以下三个原因。 (i)BLE仅消耗少量能量以保持其正常运行; (ii)由于设计只需交换少量数据,因此可以满足邻近性跟踪的要求; (iii)BLE信号功率的强度可用于计算两个触点之间的距离,这是接近跟踪的必需功能。此外,在BLE通信中,有两个重要的组件值得一提,即GATT和UUID。

GATT:通用属性配置文件(GATT)是两个BLE设备之间通信的基础,它定义了传输数据的过程和格式。 GATT具有两个主要属性的层次结构:服务和特征。特别地,每个服务代表一个特定的属性并包含许多特征,并且每个特征都存储具有该属性的数据。另外,特征可以包括几个描述符以提供其详细信息。

UUID:通用唯一标识符(UUID)是BLE通信中的重要组成部分。它是用于唯一表示属性(如服务,特征和描述符)的十六进制字符串。此外,UUID可以是SIG批准的,也可以是特定于供应商的。也就是说,从理论上讲,每个UUID应该是全局唯一的,并且蓝牙SIG已提供了一组标准UUID。例如,根据Apple / Google的“通知暴露”协议,蓝牙SIG已将服务UUID 0xFD6F分配给接触者跟踪。但是实际上,SIG还允许不同的制造商出于特定目的使用其自定义UUID(该UUID必须与标准UUID有所不同)。

BLE通信的工作流程: BLE通信的工作流程涉及三个主要过程:(i)广播和连接,(ii)配对和绑定以及(iii)通信。

–广播和连接:在BLE中央设备和BLE外围设备之间建立连接。要启动连接,外围设备需要广播其通告数据包以声明其存在。每当中央设备注意到这样的外围设备时,它就可以基于广播分组内携带的数据(例如,UUID)来主动建立连接。

–配对和绑定:建立连接后,中央和外围设备需要创建一个通道以进行安全通信。建立这种通道的过程是配对和绑定。尤其是,配对过程通过交换支持的配对协议(如welas协商用于数据加密的长期密钥(LTK))而起作用。然后,bondin进程将要求两个设备存储此类LTK,并使用此密钥对通过已建立通道传输的数据进行加密。

–通信:配对和绑定之后,现在两个配对的设备可以通过交换格式遵循GATT层次结构的数据来相互通信。特别地,中央设备首先从广告分组或直接从外围设备获得服务和特性的列表。接下来,利用特性列表,如果拥有足够的权限,中央设备可以对存储在特性中的值进行操作,例如读取和写入。

通常,有两种方法可以使用BLE实现接触者跟踪。在第一种方法中,智能手机(充当中心设备时)直接使用从外围设备(另一个智能手机)发送来的已接收广播数据包,并记录从数据包解析的接收到的随机密码ID,而无需真正建立任何连接。因此,每个智能手机也将充当BLEbeacon,这是一种单向发送器,不断广播其标识符,从而使支持BLE的设备成为可能。实现接触者跟踪的第二种方法需要设备相互连接,就像BlueTrace协议中所做的那样。更具体地说,两个设备首先基于来自广播数据包的静态UUID彼此发现,然后建立连接。接下来,他们通过依次写入和读取特定特征来交换接触者信息(例如,用户ID)。

3)集中式与分散式移动接触者跟踪

根据执行接触者检测的位置,当前的移动接触者跟踪系统中有两种典型的体系结构:(i)集中式,其中所有检测都在中央服务器上执行;(ii)分散式,其中每个客户端(即智能手机)执行检测。为此,每个用户(包括诊断出的阳性患者)的遭遇记录会定期在集中式体系结构中上载到中央信任服务器,然后中央信任服务器执行接触者跟踪并通知与患者进行过联系的人。但是,在分散式架构中,仅将诊断出的阳性患者记录上载到服务器,并且每个智能手机都会定期从服务器中提取记录,然后在本地执行检测。关于哪种架构更好,仍存在激烈的争论,尽管趋势正在朝着去中心化的方向发展,特别是考虑到苹果和谷歌设定的去中心化行业标准。

 

0x03 Methodology

1)范围和概述

这项工作的目的是从程序分析的角度分析COVID-19接触者跟踪移动应用程序,重点关注用户隐私(例如,是否存在隐私泄漏或用户数据收集过多)。接下来,定义分析的范围,包括感兴趣的隐私问题和程序代码,然后概述分析。

感兴趣的隐私:尽管移动应用程序中可能存在各种各样的隐私问题,但本研究并非对所有都感兴趣。实际上,其中许多(例如,信息泄漏,过度授予的权限)已在文献中得到了很好的研究。因此,在这项工作中,特别关注用户隐私问题,这些问题是由于滥用用于接触者跟踪目的而收集的数据而引起的。例如,收集什么类型的用户数据?这样的数据可以显示用户身份吗?

感兴趣的程序代码:由于分析是在An droid和iOS应用程序上执行的,因此感兴趣的程序代码将被反汇编或反汇编成Java字节代码,Objective-C代码或Swift代码。

分析概述:分析可以分为三个阶段。特别是,对于给定的Android或iOS COVID-19应用程序,首先对其进行反编译,以识别与接触者追踪有关的API。接下来,基于这些API,确定收集的用于接触者跟踪的隐私信息。最后,对相应应用程序进行跨平台比较分析,以进一步调查同一应用程序的差异。

2)接触者跟踪相关的API识别

1599241879434

进行分析的第一步是确定在给定应用程序中收集的用于接触者跟踪的源信息。有两种类型的接触者跟踪来源:通过BLE通道交换的加密令牌,或从智能手机传感器获取的GPS坐标。幸运的是,所有这些操作都必须通过移动操作系统提供的系统定义的API。因此,识别这些API将能够识别本研究感兴趣的信息源。为此,分析首先对应用程序二进制文件进行了反编译,这是通过包括ApkTool和IDAPro在内的现成工具实现的。接下来,从反编译的代码中,运行一个简单的脚本来扫描和检测上表中定义的API,包括Android和iOS中用于BLE和GPS的所有API。如果调用了BLE或GPS类别中的任何API,则表明该应用很可能已使用BLE或GPS进行接触者跟踪。

3)隐私信息识别

给定公认的API,将进一步标识收集来用于接触者跟踪的隐私信息。更具体地说,需要分析它们的定义位置以及使用方式等,以便识别隐私问题。但是,由于移动接触者跟踪应用程序可以使用GPS或BLE来跟踪用户,因此对于不同的技术,收集的数据可能会有所不同。结果,相应地有两种不同的方法来识别它们。接下来,首先介绍如何识别BLE专用数据的方法,然后介绍如何识别与位置跟踪相关的数据的方法。

(I)识别BLE专用数据

考虑到BLE协议的性质,智能手机有两种交换信息的方式:一种是通过广播BLE数据包(例如BLE信标),另一种是通过建立的BLE连接。结果,根据这两种方式,在下表中总结了适用于Android和iOS的其他相关系统API。例如,star tAdvertising API开始广播BLE数据包,而setValue API设置BLE特性的值。有了这些API,首先会使用它们的名称通过搜索脚本在反编译的应用程序代码中找到它们。接下来,确定了这些API的调用位置,解析了参数值,因为并非所有API都直接进行了硬编码。特别是,由于这些API承载了大量广告配置和数据,因此仅解决可能引起隐私问题的参数,例如特征和广播配置中的广播数据(例如,是否包括设备名称) 。

1599241910742

为此开发了一种工具,该工具使用后向程序切片算法收集程序跟踪,该算法基于Android的Soot和iOS的IDAPro。收集完所有必要的程序跟踪后,需要了解参数(即它们的语义)。尽管存在系统的方法来推断参数的语义,例如利用程序元素(例如,变量名)的ClueFinder,但这些方法需要大量的数据来训练其机器学习模型。在案例中,由于拥有的应用程序数量很少,因此改用了手动方法,其中根据语义线索(例如变量类型,名称,日志和API文档)提取数据语义。

BLE配置标识:基于Android中的AdvertiseSettings API和iOS中的startAdvertising API,能够从功能参数中获取以下配置。请注意,在iOS中,向国外广播的外围设备只能配置设备名称和服务UUID,而其他默认情况下则由系统控制。

–(C1)广播超时:当应用程序将手机转换为外围模式并广播数据包时,它可以设置广播的超时限制。默认情况下,广播没有超时限制。

–(C2)可连接设备:将电话变成BLE外围设备时,并非所有应用程序都允许其他设备连接以进行进一步通信。默认情况下,此值设置为可连接,意味着其他设备可以连接到它并访问(即读取和写入)BLE特性。

–(C3)设备名称:设备名称可以包含在播发的BLE数据包中,默认情况下是OS中定义的设备名称。

–(C4)TxPower:此功率值包含在播发的数据包中,通常在BLE邻近跟踪中用于计算两个用户之间的距离。默认情况下,此值设置为OS定义的中等功率强度。

专用BLE数据识别:在BLE中,隐私信息(例如用户标识符)可以存储在制造商,服务商和特征数据中。因此,利用droid中的AdvertiseData和setValue API以及iOS中的init API来提取这些数据。请注意,还需要通过二进制代码级别的信息(例如变量类型和名称)来手动推断提取数据的语义。

–(P1)制造数据:广播数据包可以携带制造数据以及制造ID,并且可以定制制造数据,其中可能包含私有信息。

–(P2)服务数据:与制造数据类似,该值通常由每个应用程序自定义,因此它也可能包含隐私信息。

–(P3)特征数据:每个特征中存储的值用于设备之间的数据交换,这可能与隐私有关。例如,两个智能手机可以通过从特征读取用户标识符来交换接触者信息。

设备可指纹数据识别。以前的研究已经证明,BLE中的几个属性可以用于设备指纹。因此,重点关注以下可指纹化的BLE数据,这些数据可从BluetoothGattCharacteristic,addServiceU UID,init和initWithUUID API进行标识。

–(F1)制造商ID:制造商ID或公司标识符由Bluetooth SIG为每个成员唯一分配。因此,它可以潜在地用于指纹识别设备的制造。

–(F2)服务UUID:由于每个UUID都是服务或特征的唯一标识符,因此如果它是静态的,则可用于对BLE设备进行指纹识别。例如,附近的用户可能会从broadcastUUID得知某人正在使用某个接触者跟踪应用程序。但是,在BLE邻近度跟踪中,UUID可以是动态值,它会随着时间的推移而迭代,充当用户的匿名身份。

–(F3)特征UUID:类似于服务UUID,静态特征UUID也可以启用指纹攻击,因此也引起本研究的兴趣。

1599241977495

(II)识别位置跟踪相关数据

与通过BLE邻近跟踪收集数据不同,为GPS位置跟踪收集的数据需要先存储在本地设备中(例如,存储在数据库中),然后在测试用户对COVID-19呈阳性时将其提交给中央服务。因此,目前专注于数据库操作的相关API,这些API在上表中列出以标识这些数据。此外,如果收集了一段隐私数据(例如,系统版本和设备名称)并将其与GPS数据一起写入数据库,推测这些数据将最终发送到服务器。

如上表所示,数据库API(例如executeSQL)将SQLstatement作为执行它的输入。因此,从创建表的SQL语句(例如CREATE TABLE table_name(columtype,…))推断出数据语义,分析人员可以在其中理解表的元数据。

4)跨平台比较

由于iOS和Android是两个最主要的移动操作系统,因此,官方的接触者跟踪应用程序通常会同时提供这两种版本,以吸引更多的用户。虽然这些应用程序是由同一政府或医疗机构发布的,但每对应用程序的行为都应以相同的方式进行,这在先前有关其他类型应用程序的工作中已经揭示。但是,跨平台的接触者跟踪应用程序之间是否存在差异仍然是一个悬而未决的问题。因此,在分析的最后一步,进行了跨平台的比较,以了解和评估行为差异。具体来说,对于iOS和Android上可用的每对应用程序,手动比较上一阶段显示的数据的每个角度。例如,比较相同特征下的数据语义(用相同的UUID标识)在两个平台之间,并观察应用程序的行为之间是否存在差异。

 

0x04 Evaluation

已将本文方法应用于一组COVID-19接触者跟踪应用程序。在本节中,首先描述如何在选择这些应用程序,然后显示由这些应用程序收集的已标识的隐私信息,最后显示跨平台研究的结果。

1)COVID-19移动应用程序集

如今,有许多以COVID-19为主题的移动应用程序。在这项工作中,专注于移动接触者跟踪应用程序。其他类型的以COVID-19为主题的应用程序(例如,自我诊断应用程序和治疗指导应用程序)不在本研究范围之内。此外,研究的应用应该已经由政府或医疗机构在Google Play和AppleApp Store上发布和部署。因此不包括仍在开发中或用于演示,概念验证或其他目的的应用程序。

由于没有用于COVID-19接触者跟踪应用程序的集中存储库,因此必须在互联网和应用程序商店中进行搜索,以了解哪个政府或授权部门已发布或计划推出正式的接触者跟踪应用程序。

截至2020年6月15日,总共建立了41个应用程序的数据集,其中包括26个来自Google Play的Android应用程序和15个来自Apple App Store的iOS应用程序。除了仅在Android中存在的一个应用程序(MyTrace),有25个在两个平台上都可用的应用程序。但是,并非所有25个iOS应用都可以下载,因为其中某些应用(例如Stopp Corona)限制了下载位置,无法从作者位置获取它们。此外,对于iOS应用程序,必须使用越狱的iPhone下载它们并从设备中提取应用程序代码。接下来,从以下方面介绍这41个应用程序:

1599242002300

分布:下表中显示了所有41个接触者跟踪应用程序的列表,在上图中绘制了它们的分布。如图所示,可以注意到,接触者跟踪应用程序已部署在六大洲,其中大多数位于欧洲,其次是亚洲,然后是北美。

1599242046281

平台:根据上表的第三列,表明有一个由马来西亚开发的应用程序仅支持Android,而其他应用程序同时支持Android和iOS。

技术:如第四列所示,在这两个平台的26个独特应用程序中,有20个采用BLE邻近跟踪的应用程序,14个使用位置跟踪的应用程序和8个同时使用这两个应用程序以提高准确性的目的。

–架构:基于最大努力,可以确定18个应用程序的对应体系结构。特别是,使用集中式架构实现了12个应用程序,而其余6个使用分散式架构。这意味着在撰写本文时,大多数政府都倾向于使用集中式服务器来收集接触者跟踪数据。

说明:还研究了应用程序的官方描述。具体来说,检查了开发人员是否声称已将数据收集减到最少,数据使用受到限制以及数据破坏,并且结果相应地显示在最后三列中。发现超过一半的应用程序声明了至少其中一项声明,这表明这些应用程序中的许多都知道可以保护用户隐私。

2)评估结果

BLE专用数据:总共有20个应用使用BLE进行接触者跟踪。成功从Android平台上完全收集了所有这些文件,但由于位置限制,只能从iOS平台下载了10个文件。收集到的BLE特定数据可以分为两类:广播数据发送到附近的设备,以及连接智能手机时可以读取的BLE属性数据。下面,将根据结果的类型进行介绍。

1599242105570

广播数据:在上表中,给出了与定义的数据类型相对应的广播参数的测量结果。根据该表的第十列,有10个应用程序使用staticUUID(即,不会随时间变化的UUID)广播。进一步提取了UUID值,并在下表中进行了总结。可以注意到,这些UUID在不同的应用程序中高度定制(即,没有一个应用程序与其他应用程序共享相同的UUID)。结果,通过读取转播的UUID,人们可以对特定的接触者跟踪应用程序进行指纹识别,从而在一定程度上损害了用户的隐私。除了这10个应用程序外,还发现有6个应用程序使用定期循环的动态UUID。这些UUID是随机生成的或通过一些高级密码算法生成的,这意味着它们的开发人员可能会意识到这种指纹攻击。总而言之,有以下主要发现:

发现1:10个应用程序广播了自定义的和静态的UUID,可启用接触者跟踪应用程序的指纹识别。

此外,发现印度的Aarogya Setu应用已在广播数据包中明确包含了设备名称(例如Alice的电话),有趣的是,这种做法仅存在于Android版本中。与在应用程序代码中一样,它调用setDeviceName API以使用用户的unique_id值设置设备名称。使用这样的设备名称可能会引起隐私问题,因为它可以用作跟踪用户的唯一标识符。

1599242145446

BLE属性数据:在上表中,展示了提取的BLE属性数据及其语义。请注意,并非所有BLE应用程序都已配置了此类属性数据,因为某些应用程序仅在广泛的转换数据包中配置信息(例如,使用UUID作为用户标识符)。有趣的是,除了用户标识符外,还发现许多应用程序还收集了其他设备信息。例如,如表中所示,有4个应用程序收集智能手机型号,而1个应用程序收集设备操作系统版本,这些版本被设置为附近设备要读取的特征值。进一步调查了他们的官方文档,发现这些信息可以用作计算设备之间接近距离的因素,从而提高了估计精度。

在这些结果中,主要发现是包括印度的Aarogya Setu和土耳其的Hayat Eve Sigar在内的两个应用程序以可读特性直接存储固定用户标识符。具体来说,Aarogya Setu首先从服务器查询一个uniqueID并将其存储在本地。调用startAdvertising API时,应用程序将检索ID,并将其设置为广告的设备名称和可读特性的值。至于其他应用程序,Hayat Eve Sigar还以可读特征存储当前用户的ID。由于这些属性数据不受保护,一旦连接智能手机即可读取,因此附近的用户可以获得这样的固定ID,这可能导致跟踪特定用户。例如,如果固定ID再次出现在相同位置或不同位置,则攻击者能够将这些位置和ID链接到特定人员。该发现已向这两个应用程序的开发人员公开。

发现2:两个应用程序以其可读的特征存储固定的用户标识符,从而可以跟踪特定的用户。

1599242169432

位置跟踪相关数据:在26个独特的接触者跟踪应用程序中,其中14个已使用GPS进行跟踪。上表显示了收集并存储到数据库中的相关数据的详细结果。然后,将数据手动分为6种类型,包括ID(例如,用户ID),系统版本(例如,Android 7.0),设备型号(例如,三星) Galaxy S6),定位(例如,风景和肖像),UI信息(例如,UI样式和亮度)和内部编号。类似于为BLE收集的设备数据,推测还收集了这些数据以提高距离测量的准确性。

发现3:令人惊讶的是,接触者跟踪应用程序经常收集其他设备信息(例如,系统版本和电话型号)。

3)跨平台比较评价结果

基于之前的结果,进一步对两个平台上可用的应用程序进行了跨平台研究。观察到大多数应用程序具有一致的行为,这意味着它们在两个平台上都收集相同类型的用户数据。有趣的是,还在两个应用程序中观察到一些差异。

这两个应用程序分别是印度的Aarogya Setu和捷克的eRouska。特别是,Aarogya Setu的Android版本在两个特征中包含唯一的ID和布尔值,而在iOS版本中,它具有三个特征:设备ID,设备OS和称为PinggerValue的字段。显然,iOS版本公开设备操作系统信息,而Android版本则不公开。关于应用程序eRouska,其Android版本未指定任何特性,而其iOS版本以可读特性设置了定期更改的用户ID。观察这些差异很有趣,因为在不同平台上的同一对应用程序应该表现一致。怀疑这是由于两个平台之间的开发过程不同。

 

0x05 Discussion

1)局限性

尽管已经对COVID-19接触者追踪应用程序进行了跨平台研究,但仍然存在一些局限性需要解决:首先,收集的应用程序集不完整,尤其是iOS应用程序不受下载区域的限制。此外,鉴于COVID-19大流行的事实继续在全球蔓延,许多国家/地区也可能会推出新的接触者跟踪应用程序以缓解这种情况。因此,对这些新出现的应用程序进行审核以确保用户隐私也很重要。其次,尽管重点一直放在接触者跟踪应用程序的隐私方面,但仍有一些尚待解决的开放研究问题。例如,这些应用程序的安全性如何,这些应用程序的效率如何等等。

2)缓解已确定的隐私问题

确保匿名:发现表明,某些应用程序容易受到指纹和用户身份跟踪的攻击。根本原因是他们使用不会定期更改的静态信息,例如UUID和用户ID。为减轻指纹攻击,所有接触者跟踪应用程序都可以使用UnifiedUUID进行广播。例如,Bluetooth SIG已将0xFD6F UUID [10]保留用于接触者跟踪。为了减轻使用固定ID进行的用户跟踪,开发人员应集成可动态旋转的用户ID,这在许多应用程序(例如eRouska)中都已说明。

提高透明度:研究还发现了Android和iOS应用之间的差异。同时发现大多数设备都收集了过多的设备信息(例如,设备操作系统和型号),其目的仍然未知。此外,截至2020年6月25日,只有少数应用程序是开源的(例如NHSX,Aarogya Setu和eRouska)。总体而言,这些接触者跟踪应用程序的透明度仍可以提高,并且许多与用户隐私有关的技术细节也应向公众开放。例如,收集的私人信息的使用,以及用于距离估计的算法和因素。

 

0x06 Conclusion

在本文中,介绍了COVID-19接触者跟踪应用程序的首次跨平台研究,重点关注用户隐私。从程序分析的角度出发,设计一种方法来识别接触者跟踪相关的API,识别应用程序收集的私人信息,最后对Android和iOS上可用的应用程序进行跨平台比较。

已将方法应用于41个接触者跟踪应用程序(26个Android应用程序和15iOS应用程序),在这些应用程序中,获得了许多与调查结果相关的隐私:一个特定的应用程序使用默认的设备名称进行广播,该默认设备名称可用于对特定的用户进行指纹识别;两个应用程序以特征存储用户的固定ID,这些特征实质上允许用户跟踪;跨平台的两个应用程序之间存在差异。未来的工作包括改进分析,使其更加自动化,审查新出现的应用程序,并检查其他问题,例如COVID-19应用程序的安全性。

(完)