本文来自微信公众号“网络研究院”。
对于超过25年来,一项用于世界各地关键数据和语音无线电通信的技术一直处于保密状态,以防止任何人仔细检查其安全属性是否存在漏洞。但现在,由于荷兰的一小群研究人员深入了解了它的内部结构并发现了严重缺陷,包括故意的后门,它终于得以公开亮相。
多年来,销售该技术的供应商都知道该后门,但客户不一定知道,该后门存在于关键基础设施中用于商业用途的无线电中的加密算法中。它用于在管道、铁路、电网、公共交通和货运列车中传输加密数据和命令。它将允许某人窥探通信以了解系统如何工作,然后可能向无线电发送命令,从而可能触发停电、停止天然气管道流动或改变火车路线。
研究人员在同一无线电技术的不同部分发现了第二个漏洞,该技术用于专门出售给警察部队、监狱人员、军队、情报机构和紧急服务部门的更专业的系统,例如荷兰警察、消防队、救护车服务和国防部用于关键任务语音和数据通信的C2000通信系统。该缺陷可能会让某人解密加密的语音和数据通信,并发送欺诈性消息,以传播错误信息或在关键时刻重定向人员和部队。
三名荷兰安全分析师在名为TETRA(地面集群无线电)的欧洲无线电标准中发现了漏洞(总共五个),该标准用于摩托罗拉、达姆、海能达等公司生产的无线电。该标准自20世纪90年代以来一直在无线电中使用,但由于TETRA中使用的加密算法迄今为止一直保密,因此缺陷仍然未知。
该技术在美国并未广泛使用,美国更普遍部署其他无线电标准。但是安培工业安全公司的顾问卡莱布·马西斯(Caleb Mathis)进行了开源研究,发现的合同、新闻稿和其他文件显示,美国至少有两打关键基础设施使用了基于TETRA的无线电。
由于TETRA嵌入在通过经销商和PowerTrunk等系统集成商提供的无线电中,因此很难确定谁可能在使用它们以及使用它们的用途。但马西斯帮助确定了几家电力公司、一家州边境管制机构、一家炼油厂、化工厂、东海岸的一个主要公共交通系统、三个使用这些系统在安全和地勤人员之间进行通信的国际机场,以及一个美国陆军训练基地。
荷兰Midnight Blue的Carlo Meijer、Wouter Bokslag和Jos Wetzels于2021年发现了TETRA漏洞(他们称之为TETRA:Burst),但同意在无线电制造商能够创建补丁和缓解措施之前不公开披露这些漏洞。然而,并非所有问题都可以通过补丁解决,并且尚不清楚哪些制造商已为客户准备了补丁。
荷兰国家网络安全中心负责向世界各地的无线电供应商和计算机应急响应小组通报这些问题,并协调研究人员公开披露这些问题的时间表。
在一封简短的电子邮件中,NCSC发言人称TETRA是“荷兰和世界各地关键任务通信的重要基础”,并强调此类通信需要始终可靠和安全,尤其是在危机情况下。她证实这些漏洞会让受影响无线电设备附近的攻击者“拦截、操纵或干扰”通信,并表示NCSC已通知多个组织和政府,包括德国、丹麦、比利时和英国,建议他们如何进行操作。国土安全部网络安全和基础设施安全局发言人表示,他们已经意识到这些漏洞,但不会进一步置评。
研究人员表示,任何使用无线电技术的人都应该咨询制造商,以确定他们的设备是否使用TETRA以及可以采取哪些修复或缓解措施。
研究人员计划下个月在拉斯维加斯举行的BlackHat安全会议上展示他们的发现,届时他们将发布详细的技术分析以及迄今为止尚未向公众公开的秘密TETRA加密算法。他们希望其他有更多专业知识的人能够深入研究算法,看看是否能发现其他问题。
TETRA是由欧洲电信标准协会(ETSI)在90年代开发的。该标准包括四种加密算法:TEA1、TEA2、TEA3和TEA4,无线电制造商可以根据其预期用途和客户在不同产品中使用这些算法。TEA1用于商业用途;不过,根据ETSI文件,对于欧洲和世界其他地区关键基础设施中使用的无线电,它也设计供公共安全机构和军队使用,研究人员发现警察机构也在使用它。
TEA2在欧洲仅限警察、紧急服务部门、军队和情报机构使用。TEA3适用于欧洲以外的警察和紧急服务,在墨西哥和印度等被视为对欧盟“友好”的国家;那些不被视为友好的国家(例如伊朗)只能选择使用TEA1。研究人员表示,另一种商业算法TEA4几乎没有被使用。
研究人员在进行开源研究后发现,除美国外,世界各地绝大多数警察部队都使用基于TETRA的无线电技术。比利时、斯堪的纳维亚国家、塞尔维亚、摩尔多瓦、保加利亚和马其顿等东欧国家以及伊朗、伊拉克、黎巴嫩和叙利亚等中东国家的警察部队都在使用TETRA。
此外,保加利亚、哈萨克斯坦和叙利亚的国防部也使用它。波兰军事反情报机构、芬兰国防军、黎巴嫩和沙特阿拉伯情报部门都使用它。
美国和其他国家的关键基础设施使用TETRA在SCADA和其他工业控制系统设置中进行机器对机器通信,特别是在可能无法使用有线和蜂窝通信的广泛分布的管道、铁路和电网中。
尽管该标准本身可供公开审查,但加密算法仅在签署保密协议后才可供受信任方(例如无线电制造商)使用。供应商必须在其产品中加入保护措施,以使任何人都难以提取算法并对其进行分析。
为了获得这些算法,研究人员购买了现成的摩托罗拉MTM5400无线电,并花了四个月的时间从无线电固件的安全区域中定位并提取算法。他们不得不使用一些零日漏洞来破坏摩托罗拉的保护措施,并报告给摩托罗拉进行修复。一旦他们对算法进行逆向工程,他们发现的第一个漏洞就是TEA1中的后门。
研究人员表示,所有四种TETRA加密算法都使用80位密钥,即使在发布二十多年后,仍然提供足够的安全性来防止有人破解它们。但TEA1有一个功能,可以将其密钥减少到仅32位,即不到密钥长度的一半。研究人员能够使用标准笔记本电脑和四个密文在不到一分钟的时间内破解它。
负责TETRA标准的ETSI技术机构主席反对称其为后门。他说,当他们开发该标准时,他们需要一种商业用途的算法,可以满足在欧洲以外使用的出口要求,并且在1995年,32位密钥仍然可以提供安全性,尽管他承认,以今天的计算能力,情况并非如此。
约翰·霍普金斯大学密码学家兼教授马修·格林(Matthew Green)称密钥被削弱是一场“灾难”。我不会说这相当于不使用加密,但这真的非常糟糕。
德国波鸿鲁尔大学安全研究团队CASA的计算机科学和密码学家教授Gregor Leander表示,关键基础设施使用TEA1是“愚蠢的”,尤其是在不添加端到端加密的情况下,没有人应该依赖这个。
任何人对后门所能做的最多的事情就是解密和窃听数据和对话。TETRA具有强大的身份验证功能,可以防止任何人注入虚假通信。
这不是真的,TETRA仅要求设备向网络验证自身身份,但无线电之间的数据和语音通信不需要数字签名或以其他方式进行身份验证。无线电和基站相信任何具有正确加密密钥的设备都经过身份验证,因此可以像研究人员那样破解密钥的人可以用它加密自己的消息并将其发送到基站和其他无线电。
虽然TEA1的弱点并未向公众公开,但它显然在业界和政府中广为人知。在2006年泄露给维基解密的美国国务院电报中,美国驻罗马大使馆描述了一家意大利无线电制造商询问向伊朗市政警察部队出口TETRA无线电系统的情况。美国拒绝了该计划,因此该公司代表提醒美国,他们计划向伊朗出售的基于TETRA的无线电系统的加密“少于40位”,这意味着美国不应该反对出售,因为该系统没有使用强密钥。
研究人员发现的第二个主要漏洞并不存在于其中一个秘密算法中,但它影响了所有算法。问题在于标准本身以及TETRA如何处理时间同步和密钥流生成。
当TETRA无线电与基站联系时,它们会启动时间同步的通信。网络广播时间,无线电确定时间同步。然后,它们都生成相同的密钥流,该密钥流与该时间戳绑定,以加密后续通信。
问题在于网络以未经身份验证和未加密的数据包广播时间。
因此,攻击者可以使用简单的设备来拦截和收集无线电和基站之间传递的加密通信,同时记录发起通信的时间戳。然后,他可以使用恶意基站联系同一无线电或同一网络中的不同无线电,并广播与截获的通信相关的时间相匹配的时间。无线电是愚蠢的,它认为正确的时间就是基站所说的时间。因此它将生成当时用于加密攻击者收集的通信的密钥流。攻击者恢复该密钥流并可以使用它来解密之前收集的通信。
为了注入虚假消息,他会使用基站告诉收音机时间是明天中午,并要求收音机生成与未来时间相关的密钥流。一旦攻击者拥有它,他就可以使用密钥流来加密他的恶意消息,并在第二天中午使用当时正确的密钥流将它们发送到目标无线电。
墨西哥贩毒集团可以利用这一点拦截警方通讯,窃听调查和行动,或者通过向无线电发送虚假信息来欺骗警方。攻击者需要靠近目标无线电,但接近程度仅取决于恶意基站信号的强度和地形。
你可以在几十米的距离内做到这一点,建造这个恶意基站的成本不超过5000美元。
ETSI的Murgatroyd淡化了此次攻击,称TETRA强大的身份验证要求将阻止未经身份验证的基站注入消息。TETRA只要求设备向网络进行身份验证,而不是相互进行身份验证。
研究人员没有发现欧洲警察、军队和紧急服务部门使用的TEA2算法有任何弱点,但他们最初认为他们在TEA3中发现了另一个后门。鉴于TEA3是TEA2的可导出版本,有充分的理由相信它也可能有后门来满足导出要求。
他们认为他们在算法中使用的替换盒(S-box)中发现了一些可疑的东西,其中包含一个他们所说的“永远不会出现在严肃的密码学中”的不良属性。研究人员没有足够的技能来检查它以确定它是否可被利用。但利安德的团队确实对其进行了检查,但他说事实并非如此。
在许多密码中,如果你使用这样的盒子,它会非常严重地破解密码,但从TEA3中使用它的方式来看,我们看不出这是可利用的。这并不意味着其他人可能找不到其中的内容,但如果这导致了实际的攻击,会感到非常惊讶。
关于研究人员发现的其他问题的修复,Murgatroyd表示ETSI在去年10月发布的修订版TETRA标准中修复了密钥流/时间戳问题,并且他们创建了三种额外的算法供供应商使用,其中包括一种替代TEA1的算法。供应商已经创建了修复密钥流/时间戳问题的固件更新。但TEA1的问题无法通过更新解决。
唯一的解决方案是使用另一种算法(切换起来并不容易),或者在TETRA之上添加端到端加密,这是不切实际的。它非常昂贵,因为加密必须应用于每台设备,需要一些停机时间来进行升级,这对于关键基础设施来说并不总是可行,并且可能会产生与其他组件的不兼容问题。
至于要求他们的供应商将TEA1换成一种旨在取代它的新算法,这也是有问题的,因为ETSI计划像其他算法一样对这些算法保密,要求用户再次相信这些算法没有严重的弱点。
研究人员不知道他们发现的漏洞是否正在被积极利用。但他们确实在爱德华·斯诺登泄密事件中发现了证据,表明美国国家安全局(NSA)和英国GCHQ情报机构过去曾针对TETRA进行过窃听。
一份文件讨论了美国国家安全局和澳大利亚信号局在2007年巴厘岛举行的气候变化会议期间收集马来西亚警方通讯的项目,并提到他们获得了一些有关印度尼西亚安全部队通讯的TETRA信息。
斯诺登的另一份泄密内容描述了英国政府通信总部GCHQ(可能是在NSA的协助下)2010年在阿根廷收集TETRA通信的情况,当时阿根廷与英国因福克兰群岛沿岸深海油田的石油勘探权问题而关系紧张。它描述了收集阿根廷高优先级军事和领导层通信的行动,并揭示了该项目成功收集了TETRA。
这并不表明他们利用了我们发现的这些漏洞,但它确实表明……即使在2000年代初,国家资助的参与者也在积极研究和收集这些TETRA网络。