您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 规章制度 > 华为Web应用安全开发规范
DKBA华为技术有限公司内部技术规范DKBA1606-XXXX.XWeb应用安全开发规范V1.52013年XX月XX日发布2013年XX月XX日实施华为技术有限公司HuaweiTechnologiesCo.,Ltd.版权所有侵权必究Allrightsreserved修订声明Revisiondeclaration本规范拟制与解释部门:网络安全能力中心&电信软件与核心网网络安全工程部本规范的相关系列规范或文件:《C&C++语言安全编程规范》《Java语言安全编程规范》相关国际规范或文件一致性:无替代或作废的其它规范或文件:无相关规范或文件的相互关系:《产品网络安全红线》和《电信软件与核心网业务部安全能力基线》中的Web安全要求引用了本规范的内容,如果存在冲突,以本规范为准。规范号主要起草部门专家主要评审部门专家修订情况DKBA1606-2007.4安全解决方案:赵武42873,杨光磊57125,万振华55108软件公司设计管理部:刘茂征11000,刘高峰63564,何伟祥33428安全解决方案:刘海军12014,吴宇翔18167,吴海翔57182接入网:彭东红27279无线:胡涛46634核心网:吴桂彬41508,甘嘉栋33229,马进32897,谢秀洪33194,张毅27651,张永锋40582业软:包宜强56737,丁小龙63583,董鹏越60793,傅鉴杏36918,傅用成30333,龚连阳18753,胡海60017320,胡海华52463,李诚37517,李大锋54630,李战杰21615,刘创文65632,刘飞46266,刘剑51690,栾阳62227,罗仁钧65560,罗湘武06277,马亮60009259,孟咏喜22499,潘海涛27360,孙林46580,王福40317,王锦亮36430,王美玲60011866,王谟磊65558,王玉龙24387,杨娟60019875,张锋43381,张健60005645,张轶57143,邹韬51591V1.0何伟祥33428刘高峰63564,龚连阳00129383,许汝波62966,吴宇翔00120395,王欢00104062,吕晓雨56987V1.2增加了WebService、Ajax和上传和下载相关的安全规范。何伟祥00162822V1.3增加了防止会话固定和防止跨站请求伪造的安全规范。何伟祥00162822V1.4增加了“规则3.4.1”的实施指导;删除了“建议3.4.1”;修改了“6配套CBB介绍”的内容和获取方式。增加了“3.9DWR”何伟祥00162822吴淑荣00197720魏建雄00222906谢和坤00197709李田00042091孙波00175839朱双红00051429王伟00207440陈伟00141500V1.5增加“规则3.3.9、规则3.6.5、规则4.7.1、建议4.7.2、4.8PHP”增加“3.8RESTfulWebService”修改“规则3.2.2.8、规则3.2.2.3、规则3.4.1、规则4.6.1”删除“3.2.1口令策略”和“规则3.1.3、规则3.2.3.8、规则4.7.1”附件文档作为对象直接插入主文档目录TableofContents1概述71.1背景简介71.2技术框架71.3使用对象81.4适用范围81.5用词约定92常见WEB安全漏洞93WEB设计安全规范103.1WEB部署要求103.2身份验证113.2.1口令113.2.2认证113.2.3验证码133.3会话管理133.4权限管理153.5敏感数据保护163.5.1敏感数据定义163.5.2敏感数据存储163.5.3敏感数据传输173.6安全审计183.7WEBSERVICE193.8RESTFULWEBSERVICE203.9DWR214WEB编程安全规范224.1输入校验224.2输出编码254.3上传下载264.4异常处理264.5代码注释264.6归档要求274.7其他284.8PHP295WEB安全配置规范316配套CBB介绍316.1WAFCBB316.2验证码CBB327附件327.1附件1TOMCAT配置SSL指导327.2附件2WEBSERVICE安全接入开发指导327.3附件3客户端IP鉴权实施指导327.4附件4口令安全要求327.5附件5WEB权限管理设计规格说明书34Web应用安全开发规范V1.51概述1.1背景简介在Internet大众化及Web技术飞速演变的今天,Web安全所面临的挑战日益严峻。黑客攻击技术越来越成熟和大众化,针对Web的攻击和破坏不断增长,Web安全风险达到了前所未有的高度。许多程序员不知道如何开发安全的应用程序,开发出来的Web应用存在较多的安全漏洞,这些安全漏洞一旦被黑客利用将导致严重甚至是灾难性的后果。这并非危言耸听,类似的网上事故举不胜举,公司的Web产品也曾多次遭黑客攻击,甚至有黑客利用公司Web产品的漏洞敲诈运营商,造成极其恶劣的影响。本规范就是提供一套完善的、系统化的、实用的Web安全开发方法供Web研发人员使用,以期达到提高Web安全的目的。本规范主要包括三大内容:Web设计安全、Web编程安全、Web配置安全,配套CBB,多管齐下,实现Web应用的整体安全性;本规范主要以JSP/Java编程语言为例。1.2技术框架图1典型的Web安全技术框架图1显示了典型的Web安全的技术框架和安全技术点,这些安全技术点,贯穿整个Web设计开发过程。上图各个区域中存在任何一点薄弱环节,都容易导致安全漏洞。由于HTTP的开放性,Web应用程序必须能够通过某种形式的身份验证来识别用户,并确保身份验证过程是安全的,同样必须很好地保护用于跟踪已验证用户的会话处理机制。为了防止一些恶意输入,还要对输入的数据和参数进行校验。另外还要考虑Web系统的安全配置,敏感数据的保护和用户的权限管理,以及所有操作的安全审计。当然还要考虑代码安全,以及其他方面的威胁。表1列出了一些Web缺陷类别,并针对每类缺陷列出了由于设计不当可能会导致的潜在问题。针对这些潜在的问题,本规范中有相应的解决措施。表1Web应用程序缺陷和由于不良设计可能导致的问题缺陷类别由于不良设计可能导致的问题身份验证身份伪造、口令破解、权限提升和未授权访问。会话管理通过捕获导致会话劫持和会话伪造。权限管理访问机密或受限数据、篡改和执行未授权操作。配置管理未授权访问管理界面、更新配置数据、访问用户帐户和帐户配置文件。敏感数据机密信息泄漏和数据篡改。加密技术未授权访问机密数据或帐户信息。安全审计未能识别入侵征兆、无法证明用户的操作,以及在问题诊断中存在困难。输入检验通过嵌入查询字符串、窗体字段、Cookie和HTTP标头中的恶意字符串所执行的攻击。包括命令执行、跨站点脚本编写(XSS)、SQL注入和缓冲区溢出攻击等。参数操作路径遍历攻击、命令执行、此外还有跳过访问控制机制、导致信息泄露、权限提升和拒绝服务。异常管理拒绝服务和敏感的系统级详细信息泄露。1.3使用对象本规范的读者及使用对象主要为Web相关的需求分析人员、设计人员、开发人员、测试人员等。1.4适用范围本规范的制定考虑了公司各种Web应用开发的共性,适合于公司绝大部分Web产品,要求Web产品开发必须遵循。对于嵌入式系统(如ADSLModem、硬件防火墙)中的Web应用,由于其特殊性(CPU、内存、磁盘容量有限,没有成熟的Web容器),不强制遵循本规范的所有内容,只需遵循以下章节的规则要求:3.2身份验证3.3会话管理3.5敏感数据保护4.1输入校验4.2输出编码4.3上传下载4.5代码注释4.6归档要求1.5用词约定规则:强制必须遵守的原则建议:需要加以考虑的原则说明:对此规则或建议进行相应的解释实施指导:对此规则或建议的实施进行相应的指导2常见Web安全漏洞Web应用的安全漏洞有很多,无法穷举。针对众多的Web漏洞,OWASP的专家们结合各自在各领域的应用安全工作经验及智慧,提出了十大Web应用程序安全漏洞,帮助人们关注最严重的漏洞。(OWASP即开放Web应用安全项目,是一个旨在帮助人们理解和提高Web应用及服务安全性的项目组织。)表2十大Web应用程序安全漏洞列表序号漏洞名称漏洞描述1注入注入攻击漏洞,例如SQL、OS命令以及LDAP注入。这些攻击发生在当不可信的数据作为命令或者查询语句的一部分,被发送给解释器的时候。攻击者发送的恶意数据可以欺骗解释器,以执行计划外的命令或者访问未被授权的数据。2跨站脚本当应用程序收到含有不可信的数据,在没有进行适当的验证和转义的情况下,就将它发送给一个网页浏览器,这就会产生跨站脚本攻击(简称XSS)。XSS允许攻击者在受害者的浏览器上执行脚本,从而劫持用户会话、危害网站、或者将用户转向至恶意网站。3失效的身份认证和会话管理与身份认证和会话管理相关的应用程序功能往往得不到正确的实现,这就导致了攻击者破坏密码、密匙、会话令牌或攻击其他的漏洞去冒充其他用户的身份。4不安全的直接对象引用当开发人员暴露一个对内部实现对象的引用时,例如,一个文件、目录或者数据库密匙,就会产生一个不安全的直接对象引用。在没有访问控制检测或其他保护时,攻击者会操控这些引用去访问未授权数据。5跨站请求伪造一个跨站请求伪造攻击迫使登录用户的浏览器将伪造的HTTP请求,包括该用户的会话cookie和其他认证信息,发送到一个存在漏洞的Web应用程序。这就允许了攻击者迫使用户浏览器向存在漏洞的应用程序发送请求,而这些请求会被应用程序认为是用户的合法请求。6安全配置错误好的安全需要对应用程序、框架、应用程序服务器、Web服务器、数据库服务器和平台,定义和执行安全配置。由于许多设置的默认值并不是安全的,因此,必须定义、实施和维护所有这些设置。这包括了对所有的软件保护及时地更新,包括所有应用程序的库文件。7失败的URL访问权限限制许多Web应用程序在显示受保护的链接和按钮之前会检测URL访问权限。但是,当这些页面被访问时,应用程序也需要执行类似的访问控制检测,否则攻击者将可以伪装这些URL去访问隐藏的网页。8未经验证的重定向和前转Web应用程序经常将用户重定向和前转到其他网页和网站,并且利用不可信的数据去判定目的页面。如果没有得到适当验证,攻击者可以将受害用户重定向到钓鱼网站或恶意网站,或者使用前转去访问未经授权的网页。9不安全的加密存储许多Web应用程序并没有使用恰当的加密措施或Hash算法保护敏感数据,比如信用卡、社会安全号码(SSN)、认证凭据等。攻击者可能利用这种弱保护数据实行身份盗窃、信用卡欺骗或或其他犯罪。10传输层保护不足应用程序时常没有身份认证、加密措施,甚至没有保护敏感网络数据的保密性和完整性。而当进行保护时,应用程序有时采用弱算法、使用过期或无效的证书,或不正确地使用这些技术。3Web设计安全规范3.1Web部署要求规则3.1.1:如果Web应用对Internet开放,Web服务器应当置于DMZ区,在Web服务器与Internet之间,Web服务器与内网之间应当有防火墙隔离,并设置合理的策略。规则3.1.2:如果Web应用对Internet开放,Web服务器应该部署在其专用的服务器上,应避免将数据库服务器或其他核心应用与Web服务器部署在同一台主机上。说明:Web服务器比较容易被攻击,如果数据库或核心应用与Web服务器部署在同一台主机,一旦Web服务器被攻陷,那么数据库和核心应用也就被攻击者掌控了。规则3.1.3:Web站点的根目录必须安装在非系统卷中。说明:Web站点根目录安装在非系统卷,如单独创建一个目录/home/Web作为Web站点根目录,能够防止攻击者使用目录遍历攻击访问系统工具和可执行文件。建议3.1.1:Web服务器与应用服务器需物理分离(即安装在不同的主机上),以提高应用的安全性。建议3.1.2:如果Web应用系统存在不同的访问等级(如个人帐号使用、客户服务、管理),那么应该通过不同的Web服务器来处理来自不同访问等级的请求,而且Web应用应该鉴别请求是否来自正确的
本文标题:华为Web应用安全开发规范
链接地址:https://www.777doc.com/doc-2590883 .html