Golang TLS双向身份认证DoS漏洞分析(CVE-2018-16875)_基站

访客4年前黑客工具477

一、前言

如果程序源代码使用Go语言编写,并且用到了单向或者双向TLS认证,那么就容易受到CPU拒绝服务(DoS)攻击。Go语言的crypto/x509标准库中的校验算法存在逻辑缺陷,攻击者可以精心构造输入数据,使校验算法在尝试验证客户端提供的TLS证书链时占用所有可用的CPU资源。

为了保护正常服务,大家应立即升级到G0 v1.10.6、v1.11.3或者更新版本。

 

二、研究背景

42Crunch的API Security平台后端采用的是微服务架构,而微服务使用Go语言编写。微服务之间通过gRPC相互通信,并且部署了REST API网关用于外部调用。为了确保安全性,我们遵循了“TLS everywhere”(处处部署TLS)原则,广泛采用了TLS双向认证机制。

Go的标准库原生支持SSL/TLS认证,也支持大量与连接处理、验证、身份认证等方面有关的x509和TLS原语。这种原生支持可以避免外部依赖,使用标准化的、经过精心维护和审核的TLS库也能降低安全风险。

因此42Crunch很有可能受此TLS漏洞影响,需要理解漏洞原理,保证42Crunch平台的安全性。

42Crunch安全团队针细致分析了该CVE,如下文所示。

 

三、问题描述

这个DoS问题最早由Netflixx发现,Golang在issue跟踪日志中提到:

crypto/x509包负责解析并验证X.509编码的密钥和证书,正常情况下会占用一定的资源来处理攻击者提供的证书链。

crypto/x509包并没有限制验证每个证书链时所分配的工作量,攻击者有可能构造恶意输入,导致CPU拒绝服务。Go TLS服务器在接受客户端证书或者TLS客户端在验证证书时会受此漏洞影响。

标签: 好话题

相关文章

黑客破解微信密码,这些你中招了吗?

最近,乌云脆弱性平台公开了腾讯微信的脆弱性。根据脆弱性的作者的说明,这两个脆弱性黑客可以不正当的进入别人的微信账户。随着互联网时代的到来,越来越多的人在我们身边使用微信。微信的出现给人们的生活带来了巨...

怎样查询老公微信聊天记录 怎样能偷偷接收老公微信-免费接单黑客

怎样查询老公微信聊天记录 怎样能偷偷接收老公微信-免费接单黑客 专家专栏上线后,院长收到专家自荐的内容。今天,快搜方法为站长分享了如何制作高质量的内容: 百度可以轻松判断哪些内容? 这个...

可以破解别人的微信密码 怎么才能查微信聊天记录啊-免费接单黑客

可以破解别人的微信密码 怎么才能查微信聊天记录啊-免费接单黑客 自学计算机网络技术,在国外“深造”黑客技术,回国组建“黑帽团队”,以广告推广为幌子,入侵数百家网站,预留后门、植入恶意脚本修改他人网站...

西游记成为经典,是历史原因还是什么

《西游记》是能让我在每个寒暑假都值得重温的一部剧,其成为经典的原因当然有历史原因,西游记作为中国古典文学四大名著之一,在广大人民群众心中已经烙下了深深的印记,由其改编的电视剧自然不费吹灰之力就可获得大...

免费查开宾馆记录查询_查开宾馆住宿记录查询软件

免费查开宾馆记录查询_查开宾馆住宿记录查询软件 近年来,人们的出行频率明显增加。外出旅游、工作或探亲的人数是以前的几倍。不过,这也是因为中国综合实力的发展是合理的事情。然而,当人们外出时,他们...

微信聊天记录怎么恢复|手机照片删除了怎么恢复-免费接单黑客QQ

微信聊天记录怎么恢复|手机照片删除了怎么恢复-免费接单黑客QQ 微软63.2GB源码泄露:涉及旗下众多软件和操作系统,据外媒报道,一位黑客即日揭露,他从微软私家堆栈的Github处获得了大批源代码片...