Ticketbleed是F5 BIG-IP设备的TLS / SSL堆栈中的软件漏洞,允许远程攻击者一次提取高达31字节的未初始化内存。
这部分内存中可能包含来自其他连接的密钥或敏感数据。
它在情形和影响类似于Heartbleed漏洞。它的不同之处在于,它一次暴露31个字节,而不是64k,需要多次轮询执行攻击,并且它影响专有的F5 TLS堆栈,而不是OpenSSL。
测试
你可以在下面的网址中进行测试服务器是否受Ticketbleed影响(eg: example.com:443)
https://filippo.io/Ticketbleed/
当然,你也可以自己用脚本测试 https://gist.github.com/FiloSottile/fc7822b1f5b475a25e58d77d1b394860
技术细节
漏洞的关键点在于执行Session Tickets,Session Tickets是加速重复连接的一项恢复技术。
当客户端提供SessionID和Session Tickets时,服务器应回显SessionID以表示Session Tickets的接受。Session ID的长度可以在1到31个字节之间。
即使Session ID再短,F5堆栈总是回显32字节的内存。提供1字节Sessio ID的攻击者将接收到31字节的未初始化内存信息。
修复和缓解
受影响的版本的完整列表可在F5网站上找到。在本次公开披露时,并非所有版本都可以升级解决。
但是Session Tickets是可以完全缓解,这将仅导致恢复连接的性能降级。
以下方法配置是由F5提供的
1. 登录到配置实用程序
2. 在菜单上导航到本地流量>配置文件> SSL>客户端
3. 将配置的选项从基本切换到高级
4. 取消选中Session Ticket选项以禁用该功能
5. 单击更新以保存更改
互联网扫描结果
通过修改版的zgrab进行互联网扫描
Vulnerable表示存在漏洞。
Accepted表示主机正常接受Session Tickets。
Rejected表示主机提供一个Session Ticket,但是当客户端尝试去使用它时将会被拒绝。
其他的主机不支持Session Tickets。
发现和时间表
这个问题是Filippo Valsorda 和其他的 CloudFlare员工在调试客户问题的时候发现的。
10月20日 – 确定问题
10月20日 – 首次尝试联系F5
10月25日 – 与F5安全工程师联系
10月26日 – 提交报告
10月28日 – 报告由F5确认
11月13日 – 由F5确认的问题,安全影响尚未确认
11月14日 – Alexa top 1000扫描揭示两个易受攻击的主机,90天截止日期发布
11月16日 – 提供给F5的版本和配置详细信息
11月16日 – 由F5重现和确认的安全问题
1月17日 – F5分享CVE和K
1月26日 – 由于问题公开推到2月8日
2月7日 – 使用185.47.61.3进行互联网扫描
2月8日 – 披露政策的最后一天
2月8日 – 发布延迟
2月9日01:25 UTC – 协调公开披露

评论