Chinaunix首页 | 论坛 | 博客
  • 博客访问: 982983
  • 博文数量: 152
  • 博客积分: 4937
  • 博客等级: 上校
  • 技术积分: 1662
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-05 16:55
文章分类

全部博文(152)

文章存档

2013年(12)

2012年(6)

2011年(58)

2010年(43)

2009年(1)

2008年(15)

2007年(17)

我的朋友

分类: WINDOWS

2011-02-12 14:13:27

生命就像一场云游 坎坷也是一种收获
一个完整的Web安全体系MILY: 宋体; mso-bidi-font-family: 宋体">可以从部署与基础结构,输入验证,身份验证,授权,,敏感数据,会话管理,加密,参数操作,异常管理,审核和日志记录等几个方面入手
Web
数据加密:某些数据需要进行信息加密和过滤后才能进行数据传输,例如用户信用卡信息、用户登陆密码信息等。此时需要进行相应的其他操作,如存储到、解密发送要用户电子邮箱或者客户浏览器。目前的加密算法越来越多,越来越复杂,但一般数据加密的过程时可逆的,也就是说能进行加密,同时需要能进行解密!
登录:一般的应用站点都会使用登录或者注册后使用的方式,因此,必须对用户名和匹配的密码进行校验,以阻止非法用户登录。在进行登陆测试的时候,需要考虑输入的 密码是否对大小写敏感、是否有长度和条件限制,最多可以尝试多少次登录,哪些页面或者文件 需要登录后才能访问/下载等。
超时限制:WEB应用系统需要有是否超时的限制,当用户长时间不作任何操作的时候,需要重新登录才能使用其功能。
SSL:越来越多的站点使用SSL安全协议进行传送。SSL是Security Socket Lauer(安全套接字协议层)的缩写,是由Netscape首先发表的数据安全传输协议。SSL是利用公开密钥/私有密钥的加密技术。(RSA),在位于HTTP层和TCP层之间,建立用户与之间的加密通信,确保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。进入一个SSL站点后,可以看到浏览器出现警告信息,然后地址栏的http变成https,在做SSL测试的时候,需要确认这些特点,以及是否有时间链接限制等一系列相关的安全保护。
服务器:脚本语言是最常见的安全隐患,如有些脚本语言允许访问根目录,经验丰富的黑客可以通过这些来攻击和使用服务器系统,因此,脚本语言安全性在中也必须被考虑到。
日志文件:在服务器上,要验证服务器的日志是否正常工作,例如CPU的占用率是否很高,是否有例外的进程占用,所以的事务处理是否被记录等。
目录:WEB的目录安全是不容忽视的一个因素。如果WEB程序或WEB服务器的处理不适当,通过简单的URL替换和推测,会将整个WEB目录完全暴露给用户,这样会造成很大的风险和安全性隐患。我们可以使用一定的解决方式,如在每个目录访问时有index.htm,或者严格设定WEB服务器的目录访问权限,将这种隐患降低到最小程度。
 
 
WEB应用安全的增强只有两种解决途径,“黑箱子”和“子”安全测试。
所谓“黑箱子”安全测试方法是指目标测试网站已经正常投入使用的情况下,采用不影响业务正常运转的技术手段进行远程测试,通过模拟黑客的惯用入侵伎俩和手法,测试目标WEB系统在真实的不法攻击压力下的安全性。
所谓“白盒子”安全测试方法是指在目标网站还处于阶段的时侯,进行基于安全编码规则的源代码级别测试。这种测试方法所需要的代价很高,通常需要精通WEB系统安全的安全编码专家带领对整个系统源代码进行阅读和纠错,增加安全代码以使得“黑箱子”安全测试得到安全的结论。
所以,确保网上WEB系统应用程序的安全不是一件简单的事,而不幸的是对WEB应用程序的攻击是非常容易实施的。从信息安全的层面,黑客针对WEB的攻击可以达到从窃取产品和敏感信息到使整个WEB站点甚至后台核心数据库服务器完全瘫痪。
一个黑客通常都会花上几个小时来熟悉他企图突破的WEB应用程序,他会象编制这一套程序的程序员那样思考程序的设计和编码,然后找出编程时留下的漏洞,然后通过浏览器恶意地与应用程序以及数据库进行交互,造成或大或小的损害。要防止这些问题,公司必须预先找出网站的弱点然后关闭有可能被黑客可利用的缝隙。
国外权威的WEB应用安全著作
“《Web Hacking: Attacks and Defense》
by Stuart McClure, Saumil Shah, Shreeraj Shah
《Hacking Exposed (TM) Web Applications 》
by Joel Scambray, Mike Shema“
针对电子商务和网上交易WEB应用平台的安全隐患分类如下:
APPLICATION BUFFER OVERFLOW 应用层缓冲区溢出()
COOKIE POISONING cookie安全使用状况评估
CROSS-SITE SCRIPTING 跨站脚本攻击风险评估
HIDDEN MANIPULATION 页面隐藏参数域篡改风险评估
STEALTH COMMANDING 系统隐蔽指令执行风险评估
3RD PARTY MISCONFIGURATION 第三方误配置安全隐患
KNOWN VULNERABILITIES 各类型已知安全漏洞
PARAMETER TAMPERING URL参数篡改攻击风险评估
BACKDOOR & DEBUG OPTIONS 后门程序和调试选项遗留隐患
FORCEFUL BROWSING WEB内容强力浏览问题
一个完整的WEB应用是颇为复杂的,它提供电子商务系统的商务逻辑,使得用户可以与WEB站点进行交互操作,其交易活动可以和后台数据库系统接口。WEB应用通常包括下面几个关键组件。
用户接口代码:这是WEB应用的表示层,它创建了站点的可视界面,是联系客户端以及WEB服务 器的接口部分,通常采用HTML、、JavaScript、ActiveX、以及其他第三方编写方式。
WEB服务器软件:WEB服务器用来支持用户浏览器和WEB应用之间的正常通信,它负责处理HTTP请求/响应消息、管理用户会话。几乎所有的WEB站点都采用第三方厂商的WEB服务器产品,例如IIS、iPlanet、Apache等。
前端系统:前端系统直接同用户接口代码、操作系统、后台系统进行交互,客户端通过用户接口代码传递的参数将被前端系统处理,最有代表性的例子就是各种CGI、JSP和ASP代码。
后台系统:后台系统是WEB应用真正的驱动部分,它负责处理真正的商务逻辑,直接与数据库系统接口。后台系统通常都是客户定制开发的。
数据库系统:WEB站点通常会采用第三方数据库软件,包括、、DB2等。
一个如此复杂的WEB系统,其安全保护机制也应该是多层次全方位的,这是因为构成WEB系统的每一个环节都可能存在脆弱性并由此引入风险,所以每个环节都需要相应的安全控制,例如在WEB应用的用户接口代码中对一些违犯语法规则的数据进行过滤,在前端系统和后台系统中对异常内容进行校验。不过,我们也看到,尽管多数WEB应用都采用了这样那样的安全控制措施,但由于其本身构成的复杂多样,出现某些漏洞也在所难免。
怎样最大程度发现并解决WEB应用系统的漏洞呢?一种方法就是在软件编写过程中进行测试,这也是软件开发周期中一项重要的工作。还有一点非常重要,那就是在WEB应用系统配置完毕正式启用之前对它进行在线评估,通常这是通过远程的安全扫描来实现的。
但是,我们看到,传统的安全扫描技术是有许多缺陷的,一个是不能对未知漏洞进行检测,另一个就是其判断依据过于简单(只依靠HTTP响应消息中的状态码来判断),经常造成误报和漏报,极大地影响了WEB系统的和准确性。
那么,怎样才能解决这一问题呢?
为了进行有效的WEB安全性审计,除了用传统的扫描器进行初步检测之外,更多时候,还得依靠技术高超的安全专家,手工检测分析目标系统的安全性。手工分析的方法通常包括三个阶段:分析、测试和报告。在分析阶段,需要对整个WEB应用系统的框架结构深入了解,对每一处牵涉到客户端数据处理的网页内容进行分析,并对与数据库操作相关的部分进行检查,当然,所有的分析工作,都是以一个普通用户的身份,通过正常的WEB访问过程来进行的。测试人员一旦在分析阶段发现了问题(例如某些网页表单存在隐患,某些网页交互功能不健全),就要在测试阶段对这些问题进行实际验证,通过构造各种复杂的测试代码(实际上就是构造客户端提交的表单信息或CGI参数),攫取WEB应用返回的响应消息,从中判断问题存在与否。最终,测试人员会对测试结果进行综合分析,汇总之后提交测试报告。
上述过程不难给我们一些启发:WEB安全评估不应该只是简单地以已知漏洞库为核心来进行操作,而应该和WEB应用系统实际的操作内容及功能结合起来,进行更深入更智能的分析。实际上,就是把人工测试的过程自动化。
基于以上,新型实用的WEB应用安全评估系统具有以下特点:
能够遍历整个WEB系统的拓扑结构,从中找到所有可浏览和可交互的页面 ;
能够对所有可浏览页面进行内容检索和分析,从中找到所有与客户端/服务器交互相关的动态内容(例如表单);
能够自动构造各种类型的“异常”提交参数,模拟大多数普遍存在的WEB攻击手段,探测各种已知漏洞和未知漏洞;
能够对响应消息进行内容分析,结合状态码,判断测试结果;
数据库的设计将不仅仅是一个保存已知漏洞特征的漏洞库,而是结合了普遍攻击手段描述内容的专家库,这种专家库可以方便地进行扩充;
基于的操作界面,,迎合用户操作习惯。
总的来说,这种新型的WEB应用安全评估系统应该是一个应用级的、内容分析的专家系统,它把过程中的专家经验嵌入到的工具当中,使得常规的静态WEB漏洞扫描演变成为动态可变的全方位的WEB应用系统安全评估。
阅读(4313) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~