软件大小:1.23 MB更新时间:
软件授权:免费版软件类型:国外软件
软件类别:电脑教程语言:简体中文
在Microsoft SDL Progress Report这份报告中您将了解微软安全开发人的生命周期5个阶段(SDL)和微软巳在使用SDL和安全科学、减轻微软的软件和服务的威胁方面取得的进展以及演变。(2004 - 2010年)
支持的操作系统:所有可以阅读PDF的平台
这是┅份中文PDF文档,在PC或MAC上您可使用或打开阅读。
界面语言:简体中文
软件大小:1.23 MB更新时间:
软件授权:免费版软件类型:国外软件
软件类别:电脑教程语言:简体中文
在Microsoft SDL Progress Report这份报告中您将了解微软安全开发人的生命周期5个阶段(SDL)和微软巳在使用SDL和安全科学、减轻微软的软件和服务的威胁方面取得的进展以及演变。(2004 - 2010年)
支持的操作系统:所有可以阅读PDF的平台
这是┅份中文PDF文档,在PC或MAC上您可使用或打开阅读。
界面语言:简体中文
前面在学习使用google的protobuf时在VS2012中一直无法编译编译通过经过查找一些资料原来发现,并不是protobuf的问题而是自己在使用VS2012时,没有完全了解VS2012的强大功能和跟以前VS2010的差别,导致无法编译通过
现在就来说说为什么没有编译通过,在VS2012创建项目时会有一个勾选项,叫做“安全开发人的生命周期5个阶段(SDL)检查”这個东西是微软在VS2012新推出的东西,为了是能更好的监管开发者的代码安全如果勾选上这一项,那么他将严格按照SDL的规则编译代码会有一些以前常用的函数无法通过编译,比如在VS2010中的scanf是warning那么在VS2012中就是error了
查看MSDN中对SDL的描述,SDL检查会视以下告警为错误:
一元负运算符应用于无符號类型从而导致无符号结果。 |
一个负整型常数转换为无符号类型从而导致一个可能无意义结果。 |
初始化变量的代码不会执行 |
使用未初始化的局部变量。 |
对一个潜在的未初始化的局部指针变量的使用 |
当使用时,请缓冲区溢出特定 C 运行时 (CRT) 函数 |
也就是在编译的时候,当SDL檢查启用时编译器会严格检测缓冲区的溢出,并且会在delete某个指针时自动为这个指针定义一个非有效的值,防止在delete以后仍用到这个指针時出错还有就是会在你定义一个对象时,自动为这个对象赋值零
从这些功能来看,有些功能还是不错的不但方便了程序员使用也增強了程序的健壮性,但是对老版本程序的兼容就会出现问题以前程序中编译通过的内容也许在VS2012中就没有办法通过,还是大家根据自己的習惯自行考虑是否使用这个东西吧
另:还有一个选择打开和关闭SDL检查的位置就是:项目属性->配置属性->C/C++->SDL检查,选测是或者否
微软的安全开发人的生命周期5个階段(SDL)已经实施了十年了这段时间里发生了很大的变化。在过去的十年中互联网使用人口已经由约3亿5千万增长到超过24亿。现在开发人員的机会比以往任何时候都要多。Windows 8仍然相对较新云尚处于采用的早期阶段,而新型的移动设备和平台已经出现了迅猛发展虽然互联网創造了许多处理业务的全新机会和方法,但是它也为网络犯罪创造了地下温床安全漏洞所引发的财务问题、知识产权损失、网站篡改和間谍活动已成为现在计算领域所面临的现实。
许多开发人员他们普遍认识到了安全开发的重要性尽管如此,有证据表明大多数组织仍嘫没有将安全开发采纳为基础业务原则。最近微软对全球2200多名专业人员和490名开发人员进行了调查调查发现,只有37%的专业人员声称他们的組织在提供产品和服务时考虑安全问题此外,61%的开发人员没有利用已存在的缓解技术如ASLR、SEHOP和DEP等。多年来这些缓解技术一直是免费向業内提供的,并且经常作为现有开发实践的简单补充―但是现在仍然只有少数开发人员在利用这些技术所有使用互联网的人都应该对此感到担忧。
此外调查显示,阻碍各组织采用安全开发流程的最大障碍为: