在curl中应用hyper是怎样帮助互联网变得更安全的?
How using hyper in curl can help make the internet safer
摘要:
curl作为一款开源的使用URL语法进行文件传输的命令行工具,在互联网各种平台下都有广泛的支持和使用。但是curl是用C语言编写的,由于臭名昭著的C语言引起的内存安全问题,跟curl相关的安全漏洞有50%都是由C语言错误引起的;
另一方面,Rust语言自诞生之初就主打内存安全,一个自然的设想就是能否把curl的核心设施用rust语言编写的组件代替来提升curl的安全性。
在今年二月初的时候,来自互联网安全研究小组(Internet Security Research Group)的Josh Aas、curl的作者Daniel Stenberg以及hyper和Amazon Web Services的Sean McArthur举行了一次联合网络研讨会(joint webinar),讨论了内存安全和互联网安全的关系,并且探讨了如何在curl中应用hyper作为后端来提升整个互联网的网络安全质量。
具体措施是在curl中增加编译选项,使得提供设置hyper为curl的后端实现的选择。如今curl和hyper的代码开发都合入到了各自项目的主分支,但是新的发行版本可能要等到确保新开发的功能和原始C版本的实现逻辑一致,并通过足够完整的测试集覆盖后才会提上日程,这也是接下来要重点关注的事情。
《Programming Rust》第二版已经官宣发行
The second edition of Programming Rust is officially available!
摘要:
由O'Reilly出版的《Programming Rust》第二版的电子书和实体书都已经上市了:
- 实体书直达链接: https://www.oreilly.com/library/view/programming-rust-2nd/9781492052586/
- 电子书直达链接:https://www.ebooks.com/en-us/book/210313783/programming-rust/jim-blandy/
关于《Programming Rust》
《Programming Rust》是一本深入考察Rust语言设计思想以及如何将其应用于一系列系统编程问题的技术书籍。本书通过若干入门级的项目示例,深入研究了Rust语言具体的语言特性和各种特性相互作用的逻辑,从类型系统到如何根据类型系统建模现实中的问题,从unsafe rust的本质探讨、如何处理FFI外部函数调用到Rust异步编程等高级特性,无一不做到了深入浅出。
为什么编写第二版?
本书较之第一版,根据Rust编译器最新版本的特性完全进行了跟进,并且新增了一个详尽的讲述异步编程的机制和技巧的章节。 《Programming Rust》是一本适合想要了解Rust语言的C、C++、Python、Java或者其他语言的开发者,或者那些想要提升自己编程技巧的Rust编程人员的书籍。
讨论:Rust社区到底发生了什么?
What's wrong with the Rust community?
摘要: 作者发现自己关注的repo凡事用rust语言编写的都有上千次的commit(最近的提交可能就在30秒钟之前),因此有感于Rust社区充满活力;和其他语言相比,Rust语言的生态系统虽然年轻但是也已经相当成熟了。( i <3 rust 跟帖者可能的原因是:
- 幸存者偏差:认为楼主关注的repo都是大型项目,因此贡献频繁是理所当然的;
- 投资偏好:Rust是一门年轻的语言,很多时间和金钱被投入用于建造核心基础设施;与核心工具都是用C语言编写、核心网络设施都是用Go语言编写的相比,Rust要走的路还有很多。
- 强大的社区:Rust拥有一个令人惊叹的强有力支持的社区,这或许和楼主发现的现象有关系;
- 内存安全保证代码质量:由于Rust在编译期间的安全保障,贡献的代码(只要编译通过)很容易被确认为是内存安全的,这使得很多开源项目的维护者更愿意接受其他人的代码贡献。
不少人认为,易于贡献代码 这一点自己再同意不为过。(:
From 日报小组 odd-cat
社区学习交流平台订阅:
评论区
写评论还没有评论