天极Yesky
  • 笔记本电脑
    笔记本
  • 台式电脑
    台式机
  • 手机
    手机
  • 电脑硬件DIY
    DIY硬件
  • CPU
    主板
    音箱
  • 硬盘
    显卡
    键鼠
  • 内存光驱
    显示器
    机箱电源

  • 数码相机DC
    数码相机
  • MP3播放器
    MP3/MP4
  • 数码摄像机DV
    摄像机
  • 电脑外设
    外设
  • 网络
    网络
  • 服务器
    服务器
  • 数字家庭
    数字家庭
  • 群乐
    群乐
  • 产品报价 行情 商家 新闻 评测 | 软件 设计 网页 开发 安全 论坛 E时代 游戏 图片 壁纸 下载 网摘 博客 索尼专区 Vista 科技奥运
    天极网
    内部应用软件评估:突破测试VS代码检查
    作者: James C. Foster
    出处: TechTarge
    责任编辑: 许琳
    [ 2004-09-23 17:19 ]


      根据2002年Gartner公司的调查研究,有近75%的攻击发生在公司的应用层。这个事实,加上日益复杂的应用软件和不成熟的安全产品,导致服务市场欣欣向荣。大量的新兴的安全小公司提供多种应用保护服务,了解两种最受欢迎的服务的优势和局限是很重要的:突破测试和代码检查。

      突破测试

      传统的突破测试通常指的是“使盒子爆炸”或者攻击目标系统——没有把握和限制。策略与现在的网络应用破坏测试相似,包括:引导搜索、识别漏洞和不良配置,然后以此为立足点,加强管理员或根级别的权限。

      在网络应用破坏测试中,专家通过一系列的标准用户测试来熟悉应用程序。标准用户测试用于了解基本信息,例如操作系统、网络服务器类型、连接的应用软件(数据库,媒体服务器)、安全机制(SSL、输入过滤)和代码基础。勘测完成后,在应用成熟的扫描器,如WebInspect或AppDetective之前,通常运行Nikto(一种开放源码地网络服务扫描器)来发现明显的漏洞。

      在运行完Nikto之后,应用安全扫描器对各种弱点进行测试,包括SQL注入和交叉站点脚本处理,目录检查和弱点认证。弱点会被人工核实(特指不成熟的安全扫描市场)。一旦核实,专家会找到可用代码,并且释放一系列定制的攻击、代理请求和广播探测引擎——所有这些可以发现更危险的漏洞,更加深入应用程序内部。这些服务总共要花费40到200小时不等,对每一个网页输入样本进行完全的评估要花费2到4个小时。

      代码检查

      源代码安全审查的流程是,工程师检查应用程序的代码,逐行仔细审查主要的安全区域和功能。与突破测试相比,代码检查需要更多的时间和开支。代码量很大或使用几种编程语言时尤其如此。然而,花费额外的时间和金钱进行代码审核的好处是,通过对应用软件的深入了解,提供更多细致的建议。当然,细致要花费时间,一般的代码评估每一千行代码大约花费一小时。当然,根据编程语言、工具和工程师的技能,这个时间在50%到200%之间不等。有一些可用工具(例如Application Defense、RATS和SPLINT)可以加速检查过程,工程师的经验也是影响因素之一;需要应用软件安全和编程知识的综合背景。工具只是用来帮助工程师建立代码目录或者发现潜在的已经经过实践验证的危险方法或功能。

      评估的花费随目标应用软件的大小和范围而不同。通常远程网络渗透评估需要花费$25,000,而小型到中型应用软件的代码审核需要$40,000。

      代码审核可以发现不明显的内存泄漏、静态条件、逻辑缺陷和后端错误配置,很难证明额外的花费是正确的。从外部风险的观点来看,工作完毕后,给一群有职业道德的黑客几周时间自由攻击你的应用软件,会为公司提供更多价值。他们也可以以互联网上恶意用户的观点来看问题。

      不论你选择进行突破测试还是代码审核,一定要有详细的测试清单,它可以在评估结束之后再完成。这个清单可以证实你所雇佣的人员不只是说说而已。此外,评估结束时,提供应用软件的源代码目录,确定最后的报告中包括代码修改建议。

      技术不断进步,工程师的知识也在增加,根据投资回报,代码检查最终胜过突破测试。把你节省的资金用于渗透测试、代码检查和开发者培训。事实上,编程新手是应用层漏洞的引入者和根本原因。

    笔名:
    请您注意:

     遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

     天极网拥有管理笔名和留言的一切权利。