《管理制度-华为WEB应用系统安全规范v5 精品.doc》由会员分享,可在线阅读,更多相关《管理制度-华为WEB应用系统安全规范v5 精品.doc(37页珍藏版)》请在第一文库网上搜索。
1、Web应用安全开发规范 V1.0华为WEB应用系统安全规范内部公开DKBA华为技术有限公司内部技术规范DKBA 1606-XXXX.XWeb应用安全开发规范 V1.520XX年XX月XX日发布 20XX年XX月XX日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有 侵权必究All rights reserved2022-11-7华为机密,未经许可不得扩散第1页, 共34页修订声明Revision declaration本规范拟制与解释部门:网络安全能力中心&电信软件与核心网网络安全工程部本规范的相关系列规范或文件:C&C+语言安全编程规范Java语言安全编
2、程规范相关国际规范或文件一致性:无替代或作废的其它规范或文件:无相关规范或文件的相互关系:产品网络安全红线和电信软件与核心网业务部安全能力基线中的Web安全要求引用了本规范的内容,如果存在冲突,以本规范为准。规范号主要起草部门专家主要评审部门专家修订情况DKBA 1606-20XX.4安全解决方案:赵武42873,杨光磊57125,万振华55108软件公司设计管理部:刘茂征11000,刘高峰63564,何伟祥33428安全解决方案:刘海军120XX,吴宇翔18167,吴海翔57182接入网:彭东红27279无线:胡涛46634核心网:吴桂彬 41508,甘嘉栋 33229,马进 32897,谢
3、秀洪 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,张轶571
4、43,邹韬51591V1.0何伟祥33428刘高峰 63564,龚连阳 00129383,许汝波 62966,吴宇翔 00120395,王欢 00104062,吕晓雨 56987V1.2增加了Web Service、Ajax和上传和下载相关的安全规范。何伟祥00162822V1.3增加了防止会话固定和防止跨站请求伪造的安全规范。何伟祥00162822V1.4增加了“规则3.4.1”的实施指导;删除了“建议3.4.1”;修改了“6 配套CBB介绍”的内容和获取方式。增加了“3.9 DWR”何伟祥 00162822吴淑荣 00197720魏建雄 00222906谢和坤 00197709李田 000
5、42091孙波 00175839朱双红 00051429王伟 00207440陈伟 00141500V1.5增加“规则3.3.9、规则3.6.5、规则4.7.1、建议4.7.2、4.8 PHP”增加“3.8 RESTful Web Service”修改“规则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”附件文档作为对象直接插入主文档目 录 Table of Contents1概述71.1背景简介71.2技术框架81.3使用对象91.4适用范围91.5用词约定92常见WEB安全漏洞103WEB
6、设计安全规范113.1Web部署要求113.2身份验证123.2.1口令123.2.2认证123.2.3验证码153.3会话管理163.4权限管理173.5敏感数据保护183.5.1敏感数据定义183.5.2敏感数据存储183.5.3敏感数据传输203.6安全审计213.7Web Service223.8RESTful Web Service233.9DWR244WEB编程安全规范254.1输入校验254.2输出编码304.3上传下载304.4异常处理314.5代码注释314.6归档要求324.7其他334.8PHP345WEB安全配置规范366配套CBB介绍376.1WAF CBB376.2
7、验证码CBB387附件387.1附件1 Tomcat配置SSL指导387.2附件2 Web Service 安全接入开发指导387.3附件3 客户端IP鉴权实施指导387.4附件4 口令安全要求387.5附件5 Web权限管理设计规格说明书39Web应用安全开发规范 V1.51 概述1.1 背景简介在Internet大众化及Web技术飞速演变的今天,Web安全所面临的挑战日益严峻。黑客攻击技术越来越成熟和大众化,针对Web的攻击和破坏不断增长,Web安全风险达到了前所未有的高度。许多程序员不知道如何开发安全的应用程序,开发出来的Web应用存在较多的安全漏洞,这些安全漏洞一旦被黑客利用将导致严重
8、甚至是灾难性的后果。这并非危言耸听,类似的网上事故举不胜举,公司的Web产品也曾多次遭黑客攻击,甚至有黑客利用公司Web产品的漏洞敲诈运营商,造成极其恶劣的影响。本规范就是提供一套完善的、系统化的、实用的Web安全开发方法供Web研发人员使用,以期达到提高Web安全的目的。本规范主要包括三大内容:Web设计安全、Web编程安全、Web配置安全,配套CBB,多管齐下,实现Web应用的整体安全性;本规范主要以JSP/Java编程语言为例。1.2 技术框架图1 典型的Web安全技术框架图1 显示了典型的Web安全的技术框架和安全技术点,这些安全技术点,贯穿整个Web设计开发过程。上图各个区域中存在任
9、何一点薄弱环节,都容易导致安全漏洞。由于HTTP的开放性,Web应用程序必须能够通过某种形式的身份验证来识别用户,并确保身份验证过程是安全的,同样必须很好地保护用于跟踪已验证用户的会话处理机制。为了防止一些恶意输入,还要对输入的数据和参数进行校验。另外还要考虑Web系统的安全配置,敏感数据的保护和用户的权限管理,以及所有操作的安全审计。当然还要考虑代码安全,以及其他方面的威胁。表 1 列出了一些Web缺陷类别,并针对每类缺陷列出了由于设计不当可能会导致的潜在问题。针对这些潜在的问题,本规范中有相应的解决措施。表1 Web 应用程序缺陷和由于不良设计可能导致的问题缺陷类别由于不良设计可能导致的问
10、题身份验证身份伪造、口令破解、权限提升和未授权访问。会话管理通过捕获导致会话劫持和会话伪造。权限管理访问机密或受限数据、篡改和执行未授权操作。配置管理未授权访问管理界面、更新配置数据、访问用户帐户和帐户配置文件。敏感数据机密信息泄漏和数据篡改。加密技术未授权访问机密数据或帐户信息。安全审计未能识别入侵征兆、无法证明用户的操作,以及在问题诊断中存在困难。输入检验通过嵌入查询字符串、窗体字段、Cookie 和 HTTP 标头中的恶意字符串所执行的攻击。包括命令执行、跨站点脚本编写 (XSS)、SQL 注入和缓冲区溢出攻击等。参数操作路径遍历攻击、命令执行、此外还有跳过访问控制机制、导致信息泄露、权
11、限提升和拒绝服务。异常管理拒绝服务和敏感的系统级详细信息泄露。1.3 使用对象本规范的读者及使用对象主要为Web相关的需求分析人员、设计人员、开发人员、测试人员等。1.4 适用范围本规范的制定考虑了公司各种Web应用开发的共性,适合于公司绝大部分Web产品,要求Web产品开发必须遵循。对于嵌入式系统(如ADSL Modem、硬件防火墙)中的Web应用,由于其特殊性(CPU、内存、磁盘容量有限,没有成熟的Web容器),不强制遵循本规范的所有内容,只需遵循以下章节的规则要求:3.2身份验证3.3会话管理3.5敏感数据保护4.1输入校验4.2输出编码4.3上传下载4.5代码注释4.6归档要求1.5
12、用词约定 规则:强制必须遵守的原则 建议:需要加以考虑的原则 说明:对此规则或建议进行相应的解释 实施指导:对此规则或建议的实施进行相应的指导2 常见Web安全漏洞Web应用的安全漏洞有很多,无法穷举。针对众多的Web漏洞,OWASP的专家们结合各自在各领域的应用安全工作经验及智慧,提出了十大Web应用程序安全漏洞,帮助人们关注最严重的漏洞。(OWASP即开放Web应用安全项目,是一个旨在帮助人们理解和提高Web应用及服务安全性的项目组织。)表2 十大Web应用程序安全漏洞列表序号漏洞名称漏洞描述1注入注入攻击漏洞,例如SQL、OS命令以及LDAP注入。这些攻击发生在当不可信的数据作为命令或者
13、查询语句的一部分,被发送给解释器的时候。攻击者发送的恶意数据可以欺骗解释器,以执行计划外的命令或者访问未被授权的数据。2跨站脚本当应用程序收到含有不可信的数据,在没有进行适当的验证和转义的情况下,就将它发送给一个网页浏览器,这就会产生跨站脚本攻击(简称XSS)。XSS允许攻击者在受害者的浏览器上执行脚本,从而劫持用户会话、危害网站、或者将用户转向至恶意网站。3失效的身份认证和会话管理与身份认证和会话管理相关的应用程序功能往往得不到正确的实现,这就导致了攻击者破坏密码、密匙、会话令牌或攻击其他的漏洞去冒充其他用户的身份。4不安全的直接对象引用当开发人员暴露一个对内部实现对象的引用时,例如,一个文
14、件、目录或者数据库密匙,就会产生一个不安全的直接对象引用。在没有访问控制检测或其他保护时,攻击者会操控这些引用去访问未授权数据。5跨站请求伪造一个跨站请求伪造攻击迫使登录用户的浏览器将伪造的HTTP请求,包括该用户的会话cookie和其他认证信息,发送到一个存在漏洞的Web应用程序。这就允许了攻击者迫使用户浏览器向存在漏洞的应用程序发送请求,而这些请求会被应用程序认为是用户的合法请求。6安全配置错误好的安全需要对应用程序、框架、应用程序服务器、Web服务器、数据库服务器和平台,定义和执行安全配置。由于许多设置的默认值并不是安全的,因此,必须定义、实施和维护所有这些设置。这包括了对所有的软件保护及时地更新,包括所有应用程序的库文件。7失败的URL访问权限限制许多Web应用程序在显示受保护的链接和按钮之前会检测URL访问权限。但是,当这些页面被访问时,应用程序也需要执行类似的访问控制检测,否则攻击者将可以伪装这些URL去访问隐藏的网页。8未经验证的重定向和前转Web应用程序经常将用户重定向和前转到其他网页和网站,并且利用不可信的数据去判定目的页面。如果没有得到适当验证,攻击者可以将受害用户重定向到钓鱼网站或恶意网站,或者使用前转去访问未经授权的网页。9不安全的加密存储许多