安全软件开发入门(教程)

安全软件开发入门(教程)

ID:9337319

大小:381.00 KB

页数:15页

时间:2018-04-28

安全软件开发入门(教程)_第1页
安全软件开发入门(教程)_第2页
安全软件开发入门(教程)_第3页
安全软件开发入门(教程)_第4页
安全软件开发入门(教程)_第5页
资源描述:

《安全软件开发入门(教程)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件安全问题的根源:内因:软件有错误        *脆弱点                *缺陷(设计层)                *Bug(实现层)        *软件开发方法存在问题外因:软件的运行环境        *网络对软件的发展产生了巨大的影响(负面居多)外部环境:黑客、恶意代码内部环境:误操作、报复、经济犯罪7+1的软件安全问题领域:1.输入验证和表示法2.滥用API3.安全特性4.时间和状态5.错误处理6.代码质量7.封装*.环境1.输入验证和表示法输入验证和表示问题由元字符、替换编码、数字表示法引起。如果选择使用输入验证,那

2、么就要使用白列表、而不是黑列表。由于轻信输入而造成的大问题包括:缓冲区溢出、跨站脚本攻击、SQL注入、缓存毒药和其它脚本小子们非常轻易吃到的“低挂的果实”(这里只安全性较低的软件设计)。2.滥用APIAPI规定了调用者和被调用程序之间的使用约定。滥用API的常见模式是由调用者错误地信任被调用方造成的。例如,调用者希望从被调用程序那里返回获取用户信息,而被调用程序并没有任何的安全性保证其信息的可靠性。于是调用者就假定了调用程序返回数据的正确性和安全性。当然,也存在“坏人”有意破坏调用者-调用程序之间约定的行为。3.安全特性软件安全不是安全软件。世界上所有

3、的加密算法都不能满足真正的安全需要。尽管使用SSL保护网络流量的手段,而认证、访问控制、机密性保障、加密算法、权限管理等都可能存在着安全缺陷。4.时间与状态分布式计算与时间和状态相关。为了使多个组件进行通信,状态必须在组件之间共享,而所有这些都需要花费时间。因此在时间和状态之间可能存在着巨大的、未发现的天然攻击资源。多数开发者人格化了他们的工作(将程序看作“它”的单体)。他们自以为单一、全能的控制线程能够孜孜不倦地日夜工作,以同一种方式支撑整个应用。而现代计算机在任务之间切换速度与日俱增,并且多核、多CPU或者分布式系统的应用使两件事情完全可以在同一时

4、间发生。因此缺陷便出现在开发者所设想的程序执行模型和实际情况之间的差异中。这些缺陷与在线程、进程、时间和信息之间的无法预期的交互相关。而这些交互往往通过共享状态发生:信号、变量、文件系统、全局信息等。5.错误处理如果想破坏软件,那么就让它抛出一下垃圾数据,并看看你导致了哪些错误。在现代面向对系统中,异常的想法取代了被禁止的goto概念。与错误处理相关的安全缺陷在开发中很常见。在API被滥用的情况下,安全缺陷主要存在于两种方式:第一,开发者忘记处理错误或者粗略得处理错误;第二,在产生错误时要么给出过于详细的信息,要么错误过于太具放射性以至于没有可处理它们

5、的方式。6.代码质量安全是可靠性的子集。如果可以完整地描述你的系统和其存在的正面、负面的安全可能性,那么安全成为了可靠性的子集。劣质代码将导致无法预期的行为,从软件使用者的观点,它将被认为是很差的可用性;而从攻击者的视角看,糟糕的代码将提供给系统施压的可乘之机。7.封装封装是指在事物之间的边界和它们之间建立的界限。在web浏览器中,它确保了移动代码不能够强行我们的硬盘攻击。在web服务端,它意味着在经过认证的有效数据和私密数据之间的差别。这里的边界非常重要,如今在类之间的一些方法构成了重要的边界,因此信任模式需要谨慎的设置。8.环境这是上面七种领域的外

6、部领域,它包括在代码外部的所有东西,并对于我们建立的软件安全同样重要。十大web安全问题:1.未验证输入        问题描述:web请求信息在被Web应用使用之前都是未验证的,攻击者能够利用其中的弱点攻击服务器;攻击者通过伪造HTTP请求的各个部分,例如URL,查询字符串,头,cookies,表单域,隐藏域等绕过站点的安全机制。        这些常见的伪造输入攻击通常包括:强制浏览,命令插入,跨站脚本,缓冲区溢出,格式化字符串,SQL注入,cookie中毒,隐藏域操作等等。        保护方法:过滤恶意输入;客户端输入验证、服务器端验证。2.

7、破坏访问控制        问题描述:对认证用户能够进行的操作缺乏合理的限制。攻击者利用其中的缺陷访问其他用户的账户,浏览敏感文件,或使用未授权的功能。        保护方法:        加强对会话的保护(会话ID);        防止暴力浏览绕过访问控制检查;        合理设置访问权限;        禁止客户端缓存。3.破坏认证和会话管理        问题描述:账户信用和会话令牌没有被合理保护,攻击者能够危及密码、密钥、会话cookies或其他限制而冒用他人的账户        保护方法:        加强密码强度;       

8、 限制登录次数;        使用SSL保护传输中的认证信息;        使用SSL保护

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。