CoVIDSafe(澳大利亚)App Teardown

2020-05-02 17:45:42

这款应用程序现已在澳大利亚😷上市,但遗憾的是,他们决定不公开源代码以实现完全透明。幸运的是,我是一个好奇的家伙,也是一名专业的移动开发人员。

因此,我已经使用免费的开源工具apktool和JadX下载并反编译了Android应用程序。以下是我的发现,供感兴趣的人参考:

首先,这个应用程序不会模糊(混乱);这意味着我们可以将其反编译到几乎与拥有原始源代码一样好的程度。他们可能没有发布源代码,但通过不模糊它来显示透明的意图是很明显的。

这款Android应用程序看起来是用Kotlin编写的,使用了活动、服务、广播接收器、RoomDatabase、Rerofit等行业标准的Android构建模块。

考虑到Android应用程序是Kotlin,我希望iOS是用SWIFT编写的,并使用标准的iOS API。iOS应用程序需要更多的工作来进行反向工程,所以这只是我的一种猜测。

使用RoomDatabase API将数据本地存储在SQLite数据库中。这会将收集到的数据放在应用程序的内部存储中,这是您手机的一个严格保密的安全部分。

这意味着数据使用操作系统安全机制进行保护,其他应用程序无法访问。除非您有越狱设备或故意解锁root权限,否则收集的数据是安全的。

这款应用程序会广播一个独特的Bluete ohLE SSID,其他安装了它的手机可以用来检测到它。重要的是,该应用程序*不会*广播设备名称,因此当另一部手机检测到您时,系统会使用蓝牙地址而不是设备名称来识别您。

然后使用BluetothLeScanner监视广播已知SSID的应用程序的其他设备。基本上,只会拿起并录制其他允许广播的电话。该实现是普通的Android,并且是行业标准。

在数据传输和远程存储方面,该APP要求用户手动上传数据。应用程序中唯一传输数据的位置是UploadDataUseCase:

数据上传通过向您的移动电话发送的一次性PIN请求进行身份验证。这一点很重要,因为所有数据上传都只能通过用户同意。

最后,通过HTTPS将数据传输到使用公钥/私钥对保护的AWS实例。Web开发和安全不是我的领域,所以我将把它留给其他人来验证该端点的位置。

有趣的是,还有一个清理任务可以在21天后自动删除所有记录。

在我看来,应用程序中的一切都是光明正大的,非常透明,符合行业标准。我很想听听我的科技朋友们对这款应用的看法。如果你也在四处挖掘,并发现一些值得注意的东西,请插话😊。

此外,我的好朋友@GeoffreyHuntley正在对这款应用进行更彻底的拆除。请看这里:

另一个重要更新,请关注@VTeagueAus对。她是一位安全专家,绝对比我更有资格对应用程序的隐私和安全发表评论。

我们正在组织一个现场小组讨论我们明晚的调查结果。从美国东部夏令时4月29日星期三下午6:30开始直播。回复地址:eventbrite.com.au/e/covidsafe-ap…