729个安全漏洞

来源 :新电脑 | 被引量 : 0次 | 上传用户:armstronger7026
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  微软、苹果、Adobe、Mozilla……应该为此负责吗? 2010年8月中旬,IT安全公司Acros发布了一个另业界震惊的DLL漏洞,起初并不确定这个漏洞是由Windows操作系统引起的,还是由一些应用软件引起的。但是不少常用的软件都受到了这个漏洞的影响,包括iTunes、Firefox、Photoshop和VLC Media Player,甚至包括微软的办公软件Office等等。值得我们注意的是,其实这种类型的漏洞并不算是新发现,早在13年前,美国国家安全局就曾警告说“Windows系统的LoadLibrary函数是不安全的,因为它没有使用绝对路径来搜索DLL文件” 。
  这个漏洞的出现使很多软件开发者感到意外,因为很久以前微软就已经在其开发者社区MSDN上公布了Windows如何加载DLL文件的细节,到现在仍旧会出现DLL漏洞实在不应该。更加另人意外的是这个漏洞居然影响到了微软自家的程序。微软安全部门发言人Thomas Baumgartner承认“确实没有人想到这个函数会带来如此严重的安全问题” 。
  更加令人担心的是,软件漏洞并不仅限于DLL文件,很多软件都存在漏洞,而且用户正在为此付出代价。IT安全公司Secunia最近发布了一本“安全漏洞白皮书”,其中指出2010年一个典型电脑用户常用的50个软件中发现了729个漏洞,这个数目几乎是2009年的两倍(参见本页右侧图表)。用户应该如何修复自己“千疮百孔”的操作系统,防范这些漏洞带来的安全问题呢?本期CHIP将告诉大家如何使用简单的方法来保护自己的系统,文末提供了相关软件的下载地址。
  Windows已非攻击重点
  过去,微软的操作系统一直都被认为是安全漏洞的“发源地”,但是最近几年来自Windows的漏洞已经在逐渐减少。在过去,由于微软的软件拥有很大的用户群,所以难免成为攻击的目标,但是随着微软安全意识的逐步增强,黑客现在已经将新的目标瞄准了Adobe、Mozilla、苹果和Google等公司开发的用户常用软件。
  从安全公司Secunia发布的“安全漏洞白皮书”看,仅2010年上半年发现的漏洞数量就相当于2009年全年的数量,安全形势十分不乐观。许多用户都没有意识到自己常用的软件中包含大量的漏洞。而且,并不是所有用户都经常更新自己的常用软件,以防止攻击者利用漏洞感染自己的电脑。对于微软而言,由于其采用了自动更新机制,所以这个问题已经不再明显,但是其他常用的第三方软件很多都需要用户手动进行更新。
  软件过于复杂
  为什么要把处理软件漏洞的事情交给用户?软件的开发者本应该写出更严谨的软件,并且做好发布前的测试工作。然而,做到这些并不容易,因为每个程序都是由数百万行代码组成的,必须处理无数的功能和设置,而且还要与操作系统良好地兼容。Firefox浏览器的开发总监Jonathan Nightingale说“测试方法再严密也不可能发现所有的软件错误和安全漏洞”。但是Mozilla的多级程序质量检测体系可以保证在最大程度上减少错误的发生,这套体系除了使用人工源代码分析和自动检测系统外,还包括内外部安全专家和社区用户对预发布版本漏洞的测试报告。
  对于最终用户而言,软件开发商在检测自身软件错误方面获得更多的支持和帮助是有好处的。一些没有恶意倾向的黑客组织发现并提出了修复各种DLL漏洞的方法。Google甚至通过给发现漏洞者提供奖励的方法鼓励用户帮助其完善自身的软件,发现一个漏洞的最高奖励为3133.7美元。如出一辙,Mozilla曾在一次“安全漏洞悬赏奖励计划”中为80位重要安全漏洞发现者提供了每人3000美元的奖励。由于专业的软件漏洞分析专家都是独立工作的,通常需要几周到几个月的时间才能发现漏洞,他们会在软件正式发布之前通知该软件的开发商,从而及时修复发现的漏洞。如果到发布软件之时还是未能发现漏洞,就只能将包含漏洞的软件发布出去。这样的话,不出几个小时包含漏洞的软件就有可能会受到攻击。黑客主要通过网站向用户电脑植入恶意软件或者窃取用户数据。更危险的是,如果有恶意的黑客发现了某个软件中的0Day漏洞,那么用户就会面临更严重的安全问题。Adobe Flash Player上的0Day漏洞曾经使约99%的用户成为受害者,在官方漏洞修复方案出台之前,我们唯一能做的就是把自己的安全软件套装更新到最新版本,采用他们提供的临时应对方案,尽量减少可能对自己造成的伤害。
  沉默还是公开?
  每一个已知的安全漏洞,无论是0Day漏洞还是在例行测试中发现的漏洞,都意味着将有上百万用户的电脑面临风险。基于此,业内人士对于是否应该公开发现的漏洞持有不同的意见。软件开发商希望在漏洞信息对外公布之前争取更多的时间,这样他们才有足够的时间分析并修复该漏洞,减少对用户电脑的威胁。卡巴斯基公司在一项研究中声明,过早地公布漏洞将使用户面临极大的风险,因为一旦漏洞公布后,针对这些漏洞发起的攻击就会迅速攀升。
  但是还有一些安全专家持有不同意见,例如著名开源安全社区的创始人HD Moore就认为,即便多给软件开发商30天甚至120天的时间,也不意味着他们就能修复所有漏洞,但是当一个漏洞被公布之后,不到10天就会有相应的补丁出现。一个更积极的漏洞披露政策将会给开发者带来更多压力,但也会促进他们更快地找到解决办法,所以应该迫使他们告知公众。这样的话,用户至少知道他在使用这个软件的时候需要小心一点儿或者在补丁出现之前最好少用甚至停用该软件。
  易忽视的问题
  有时候,一些程序出现错误往往是因为其没有利用好Windows本身提供的安全保护功能。例如,针对软件的缓冲区溢出攻击十分常见,微软专门提供了DEP(Data Executive Protection,数字执行保护)和ASLR(Address Space Layout Randomization,地址空间布局随机化)防护功能以阻止这个问题的出现,其中DEP技术可以保证恶意代码无法在内存中运行,ASLR技术通过堆栈、共享库映射等技术使文件在内存中的地址随机化,防止攻击者定位攻击代码位置,达到阻止溢出攻击的目的。遗憾的是,有一些程序包括Winamp、QuickTime和Java运行环境等程序不支持这两项技术。通过微软进程管理器软件Process Explorer,可以找出你的电脑上有哪些程序进程支持这两项保护功能。
  为保障Windows平台软件的安全性,微软也为第三方软件开发商提供了一些辅助方案。诸如Adobe和IBM这样的大公司可以派遣自己的开发人员到微软雷蒙德总部从事开发工作,另外,微软也会派出多位开发人员共同参与到大型软件的开发中,以期增强软件的安全性。不久之前,Adobe刚刚参与到一项MAPP(Microsoft Active Protections Program)计划,该计划旨在促进微软及其合作伙伴与一些专业安全公司交换新漏洞信息。
  一些小型公司无力支付高昂的合作费用,它们可以在www.microsoft.com/security找到免费的SDL(Security Development Lifecycle,安全开发周期)指南,这个指南为软件开发者提供了如何使自己的软件更加安全的技巧,该文档详细描述了在各个软件开发阶段分别应该考虑哪些与安全相关的问题。微软的另一款免费的软件安全漏洞检测工具“!exploitable Crash Analyzer”可以帮助开发者检测开发过程中引起程序崩溃的错误和安全漏洞。在微软开发者平台MSDN上,微软提供了更详细的说明、实例和背景信息,帮助程序员调整他们的软件与Windows的兼容性状况。然而,令开发人员感到无助的是,尽管他们已经严格执行了微软的建议,软件中出现DLL漏洞的情况还是时有发生。
  补丁总是迟到
  对于软件漏洞带来的风险,应该完全由第三方软件提供商承担责任吗?显然不是,微软旗下的产品也出现了几个难以避免的漏洞。即使是微软自身的Office办公套件PowerPoint中也曾出现过DLL漏洞,Internet Explorer浏览器更是公认的“漏洞百出”型软件,2010年9月初,IE8被爆存在一个自2008年起就已经发现的漏洞,而其他的浏览器制造商很久之前就已经修复了这个漏洞。这个问题的出现是由于IE8浏览器对CSS元素的解析存在漏洞,导致了黑客可以劫持用户最近的浏览器对话,进而窃取个人信息。
  IBM的一项研究显示,微软还有不少未解决的错误和漏洞存在,根据这项研究提供的数据,仅在2010年上半年微软就有23%的已知漏洞尚未得到修复。微软公司并未对这一数字进行评论,但微软同时也声明会权衡漏洞的危害性以判断是否需要及时修复。同其他大多数软件开发商一样,微软会针对已知的多个漏洞集中发布一个更新补丁。Firefox浏览器开发主管Jonathan Nightingale则说“发布补丁修复漏洞是解决问题的最后办法,但不是最好的办法”。因为你没法保证用户打上你发布的补丁后,不会带来新的问题。
  为了确保软件的新版本能够稳定、安全地运行,在把升级包推送给所有用户之前,Mozilla会在其社区中挑选用户做发布之前的测试。为了减少错误的发生,Mozilla通常6到8周时间提供一次Firefox浏览器版本升级,如果遇到严重的漏洞,Mozilla将会在1周之内发布升级补丁程序。
  升级的隐忧
  如果补丁发布得过早,反而有可能带来新的问题。Firefox浏览器就曾遇到过这个问题,当时Firefox 3.6.9发布了一个补丁修复了一个DLL漏洞,但是发布后却发现这个补丁相当不稳定,以至于Mozilla收回了这次升级,不久后又重新发布了可以稳定运行的Firefox 3.6.10。不少软件公司都有例行的补丁发布周期,微软在每月的第二个星期二发布更新补丁,这主要是考虑到公司的系统管理员的工作需求。如果不定期发布一次更新,就会影响到各公司的正常运作。只有在遇到非常严重的攻击时,微软才会打破常规,推出即时补丁。微软的自动更新机制可以很好地保护系统,国内用户也可以使用一些成熟可靠的第三方打补丁程序,保护好自己的系统。
  不同于Adobe公司的软件在前台更新程序时会影响到用户的正常使用,Mozilla在其Firefox浏览器中使用了非常友好的自动升级系统。尽管Flash Player现在能够报告新版本,而不是在用户不知情的情况下直接进行安装,但是仍然需要用户5次点击才能完成升级工作。从目前看来,自动更新机制还不是主流的更新方式,绝大多数软件在有更新时都会提示用户,但不会直接进行升级。建议大家使用软件管理工具提供的自动检测软件新版本的功能,帮助大家方便地更新自己的软件到最新版本。
  快速反应
  每一个软件中都潜伏着数不尽的安全危险——错误是不可避免的。软件开发商仍需要加强自己对新漏洞的快速反应和修复能力,因为“安全专家们”公布新漏洞的速度明显加快了。Google的安全团队在其博客中倡议“软件开发商应该在60天内修复安全漏洞,否则安全研究员最好将漏洞公开”。要实现这样的目标,需要软件开发商采取更好的补丁管理机制。作为第一步,Adobe公司正在将自己的升级进程整合到Windows的自动更新机制中(目前只对企业用户开放)。不少个人用户希望更多程序可以采用Windows自动更新机制进行升级,这样的话就避免了大家一个一个地去更新软件的烦恼。
  对于如何处理软件漏洞信息,软件厂商依然存在分歧。Mozilla和微软会公布软件中存在的DLL漏洞,但是Adobe并没有提供过关于DLL漏洞存在的信息。显然,只有提供软件漏洞的细节信息,才能够评估该漏洞的安全级别,从而避免用户错误地处理它。目前,大部分软件已经成功修复了DLL漏洞。不幸的是,安全公司Acros发现部分软件在载入EXE文件时仍然存在DLL漏洞,而现在的解决方案还不足以为软件提供很好的保护,黑客还是可以发起攻击。还真应验了那句名言“一个漏洞的修复就是下一个漏洞的开始,软件开发者永远在路上”。
其他文献
运用谱域分析方法对含电磁双轴各向异性媒质衬底的频率选择表面(FSS)进行了分析。通过对纵向传播常数、媒质层特性阻抗及特性导纳的推导,得到该结构的谱域格林函数.在散射场
会议
基于波导模式的正交性,本文导出了开口波导口面波导模式平面波谱的正交性。利用这一正交特性,本文提出通过计算任意已知模式的远场平面波谱与过模开口波导远场平面波谱的内积
通过遗传算法来实现多层结构的薄形低反射材料。目前许多低反射材料的工作频段都在4GHz以上。在4GHz以下频段的低反射特性很难以较薄的材料实现。等效电路分析与电磁场仿真表
建立无相位检测的数据方程并将其与全息电磁逆散射CSI方法结合,首次提出了一种基于无相位检测电磁逆散射的CSI方法。理论分析和数值计算结果表明了该方法的稳定性和有效性,为
针对分数布朗运动(FBM)粗糙表面提出了一种反演和重构分维数的算法模型。基于微扰近似理论建立了FBM粗糙表面的高斯波束电磁散射模型,研究了FBM粗糙表面的平均电磁散射强度与
会议
本文用旋转体-矩量法(BOR-MoM)计算了埋地金属地雷(以M20反坦克地雷为例)和同大小的介质地雷的时域和频域响应。根据时域回波,把埋地地雷的散射等效为地雷上几个散射中心的散
无相位电磁检测研究仅测量信号的幅度进行目标成像的方法。将μPSO算法用于实现无相位电磁逆散射中的相位复原可克服局部迭代算法陷入局部最小解的缺点,克服基因等遗传算法无
会议
期刊
将遗传算法和广义传播矩阵法相结合反演各向异性介质板的介电系数和电导率。为提高结果的准确性,反演可分两步进行。首先,在电磁波垂直入射的情况下反演出板状材料的横向的参
期刊