避免Web应用安全风险

来源:岁月联盟 编辑:zhuzhu 时间:2007-04-10
目前,企业开发的很多新应用程序都是web应用程序,而且web服务也被越来越频繁地用于集成web应用程序或与其进行交互,这些趋势带来的问题就是:web应用程序和服务的增长已超越了程序开发人员所接受的安全培训和安全意识的范围。

  随着存在安全隐患的web应用程序数量的骤增,open web application security project (开放式web应用程序安全项目,缩写为owasp)总结出了现有web应用程序在安全方面常见的十大漏洞,以提醒企业及其程序开发人员尽量避免它们给企业it系统带来的安全风险:

  非法输入 unvalidated input

  在数据被输入程序前忽略对数据合法性的检验是一个常见的编程漏洞。随着owasp对web应用程序脆弱性的调查,非法输入的问题已成为大多数web应用程序安全漏洞方面的一个普遍现象。

  失效的访问控制 broken access control

  大部分企业都非常关注对已经建立的连接进行控制,但是,允许一个特定的字符串输入可以让攻击行为绕过企业的控制。

  失效的账户和线程管理 broken authentication and session management

  有良好的访问控制并不意味着万事大吉,企业还应该保护用户的密码、会话令牌、账户列表及其它任何可为攻击者提供有利信息、能帮助他们攻击企业网络的内容。

  跨站点脚本攻击 cross site scripting flaws

  这是一种常见的攻击,当攻击脚本被嵌入企业的web页面或其它可以访问的web资源中,没有保护能力的台式机访问这个页面或资源时,脚本就会被启动,这种攻击可以影响企业内成百上千员工的终端电脑。

  缓存溢出问题 buffer overflows

  这个问题一般出现在用较早的编程语言、如c语言编写的程序中,这种编程错误其实也是由于没有很好地确定输入内容在内存中的位置所致。

  注入式攻击 injection flaws

  如果没有成功地阻止带有语法含义的输入内容,有可能导致对数据库信息的非法访问,在web表单中输入的内容应该保持简单,并且不应包含可被执行的代码。

  异常错误处理 improper error handling

  当错误发生时,向用户提交错误提示是很正常的事情,但是如果提交的错误提示中包含了太多的内容,就有可能会被攻击者分析出网络环境的结构或配置。

  不安全的存储 insecure storage

  对于web应用程序来说,妥善保存密码、用户名及其他与身份验证有关的信息是非常重要的工作,对这些信息进行加密则是非常有效的方式,但是一些企业会采用那些未经实践验证的加密解决方案,其中就可能存在安全漏洞。

  程序拒绝服务攻击 application denial of service

  与拒绝服务攻击 (dos)类似,应用程序的dos攻击会利用大量非法用户抢占应用程序资源,导致合法用户无法使用该web应用程序。

  不安全的配置管理 insecure configuration management

  有效的配置管理过程可以为web应用程序和企业的网络架构提供良好的保护。

  以上十个漏洞并不能涵盖如今企业web应用程序中的全部脆弱点,它只是owasp成员最常遇到的问题,也是所有企业在开发和改进web应用程序时应着重检查的内容。