赛迪网 > IT产品 安全 > 资讯
  IT资讯搜索
 
IT产品搜索
· 赛门铁克专区:双倍积分下载 VMWare有奖接龙
· 商用办公产品解决方案 服务器市场价格战之争
· 多功能一体机评测报告 暑期IT产品促销大卖场
· 趋势专区:云安全讨论活动 北京无线城市试运行
· 市场热销精品打印机推荐 虚拟化技术渐成热门
· 扫描仪发展的过去与未来 路由基本协议与技术

野指针:小小的程序错误导致严重安全漏洞

发布时间:2008.01.29 05:04     来源:TT中国    作者:Michael Cobb

在过去,相当普遍的称为野指针(dangling pointers)的程序错误经常被看作是质量控制问题而不是安全因素。例如在2005年,一个在IIS5.1上的野指针问题被报告给微软,但是两年多仍没有发布修复补丁,而这种类型的bug完全有可能破坏系统或者引起一个严重的安全威胁。

野指针出现在当程序员创建、使用,然后释放内存中一个对象但却没有相应改变对象指针的值时——在这种情况下,产生了一个无效指针。结果是指针错误地指向了一个已使用的内存位置。当这个指针指向的不再一个合法的对象时,就被认为是“野指针”。因为这个被野指针指向的内存,可能包含完全不同的数据。当一个程序错误地通过野指针访问对象时,不可预期的行为就可能会出现。

最近IBM宣称,在线风险管理公司Watchfire的专家们已经找到一个方法来控制野指针并且使它们指向特定的内存位置。通过发送一个特别精心设计的URL给服务器,研究人员乔纳森•埃佛克和Adi Sharabani发现它们可以破坏一个目标机器并且可以在它上面运行他们自己的加壳代码。用这种方法,一个攻击者可以远程控制或入侵任何一台机器,只要这台机器有一个野指针在它的应用程序中,用大致相同的方法攻击者也可以进行缓冲区溢出攻击。

我们可以看到缓冲区溢出攻击是多么有破坏性和有效性。当一个攻击者可以随便修改计算机内存时,毁坏数据结构、信息泄漏、加大权限和执行恶意代码都是可能出现的后果。尽管野指针在许多成熟的程序中可能被发现,黑客们还是集中关注于网络应用程序,因为在这些程序中包含大量的敏感数据。

野指针很难被程序员定位,因为它们经常是在创造很久后才破坏不相关的数据或者造成系统不稳定。这些bug在低级语言譬如C和C++中很普遍。在像Java和C#高级语言中,野指针是不可能发生的。因为(在Java和C#中),当一个对象被销毁时,指针会被自动处理,并且不用的单元也被回收。不使用这种自动处理指针语言的开发者们需要重新评估他们的应用程序开发步骤。所有的指针在使用后都需要被置为空指针。

灵活的指针是很流行的数据类型,因为它可以很好控制内存。一个灵活的指针很典型的要涉及从计算到回收对象。涉及计算的机器计算那个指向相同对象的指针,一旦计算等于0,对象将被删除。

一些别的防止野指针的方法包括“墓碑方法”和“锁钥算法”。一旦一个对象被废弃,一个相关的墓碑被自动产生来废弃与之相关的指针。在“锁钥算法”设想中,指针访问是通过比较一组有序的关键字中的两个值来决定的。另外有价值的产品比如Valgrind是一组调试设备,Boehm-Demers-Weiser是一种废弃回收的工具,它可以整理代码,同样可以帮助预防野指针。

因为野指针不再被认为是一个良性问题,开发者们需要调整软件开发步骤以避免野指针出现在产品代码中。因为这个问题远离开质量控制阶段变得太严重,保护措施应该被开发周期早期。使用用高级语言开发,进度会相对的顺利些。对那些使用其它语言开发而处于开发和维护中的程序来说,使用上文提到过的最优方法值得推荐。

(责任编辑:封小明)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 德国政府密谋拦截并破解Skype通话内容 (01-29) · 微软 Windows RPC 认证远程拒绝服务漏洞 (01-28)
· Windows柯达图像查看器远程代码执行漏洞 (01-28) · HFS HTTP File Server发现多个远程安全漏洞 (01-28)
· Mozilla Firefox JavaScript文件泄露漏洞 (01-28) · 多数互联网论坛存在大量漏洞 可能传播木马 (01-28)
· Cisco PIX及ASA设备TTL Decrement服务漏洞 (01-28) · 国家病毒应急中心:互联网论坛多存在漏洞 (01-28)
· 微软称Vista是最安全的系统 漏洞也最少 (01-28) · IBM Tivoli Business Service Manager漏洞 (01-27)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 信息化市场百家争鸣 SaaS深陷争议“泥潭”
· 提高管理水平 "两栖"CIO应具备的六大能力
· 国产ITIL运维先行者 四大厂商角力BI市场
· 金融行业GSN专题解决方案 企业网解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统