应用系统安全开发技术规范V329602.docx

上传人:you****now 文档编号:63419983 上传时间:2022-11-25 格式:DOCX 页数:63 大小:498.74KB
返回 下载 相关 举报
应用系统安全开发技术规范V329602.docx_第1页
第1页 / 共63页
应用系统安全开发技术规范V329602.docx_第2页
第2页 / 共63页
点击查看更多>>
资源描述

《应用系统安全开发技术规范V329602.docx》由会员分享,可在线阅读,更多相关《应用系统安全开发技术规范V329602.docx(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、应用系统统安全开发发技术规范范(版本号号 VV1.3)朗新科技技股份有有限公司司二一五五年十二月更改履历历版本号修改编号号更改时间间更改的图表和章章节号更改简要要描述更改人批准人0.520133-111-244初稿施伟施伟1.020155-111-199修改宋月欣陈志明1.120155-111-300修改宋月欣陈志明1.220155-122-3修改宋月欣施伟1.320155-122-3修改施伟注:更改改人除形形成初稿稿,以后后每次修修改在未未批准确确认前均均需采用用修订的的方式进进行修改改。目录1背景与目标12安全编程概念12.1安全编程12.2结构化编程22.3脆弱性22.4可信计算22.5

2、安全可信模块32.6不可信任模块32.7敏感信息32.8特权32.9信息隐藏32.10中间件32.11死锁42.12可信边界42.13元字符42.14参数化查询42.15UNIX JAIL环境42.16临时文件42.17信息熵52.18SSL52.19TLS52.20HTTPS52.21Http会话52.22Cookie62.23HttpOnly Cookie63安全编程原则63.1统一的安全规范63.2模块划分63.3最小化功能73.4最小化特权73.5对多任务、多进程加以关注73.6界面输出最小化73.7使代码简单、最小化和易于修改83.8避免高危的服务、协议83.9数据和代码分离83.1

3、0关键数据传输保护83.11禁止赋予用户进程特权83.12使用适当的数据类型93.13使用经过验证的安全代码93.14使用应用中间件93.15设计错误、 异常处理机制93.16提供备份机制93.17检查传递变量的合法性93.18检查所有函数返回代码93.19修改面向用户的操作的反馈缺省描述93.20文件操作的要求103.21其他编码原则104应用安全分析114.1安全需求114.2安全威胁114.2.1Web安全漏洞114.2.2拒绝服务攻击124.2.3嗅探攻击124.2.4中间人攻击124.3安全约束135安全编程要求135.1输入处理135.1.1建立可信边界135.1.2验证各种来源的

4、输入145.1.3保证所有的输入信息是被验证过的145.1.4对输入内容进行规范化处理后再进行验证155.1.5选择合适的数据验证方式155.1.6防范元字符攻击155.1.7拒绝验证失败的数据155.1.8在服务端进行验证155.1.9建立统一的输入验证接口165.1.10控制写入日志的信息165.1.11从服务器端提取关键参数165.2输出处理165.2.1限制返回给客户的信息165.2.2建立错误信息保护机制165.3数据库访问165.3.1合理分配数据库访问权限165.3.2合理存放数据库连接帐号和密码信息175.3.3使用参数化请求方式175.3.4对 SQL 语句中来自于不可信区域

5、的输入参数进行验证185.3.5对数据库操作的返回数据进行验证185.3.6分次提取数据185.3.7通过 row(行)级别的访问控制来使用数据库185.3.8确保数据库资源被释放185.4文件操作195.4.1对上传文件进行限制195.4.2把文件名以及文件内容作为不可信的输入对待195.4.3安全的使用文件名195.4.4使用文件系统访问控制195.4.5注意文件访问竞争条件195.4.6安全使用临时文件205.4.7确保文件系统资源被释放206安全特征206.1关注应用的对象重用206.2用户访问控制信息的机密性206.3不要在客户端存放敏感数据206.4避免内存溢出216.5可配置数据

6、保护216.6禁止在源代码中写入口令216.7随机数216.8使用可信的密码算法226.9异常管理227应用安全设计规范237.1应用安全规划237.2数据安全等级划分237.3数据库规划237.3.1用户权限237.3.2数据源设计237.3.3外部系统访问237.4角色划分247.5URL规划247.6程序文件目录规划247.6.1数据及程序分离247.6.2静态程序资源247.6.3程序文件分类247.7Cookie247.8文件安全257.8.1文件存储257.8.2文件操作257.8.3文件类型257.9第三方组件安全257.9.1组件兼容性257.9.2组件安全及成熟度257.9.

7、3组件配置257.10Web Service257.11RESTful Web Service267.12应用安全关注点277.13应用安全限制应对方案297.13.1外网隔离297.13.2外网文件操作297.13.3正向和反向隔离装置(国网系统)298应用安全开发规范308.1Java及Web安全编程规范308.1.1不信任未知308.1.2数据层开发308.1.3会话管理328.1.4Cookie338.1.5输入验证338.1.6输入文件名的验证348.1.7输出处理348.1.8敏感信息处理368.1.9异常信息处理378.1.10特殊页面跳转378.1.11文件操作378.1.12

8、资源释放388.1.13内存控制388.1.14外部程序调用漏洞388.1.15整数溢出398.2C+安全编程规范398.2.1不信任未知398.2.2免缓存区溢出408.2.3免缓整数溢出428.2.4域名合法性检查458.2.5检查返回值468.2.6产生随机数478.2.7验证输入文件名488.2.8类设计注意事项488.2.9外部程序调用漏洞508.2.10临时文件处理501 背景与目目标在Intternnet大大众化及及Webb技术飞飞速演变变的今天天,Weeb安全全所面临临的挑战战日益严严峻。黑黑客攻击击技术越越来越成成熟和大大众化,针针对Weeb的攻攻击和破破坏不断断增长,WWe

9、b安安全风险险达到了了前所未未有的高高度。许多程序序员不知知道如何何开发安安全的应应用程序序,开发发出来的的Webb应用存存在较多多的安全全漏洞,这这些安全全漏洞一一旦被黑黑客利用用将导致致严重甚甚至是灾灾难性的的后果。这这并非危危言耸听听,类似似的网上上事故举举不胜举举,公司司的Weeb产品品也曾多多次遭黑黑客攻击击,甚至至有黑客客利用公公司Weeb产品品的漏洞洞敲诈运运营商,造造成极其其恶劣的的影响。本规范为为解决Weeb应用用系统安全全问题,对主要要的应用用安全问问题进行行分析,并并有针对对性的从从设计及开开发规范范、开发管管理、安安全组件件框架、安全测试方面提供整体的安全解决方案。使本

10、组织织能以标标准的、规规范的方方式设计计和编码码。通过过建立编编码规范范,以使使每个开开发人员员养成良良好的编编码风格格和习惯惯;并以以此形成成开发小小组编码码约定,提提高程序序的可靠靠性、可可读性、可可修改性性、可维维护性和和一致性性等,增增进团队队间的交交流,并并保证软软件产品品的质量量。2 安全编程程概念2.1 安全编程程安全编程程是指开开发人员员首先需需要具备备一定的的安全知知识,然然后识别别数据在在流转(输输入、处处理和输输出)过过程中可可能面对对的威胁胁,对这这些威胁胁进行分分析得出出其利用用的漏洞洞,通过过合理地地编写代代码消除除这些漏漏洞,降降低软件件面临的的风险。本规范对开发

11、人员的编码提出统一的安全要求,主要涉及输入处理、输出处理、数据库访问、文件操作、异常管理等方面,如下图:输入处理理部分能能指导开开发者避避免用户户的不良良输入;输出处处理能指指导开发发者对输输出内容容进行过过滤;数数据库访访问、文文件操作作部分则则能指导导开发者者进行数数据库查查询,写写入文件件等操作作时进行行防护;而异常常管理、敏敏感数据据保护、对对象重用用等技术术则指导导开发者者改进软软件的自自身缺陷陷。 WWEB 开发规规范部分分则指导导用户在在WEBB 系统统( BB/S 架构应应用)的的研发方方面时如如何增加加对应用用软件的的保护。2.2 结构化编编程结构化编编程,一一种编程程典范。

12、它它采用子子程序、程程式码区区块、ffor循循环以及及whiile循循环等结结构,来来取代传传统的ggotoo。希望望借此来来改善计计算机程程序的明明晰性、品品质以及及开发时时间,并并且避免免写出面面条式代代码。2.3 脆弱性脆弱性指指计算机机系统安安全方面面的缺陷陷,使得得系统或或其应用用数据的的保密性性、完整整性、可可用性、访访问控制制、监测测机制等等面临威威胁。2.4 可信计算算可信计算算的行为为会更全全面地遵遵循设计计,而执执行设计计者和软软件编写写者所禁禁止的行行为的概概率很低低。2.5 安全可信信模块审计和访访问控制制模块是是唯一的的安全可可信模块块。2.6 不可信任任模块除审计和

13、和访问控控制模块块外其它它所有模模块均为为不可信信模块。2.7 敏感信息息系统的敏敏感信息息包括用用户身份份信息、认证信信息、授权信信息、交易过过程中的的私密或或隐私信信息、其它的的敏感信信息。2.8 特权特权只是是允许去去做并不不是每个个人都可可以做的的事情。2.9 信息隐藏藏信息隐藏藏指在设设计和确确定模块块时,使使得一个个模块内内包含的的特定信信息(过过程或数数据),对对于不需需要这些些信息的的其他模模块来说说,是不不可访问问的。信息隐藏藏基本原原理框图图:2.10 中间件中间件是是提供系系统软件件和应用用软件之之间连接接的软件件,以便便于软件件各部件件之间的的沟通.中间件件技术创创建在

14、对对应用软软件部分分常用功功能的抽抽象上,将将常用且且重要的的过程调调用、分分布式组组件、消消息队列列、事务务、安全全、连结结器、商商业流程程、网络络并发、HTTP服务器、Web Service等功能集于一身或者分别在不同品牌的不同产品中分别完成。2.11 死锁死锁是操操作系统统或软件件运行的的一种状状态:在在多任务务系统下下,当一一个或多多个进程程等待系系统资源源,而资资源又被被进程本本身或其其它进程程占用时时,就形形成了死死锁。2.12 可信边界界可信边界界可以被被认为是是在程序序中划定定的一条条分隔线线,一边边的数据据是不可可信的而而另一边边则是可可信的。当当数据要要从不可可信的一一侧到

15、可可信一侧侧的时候候,需要要使用验验证逻辑辑进行判判断。2.13 元字符元字符就就是在编编程语言言中具有有特定含含义的字字符或者者字符串串。例如如在 SSQL 查询中中,单引引号()是危危险的字字符;在在文件系系统路径径中两个个点号(.)是危险的字符;在命令 shell 中,分号(;)和双&(&)符号同样是危险的字符,而换行符(n)对日志文件很关键。2.14 参数化查查询参数化查查询(PParaametteriizedd Quueryy 或 Paarammeteerizzed Staatemmentt)是指指在设计计与数据据库链接接并访问问数据时时,在需需要填入入数值或或数据的的地方,使使用参

16、数数 (PParaametter) 来给给值,这这个方法法目前已已被视为为最有效效可预防防SQLL注入攻攻击 (SQLL Innjecctioon) 的攻击击手法的的防御方方式。2.15 UNIXX JAAIL环环境一个被改改变根目目录的程程序不可可以访问问和命名名在被改改变根目目录外的的文件,那那个根目目录叫做做“chhrooot监狱狱(chhrooot jjaill,chhrooot pprisson)”。2.16 临时文件件创建临时时文件的的程序会会在完成成时将其其删除。2.17 信息熵信息熵指指信息的的不确定定性,一则高高信息度度的信息息熵是很很低的,低信息息度的熵熵则高。2.18 S

17、SL安全套接接层(SSecuure Soccketts LLayeer,SSLL),一一种安全全协议,是是网景公公司(NNetsscappe)在在推出WWeb浏浏览器首首版的同同时提出出的,目目的是为为网络通通信提供供安全及及数据完完整性。SSL在传输层对网络连接进行加密。SSL采采用公开开密钥技技术,保保证两个个应用间间通信的的保密性性和可靠靠性,使使客户与与服务器器应用之之间的通通信不被被攻击者者窃听。它它在服务务器和客客户机两两端可同同时被支支持,目目前已成成为互联联网上保保密通讯讯的工业业标准。现现行Weeb浏览览器亦普普遍将HHTTPP和SSLL相结合合,从而而实现安安全通信信。此协

18、协议和其其继任者者是TLLS。2.19 TLSSSL(Seccuree Soockeets Layyer)是是网景公公司(NNetsscappe)设设计的主主要用于于Webb的安全全传输协协议。这这种协议议在Weeb上获获得了广广泛的应应用。IIETFF(wwww.ieetf.orgg)将SSSL作了了标准化化,即RRFC222466,并将将其称为为TLSS(Traanspportt Laayerr Seecurrityy),其其最新版版本是RRFC552466,版本本1.22。从技技术上讲讲,TLLS1.0与SSLL3.00的差异异非常微微小。2.20 HTTPPS超文本传传输安全全协议(缩

19、缩写:HHTTPPS,英英语:HHypeerteext Traansffer Prootoccol Seccuree)是超超文本传传输协议议和SSSL/TTLS的的组合,用用以提供供加密通通讯及对对网络服服务器身身份的鉴鉴定。HHTTPPS连接接经常被被用于万万维网上上的交易易支付和和企业信信息系统统中敏感感信息的的传输。HTTPS不应与在RFC 2660中定义的安全超文本传输协议(S-HTTP)相混。2.21 Httpp会话在计算机机科学领领域来说说,尤其其是在网网络领域域,会话话(seessiion)是是一种持持久网络络协议,在在用户(或或用户代代理)端端和服务务器端之之间创建建关联,从从

20、而起到到交换数数据包的的作用机机制,ssesssionn在网络络协议(例例如teelneet或FTPP)中是是非常重重要的部部分。在不包含含会话层层(例如如UDPP)或者者是无法法长时间间驻留会会话层(例例如HTTTP)的的传输协协议中,会会话的维维持需要要依靠在在传输数数据中的的高级别别程序。例例如,在在浏览器器和远程程主机之之间的HHTTPP传输中中,HTTTP coookiee就会被被用来包包含一些些相关的的信息,例例如seessiion ID,参参数和权权限信息息等。当客户端端在多个个服务器器调取数数据时,保保持会话话状态的的一致性性是需要要注意的的,客户户端需用用同时保保持和某某一个

21、主主机的连连接,或或者多个个服务器器端需要要共享一一个储存存会话信信息的文文件系统统或者数数据库。否否则,当当用户在在一个新新的而不不是一开开始保存存会话信信息的主主机上提提交访问问请求的的时候,主主机会因因为无法法获知原原来主机机的会话话的访问问状态而而产生问问题。2.22 CookkieCookkie(复复数形态态Coookiees),中中文名称称为小型型文本文文件或小小甜饼,指指某些网网站为了了辨别用用户身份份而储存存在用户户本地终终端(CClieent Sidde)上上的数据据(通常常经过加加密)。定定义于RRFC221099。为网网景公司司的前雇雇员Loou MMonttullli在

22、19993年3月所发发明。2.23 HttppOnlly CCookkieHttppOnlly是包包含在HHttpp 响应应头信息息Sett-Coookiie中的的一个额额外标志志,如果果浏览器器支持HHttppOnlly标志志的话,在在生成CCookkie时时使用HHttppOnlly标志志可帮助助减轻客客户端脚脚本访问问受保护护的Coookiie时带带来的风风险(客客户端脚脚本不能能访问HHttppOnlly CCookkie)。3 安全编程程原则3.1 统一的安安全规范范每个软件件项目在在设计阶阶段都应应明确在在项目实实施过程程中项目目组应遵遵循的统统一规范范,具体体包括:1. 命名规则

23、则、组件件使用规规范、异异常处理理规范、日日志处理理规范、工工具使用用要求、代码集成规范。2. 针对本规规范提出出的主要要代码脆脆弱性应应进行相相应的防防范设计计,具体体内容应应在软件件概要设设计中体体现或有有单独的的文档体体现。3.2 模块划分分1. 软件应该该按照安安全性划划分模块块,审计计和访问问控制模模块为安安全可信信模块,其其它模块块为不可可信任模模块。只只有安全全可信模模块才可可以执行行安全控控制功能能,其它它的模块块不能访访问安全全可信模模块的安安全信息息、功能能或者权权限。安安全可信信模块应应该与其其它模块块分离,由由经授权权的内部部专人进进行管理理。2. 只有安全全可信模模块

24、,才才能以高高安全等等级访问问系统的的敏感信信息,对对于其他他模块限限制其访访问敏感感信息。3.3 最小化功功能根据“没没有明确确允许的的就默认认禁止”的原则则,软件件应只包包含那些些为达到到某个目目标而确确实需要要的功能能,不应应包含只只是在将将来某个个时间需需要但需需求说明明书中没没有的功功能。软软件在最最小化功功能建设设方面应应遵循如如下原则则:1. 只运行明明确定义义的功能能。2. 系统调用用只在确确实需要要的时候候。3. 一次只执执行一个个任务。4. 只有在上上一个任任务完成成后才开开始下一一个任务务。5. 只在确实实需要的的时候访访问数据据。3.4 最小化特特权1. 只为程序序中需

25、要要特权的的部分授授与特权权。2. 只授与部部分绝对对需要的的具体特特权。3. 将特权的的有效时时间或者者可以有有效的时时间限制制到绝对对最小。3.5 对多任务务、多进进程加以以关注软件开发发应尽量量使用单单任务的的程序。如如果软件件需要使使用多任任务和多多进程,应应该认真真分析研研究多任任务和多多进程会会不会发发生冲突突,同步步所有的的进程和和任务以以避免冲冲突。同同时作为为结构化化的编程程,每个个原子化化组件都都要保证证一个入入口和一一个出口口。如果果进程之之间需要要交互,则则这些交交互操作作应同步步。对于于每一种种可能的的交互情情况都要要考虑相相关的安安全策略略。3.6 界面输出出最小化

26、化软件应保保持用户户界面只只提供必必须的功功能,没没有多余余的、不不必要的的功能,确确保用户户不能通通过用户户界面直直接访问问数据或或者直接接访问被被保护对对象。3.7 使代码简简单、最最小化和和易于修修改开发时应应尽量使使代码简简单、最最小化和和易于修修改。使使用结构构化的编编程语言言,尽量量避免使使用递归归和 GGotoo 声明明。使用用简单的的代码,清清除不必必要的功功能,防防止采用用信息隐隐藏方式式进行数数据保护护。3.8 避免高危危的服务务、协议议软件应尽尽量避免免使用不不加保护护的及已已被证明明存在安安全漏洞洞的服务务和通信信协议传传输文件件,如FTPP 、SMTTP。3.9 数据

27、和代代码分离离软件应该该把数据据与程序序放置在在不同的的目录中中,这里里的数据据包括远远程下载载文件等等。3.10 关键数据据传输保保护1. 软件在传传输关键键数据时时,使用用加密算算法保证证数据在在通信过过程不被被破译,使使用数字字签名保保证数据据在传输输过程中中的一致致性和不不可否认认性。相相关的加加密算法法和签名名技术等等应符合合国家相相关法律律法规要要求。2. 信息隐藏藏是不可可靠、效效率低的的做法,软软件应该该使用正正确的安安全保护护措施,不不要依赖赖隐藏进进行数据据保护。3.11 禁止赋予予用户进进程特权权用户进程程的授权权应采用用最小授授权法,对对于软件件的普通通用户进进程,禁禁

28、止赋予予该类进进程特权权用户权权限。特特权用户户类型包包括:1. 超级用户户。2. 直接操作作数据库库用户。3. 安全管理理用户。3.12 使用适当当的数据据类型应该小心心使用数数据类型型,尽量使使用占用用内存较较小的数数据类型型,如可可用整型型数据的的不用实实型,特特别是在在程序接接口部分分。例如如,在一一些编程程语言中中siggnedd 和 unnsiggnedd 的数数据类型型是视为为不同的的(如CC或者C+语言言)。3.13 使用经过过验证的的安全代代码使用经过过验证的的安全代代码模块块和外部部源程序序,防止止潜在的的安全风风险。3.14 使用应用用中间件件中间件作作为一种种应用层层架

29、构,软软件设计计应尽可可能使用用中间件件,中间间件选型型时应选选择成熟熟的、业业界主流流的中间间件产品品。3.15 设计错误误、异常常处理机机制软件设计计开发时时应建立立防止系系统死锁锁的机制制,异常常情况的的处理和和恢复机机制,具体包包括错误误和异常常检测、数数据回滚滚、安全全错误通通知、错错误和异异常记录录、断点点保护等等。3.16 提供备份份机制为保证运运行数据据的完整整性和可可用性,软软件开发发应设计计有效的的备份策策略,根根据业务务和系统统维护需需要提供供定期或或不定期期、自动动或手动动方式的的备份机机制。3.17 检查传递递变量的的合法性性应检查所所有传递递给系统统函数调调用(SS

30、ysttem Callls)或本地地调用(Native Calls)的变量的合法性。3.18 检查所有有函数返返回代码码应检查所所有函数数调用返返回代码码(错误误代码),对对每个期期望的返返回值设设置相应应的处理理程序。3.19 修改面向向用户的操作的反馈缺缺省描述述应对面向向用户的的操作的的反馈缺缺省描述述进行必必要的封封装,删删除有关关后台系系统或其其它敏感感信息。3.20 文件操作作的要求求在需要进进行文件件操作时时,应预预先设定定目前工工作路径径(全路路径名),使使用全路路径名表表示文件件的位置置。3.21 其他编码码原则1. 当一个进进程对敏敏感对象象(包含含秘密信信息或包包含不可可

31、更改信信息)使使用完后后,应立立即擦除除对象的的敏感信信息,然然后再删删除对象象。任何何不需要要使用的的资源应应及时释释放。2. 确保所有有用来指指示数组组下标的的数据(或或指针)都都指向了了一个有有效的数数组元素素。如果果某个函函数不能能保证下下标所指指向元素素的有效效性,或或者根本本不去检检查边界界时,不不要使用用该函数数,应该该寻找一一个安全全的函数数,或者者自己重重新编写写一个或或者封装装一个不不安全的的函数,加加上必要要的判断断条件,使使它安全全。3. 当输入不不可信任任数据时时,要在在该数据据的内容容和格式式上同时时加以检检查。对对于整数数,应该该检查数数据大小小是否超超出了能能够

32、表示示的范围围;对于于输入的的字符串串,要确确保长度度没有溢溢出,保保证每一一个字符符都是有有效的。4. 对经常使使用的类类似的 SQLL 语句句应使用用绑定变变量的方方法,避避免数据据库执行行类似 SQLL 语句句时重复复解析、重重复访问问数据文文件的行行为。5. 程序编码码结束后后,应对对代码进进行优化化,提高高应用处处理 SSQL 的性能能。6. 禁止使用用通配符符的方式式进行数数据的插插入操作作。7. 采用数据据库作为为系统间间接口方方式时,应应建立独独立的接接口表,并并按最小小化特权权原则进进行授权权。4 应用安全全分析4.1 安全需求求系统安全全本质上上属于信信任问题题,要保保证应

33、用用安全,就就必须将将解决各各种操作作过程中中不可信信问题。安全的几个基本本要素为为机密性性、完整性性、可用用性、可审计计性、不不可抵赖赖性等方方面的安安全要求求。机密性要要求保护护数据内内容不能能泄露,加密是是实现机机密性的的要求的的常见手手段。完整性要要求保护护数据内内容是完完整、没没有被篡篡改的。可用性要要求保护护资源是是可被按按照需要要访问。可审计性性对出现现的安全全问题提提供调查查的依据据和手段段。不可抵赖赖性建立立有效的的责任机机制,防防止用户户否认其其行为。4.2 安全威胁胁4.2.1 Web安安全漏洞洞根据结合合国网系系统安全全检测项项目常见见安全问问题及OOWASSP组织发布

34、布的安全全漏洞,系统中中存在的的需要解解决的安安全风险险如下:序号安全威胁胁产生环节节1SQL注注入编码2失效的身身份认证证及会话话管理设计、编编码3跨站脚本本(XSSS)编码4点击劫持持(CllickkJacckinng)编码4不安全的的直接对象象引用编码5安全配置置错误配置实施施6敏感信息息泄露设计、编编码7功能级访访问控制制缺失(失败的URL访问权限限制)设计8跨站请求求伪造(CSRRF)编码9使用含有有已知漏漏洞的组组件管理、设设计10未验证的的重定向向和转发编码11传输层保保护不足足设计、编编码12文件上传传漏洞编码13不安全的的加密存存储设计、编编码4.2.2 拒绝服务务攻击分布式

35、拒拒绝服务务攻击(英英文:DDisttribbuteed DDeniial of Serrvicce,缩缩写:DDDoSS)亦称称洪水攻攻击。顾顾名思义义,即是是利用网网络上已已被攻陷陷的电脑脑作为“僵僵尸”,向向某一特特定的目目标电脑脑发动密密集式的的“拒绝绝服务”式式攻击,用用以把目目标电脑脑的网络络资源及及系统资资源耗尽尽,使之之无法向向真正正正常请求求的用户户提供服服务。黑黑客通过过将一个个个“丧丧尸”或或者称为为“肉鸡鸡”组成成僵尸网网络,就就可以发发动大规规模DDDoS或或SYNN洪水网网络攻击击,或者者将“丧丧尸”们们组到一一起进行行带有利利益的刷刷网站流流量、EEmaiil垃圾

36、圾邮件群群发,瘫瘫痪预定定目标受受雇攻击击竞争对对手等商商业活动动。4.2.3 嗅探攻击击利用计算算机的网网络接口口截获目目的地为为其他计计算机的的数据报报文的一一种技术术。它工工作在网网络的底底层,把把网络传传输的全全部数据据记录下下来. 嗅探器器可以帮帮助网络络管理员员查找网网络漏洞洞和检测测网络性性能。嗅探器器可以分分析网络络的流量量,以便找找出所关关心的网网络中潜潜在的问问题。证明你的的网络有有嗅探器器有两条条经验:1. 网络通讯讯丢包率率非常高高:通过过一些网网管软件件,可以以看到信信息包传传送情况况,最简简单是ppingg命令。它它会告诉诉你掉了了百分之之多少的的包。如如果你的的网

37、络结结构正常常,而又又有200300数据据包丢失失以致数数据包无无法顺畅畅的流到到目的地地。就有有可能有有人在监监听,这这是由于于嗅探器器拦截数数据包导导致的。2. 网络带宽宽出现反反常:通通过某些些带宽控控制器,可可以实时时看到目目前网络络带宽的的分布情情况,如如果某台台机器长长时间的的占用了了较大的的带宽,这这台机器器就有可可能在监监听。应应该也可可以察觉觉出网络络通讯速速度的变变化。4.2.4 中间人攻攻击在密码学学和计算算机安全全领域中中,中间间人攻击击( Maan-iin-tthe-midddlee atttacck,通通常缩写写为MIITM )是指指攻击者者与通讯讯的两端端分别建建

38、立独立立的联系系,并交交换其所所收到的的数据,使使通讯的的两端认认为他们们正在通通过一个个私密的的连接与与对方直直接对话话,但事事实上整整个会话话都被攻攻击者完完全控制制。在中中间人攻攻击中,攻攻击者可可以拦截截通讯双双方的通通话并插插入新的的内容。在在许多情情况下这这是很简简单的(例例如,在在一个未未加密的的Wi-Fi 无线接接入点的的接受范范围内的的中间人人攻击者者,可以以将自己己作为一一个中间间人插入入这个网网络)。一个中间间人攻击击能成功功的前提提条件是是攻击者者能将自自己伪装装成每一一个参与与会话的的终端,并并且不被被其他终终端识破破。中间间人攻击击是一个个(缺乏乏)相互互认证的的攻

39、击。大大多数的的加密协协议都专专门加入入了一些些特殊的的认证方方法以阻阻止中间间人攻击击。例如如,SSSL协议议可以验验证参与与通讯的的一方或或双方使使用的证证书是否否是由权权威的受受信任的的数字证证书认证证机构颁颁发,并并且能执执行双向向身份认认证。4.3 安全约束束序号限制1外网不允允许部署署数据库库2外网仅提提供HTTTP、HTTTPS访访问,不不提供FTTP、SFTTP等3外网访问问内网必必须通过过强隔离离装置,仅支持TNNS协议议(国网网系统要要求)4外网应用用不允许许直接访访问内网网关键业业务系统统数据库库5其它系统统原则上上都不允许许直接连连接营销销系统数数据库5 安全编程程要求

40、5.1 输入处理理5.1.1 建立可信信边界需要在程程序中定定义清晰晰的可信信边界。在一些代码中用于保存可信数据的数据结构,不能被用来在其它代码中存储不可信数据。使数据穿越可信边界的次数降到最低。当程序混混淆了可可信和不不可信数数据的界界限时会会导致安安全边界界发生问问题,最最容易导导致这种种错误的的情况是是把可信信和不可可信数据据混合在在一个数数据结构构里。如如下例:该例中程程序接受受一个 htttp 请请求并将将 uusrnnamee 参参数放在在 HTTTP sesssioon 里里,但是是并未检检查用户户是否被被授权。usrname =request.getParameter(usrn

41、ame);if(session.getAttribute(ATTR_USR)= null)session.setAttribute(ATTR_USR,usrname);由于开发发者都知知道用户户是不能能直接访访问 ssesssionn 对象象的,所所以很容容易信任任来自 sesssioon 的的所有信信息,但但是如果果在该 sesssioon 中中混合存存储了可可信和不不可信的的数据,就会违反完全可信边界的原则,带来安全隐患。如果不能很好的建立和维护可信边界,开发者将不可避免的混淆未被验证和已验证的数据,从而导致一些数据在未经验证时就被使用。如果输入的数据在处理前通过一些用户的交互发生了改变,

42、可信边界就会遇到一定的问题,因为它很可能在所有数据进入之前不能做出完全的输入验证。在这种情况下,维护一个可信的边界就尤为重要,不可信数据应该单独存放在专门存放不可信数据的数据结构内,在经过验证之后才被放在可信区域。这样在看一段代码时,就很容易识别数据是在可信边界的哪一侧。5.1.2 验证各种种来源的的输入不要将软软件的安安全性寄寄托在配配置、使使用和维维护人员员的敏锐锐理解力力、深刻刻洞察力力或良好好意愿上上,不仅仅需要验验证用户户输入,而而且还要要验证所所有来自自于软件件之外的的输入,这这些输入入应当包包括下列列内容,但但并不仅仅仅局限限于此:1. HTTPP 请求求消息的的全部字字段,包包

43、括 GGET 数据、 POSST 数数据、 COOOKIEE 和 Heeadeer 数数据等。2. 不可信来来源的文文件。3. 第三方接接口数据据。4. 从数据库库中检索索出的数数据。5. 对来自命命令行、环境以及配置文件的输入。6. 网络服务务。7. 注册表值值。8. 系统性能能参数。9. 临时文件件。5.1.3 保证所有有的输入入信息是是被验证证过的确保在输输入验证证之前,新新输入的的数据不不能被添添加到程程序中(输输入的数数据不能能进入程程序代码码中被执执行)。也也就是说说,程序序默认情情况下要要对所有有的输入入信息进进行验证证,不能能通过验验证的数数据将会会被拒绝绝。5.1.4 对输入

44、内内容进行行规范化化处理后后再进行行验证当输入数数据包含含文件名名、路径径名、UURL 等数据据时,应应先对输输入内容容进行规规范化处处理后再再进行验验证,如如文件路路径、UURL 地址等等数据,需需要规范范化为标标准的格格式后再再进行验验证。5.1.5 选择合适适的数据据验证方方式应根据情情况综合合采用多多种输入入验证的的方法,包包括:1. 检查数据据是否符符合期望望的类型型。2. 检查数据据是否符符合期望望的长度度。3. 检查数值值数据是是否符合合期望的的数值范范围,比如检检测整数数输入的的最大值值与最小小值。4. 检查数据据是否包包含特殊殊字符,如如:、 、 、 %、 (、)、 &、 +、 、 、 等。5. 应使用正正则表达达式进行行白名单单检查尽尽量避免免使用黑黑名单法法。5.1.6 防范元字字符攻击击攻击者通通常会使使用元字字符对应应用程序序发起攻攻击。攻攻击者可可以通过过对同一一个元字字符采取取多种编编码方式式或者根根据语言言特征采采取多种种实现方方式,因因此应过过滤输入入数据中中那些具具有特定定含义的的字符,如如单引号号、双引引号、圆圆括号、分分号等。5.1.7 拒绝验证证失败的的数据应拒绝验验证失败败的输入入数据,不不试图对对其进行行修复(如如处理密密码域时时自动剪剪裁掉超超过

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理手册

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁