系统安全分析_第1页
系统安全分析_第2页
系统安全分析_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Web系统安全分析报告编写人:编写时间:2013.8.1部门名:技术部-测试组目录Web系统安全概述2Web攻击的分类2基于用户输入的攻击3 基于会话状态的攻击。3Web攻击的分类分析3基于用户输入攻击:3(1)SQL注入攻击3(2)跨站脚本攻击(XSS 4基于会话状态的攻击:5 保障web系统安全性的方法总结:7 Web系统的安全性测试9IBM Ratio nal AppSca n 简介 10IBM Ratio nal AppScan的使用范围 11 开发人员使用AppScar11 测试人员使用AppScar11文档说明:12Web系统安全概述随着互联网的迅猛发展,web应用的数量急剧增加。

2、与此同时, web 站点被攻击的现象呈逐年上升趋势,这主要由于多数站点所提供的安 全服务有限,使得 web系统的安全性非常脆弱,存在很多的安全漏 洞。而这些漏洞的存在,使得 web应用程序很容易被攻击者利用, 进而破坏web系统的安全性。Web安全漏洞可以分为两类:第一类是web服务器程序存在的安全漏洞,如:IIS Apache或Netscape Server存 在的漏洞。第二类是web应用程序存在的漏洞,这主要是因为程序员在使用ASP Perl等脚本对web系统进行的编程过程中,由于缺乏安全意 识或有着不良的编程习惯,最终导致程序出现可能被利用的漏洞。注: 第一类的安全漏洞可以通过对服务器进

3、行定期的检查, 维 护来防止安全漏洞的出现。所以本报告主要对第二类的 web安全漏 洞进行分析。Web攻击的分类对于web应用程序存在的漏洞,攻击者针对不同的安全威胁有相 对应的攻击方式,主要可分为两大类:、基于用户输入的攻击根据国际组织OWASP统计,排在前两位的web攻击手段分别是 脚本注入攻击(SQL injection和跨站脚本攻击(CSS/XS),这两者均 属于网站未对用户输入进行安全验证而导致的结果。二、基于会话状态的攻击web 应用程序在会话管理机制方面存在的缺陷, 往往也会导致攻 击者通过提升权限来对网站进行破坏。Web 攻击的分类分析一、基于用户输入攻击 :(1)SQL 注入

4、攻击脚本注入(SQL injection )指的是将SQL代码传递到一个并非开 发人员所预期的服务程序中, 试图操纵程序的数据库的攻击方式。 产 生SQL注入的大部分原因是因为应用程序没有对用户输入做严格的 检查。通过脚本注入,攻击者不仅可以获取网站管理员权限,对网站 进行肆意操作。 而且攻击者可以上传木马程序, 从而控制网站所在的 服务器。虽然SQL注入攻击的危害很大。但是,程序员在系统的开发 过程中,可从以下几个方面防范 SQL注入攻击:1、全面检查输入的参数设置 例如:如果要用户输入数值方面的数据时, 必须确保在执行查询 前,其输入的只是数值数据,如果输入包含其他字母,符号等数 据则一律

5、拒绝查询, 此外,还可以更进一步执行一些额外的检测, 确保输入数值的长度合法、有效等。2、加强执行SQL查询账户的权限管理最好采用最低权限标准。 如果某个账户执行了一些不属于其权限 范围内的查询,例如删除表格等,该查询将不会成功执行。还可 以用不同的用户账户执行查询、插入、更新、删除操作。由于隔 离了不同账户可执行的操作, 因而也就防止了原本执行 select 命 令的地方却被用于执行Insert、Update或Delete命令。3、设置数据库特定的存储过程 如果只允许执行特定的存储过程, 那么所有的用户输入必须遵从 被调用的存储过程的安全上下文,这样就很难发生注入式攻击 了。4、限制表单或查

6、询字符串输入的长度 如果用户的登录名字最多只有 20 个字符,那么不要认可表单中 输入的20个以上的字符,这将大大增加攻击者在 SQL命令中插 入有害代码的难度。( 2)跨站脚本攻击( XSS)跨站脚本攻击指的是攻击者往网站的 web 页面里插入恶意 HTML 代码,当用户浏览该网页时,这段 HTML代码会被执行,从而获取用 户的敏感信息。跨站脚本攻击的威胁程度已经跃居所有安全威胁之首,导致的后果极其严重, 影响面也十分广泛。系统开发人员和系统 维护人员可从以下方面防范 XSS攻击:1、黑表过滤也 就 是 说 将 不 可 以 接 受 的 数 据 过 滤 掉 。 比 如“ <script&

7、gt;.v/script> ”标签等等。2、设置白表 由黑表过滤机制可知, 将黑表中记录的所有非法输入进行过滤几 乎是不可能的,因为可能在 HTML中以标签方式执行的脚本类型 层出不穷,编码方式也不断更新。因此,与其过滤掉数据中不应 该被接受的部分,不如设置白表,将所有可以接受的数据记录下 来,这样只允许输入白表中设置的数据类型,其他类型均不允许 输入。3、字符转换 如果能够不把用户输入看成代码而只看成文本的话, 就能避免跨 站脚本攻击。比如我们见到的跨站脚本几乎都是以 HTML标签执 行的,都需要在代码中加入尖括号“ <>”,如果将尖括号进行转 换,转换为一个文本字符,则即

8、使被浏览器解释,也是无法执行 的。二、基于会话状态的攻击:HTTP 协议最初的设计用于以不连续的请求方式从服务器间断 地向客户机传输信息,它并没有考虑在 web 应用程序中应该如何管 理和跟踪用户的会话。 但对于现在很多的网站来讲, 对用户身份的识 别并响应用户的所有请求是它所提供的基本服务, 因此必须管理与跟 踪所有与子联系的用户会话。如果开发者和 web 站点的设计者在设 计管理会话策略时考虑不周, 就可能留下被攻击者攻击的漏洞。 基于 会话状态的攻击就是针对那些没有正确实现用户会话管理的应用程 序的漏洞攻击。但是,系统开发人员可从以下方面考虑,制定安全的 会话管理机制:1、会话系统对于会

9、话标识号的分配必须可靠。 所谓的可靠主要体现在两方面:一是标识号的生成要随机。 在不了解随机算法的前提下,攻击者很难猜出随机的标识 号;二是要保证标识号的长度充足。 如果一个网站同时会话 用户很多,而标识号长度又短, 那么攻击者很容易遍历查找 标识号。2、使用 cookie 保存会话变量。与隐藏字段或 URL 参数相比, cookie 一般更难更改而且可以 通过设置标志变量等机制加以保护。另外还可以限制某个网 站甚至是网站某个部分的cookie,或另它们自动删除。3、禁止用户选择会话表示。有些会话管理系统允许拥有合法会话ID的用户在ID号删除后自己进行恢复,这样完全可以重新生成一个保留原有状态

10、信 息的新会话。4、会话标识要设有效期, 超过有效期的会话标识不能再被使用 服务器段存储的会话变量使得 web 应用程序能够记录会话的 名称和创建时间, 如果会话在一段时间内未被使用, 应该被服 务器删除。5、允许用户注销并清除会话。 当用户注销时,注销动作将在服务器和客户端同时删除会话 的标识。保障 web 系统安全性的方法总结:一、会话处理1、安全创建会话标识。 会话标识要尽可能随机, 这样可以阻止 欺骗攻击。2、应用程序要能够追踪或防止发生同时登录。 这能阻止会话重 放攻击。3、应用程序要能够追踪到用户在服务器会话时间; 当会话静止 时间超过有效期,要自动中止该会话并删除会话标识。二、错

11、误处理1、在可能的情况下,应用程序可以捕获到 HTTP500 错误。同 时避免返回给用户的错误处理页面中包含任何内部状态信息, 如变量名、文件名或数据库查询。2、应用程序将数据写入一个自定义错误日志。 该日志能提供调 试应用程序及识别恶意行为的有用信息。三、数据库处理1、与数据库链接的口令要以安全方式存储。 如果连接数据库的 口令必须以明文形式存储在文件中,那么该文件就应该设置严 格的读取权限。同时,该文件不应存储在 web 的根目录中。2、应用程序尽可能使用低权限的数据库账户来执行 SQL查询'换言之,该账户可以创建并修改与应用程序有关的表,但是不 可以执行类似重启数据库或修改数据库

12、表的操作。3、SQL查询不通过变量的字符串链接来创建,应使用存储过程 或自定义的视图。4、数据通过强类型变量进行传递。四、文件处理1、应用程序只能从一个特定的目录中取回文件,且这个目录不 包括应用程序代码本身。2、文件上传目录不允许文件运行。3、分开文件上传目录和下载目录。五、应用程序审核事件1、应用程序应记录验证成功和失败的用户 ID和IP地址。2、应用程序记录修改敏感资料信息的用户 ID和IP地址。3、应用程序记录明显的恶意输入和IP地址。4、应用程序记录的事件信息应该足以识别用户或行为六、输入验证1、输入过滤器在应用之前, 数据标准化到一个标准的字符集中。 所有的 URL 编码字符都进行

13、解释,所有的 Unicode 或其他编码 字符都使用预期的字符表现形式。 2、验证过滤器应用到整个输入字符串。3、数据是强类型的。预期的输入与某种数据类型相匹配,如 varchar、整数、字符串、布尔型或自定义类型。4、检查数据的有效类型,检查参数值的正确性。5、检查数据长度。附加字符会被应用程序截断和忽略。6、检查数据中的无效内容,包括符号“ ”,“;”,“”,“<>”Web 系统的安全性测试Web 系统在开发的过程中以及上线之前, 我们需要对系统进行安 全性测试。所谓安全性测试(security testing)是指有关验证应用程序的 安全服务和识别潜在安全性缺陷的过程。随着越

14、来多的重要数据都存储在 web 应用上,以及网络事务数 量的增长,基于程序的安全性测试变得相当重要。根据网络上不同的攻击方式,系统安全测试人员可针对性的对web 系统进行手动的安全测试。但是,这样的测试成本相对较高,效 率却非常低下。 所以测试人员可以利用开源的安全测试软件替代人工 完成测试工作。 安全测试方面的开源软件很多, 本报告选择其中较为 有名的一款 Appscan 进行介绍。IBM Rational AppScan 简介IBM Rational AppScar,是对 Web 应用和 Web Services 进行自 动化安全扫描的黑盒工具, 它不但可以简化企业发现和修复 Web 应

15、用安全隐患的过程, 还可以根据发现的安全隐患, 提出针对性的修复 建议,并能形成多种符合法规、行业标准的报告,方便相关人员全面 了解企业应用的安全状况。AppScan包括了测试版,Build版,标准版,企业版。标准版是一 个单机版工具,个人可以利用它针对 Web应用进行黑盒测试。AppScan 拥有一个庞大完整的攻击规则库, 也称为特征库,通过在 http request 中插入测试用例的方法实现几百种应用攻击,再通过分析httpresponse 判断该应用是否存在相应的漏洞。特征库是可以随时添加 的。它的扫描分为两个阶段: 阶段一:探测阶段。探测站点下有多少个 Web 页面。并列出来。 阶段

16、二:测试阶段。针对探测到的页面,应用特征库实施扫描。扫描 完毕,会给出一个漏洞的详细报告。界面分为五大区域:(1)视图区(2)Web 应用程序树形列表区(3)结果列表区4)漏洞统计区5)漏洞详细信息区IBM Rational AppScan 解决方案能够在 Web 开发、测试、维护、 运营的整个生命周期中,帮助企业高效的发现、解决安全漏洞,最大 限度的保证应用的安全性。IBM Rational AppScan 的使用范围( 1)开发人员使用 AppScan开发人员在开发过程中可以使用 AppScan或者专用插件,随时开 发随时测试,最大化的保证个人开发程序的安全性。越早发现问题, 解决问题的成本就越低,这为 Web 应用的安全提供了最为坚实的基 础保障。( 2)测试人员使用 AppScan系统测试人员使用 AppScan对应用做全面的测试,一旦发现问 题,可以快速的生成 defect,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论