Third-Party Audit of Rustls

栏目: IT技术 · 发布时间: 6年前

内容简介:In May and June 2020, Cure53 completed an audit ofFirst off, though, Dirkjan Ochtman (of theThe

Third-party audit of rustls

In May and June 2020, Cure53 completed an audit of ring , webpki , and rustls . Their report ( PDF ) fully describes the audit, and makes for interesting reading.

First off, though, Dirkjan Ochtman (of the Quinn project) deserves a great deal of thanks for ultimately making this happen. We first discussed the possibility of an audit like this at RustFest Paris 2018. He worked with great determination for almost two years to secure a sponsor. Thanks Dirkjan!

The Cloud Native Computing Foundation (a part of the Linux Foundation) funded this audit, at the request of Buoyant who use rustls in the data plane of linkerd . So further thanks are due to Chris Aniszczyk of the Linux Foundation, and Oliver Gould of Buoyant for their support of these projects.

Finally, thanks to the staff at Cure53 for being a pleasure to work with.

Highlights

Some choice quotes:

“[..] the team of auditors considered the general code quality really good and can attest to a solid impression left consistently by all scope items”

“Both from a design point of view as from an implementation perspective the entire scope can be considered of exceptionally high standard .”

“The developer’s intent to provide a high-quality TLS implementation is very clear and this goal can be considered as achieved successfully .”

“Minor recommendations here and there are always possible for any project, but this does not change the fact that there is really not much to improve at rustls. Cure53 had the rare pleasure of being incredibly impressed with the presented software .”

Findings

There were two informational and two minor-severity findings. See the report for the full details. The discussion below reflects my opinion on these issues.

TLS-01-001 - Formally Verified Cryptography Recommendations (info)

This finding suggests ring uses formally verified cryptography implementations from the EverCrypt project. It’s hard to argue against formal verification of foundational cryptography code. It’s worth noting here that ring does already use a formally verified curve25519 implementation (from the fiat-crypto project).

TLS-01-002 - Unchecked usage of unwrap (info)

This finding relates to instances of unwrap() that were free of panics, but where it was too hard to reason that this was the case. The reasoning spanned several different modules, which itself is a readability and maintenance hazard. The code in question has been improved as a result.

TLS-01-003 - Support for Non-Contiguous Subnet Masks (low)

This finding relates to certificate name constraints expressed as a space of IP addresses as specified in RFC5280 . The RFC doesn’t specify any constraints on network masks, but it does seem sensible to disallow sparse masks.

TLS-01-004 - Data Truncation in DER Encoding Implementation (low)

This finding rightly points out a function in rustls that produces incorrect output when applied to an X.501 Name that is larger than 64KB. While that’s an exceedingly unlikely case, and the bug does not cause unsafe operation (but perhaps connection failure), the function has been corrected to produce valid output for all inputs.

Conclusion

As with other forms of software testing, ultimately a third-party audit can only show the presence of defects but not their absence. With that said, the positive feedback in the report and the low severity of these findings are certainly encouraging.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

产品经理全栈运营实战笔记

产品经理全栈运营实战笔记

林俊宇 / 化学工业出版社 / 49.8元

本书凝结作者多年的产品运营经验,读者会看到很多创业公司做运营的经验,书中列举了几十个互联网产品的运营案例去解析如何真正做好一个产品的冷启动到发展期再到平稳期。本书主要分为六篇:互联网运营的全面貌;我的运营生涯;后产品时代的运营之道;揭秘刷屏事件的背后运营;技能学习;深度思考。本书有很多关于产品运营的基础知识,会帮助你做好、做透。而且将理论和作者自己的案例以及其他人的运营案例结合起来,会让读者更容易......一起来看看 《产品经理全栈运营实战笔记》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具