别了,系统漏洞

来源 :新电脑 | 被引量 : 0次 | 上传用户:iceberg4ever
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  去年年底,微软的研究部门对外展示了新的操作系统Verve,该系统最吸引人的地方就是它运行速度极快,而且没有任何安全漏洞。
  
  众所周知,每个月的第二个星期二,微软都会对外发布最新的系统安全漏洞补丁。然而,就像一个病人若不是因为有明显的病征就不会主动去医院检查一样,原则上,如果不是因为有新的攻击方式出现,微软就不会推出相应的Windows安全补丁,所以Windows系统的安全隐患总是被动修补的,无法一次性清除。其中,在针对Windows系统的攻击中,有大约90%的恶意代码通过缓冲区溢出的方式入侵操作系统。
  缓冲区溢出是指入侵者破坏内存中预留的区域,从而非法“操纵”Windows系统本身或者运行在系统中的应用程序以及其他在内存区域中连接的设备。每年,微软都需要为Windows系统提供超过100个补丁来修复由此带来的系统安全漏洞。但是,在微软研究院研发的新操作系统Verve中,安全漏洞数量已经降到了0,它是如何实现的呢?
  借编程语言突围
  Windows操作系统之所以容易受到恶意软件的攻击,源头在于它使用的编程语言。Windows、Linux和Mac OS X都使用“C语言”来构建它们的关键功能,但是C语言从设计之初就无法保证安全性,因为C语言源代码在处理器上运行之前,必须首先被编译器“翻译”为机器语言(汇编语言),同时还需要链接库文件将代码与系统库文件关联起来。在这些步骤中,只要编译器、链接库文件出现了差错,或者系统库文件被篡改,安全漏洞就难以避免。更重要的是,C语言代码本身并不足以完成所有的系统核心功能,为保证操作系统的整体性能表现,部分操作系统核心功能必须直接通过汇编语言编程来实现。然而,不管是C语言还是经典的汇编语言都没有完整的“类”概念,无法检查代码的安全性。
  简单举例来说,如果变量被指定了整数类型,那么这个变量就被指定了类型,该变量就无法存储字符和浮点数。如果没有赋予变量类型,攻击者就可以给变量赋予一个非常大的浮点数值,从而造成内存的缓冲区溢出。如果一个编程语言在编译源代码的过程中会检查数据的类型,那么我们就说该语言是“类型安全”的。但是这样做的副作用就是额外的检查势必会影响代码执行效率。
  可以自检的操作系统
  在新的操作系统Verve中,微软研究员将类型安全检查引入了汇编语言程序,确保操作系统最重要的部分使用类型安全的机器语言编写。类型安全的汇编语言虽然并非微软的新发明,但是它在Verve操作系统上的应用是该语言首次运用于大型的操作系统平台。而且,在Verve系统中,代码被执行之前会发送给一个核查器,该检查器会验证代码并没有访问不该访问的内存位置,确保运行后不会产生错误。这样的话,无论入侵者想对系统进行怎样的非法操纵,都不可能在Verve系统下制造缓冲区溢出。
  从系统架构上看,Verve与Windows系统也不相同。Verve操作系统由内核(nucleus)、核心(kernel)和应用程序组成,通过系统内核完成与硬件的连接。与Windows系统不同的是,Verve系统内核会检查提供硬件设备接口的硬件抽象层(Hardware Abstraction Layer,HAL)代码是否有错误。另外,系统内核的其他任务包括控制数据的输入输出,进行异常、错误的识别与处理。值得一提的是,Verve增加了垃圾回收(一种即时释放不再需要的动态内存的管理机制)的功能,可以确保应用程序不浪费太多的内存,同时减轻了程序员的负担,降低其犯错误的机率。
  运行代码安全的软件
  操纵系统的核心(不同于上面提到的内核)主要做为应用程序开启新的线程和进程的接口使用,而且Verve系统的核心和应用程序也通过类型安全的汇编语言进行编译,因此不仅系统核心运行快速安全,而且应用程序也可以安全稳定地运行。从编程的角度看,Verve系统的开发者这样解释内核与核心的区别:在核心中,所有的功能都是通过安全的C#语言编写的;而在内核中,开发者需要亲自编写类型安全的汇编语言代码,这是一项极其繁杂和耗时的工作。
  目前,Verve系统上可以运行的应用程序还非常有限,而且其中大部分都是硬件测试、评分软件。另外,Verve系统也无法通过TCP协议进行互联网接入,没有相应的浏览器程序,并且仅支持在单个处理器核心上运行。但是,喜欢折腾操作系统的IT狂人仍然可以自行测试这个系统,在微软的开源平台Codeplex(codeplex.com)上可以免费下载到Verve系统的源代码,只需要将源代码进行编译就可以了。
  Verve系统的诸多特性是否会在Windows 8或者Windows 9中得到体现,目前还不得而知。但是,做为普通用户,我们非常期待Verve可以早日运用于新版本的Windows系统。到时候,微软就可以取消每月的漏洞补丁发布,我们也不用在每个月的第二个星期二都被“打扰”一次了。
  
  目前的软件:安全与速度不可兼得
  一些计算机编程语言被认为是类型安全的,因为程序员可以指定运算过程中值的类型。运行代码的时候会进行类型检查,但是额外的检查就意味着对性能的消耗——唯一的例外就是使用类型安全的汇编程序语言。
  
  类型安全的新操作系统Verve
  在Verve系统中,内核控制硬件的连接,类型安全的汇编语言代码使系统运行不仅快速,而且不容易崩溃。不安全的外部应用程序需要被编译为类型安全的汇编语言代码,才可以在Verve中运行。
其他文献
根据最著名的数据挖掘著作《数据挖掘:概念与技术》和最新出版的数据挖掘著作《数据挖掘导论》的定义,数据挖掘是“从数据中提取出隐含的过去未知的有价值的潜在信息”,或者
期刊
代理服务器、匿名冲浪服务、SSH加密隧道转发、虚拟专用网络(Virtual Private Network,简称VPN)等网络中转服务能够让我们顺利地打开某个原本无法访问的站点或者提高连接特定网站的速度。不过,这些服务各有所长,各自也有着一定的局限性,我们需要根据自己的应用需求选择适当的服务。例如,对于需要中转所有网络数据的用户来说,使用VPN服务非常合适,但是如果我们的目的只不过是想通过中转服务
期刊
上百个全副武装的骑兵正在靠近罗马帝国的边境,负责把守的罗马边防军百夫长注意到,这些人显然是“来者不善”.他命令自己的战士点燃边防哨塔,哨塔冒出的烟不仅可以通知附近的
期刊
目的:探讨中药震颤宁治疗帕金森氏病的药效。 方法:采用6-羟多巴胺纹状体两点注射法制作PD模型,观察"震颤宁"对大鼠旋转行为的影响。 结果:高剂量震颤宁可改善PD大鼠旋转
基于雨胞降雨率满足一定分布的物理模型,推导得到新的路径调整因子,提出了一种雨衰减预报模型,利用ITU-R视距链路数据库数据回归得到了路径调整因子和不同时间概率转换公式中
商业广告摄影师刘家祥谈惠普Photosmart 8758打印机    这是我为我的同学--西安美院版画系主任拍摄的一张黑白人像,原作是用一款400万像素的数码相机以压缩格式拍摄的,设置为黑白模式。当我用惠普Photosmart 8758的最大分辨率打印出黑白照片时,发现这张黑白片的品质非常出色!以前我也使用过其它品牌的打印机,总感觉打印机最难表现的就是“纯黑”的深度不够,很难达到传统暗房制作的效果
期刊
卒中单元”即是倡导对急性期脑卒中病人及时、规范、合理的治疗,挽救生命.降低残疾率.并为其提供药物治疗、肢体功能及语言训练、心理康复和健康教育。本单位积极应用卒中单元
会议
为了提高无线电物理光学模式计算结果的准确性,其子模式抛物方程模式中最大传播角的选择非常重要。因此,文章提出了一种最佳最大传播角的计算方法,即按标准大气条件下,利用射
会议
以12通道微波辐射计为主,介绍了多通道辐射计反演大气折射率剖面的神经网络算法;以青岛探空站1986-1995年1月份和8月份的历史探空数据仿真研究了多通道辐射计反演大气折射率剖
近几年来,罗兰─C系统作为卫星导航授时系统的备份系统,已经受到了普遍关注。其空中导航授时的误差修正方法更是被深入的研究。本文采用抛物方程算法(PE算法),对三种典型条件