Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


微软开源了一个更安全的 C 语言版本:Checked C

2016-6-18 18:15    评论: 7 收藏: 1    

微软开源了 Checked C ,这是一个 C 语言的扩展版本,可以用于解决 C 语言中的一系列安全相关的隐患。正如其名字所示,Checked C 为 C 语言增加了检查。这个检查可以帮助开发者检查常见的编程错误,比如缓存区侵占buffer overruns、内存访问越界、不正确的类型转换等。这些编程错误往往是造成许多重大安全漏洞的根本原因,比如破壳漏洞Shellshock心脏出血漏洞Heartbleed沙虫Sandworm等。

Checked C 通过修改如何控制指针来解决这些问题,指针被程序员们用来定义他们的代码所操作的内存地址。

当指针数量一多,指针控制就往往容易忙中出乱。项目越大,跟踪它们就越困难。类似 Chromium、Firefox、Office、OpenSSL 以及其它的大型代码库在这方面都存在这样的问题,你可以从它们的变更日志中看到大量的这类问题修复。

“Checked C 允许程序员更好的描述他们想要如何使用指针,以及指针应该指向的内存范围”,微软,“这个信息可以用于在运行时环境中添加检测,以侦测错误的数据访问,而不是让错误悄悄的发生而无所察觉。”

Checked C 给 C 语言添加了边界检查

Checked C 也将允许开发者检测到他们以为 C 语言有、而实际却没有的功能误用。按编程的说法来说,这个叫做“边界检查bounds checking”的功能,用于检查变量/指针是否在它的范围之内赋值。

C# 和 Rust 已经有这样的功能了,而且还不止于此。然而,不幸的是,被广泛使用的 C 和 C++ 却没有这样的功能。微软希望只需要对现有的 C/C++ 程序做最小的改动,利用 Checked C 就可以得到安全方面的改善,这样会吸引大量的开发者开始使用 Checked C。

Checked C 项目已经放到了 GitHub 上。

这并不是微软第一次对基本编程语言做出来自己的演绎,之前,该公司的程序员们还创建了一个名为 TypeScript 的 JavaScript 的超集,它已经得到了广泛认可。

发表评论


最新评论

我也要发表评论

来自山东潍坊的 Firefox 47.0|Windows 7 用户 2016-7-12 19:33
[点击展开更多楼层]
2
youyoulemon [Chrome 51.0|Windows 10] 发表于 2016-6-23 16:30 的评论:
那你还用着win10?难道Visual Studio是坑?
3
hazdzz [Firefox 45.0|Mac 10.9] 发表于 2016-6-23 22:15 的评论:
我跨三大平台。至于VS,大坑一个。
4
youyoulemon [Chrome 51.0|Windows 10] 发表于 2016-6-25 10:56 的评论:
我选择手动滑稽
[手动滑稽]
回复
youyoulemon [Chrome 51.0|Windows 10] 2016-6-25 10:56
1
hazdzz [Chrome 51.0|Windows 10] 发表于 2016-6-22 11:05 的评论:
微软的产品除了Microsoft Office 和 Azure,其它都是坑。
2
youyoulemon [Chrome 51.0|Windows 10] 发表于 2016-6-23 16:30 的评论:
那你还用着win10?难道Visual Studio是坑?
3
hazdzz [Firefox 45.0|Mac 10.9] 发表于 2016-6-23 22:15 的评论:
我跨三大平台。至于VS,大坑一个。
我选择手动滑稽
回复
hazdzz [Firefox 45.0|Mac 10.9] 2016-6-23 22:15
1
hazdzz [Chrome 51.0|Windows 10] 发表于 2016-6-22 11:05 的评论:
微软的产品除了Microsoft Office 和 Azure,其它都是坑。
2
youyoulemon [Chrome 51.0|Windows 10] 发表于 2016-6-23 16:30 的评论:
那你还用着win10?难道Visual Studio是坑?
我跨三大平台。至于VS,大坑一个。
2 回复
youyoulemon [Chrome 51.0|Windows 10] 2016-6-23 16:30
1
hazdzz [Chrome 51.0|Windows 10] 发表于 2016-6-22 11:05 的评论:
微软的产品除了Microsoft Office 和 Azure,其它都是坑。
那你还用着win10?难道Visual Studio是坑?
1 回复
hazdzz [Chrome 51.0|Windows 10] 2016-6-22 11:05
微软的产品除了Microsoft Office 和 Azure,其它都是坑。
回复
fxbszj [Firefox 47.0|Windows 7] 2016-6-21 09:33
难道就是那些必须用_s 函数的……
回复
POCMON [QQ Browser 9.4|Windows 10] 2016-6-19 20:36
不错,其实MS除了价格外,都还做的不错!说到价格,只是能不能接受的问题~
2 回复

热点评论

hazdzz [Firefox 45.0|Mac 10.9] 2016-6-23 22:15
我跨三大平台。至于VS,大坑一个。
2
POCMON [QQ Browser 9.4|Windows 10] 2016-6-19 20:36
不错,其实MS除了价格外,都还做的不错!说到价格,只是能不能接受的问题~
2
youyoulemon [Chrome 51.0|Windows 10] 2016-6-23 16:30
那你还用着win10?难道Visual Studio是坑?
1
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。