banner


beSTORM白皮书


beSTORM为一种能够发现产品中未知(0 day)安全漏洞的安全评估工具,并且能够在开发环节中、产品发布前及发布后得到有效使用。 此工具属于“fuzzer”工具系列,它的使用在微软安全开发生命周期中有所推荐。与当今的第二代漏洞评估工具不同,beSTORM并不会寻找攻击签名或尝试定位产品中的已知漏洞,而是对网络产品执行详尽的分析以发现新的未知漏洞。

beSTORM是在开发过程中使用的(在QA阶段)以自动发现驻留在产品中的安全漏洞,允许开发者在产品发布前解决这些漏洞问题。

beSTORM为一种自动化工具,进行特殊编程并对于所有可能的网络协议输入组合方式进行彻底检测,以测试协议执行中是否存在缺陷,无论这种缺陷是否严重。当然,要想覆盖协议的所有理论输入组合方式对于一些重要的产品来说并不太实际。因此,beSTORM配有优先级算法,能够在一段合理时间内对有可能触发安全漏洞的所有输入完成覆盖。

这些算法源于Beyond Security多年来在搜寻安全漏洞中执行手动安全审计中获得的经验与知识以及公司花了六年时间在SecuriTeam.com网站上记录超过7500种安全漏洞的经验,此网站是网络中最大的安全数据库之一。

根据我们的研究, 我们得到的结论是尽管对于任何应用程序的可能输入的数量几乎是无限的,但可能孤立有可能导致产品中暴露安全漏洞的特定输入。这就是大多数领先的安全研究人员(包括我们)发现产品中安全漏洞的方式,即通过覆盖此种应用程序的输入空间。但是,这是一种成本非常高的步骤,并且需要耗费大量的专业知识和时间。主要的问题在于如果一个软件开发公司不想花费大量的时间及精力来发现这种漏洞,一个拥有大把时间的聪明的16岁孩子便会为了发现此种漏洞带来的“荣誉”而铤而走险。

为了使这一步骤自动化,并且在运行此工具时无需安全方面的专业知识,beSTORM将产品开发这一安全检测流程自动化。

产品目标
信息安全产业现在明显需要安全测试工具,以便在能够导致非授权入侵的基于网络的产品中尽早地发现漏洞

今天的软件市场最普遍的一个问题是黑客无数次尝试并攻击应用程序的安全防护。每一天都会发现并发布新漏洞(Beyond Security一家公司每天都会报告5至10种新漏洞)。这些新漏洞会造成很大的损失并对供应商的形象有所影响;金钱的损失是由于人力从其他任务中抽离来解决这个问题;第三方损失是由于利用存储在应用程序中的特权信息来损害企业利益引起的。直接损失预计达到上万美元,间接损失预计会达到上百万美元,取决于被利用信息的敏感度。

产品中产生漏洞的其中一个原因在于应用程序开发者并不是编写安全代码的专家,也不能保证编写的代码不受黑客及有恶意目的的用户的影响。

有大量脚本的设计目的在于冲破当前应用程序的安全壁垒,这样使供应商开发的新应用程序就要定期检查产品是否被攻击。这种测试既耗时,又耗费人力,因为应用程序要编写地更加详尽。

让我们看一看拥有50万行代码的中型应用程序。一位安全专家每天会检测超过800行的代码,以期发现漏洞,但执行一次完整的代码评估需要花费500天的时间,预估计需要耗费大约25万美元。被委派执行此任务的安全专家的职责不仅仅包括发现已知安全漏洞,同时还要发现未知的新漏洞,在这些新漏洞被黑客或任何其他外部组织发现之前保护产品免受新漏洞的影响。除此之外,这个过程需要在产品新版本发布时重复进行,频率会是每年几次。

为了挽回公司在分配给发现并随后修复安全漏洞的资源,很明显需要一种漏洞检测工具,来在产品推广到市场之前对于应用程序对漏洞的防护能力进行测试。

由于测试产品安全漏的时间限制,许多供应商发布产品之前不会进行正规的安全审计,这样客户就很容易收到潜在漏洞的影响。对于那些要求供应商在产品部署或购买前就要进行全面的安全测试的客户来说这更加令人难以接受。

当客户购买了产品,但发现了安全漏洞后,两个重要问题随之出现了- 供应商有责任解决问题并为客户提供安全防护的方法。客户通常会联系供应商并要求提供一能防止攻击的正确方法。正如之前所讲,这种漏洞每天都会被发现,当黑客能够更好地发现漏洞时,漏洞的数量正在持续不断地增长,客户方面意识的增强会难以避免地导致他们对于供应商的产品标准要求更高。

总而言之,很明显我们亟需一种自动化审计工具,来为那些不被一般的编程员知晓的不同漏洞类型提供详细信息。此工具会进行产品审计、通过对所有的组合方式进行全面测试发现已知及未知漏洞,并且能够进行优先级检测。所有这些都无需过多的人力物力。

以下是beSTORM运作的原理。

功能描述
为了与应用程序很好地通信,beSTORM需要“说”出应用程序期待的语言。这种语言便是网络协议。

beSTORM提供了特别的测试模块来完成此工作。这些模块根据已知协议标准(HTTP, FTP, SMTP, IMAP, POP3, DNS, DHCP, VOIP)进行了特殊编程。更多的模块可以进行按需编制来满足被测试产品的特殊需求。

beSTORM模块既支持非交互式协议(比如HTTP, 它有可能是网络环境中最普通的协议了; 网络服务器、通信产品以及其他地方都会使用), 又支持交互式协议,比如SMTP(邮件服务器、内容过滤设备以及防病毒网管都会使用)。

使用这些模块有两个关键好处:

首先,它简化了测试通用类产品所需调整的步骤,因为协议标准建立了一个能够对所有HTTP兼容产品都有效的beSTORM模块。

例如,大多数网络设备都使用HTTP做配置,允许客户使用一标准网络浏览器配置设备。无论网络设备是否使用已知网络服务器进行HTTP通信或编程员从新开发HTTP兼容的应用程序,都能使用相同的beSTORM模块进行测试。但是请注意,事实上,使用HTTP协议不意味着相关的beSTORM模块不会在HTTP协议外部进行攻击-许多安全漏洞都是在打破此标准时出现的,并且beSTORM会尝试定位这些漏洞。协议定义意味着beSTORM会首先集中于发现基于HTTP的漏洞。

其次,它能够量化产品的安全等级。通过系统地检查应用程序并且通过与同类产品比较来测量进行检测的数量,我们能够真正知道一个产品有多安全。这会对产品进行基于目标和自动化评级的真正安全认证,而不是当下的人工和易错评估。

一个典型的beSTORM用户会基于被检测的应用程序使用特定模块运行beSTORM。
用户会设置beSTORM监测被审计的应用程序并为攻击提供必要细节:IP地址、端口(如果攻击是在远程机器上)及使用的协议。

攻击可以开始、停止,也可以暂停、重启。状态栏指示当前已完成的当前测试以及已完成的攻击进度。

性能
此产品可以发现人工测试能够在24小时的自动测试中发现的大多数漏洞。一次完整的测试需要花费几天到几个月的时间- 取决于应用程序的大小及复杂度。分布式能力能够通过在多种机器间共享任务极大地缩短此时间。在任何情况下,测试都是完全自动化并且无需人工干预。

技术规格
平台: Windows 2000/XP (Intel x86), Linux (i386)
内存要求: 512 MB
CPU要求: 800Mhz或更高 (推荐CPU双核)
网络连接: 以太网/快速以太网

案例分析
在beSTORM开发期间, Beyond Security就能够确定此产品能够通过经常性测试供应商提供的产品并且运行beSTORM进行检测以满足它的预期目标。直到今天,我们已经测试了超过13种的产品,每一种产品中至少有一种安全漏洞,能够促使供应商为其发布补丁,防止客户受到安全漏洞的影响。



白皮书 - 常见问题 - 联系我们询价 - 要求试用


INFORMATION, DEMOS AND DOWNLOADS
Name:
Company:
Email:
Phone:
Comment:

SCAN YOUR NETWORK,
WEB SITE OR SOFTWARE

CONTACT
US +1.800.801.2821
UK +44.203.006.3022