Fortinet花费18个月来解决某些产品的密钥硬编码问题

iso60001  1853天前

22.jpg

网络安全产品生产商Fortinet花了10到18个月的时间删除了旗下三种产品中的硬编码加密密钥,这些密钥可能会导致客户数据遭到严重泄露。

此次事件涉及的硬编码加密密钥主要存在于FortiGate防火墙和FortiClient endpoint保护软件(防病毒软件),Mac和Windows版本都受到影响。

除了硬编码密钥,这三个产品都使用弱加密算法(XOR)与各种FortiGate云服务进行通信。

22.png

具体来说,硬编码密钥涉及FortiGuard网页过滤功能,FortiGuard反垃圾邮件功能和FortiGuard反病毒功能中的用户流量。

一旦攻击者截获到受害者的通信流量,就可以通过硬编码密钥和XOR解密这个弱加密的数据流。攻击者可借此窥探到:

  • 用户访问的网页

  • 电子邮件数据

  • 反病毒数据

更重要的是,除了嗅探用户流量,攻击者还可以使用相同的硬编码密钥来篡改服务器响应,破坏恶意软件和URL的检测功能。

修复周期较长

这些漏洞是在2018年5月由SEC Consult的安全研究员Stefan Viehböck发现的。而Fortinet解决这些漏洞的过程异常漫长和缓慢。

在Fortinet收到漏洞报告的三周后,其中一名员工才参与进来。

而修复这些漏洞则花费了更长的时间。直到2019年3月,也就是漏洞上报10个月后,Fortinet才在最新版本的FortiOS中移除了硬编码密钥。

然后又花了8个月的时间移除了旧版本中的硬编码密钥,相关补丁已于本月早些时候发布。

以下是受影响的Fortinet产品:

  • FortiOS 6.0.6及以下

  • FortiClientWindows 6.0.6及以下

  • FortiClientMac 6.2.1及以下

服务器管理员应及时将软件升级到以下版本:

  • FortiOS 6.0.7或6.2.0

  • FortiClientWindows 6.2.0

  • FortiClientMac 6.2.2

在本文发表之前,Fortinet还没有回复本站的评论请求。漏洞发现者也展示了相关利用代码。Fortinet官方的安全建议可点击这里

from itertools import cycle

def forti_xor(s1):
    xor_key = **出于保密隐藏**
    message = ''.join(chr(c ^ k) for c, k in zip(s1, cycle(xor_key)))
    return message

r1=bytes.fromhex('6968766f606e776c2d2d21262138475c5b5a475b545e475c6b6a776b646e776c6b6a772b646e776c6b6a776b646e776c6b6a776bbadf04036b6a776c616a846f')

print(repr(forti_xor(r1)))

假设密文为:

\x02\x02\x01\x04\x04\x00\x00\x00FGVMEV0000000000\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00...

则原文为:

\x02\x01\x02\x04úI\x03\x00FG100D3G00000000\x00\x00\...x00\x00+https://v10.vortex-win.data.microsoft.com/\x00

更多详细信息可到Fortinet官网查看。

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://www.zdnet.com/article/some-fortinet-products-shipped-with-hardcoded-encryption-keys/

最新评论

昵称
邮箱
提交评论