云服务器网:购买云服务器和VPS必上的网站!

hetzner(hetzner服务器)

本文目录:1、iOS 和 OS X 的“goto fail” SSL bug 是怎么一回事2、云原生处理器来了 Ampere Computing抢占Intel高地iOS 和 OS X 的“goto fail” SSL bug 是怎么一回事TL; DR: 修正了SSL链接时不验证域名与证书中的域名匹配

本文目录:

  • 1、iOS 和 OS X 的“goto fail” SSL bug 是怎么一回事
  • 2、云原生处理器来了 Ampere Computing抢占Intel高地

iOS 和 OS X 的“goto fail” SSL bug 是怎么一回事

TL; DR: 修正了SSL链接时不验证域名与证书中的域名匹配的问题[1]

===

之前的回答可能有点简单了,这里详细地说一说。

众所周知,在使用SSL连接的时候,会验证域名与证书中的域名是否匹配。

什么是证书呢?证书类似于服务器的身份证。上面存储的信息可以用来鉴别服务器的身份,从而保证SSL加密的有效性。[4]

比如在访问 的时候,浏览器会检查证书中的域名和example.com是否匹配。[2] 如果不做检查的话,会出现什么情况呢?任何一个攻击者都可以用一个合法的证书来伪造自己的身份。

比如我是的站长,那么我可以通过合法的渠道获得的证书,在这之后,如果我劫持了,那么在SSL验证的时候,浏览器会检查这个证书。假如这个浏览器工作正确的话这个过程大概是这样的:

Client: ClientHello(你好)

Server(def.com, 被劫持): ServerHello(你好,我是)

Server(def.com, 被劫持): 这里是我的证书,xxxxxxx (不信?给你看我的身份证)

Server(def.com, 被劫持): ServerHelloDone

Client: 检查证书中的域名为 “”, 实际应访问的地址为””。卧槽,不匹配,肯定有人在干坏事!!!Run fast, run far!!![3] 告诉用户你访问的这个地址给了我一个伪造的身份证,肯定不是什么好人!!快跑!!这时候用户的浏览器上会提示:

The site’s security certificate is not trusted!

从而用户就会意识到这次连接存在加密问题,可能会被人使用MITM[5](中间人攻击)来监听。

但是如果不做检查的话,就会是这样:

Client: ClientHello(你好)

Server(def.com, 被劫持): ServerHello(你好,我是)

Server(def.com, 被劫持): 这里是我的证书,xxxxxxx (不信?给你看我的身份证)

Server(def.com, 被劫持): ServerHelloDone

Client: 这个身份证是合法的,是政府发的唉,看来这次连接没有问题,那么,我的银行卡密码是xxxxx……发现问题了吗?这里的证书是合法的,但是证书却不是颁发给你要访问的域名!这就好像有人拿着你的身份证并且说他就是你一样!

===

“congrats to the Apple iOS team on adding SSL/TLS hostname checking in their latest update! very cool feature.”

事实上,这个问题是由libsecurity_ssl这个库引发的。所以他存在于所有使用了这个库的软件里。这里包括了Mac OS X。 如果用curl访问的话,就会是这样:[6]

$curl -s –head

HTTP/1.1 200 OK

Date: Thu, 28 Nov 2013 17:58:40 GMT

Server: Apache

X-Powered-By: PHP/5.3.27

Expires: Mon, 26 Jul 1997 05:00:00 GMT

Pragma: no-cache

Set-Cookie: exp_last_visit=1070301520; expires=Fri, 28-Nov-2014 17:58:40 GMT; path=/

Set-Cookie: exp_last_activity=1385661520; expires=Fri, 28-Nov-2014 17:58:40 GMT; path=/

Set-Cookie: exp_tracker=a%3A1%3A%7Bi%3A0%3Bs%3A5%3A%22index%22%3B%7D; path=/

Last-Modified: Thu, 28 Nov 2013 17:58:40 GMT

Content-Type: text/html; charset=UTF-8

然而,同样的命令在Ubuntu里面却有不同的表现:

curl

curl: (51) SSL: certificate subject name ‘*.hetzner.de’ does not match target host name ‘213.133.107.227’

注意最后一行,curl发现了证书的问题:证书是颁发给’*.hetzner.de’,然而当前访问的却是’213.133.107.227’。

===

真的,你读到这了?

那我们就来讨论一点细节

为啥会这样?

我们来看实现这一段检查的代码[7]:

static OSStatus

SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams,

uint8_t *signature, UInt16 signatureLen)

{

if ((err = SSLHashSHA1.update(hashCtx, signedParams)) != 0)

goto fail;

goto fail;

// 重点在这里!!

if ((err = SSLHashSHA1.final(hashCtx, hashOut)) != 0)

goto fail;

err = sslRawVerify(ctx,

ctx-peerPubKey,

dataToSign,/* plaintext */

dataToSignLen,/* plaintext length */

signature,

signatureLen);

if(err) {

sslErrorLog(“SSLDecodeSignedServerKeyExchange: sslRawVerify “

“returned %d\n”, (int)err);

goto fail;

}

fail:

SSLFreeBuffer(signedHashes);

SSLFreeBuffer(hashCtx);

return err;

}

注意我在注释里标注出来的代码。那个goto看起来只是一个简单的重复,但是学过c的各位应该明白,这个goto是不在前面if的scope里面的!

也就是说,这里的goto无论如何都会执行。导致的问题就是:从goto到fail:这段范围内的代码全部都永远不可能被执行!

===

也许这只是偶然,也许这只是一次merge里面的失误。但是也可以有点阴谋论。还记得从前linux代码中的这一段吗?

if ((options == (__WCLONE|__WALL)) (current-uid = 0)) retval = -EINVAL;

Oops,应该是uid == 0 还是uid = 0?

这一行代码被执行到的话,当前用户就是root了。

世界真是太不美好了

云原生处理器来了 Ampere Computing抢占Intel高地

当前,支持数据存储、人工智能和多元化内容的工作负载正以前所未有的速度迁移到云,数据中心服务器市场高速增长。不过,目前大多数云基础设施仍在使用30年前的x86架构处理器技术,而对高性能、高能效和更低的总拥有成本的需要,加快了非x86架构处理器的发展,Arm处理器正在成为这一进程的主力,一些相关公司正在引人注目。

创立于2018年的Ampere Computing是其中颇具代表性的一家服务器芯片公司,该公司目前主推产品是号称全球首款云原生处理器的Ampere Altra,该处理器内核基于64位Arm处理器,专为云定制,Ampere Computing强调其具备可预测性、可扩展性和高性能。

据Ampere Computing首席产品官Jeff Wittich介绍,作为云原生通用处理器,Ampere Altra可在云环境下运行所有应用。从Web服务器到数据库到缓存解决方案,再到视频编码,甚至AI推理,Ampere Altra在性能上超越传统x86处理器3倍之多,在性能功耗比上领先近4倍。

Ampere Altra针对云工作负载特性而进行了一些设计,例如该处理器每个内核仅运行一个单线程,并保持一致的高频率,因此避免了因服务器上多个用户而导致的性能不佳的问题。

在利用率方面,Ampere Altra可以将内核数扩展至128核,并为每个核提供大容量低延迟的专用缓存。借助智能高带宽mesh互联结构,所有高性能核都连接在一起,打破了传统的CPU在需求增加时会产生递减回报的使用瓶颈。Ampere Altra采用先进的DDR和PCIe技术设计,可实现最大容量,扩展内存和IO的带宽。此外,所有必要的服务器级RAS、可管理性和平台安全功能均可实现横向扩展部署,并为客户提供“开箱即用”的体验。

Ampere Altra系列有两个产品,其中Ampere Altra内置80个Armv8.2核,频率为3.3 GHz;Ampere Altra Max则内置128个Armv8.2核,频率为3.0 GHz,两款产品都支持128通道高速PCIe Gen4和8 72 ECC保护的DDR4 3200内存。

在AI推理上,Ampere Computing也正在推进部署。基于Ampere Altra的AI方案支持TensorFlow、PyTorch和ONNX框架。其硬件支持原生FP16数据格式,与FP32相比,速度提高了近2倍,且大多数AI模型几乎没有精度损失。该公司提供了一个易于使用的Docker容器,其中包括计算机视觉和自然语言处理模型示例和基准,以使开发人员能够快速入门。

一项MLPerf的测试显示,Ampere AI优化框架+Ampere Altra Max的组合,使用FP16时,吞吐量比AWS Graviton高出5倍,比x86竞争产品高出2倍以上。

在另一项面积功耗比的测试中,Ampere Altra的单核功耗比传统CPU低67%以上,其32核处理器的功耗比同等的x86 CPU低 4.6倍,性能高出2倍。得益于此,Ampere Computing开辟了其他竞争对手无法涉足的新领地—— 汽车 自动驾驶,他们正在和通用 汽车 旗下自动驾驶子公司Cruise进行相关合作。

Ampere Altra得到了市场积极的反馈:虚拟主机平台Plesk通过甲骨文云搭载Ampere Altra,仅第一个月就推出了1000多个实例,实现了有史以来最快的产品推广速度。

微软最新的Azure虚拟机也采用了Ampere Altra,该虚拟机系列包括通用Dpsv5和内存优化的Epsv5虚拟机,微软声称这些虚拟机的性价比比基于IBM x86的虚拟机高出50%。

其他终端用户,如红牛车队、GenyMobile、墨尔本大学、布里斯托尔大学和耶拿大学,也都在相关云环境应用中采用了Ampere Computing的处理器。

目前,包括微软、甲骨文、腾讯、阿里、Equinix Metals、CloudFlare、京东、优刻得、Hetzner等众多公司在他们的服务器中使用Ampere Computing的方案和产品,全球已有40多个服务器平台支持Ampere Altra,7家全球最大的超大规模数据中心正在部署该公司产品。

其中,腾讯云推出了基于Ampere Altra处理器SR1的实例。阿里云不仅推出了基于Ampere Altra处理器的c6r和g6r实例,还推出了基于Ampere Computing处理器的手机云 游戏 服务。京东也推出了两款基于Ampere Altra处理器的实例,一款用于计算、一款用于存储。

除了云服务提供商,Ampere Computing同ODM和OEM服务器业务的合作也在不断扩大,包括富士康、技嘉、浪潮、超微和纬颖等。最新的消息是,Ampere Computing已经开始为特定客户的服务器提供下一代处理器Ampere One的样品。新CPU采用公司自研核(也是以ARM ISA为基础,并且能够与Altra和Altra Max兼容),5nm工艺,支持DDR5和PCIe 5.0接口。至此,Ampere Computing拥有并行的两大产品家族——基于Arm的Ampere Altra系列和基于自研核的Ampere One。它们分别适用于不同工作负载、细分市场和应用程序。例如为边缘场景设计的32核40W产品,以及为超大规模数据中心负载设计的128核125W产品。

不久前,来自路透社的消息称,Ampere Computing在4月份已秘密申请在美国IPO。

本文来源:https://www.yuntue.com/post/88010.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注