警惕:Google代码搜索窥探程序漏洞

来源:岁月联盟 编辑:zhuzhu 时间:2006-10-10
警惕:Google代码搜索窥探程序漏洞   安全专家周四警告开发者,他们需要了解他们的开源程序库现在已经可以很容易被挖掘以使得安全者可以寻找可能存在漏洞的程序。在过去,Google可以被用于寻找特定字符串;而现在搜索引擎已经可以更有效地搜寻代码。

  Veracode安全部门首席技术官Chris Wysopal说:“它探寻可公开获得代码的位置的足迹已经越来越深,并且显然它正在搞到有价值的材料。这使得安全者可以更快、更容易地发现弱点——这些安全者们希望安全的不是某个特定的Web站点,而是任何Web站点。”

  Google周四宣布这一工具已经可被公众使用。Google代码搜索发掘互联网上的开源代码库,将网上大量可获得的源代码编译成易被搜索的数据库。这一工具使得上网者可以搜索符合特定正则表达式的代码,而这些搜索可以限制于特定的文件类型与许可。

  Google的代码搜索所暗含的安全问题与其网站搜索引擎带来的问题类似。Google安全——这一名词指使用Google查询来寻找网站中的弱点——是一种寻找具有特定漏洞的服务器的流行方式。蠕虫与病毒已经试图利用搜索引擎建立准备安全的潜在牺牲者的列表。7月,研究者警告使用搜索引擎可以很容易地发现恶意代码。

  Google在周四重申,该工具目的是帮助程序员寻找示例代码和模糊的函数定义,而非为搜寻漏洞。

  该公司在以电子邮件形式发往SecurityFocus的一份陈述中说:“Google建议开发者们使用通常被接受的良好的代码习惯,这包括理解他们正在应用的代码的含义以及适当的测试。”

  然而,程序员们看上去并不能走在正迅速膨胀的可以发现有趣代码特性的搜索列表前面。一个简单的“todo+security”查询就可以找到很多具有未执行的安全特性的程序。使用“confidential+proprietary”查找文件可以查到被不适当地发布的代码。而根据Veracode的Wysopal所说,搜索“gets”函数——一个臭名昭著的不安全字符串操作——可以揭示很可能易受内存溢出安全的程序。

  本文采访的安全专家表示,对于大多数应用而言,Google代码搜索的功能可以使用正常的Google搜索引擎模仿,但该工具使得这样的搜索效率更高。

  代码搜索还可以使代码审查者更快捷地警告人们程序中存在的漏洞。开源软件的一个中心议题是更多人检查可获得的代码可以增强安全性。Wysopal说,一段时间后Google代码搜索可以使得更多的人寻找漏洞。

  Wysopal说:“这就像给每个人一架望远镜。这正使得他们效率更高。就让我们期望他们正将此应用于好的方面。”

  Johnny Long是一位著名的安全研究者,他深入研究过Google安全。他说,防备可能利用代码搜索进行的寻找开发者程序中的漏洞并不容易。程序员们需要被灌输安全编程技术以了解什么是危险的而什么不是。频繁的代码检查也是必须进行的,而最后,编程方针需要进一步被强化。

  Long说:“如果程序员们不被激励以使用安全的库并避免不好的函数或技术,如何使他们走向更艰难的编写安全代码之路呢?”

  这位安全研究者还强调,处理易被搜索的代码库需要时间,而恶意研究者可能暂时走在开发者前列。他还说,程序员们需要抗拒试图将他们的代码库隐藏于Google之外的诱惑。

  Long说:“任何新的技术都使得新的安全出现。关键的问题是好人们是否会最先发现这一新的技术。”