COVID-19接触追踪。安全编码的情况是什么?

发表于2020年7月8日
作者:Pieter Danhieux
案例研究

COVID-19接触追踪。安全编码的情况是什么?

发表于2020年7月8日
作者:Pieter Danhieux
查看资源
查看资源

这篇文章的一个版本最初出现在 DevOps Digest.它已被更新并在此转发。

在这一点上,我相信我们都对 "在这个前所未有的时代 "这句话有点厌倦了......但是,这确实是前所未有的时代。在去年年底,谁会想到我们会在今年争先恐后地打败一场全球性的破坏性大流行病,并向它投入一切可能的东西?这看起来几乎是可笑的,而且更像是一部新的Netflix科幻剧,而不是我们全球现实的一部分。COVID-19已经完全改变了我们的社会生活、经济和就业保障,更不用说政治优先事项了。

对COVID-19的反击之一是通过技术,许多国家推出了联系人追踪应用程序。澳大利亚有COVIDSafe,仿照新加坡的TraceTogether。香港、台湾、中国、韩国、以色列和德国都已实施或正在实施联系人追踪技术。英国是欧洲受影响最严重的地区,有数万人因病毒而死亡,感染率很高。他们的应用程序的发布迫在眉睫。美国--也深受影响,许多人不幸丧生--也有技术推出,但其各州的联系人追踪方法使其情况相当复杂。

除了像中国和台湾这样国家控制较多的国家,这些应用程序的使用是自愿的,要求公民自行下载和使用该技术。一些采用率比其他国家更成功;例如,新加坡的TraceTogether应用程序的采用率为25%,使其对其预期目的相当无效。

接触者追踪应用程序的想法是合理的。这项技术,如果运作良好,将确保热点被迅速揭示,并能进行全面的测试--这都是打击传染性病毒传播的重要组成部分。然而,"政府 "和 "追踪 "这两个词听起来并不十分诱人,人们对下载这样的东西对他们的实际意义持谨慎态度是很自然的。

那么,用户的主要担忧是什么?如果从网上的评论来看,这些疑虑中的一些包括。

  • 对政府负责任地使用收集的数据缺乏信任
  • 担心个人数据会在多大程度上受到网络攻击的保护
  • 不清楚实际收集了哪些数据,这些数据被储存在哪里,以及由谁来收集。
  • ......而对于我们中的开发者/专家来说,应用程序的实际构建程度是多么的坚实。

当应用程序快速建立时,总是让人有点担心,而这些联系人追踪应用程序不得不在创纪录的时间内推出。这对开发者、安全人员和政府机构来说是一场噩梦。

那么,不信任是一种有效的反应吗?而在我们assessment COVID-19联系人追踪应用程序和终端用户安全的过程中,我们应该优先考虑什么?作为一个安全人员,我的直觉当然是深入研究程序的网络安全要素,即对于一个我们都(出于最好的意图)被推着安装的应用程序,其代码库的安全性如何。

许多应用程序是彼此的副本(并继承了同样的问题)。

澳大利亚的COVIDSafe应用程序基本上是基于OpenTrace的,新加坡的TraceTogether软件也是如此。然而,问题是,TraceTogether有一系列的报告问题,而且接受度不高,只有25%的人选择成为用户--远远低于其有效所需的75%。有人对其总体性能提出抱怨,特别是在iOS系统上,包括电池很快就会耗尽。COVIDSafe的iOS版本有一个潜在的用户体验缺陷,要求手机解锁,应用程序在前台运行以正确记录所有数据。

虽然上述问题令人讨厌,但更紧迫的问题是,蓝牙漏洞层出不穷,无论是TraceTogether,还是澳大利亚的COVIDSafe,都无法幸免于此。5月14日,NIST报告说,COVIDSafe有一个拒绝服务的漏洞,允许攻击者在蓝牙握手距离内远程崩溃应用程序。这将允许有组织的攻击破坏人口密集地区的联系人追踪,而这是最有用的地方--安全研究员理查德-纳尔逊对此有详细解释。众所周知,它影响了COVIDSafe、TraceTogether、波兰的ProteGO和加拿大的ABTraceTogether--它们都继承了OpenTrace有问题的manuData.subdata调用。

一般来说,还有其他与蓝牙功能有关的隐私和安全问题。这项技术被用来通过一个独特的ID(TempID)追踪人类的运动,并收集有意义的数据,这不可避免地意味着攻击者对测试弱点的兴趣激增,在这一点上,必须仔细检查到底收集了什么,它被储存在哪里,以及储存了多长时间。

一些应用程序已经出现了简单错误的迹象,导致复杂的弱点。

澳大利亚软件工程师Geoffrey Huntley一直在研究COVIDSafe的源代码,可悲的是,有一些问题不一定被我们这些终端用户所强调。

一个关键的例子是一个侵犯隐私的逻辑错误,这将允许攻击者对设备进行长期跟踪;这对脆弱的用户构成了巨大的风险,更不用说它违反了应用程序本身的隐私政策。

值得注意的是,截至5月14日,这些逻辑漏洞已经被修补,但更紧迫的问题是,在Huntley先生报告后的17天里,这个漏洞在野外没有被修补。他和其他优秀的安全社区成员正在追踪与COVIDSafe应用程序有关的CVEs

亨特利指出,补丁后的一件事是,即使是修复也显示出,嗯,无能的迹象。在他的公共日志中,他指出,补丁涉及到添加逻辑,而不是简单地删除一个有缺陷的缓存,后者是一个更强大的补救措施。这两种方法都有效,但实时解决方案缺乏技巧--对于这样一个重要的应用程序来说,这是一个值得关注的问题。

虽然我们有勤奋的社会成员利用自己的时间和专业知识来研究源代码和突出问题,但他们的工作比当初代码开放的时候要难得多。目前,有28个应用程序对安全研究人员来说仍然是封闭的。

安全编码继续将我们绊倒在终点线上。

虽然我当然可以同情工作过度的开发者--以及在大流行病中不得不推出拯救生命的应用程序的极不寻常的情况--但上述情况应该强调,本质上是一个公共代码库中的几个简单漏洞可能会给数百万用户带来重大问题。

我想大多数人都想成为好公民,支持这个应用程序,让每个人都有最好的机会接触追踪和控制这种可怕的病毒的爆发。我也支持能够帮助实现这一目标的技术,但在许多方面,这已经揭开了世界各地的开发人员普遍缺乏安全编码原则的内在原因。

在任何需要快速编写软件的情况下,错误并不完全是意外。然而,像逻辑缺陷、错误配置和代码注入错误等常见的安全漏洞应该是在编写代码时就可以预防的,而不是在志愿的白帽子们把代码库拆开之后。

顺便说一句,这不是开发人员的错。他们在离开高等教育时几乎没有安全编码的技能,在他们的职业生涯中,他们的关键绩效指标几乎总是与功能和交付速度有关--安全部分是在他们完成后由其他人处理的。我们需要快速达到安全编码的最终状态,虽然现在还不是在构建这些应用程序的部门中进行地震文化转变的时候,但这是一个及时的提醒,我们的数字风险领域正在扩大,如果他们被赋予工具和知识来分担安全最佳实践的责任,他们就会处于与众不同的地位。

下载该应用程序是否安全?

事情是这样的:对我这个安全人员来说,我得出的结论是,这个应用程序的好处超过了问题。上述漏洞在这个软件中存在--或已经存在--并不理想,但这些被武器化的影响是最坏的情况。目前,联系人追踪是协助我们世界各地的医疗英雄们控制传播、阻止入院流,并尽可能保持彼此安全的重要组成部分。

这突出表明,当涉及到在软件构建中默认颁布安全最佳实践时,我们还有很长的 路要走,重要的是公众确实有必要的信息来做出明智的决定。

我和我的家人将继续使用它,尽管我们对保持最新的安卓补丁保持警惕,我们都应该这样做。

查看资源
查看资源

作者

皮特-丹休

Pieter Danhieux是全球公认的安全专家,拥有超过12年的安全顾问经验,并在SANS担任首席讲师8年,教授如何针对和评估组织、系统和个人的安全弱点的攻击性技术。2016年,他被评为澳大利亚最酷的科技人士之一(Business Insider),被授予年度网络安全专业人士(AISA - 澳大利亚信息安全协会),并持有GSE、CISSP、GCIH、GCFA、GSEC、GPEN、GWAPT、GCIA认证。

想要更多吗?

在博客上深入了解我们最新的安全编码见解。

我们广泛的资源库旨在增强人类对安全编码技术提升的方法。

查看博客
想要更多吗?

获取关于开发者驱动的安全的最新研究

我们广泛的资源库充满了有用的资源,从白皮书到网络研讨会,让你开始使用开发者驱动的安全编码。现在就去探索它。

资源中心

COVID-19接触追踪。安全编码的情况是什么?

发表于2020年7月8日
作者:Pieter Danhieux

这篇文章的一个版本最初出现在 DevOps Digest.它已被更新并在此转发。

在这一点上,我相信我们都对 "在这个前所未有的时代 "这句话有点厌倦了......但是,这确实是前所未有的时代。在去年年底,谁会想到我们会在今年争先恐后地打败一场全球性的破坏性大流行病,并向它投入一切可能的东西?这看起来几乎是可笑的,而且更像是一部新的Netflix科幻剧,而不是我们全球现实的一部分。COVID-19已经完全改变了我们的社会生活、经济和就业保障,更不用说政治优先事项了。

对COVID-19的反击之一是通过技术,许多国家推出了联系人追踪应用程序。澳大利亚有COVIDSafe,仿照新加坡的TraceTogether。香港、台湾、中国、韩国、以色列和德国都已实施或正在实施联系人追踪技术。英国是欧洲受影响最严重的地区,有数万人因病毒而死亡,感染率很高。他们的应用程序的发布迫在眉睫。美国--也深受影响,许多人不幸丧生--也有技术推出,但其各州的联系人追踪方法使其情况相当复杂。

除了像中国和台湾这样国家控制较多的国家,这些应用程序的使用是自愿的,要求公民自行下载和使用该技术。一些采用率比其他国家更成功;例如,新加坡的TraceTogether应用程序的采用率为25%,使其对其预期目的相当无效。

接触者追踪应用程序的想法是合理的。这项技术,如果运作良好,将确保热点被迅速揭示,并能进行全面的测试--这都是打击传染性病毒传播的重要组成部分。然而,"政府 "和 "追踪 "这两个词听起来并不十分诱人,人们对下载这样的东西对他们的实际意义持谨慎态度是很自然的。

那么,用户的主要担忧是什么?如果从网上的评论来看,这些疑虑中的一些包括。

  • 对政府负责任地使用收集的数据缺乏信任
  • 担心个人数据会在多大程度上受到网络攻击的保护
  • 不清楚实际收集了哪些数据,这些数据被储存在哪里,以及由谁来收集。
  • ......而对于我们中的开发者/专家来说,应用程序的实际构建程度是多么的坚实。

当应用程序快速建立时,总是让人有点担心,而这些联系人追踪应用程序不得不在创纪录的时间内推出。这对开发者、安全人员和政府机构来说是一场噩梦。

那么,不信任是一种有效的反应吗?而在我们assessment COVID-19联系人追踪应用程序和终端用户安全的过程中,我们应该优先考虑什么?作为一个安全人员,我的直觉当然是深入研究程序的网络安全要素,即对于一个我们都(出于最好的意图)被推着安装的应用程序,其代码库的安全性如何。

许多应用程序是彼此的副本(并继承了同样的问题)。

澳大利亚的COVIDSafe应用程序基本上是基于OpenTrace的,新加坡的TraceTogether软件也是如此。然而,问题是,TraceTogether有一系列的报告问题,而且接受度不高,只有25%的人选择成为用户--远远低于其有效所需的75%。有人对其总体性能提出抱怨,特别是在iOS系统上,包括电池很快就会耗尽。COVIDSafe的iOS版本有一个潜在的用户体验缺陷,要求手机解锁,应用程序在前台运行以正确记录所有数据。

虽然上述问题令人讨厌,但更紧迫的问题是,蓝牙漏洞层出不穷,无论是TraceTogether,还是澳大利亚的COVIDSafe,都无法幸免于此。5月14日,NIST报告说,COVIDSafe有一个拒绝服务的漏洞,允许攻击者在蓝牙握手距离内远程崩溃应用程序。这将允许有组织的攻击破坏人口密集地区的联系人追踪,而这是最有用的地方--安全研究员理查德-纳尔逊对此有详细解释。众所周知,它影响了COVIDSafe、TraceTogether、波兰的ProteGO和加拿大的ABTraceTogether--它们都继承了OpenTrace有问题的manuData.subdata调用。

一般来说,还有其他与蓝牙功能有关的隐私和安全问题。这项技术被用来通过一个独特的ID(TempID)追踪人类的运动,并收集有意义的数据,这不可避免地意味着攻击者对测试弱点的兴趣激增,在这一点上,必须仔细检查到底收集了什么,它被储存在哪里,以及储存了多长时间。

一些应用程序已经出现了简单错误的迹象,导致复杂的弱点。

澳大利亚软件工程师Geoffrey Huntley一直在研究COVIDSafe的源代码,可悲的是,有一些问题不一定被我们这些终端用户所强调。

一个关键的例子是一个侵犯隐私的逻辑错误,这将允许攻击者对设备进行长期跟踪;这对脆弱的用户构成了巨大的风险,更不用说它违反了应用程序本身的隐私政策。

值得注意的是,截至5月14日,这些逻辑漏洞已经被修补,但更紧迫的问题是,在Huntley先生报告后的17天里,这个漏洞在野外没有被修补。他和其他优秀的安全社区成员正在追踪与COVIDSafe应用程序有关的CVEs

亨特利指出,补丁后的一件事是,即使是修复也显示出,嗯,无能的迹象。在他的公共日志中,他指出,补丁涉及到添加逻辑,而不是简单地删除一个有缺陷的缓存,后者是一个更强大的补救措施。这两种方法都有效,但实时解决方案缺乏技巧--对于这样一个重要的应用程序来说,这是一个值得关注的问题。

虽然我们有勤奋的社会成员利用自己的时间和专业知识来研究源代码和突出问题,但他们的工作比当初代码开放的时候要难得多。目前,有28个应用程序对安全研究人员来说仍然是封闭的。

安全编码继续将我们绊倒在终点线上。

虽然我当然可以同情工作过度的开发者--以及在大流行病中不得不推出拯救生命的应用程序的极不寻常的情况--但上述情况应该强调,本质上是一个公共代码库中的几个简单漏洞可能会给数百万用户带来重大问题。

我想大多数人都想成为好公民,支持这个应用程序,让每个人都有最好的机会接触追踪和控制这种可怕的病毒的爆发。我也支持能够帮助实现这一目标的技术,但在许多方面,这已经揭开了世界各地的开发人员普遍缺乏安全编码原则的内在原因。

在任何需要快速编写软件的情况下,错误并不完全是意外。然而,像逻辑缺陷、错误配置和代码注入错误等常见的安全漏洞应该是在编写代码时就可以预防的,而不是在志愿的白帽子们把代码库拆开之后。

顺便说一句,这不是开发人员的错。他们在离开高等教育时几乎没有安全编码的技能,在他们的职业生涯中,他们的关键绩效指标几乎总是与功能和交付速度有关--安全部分是在他们完成后由其他人处理的。我们需要快速达到安全编码的最终状态,虽然现在还不是在构建这些应用程序的部门中进行地震文化转变的时候,但这是一个及时的提醒,我们的数字风险领域正在扩大,如果他们被赋予工具和知识来分担安全最佳实践的责任,他们就会处于与众不同的地位。

下载该应用程序是否安全?

事情是这样的:对我这个安全人员来说,我得出的结论是,这个应用程序的好处超过了问题。上述漏洞在这个软件中存在--或已经存在--并不理想,但这些被武器化的影响是最坏的情况。目前,联系人追踪是协助我们世界各地的医疗英雄们控制传播、阻止入院流,并尽可能保持彼此安全的重要组成部分。

这突出表明,当涉及到在软件构建中默认颁布安全最佳实践时,我们还有很长的 路要走,重要的是公众确实有必要的信息来做出明智的决定。

我和我的家人将继续使用它,尽管我们对保持最新的安卓补丁保持警惕,我们都应该这样做。

我们希望得到您的许可,向您发送有关我们产品和/或相关安全编码主题的信息。我们将始终以最谨慎的态度对待您的个人资料,绝不会将其出售给其他公司用于营销目的。

要提交表格,请启用 "分析 "cookies。完成后,请随时再次禁用它们。