OWASP安全编码规范快速参考的术语

0x01 外部的参考资料

1. 引用的参考资料
Sans and TippingPoint "The Top Cyber Security Risks"

http://www.sans.org/top-cyber-security-risks/

  Web Application Security Consortium

http://www.webappsec.org/

  Common Weakness Enumeration (CWE)

http://cwe.mitre.org/

  Department of Homeland Security
Build Security In Portal

https://buildsecurityin.us-cert.gov/daisy/bsi/home.html

  CERT Secure Coding

http://www.cert.org/secure-coding/

  MSDN Security Developer Center

http://msdn.microsoft.com/en-us/security/default.aspx

  SQL Injection Cheat Sheet

http://ferruh.mavituna.com/sql-injection-cheatsheet-oku/

https://www.pcwdld.com/sql-cheat-sheet

  Cross Site Scripting (XSS) Cheat Sheet
http://ha.ckers.org/xss.html

 

0x02 安全咨询网站

检查已知威胁的有用资源,以支持基础设施和框架。
Secunia Citrix Vulnerability List:

  http://secunia.com/advisories/search/?search=citrix

Security Focus Vulnerability Search:

  http://www.securityfocus.com/vulnerabilities

Open Source Vulnerability Database (OSVDB):

  http://osvdb.org/search/web_vuln_search

Common Vulnerability Enumeration:

  http://www.cve.mitre.org/

 

0x03 术语表

滥用实例: 描述了对软件有意或无意的错误使用。滥用实例应当挑战系统设计的各种假设。

访问控制: 一组授予或拒绝用户或其他实体对系统资源访问的控制。这通常基于继承的角色和在一个角色中的单独权限,但也包含系统与系统之间的交互。

身份验证 : 一组验证正在与软件交互的用户或其他实体身份的控制。

可用性: 一个系统可访问性和可用性的一种度量。

规范化:将数据的各种编码方式和表式转换成为一种单一的简单形式。

通信安全: 一组帮助确保软件以一种安全的方式处理信息收发的控制。

保密性: 确保信息只公布给授权的当事人。

输出编码方式: 根据数据如何被应用程序使用,对输出进行编码。具体方法有所不同,取决于输出数据的使用方式。如果数据被包含在返回客户端的响应中,请说明下面的情况:在 JavaScript中、在 CSS中或在 URL中的一个 HTML文档的主体部分或一个 HTML属性。您还必须说明其它的用例,比如:SQL查询、XML和 LDAP。

跨站点请求伪造: 一个外部网站或应用程序强迫一个客户端制作一个非意愿的请求到另一个有活跃会话的客户端应用程序。当它们使用已知的、可预见的 URL和参数时,并且当浏览器对每个发往应用程序的请求自动传输所有需要的会话信息时,应用程序是可攻击的。(该类攻击是本文中唯一包含并讨论的攻击,因为相关的漏洞非常常见的,但又被知之甚少。)

密码规范 : 一组确保在应用程序中密码的操作被安全处理的控制。

数据保护: 一组确保软件以一种安全的方式处理所保存的信息的控制。

数据库安全:一组确保软件以一种安全的方式与数据库交互,并且数据库被安全配置的控制。

错误处理和日志记录:一组确保应用程序安全的处理错误并执行正确的事件记录的实践。

利用:使用一个漏洞。通常而言, 这是一种有意的行为,旨在利用漏洞危及软件的安全控制。

文件管理: 一组涵盖代码和其它系统文件之间交互的控制。

通用编码规范 :一组涵盖不易分入其它组的编码实践。

危险字符: 任何字符或编码表示的字符,可以影响应用程序预期的操作,或者被解释为具有特殊的意义、预期用途以外的字符。这些字符可用于:
• 修改现有代码或语句的结构;
• 插入新的非预期的代码;
• 修改路径;
•程序功能或程序导致非预期的结果;
• 导致错误的条件;

• 下游应用程序或系统拥有上述任何效果。

HTML 实体编码: 用等价的 HTML实体取代 ASCII字符的过程。比如:编码过程将用 HTML等价“&lt”取代小于号“<”。HTML实体在大多数的编译器中是“无行动的”,特别是在浏览器中,可以缓解某些客户端攻击。

影响:当一个意外事件发生时,也就是一个漏洞被利用时,对业务 负面影响的衡量。

输入验证: 一组验证所有输入数据的属性与应用程序所期待数据的类型、长度、范围、允许的字符

集所匹配,但不包含已知危险字符的控制。

完整性: 保证信息是准确的、完整的和有效的,并且没有被一个未授权的行为所修改。

 

日志事件数据: 这应当包含以下信息:
1. 来自一个可信系统组件的时间戳;
2. 每个事件的严重程度;
3.如果与其它日志事件混合在一起的话,标记与安全相关的事件;
4. 明确引发事件的帐户或用户身份;
5. 与请求相关的源 IP地址;
6. 事件的结果(成功或失败);

 

7. 事件的描述。

内存管理: 一组解决内存和缓存使用的控制。

缓解 : 为减少一个漏洞的严重程度而采取的步骤。这些步骤可以包括:删除一个漏洞、使漏洞更难被利用、减少漏洞被利用后带来的负面影响。

多因子 身份验证 : 一个要求用户处理多种不同种类凭据的身份验证过程。通常,该过程基于用户拥有的信息(比如:智能卡)、他们知道的信息(比如:个人识别码)、或者他们自身的信息(比如:来自生物方面的数据)。

输出编码: 一组解决使用编码技术以确保应用程序输出的数据是安全的控制。

参数化查询(预 处理语句 ):通过使用占位符,保持查询语句和数据相分离。查询语句结构由占位符定义,SQL语句发送给数据库并做好准备,然后准备好的语句与参数值相结合。这样就防止了查询被更改,因为参数值与已编译的语句相结合,而不是 SQL字符串。

净化数据: 通过使用删除数据、字符替代、编码或转义字符,将潜在的有害数据变得安全的处理过程。

安全控制: 一个缓解潜在的漏洞,并有助于确保软件只以预期的模式进行工作的行为。

安全需求: 一组有助于确保软件以一种安全的模式建立并部署的设计和功能需求。

连续身份验证 : 身份验证数据在连续的网页上被请求,而不是在一个单独的网页中一起被要求。

会话管理: 一组有助于确保 Web应用程序以安全的模式处理 HTTP会话的控制。

状态数据: 当应用程序或者服务器使用数据或参数模拟持续的连接,或跟踪跨多个请求的处理或交易的客户端状态。

系统: 一个涵括操作系统、Web服务器、应用程序框架和相关基础设施的通用术语。

系统配置: 一组帮助确保基础设施部件支持软件安全部署的控制。

威胁代理: 任何可能对系统造成负面影响的实体。这可能是一个想危害系统安全控制的恶意用户。但是,这也可能是一个意外的系统错误使用,或者是物理威胁,如火灾或水灾。

信任边界:通常,一个信任边界由您直接控制的系统部件组成。来自您直接控制系统以外的所有连接和数据,包括所有由其它各方管理的客户端和系统,在允许进一步的系统交互之前,应当被认为是不可信的,并在边界被验证。

漏洞 :一个导致系统易受攻击或损坏的脆弱点。

 

欢迎大家分享更好的思路,热切期待^^_^^ !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值