应用系统安全开发技术规范培训文件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.11
死锁是操作系统或软件运行的一种状态:在多任务系统下,当一个或多个进程等待系统资源,而资源又被进程本身或其它进程占用时,就形成了死锁。
2.12
可信边界能够被认为是在程序中划定的一条分隔线,一边的数据是不可信的而另一边则是可信的。当数据要从不可信的一侧到可信一侧的时候,需要使用验证逻辑进行推断。
输入处理部分能指导开发者幸免用户的不良输入;输出处理能指导开发者对输出内容进行过滤; 数据库访问、 文件操作部分则能指导开发者进行数据库查询, 写入文件等操作时进行防护; 而异常治理、敏感数据爱护、对象重用等技术则指导开发者改进软件的自身缺陷。 WEB 开发规范部分则指导用户在WEB 系统( B/S架构应用)的研发方面时如何增加对应用软件的爱护。
许多程序员不明白如何开发安全的应用程序,开发出来的Web应用存在较多的安全漏洞,这些安全漏洞一旦被黑客利用将导致严峻甚至是灾难性的后果。这并非危言耸听,类似的网上事故举不胜举,公司的Web产品也曾多次遭黑客攻击,甚至有黑客利用公司Web产品的漏洞敲诈运营商,造成极其恶劣的阻碍。
本规范为解决Web应用系统安全问题,对要紧的应用安全问题进行分析,并有针对性的从设计及开发规范、开发治理、安全组件框架、安全测试方面提供整体的安全解决方案。
使本组织能以标准的、规范的方式设计和编码。通过建立编码规范,以使每个开发人员养成良好的编码风格和适应;并以此形成开发小组编码约定,提高程序的可靠性、可读性、可修改性、可维护性和一致性等,增进团队间的交流,并保证软件产品的质量。
2
2.1
安全编程是指开发人员首先需要具备一定的安全知识,然后识不数据在流转(输入、处理和输出)过程中可能面对的威胁,对这些威胁进行分析得出其利用的漏洞,通过合理地编写代码消除这些漏洞,降低软件面临的风险。本规范对开发人员的编码提出统一的安全要求, 要紧涉及输入处理、 输出处理、 数据库访问、 文件操作、异常治理等方面,如下图:
2.15
一个被改变根目录的程序不能够访问和命名在被改变根目录外的文件,那个根目录叫做“chroot监狱(chroot jail,chroot prison)”。
2.16
创建临时文件的程序会在完成时将其删除。
2.17
信息熵指信息的不确定性,一则高信息度的信息熵是专门低的,低信息度的熵则高。
2.18
安全套接层(Secure Sockets Layer,SSL),一种安全协议,是网景公司(Netscape)在推出Web扫瞄器首版的同时提出的,目的是为网络通信提供安全及数据完整性。SSL在传输层对网络连接进行加密。
2.13
元字符确实是在编程语言中具有特定含义的字符或者字符串。例如在 SQL 查询中,单引号(‘)是危险的字符;在文件系统路径中两个点号(..)是危险的字符;在命令 shell 中,分号(;)和双&(&&)符号同样是危险的字符,而换行符(\n) 对日志文件专门关键。
2.ห้องสมุดไป่ตู้4
参数化查询(Parameterized Query 或 Parameterized Statement)是指在设计与数据库链接并访问数据时,在需要填入数值或数据的地点,使用参数 (Parameter) 来给值,那个方法目前已被视为最有效可预防SQL注入攻击 (SQL Injection) 的攻击手法的防备方式。
特权只是同意去做并不是每个人都能够做的情况。
2.9
信息隐藏指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),关于不需要这些信息的其他模块来讲,是不可访问的。
信息隐藏差不多原理框图:
2.10
中间件是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.中间件技术创建在对应用软件部分常用功能的抽象上,将常用且重要的过程调用、分布式组件、消息队列、事务、安全、连结器、商业流程、网络并发、HTTP服务器、Web Service等功能集于一身或者分不在不同品牌的不同产品中分不完成。
应用系统安全开发技术规范
(版本号 V1.3)
朗新科技股份有限公司
二〇一五年十二月
更改履历
版本号
修改编号
更改时刻
更改的
图表和章节号
更改简要描述
更改人
批准人
0.5
2013-11-24
初稿
施伟
施伟
1.0
2015-11-19
修改
宋月欣
陈志明
1.1
2015-11-30
修改
宋月欣
陈志明
1.2
2015-12-3
修改
2.4
可信计算的行为会更全面地遵循设计,而执行设计者和软件编写者所禁止的行为的概率专门低。
2.5
审计和访问操纵模块是唯一的安全可信模块。
2.6
除审计和访问操纵模块外其它所有模块均为不可信模块。
2.7
系统的敏感信息包括用户身份信息、认证信息、授权信息、交易过程中的私密或隐私信息、其它的敏感信息。
2.8
SSL采纳公开密钥技术,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。它在服务器和客户机两端可同时被支持,目前已成为互联网上保密通讯的工业标准。现行Web扫瞄器亦普遍将HTTP和SSL相结合,从而实现安全通信。此协议和其继任者是TLS。
2.19
SSL(Secure Sockets Layer)是网景公司(Netscape)设计的要紧用于Web的安全传输协议。这种协议在Web上获得了广泛的应用。IETF(www.ietf.org)将SSL作了标准化,即RFC2246,并将其称为TLS(Transport Layer Security),其最新版本是RFC5246,版本1.2。从技术上讲,TLS1.0与SSL3.0的差异特不微小。
宋月欣
施伟
1.3
2015-12-3
修改
施伟
注:更改人除形成初稿,以后每次修改在未批准确认前均需采纳修订的方式进行修改。
1
在Internet大众化及Web技术飞速演变的今天,Web安全所面临的挑战日益严峻。黑客攻击技术越来越成熟和大众化,针对Web的攻击和破坏不断增长,Web安全风险达到了前所未有的高度。
2.2
结构化编程,一种编程典范。它采纳子程序、程式码区块、for循环以及while循环等结构,来取代传统的goto。希望借此来改善计算机程序的明晰性、品质以及开发时刻,同时幸免写出面条式代码。
2.3
脆弱性指计算机系统安全方面的缺陷,使得系统或其应用数据的保密性、完整性、可用性、访问操纵、监测机制等面临威胁。
相关文档
最新文档