Web服务实现及安全性分析
- 格式:doc
- 大小:2.11 MB
- 文档页数:42
安全技术13Web 网站的安全问题及防护策略◆秦乐阳1 影响Web 网站安全的因素1.1 系统平台易受攻击如果是利用windows 的操作系统,在微软公司发现漏洞然后发布补丁的过程中,都会存在一个时间差,而在这个时间范围内,网站的数据库安全就有可能受到威胁。
一旦某些黑客在发现这些漏洞后,批量攻击许多网站,那些平时疏于管理,并对操作系统的补丁不注意修补的企业就会成为被攻击的目标。
而且现在很多政府和企业门户网站平台只注重系统的控件是否丰富,界面是否美观,价格是否便宜,而不注意网站的安全问题,这更是为黑客提供了可乘之机。
1.2 加密算法单一现在很多政府机关和企业的网站喜欢使用MD5这种算法对数据库进行加密,利用这种算法加密的网站数据库具有很好的加密性,MD5加密算法是一种使用很普遍的非对称加密算法,许多电子钱包、电子现金的业务也使用这种算法,这种算法使用的是哈希函数,利用相关的散列函数输入数据然后进行一定的计算,出现一个固定长度的值,这个值可以在知道密码的条件下被验证,但是无法利用这个值,反推出密码。
在原则上,这种方法很难被破译。
但是很多企业在设计密码上力求简单,很多时候只是设计一个例如生日密码这种格式相对固定的密码。
而黑客只需要进行暴力攻击,不断穷举就可以实现密码的破译。
1.3 验证系统不可靠政府和企业门户网站的开发为了加强开发的效率,往往会外部给网页设计企业,但是代码一般也会使用之前设计过的,只是显示页面稍作替换,在这种情况下,一旦当初设计的代码,没有全面的进行数据分析和用户输入的判断,就会使系统的安全受到很大的威胁。
比如说:无孔不入的SQL 注入攻击。
而且由于是代管的,网页设计企业的一个员工可能要负责维护很多个网站,造成力不从心,无法认真注意某个网站被攻击的情况,许多政府机关或者企业在设计网站的过程中就发现有这种问题。
2 Web 网站安全问题2.1 SQL 注入攻击SQL 注入攻击的首要条件是服务器端代码自身有漏洞,在服务器和Web 端口相互连接之后,绕开很多防护措施,直接对没有授权的数据进行访问,这就是对数据库后端进行攻击的攻击方式。
面向Web服务的安全威胁建模与评估研究随着Web服务的快速发展,越来越多的业务都依赖于Web服务实现。
但是,随着Web服务的普及,对其安全性的要求也越来越高。
例如,基于Web服务的电子商务、在线支付、医疗健康等应用都要求高度保密和安全性。
因此,Web服务的安全威胁已经成为一个十分重要的话题。
Web服务的安全威胁非常严峻,其中包括身份伪造、注入式攻击、跨站点脚本攻击、会话劫持、数据泄露等多种威胁。
这些威胁可能导致机密信息泄露、业务中断、信誉损失等严重后果。
因此,我们必须对Web服务的安全威胁进行建模和评估,以采取有效的安全措施,保护企业和用户隐私和财产安全。
针对Web服务的安全威胁进行建模和评估主要包括以下几个方面。
一、Web服务威胁建模Web服务威胁建模是从系统设计的角度出发,对Web服务威胁的种类、发生的原因、影响程度、攻击者类型等进行模型化。
通过Web服务威胁建模,我们可以建立一种形式化的方法来描述Web服务的安全威胁和其对系统的影响。
同时,这种模型不仅能够呈现Web服务的漏洞,也能够为漏洞的评估和修复提供依据。
常用的Web服务威胁建模方法包括可信计算方法、攻击树方法、事故树方法等。
可信计算方法是一种面向机会威胁的威胁建模方法,通过优化系统中应对机会威胁的方案,降低被攻击的概率。
可信计算方法适用于包含多种不同机会威胁的复杂系统,比如Web服务平台等。
攻击树方法则是一种包括攻击者和安全机制的模型,以树形结构展示不同级别攻击者攻击系统的可能性。
通过攻击树方法,我们可以对Web服务的威胁和安全机制进行日志监控、入侵检测等方面的分析。
事故树方法主要关注于事故发生的原因和漏洞。
通过事故树方法,我们可以理解系统中各种漏洞的潜在影响,以及对应的安全措施。
相对于攻击树方法,事故树方法更关注于系统的影响和恢复。
二、Web服务威胁评估Web服务威胁评估则是对Web服务的基础架构、威胁路径、安全措施、策略和方法进行评估。
严重性: 高类型: 应用程序级别测试WASC 威胁分类: 命令执行类型:SQL 注入CVE 引用: 不适用安全风险: 可能会查看、修改或删除数据库条目和表可能原因未对用户输入正确执行危险字符清理技术描述Web 应用程序通常在后端使用数据库,以与企业数据仓库交互。
查询数据库事实上的标准语言是 SQL(各大数据库供应商都有自己的不同版本)。
Web 应用程序通常会获取用户输入(取自 HTTP 请求),将它并入 SQL 查询中,然后发送到后端数据库。
接着应用程序便处理查询结果,有时会向用户显示结果。
如果应用程序对用户(攻击者)的输入处理不够小心,攻击者便可以利用这种操作方式。
在此情况下,攻击者可以注入恶意的数据,当该数据并入 SQL 查询中时,就将查询的原始语法更改得面目全非。
例如,如果应用程序使用用户的输入(如用户名和密码)来查询用户帐户的数据库表,以认证用户,而攻击者能够将恶意数据注入查询的用户名部分(和/或密码部分),查询便可能更改成完全不同的数据复制查询,可能是修改数据库的查询,或在数据库服务器上运行 Shell 命令的查询。
一般而言,攻击者会分步实现这个目标。
他会先学习 SQL 查询的结构,然后使用该知识来阻挠查询(通过注入更改查询语法的数据),使执行的查询不同于预期。
假设相关查询是:SELECT COUNT(*) FROM accounts WHERE username='$user' ANDpassword='$pass'其中 $user 和 $pass 是用户输入(从调用构造查询的脚本的 HTTP 请求收集而来-可能是来自 GET 请求查询参数,也可能是来自 POST 请求主体参数)。
此查询的一般用法,其值为 $user=john、$password=secret123。
形成的查询如下:SELECT COUNT(*) FROM accounts WHERE username='john' ANDpassword='secret123'如果数据库中没有这个用户密码配对,预期的查询结果便是 0,如果此类配对存在(也就是数据库中有名称为“john”的用户,且其密码为“secret123”),结果便是 >0。
WebST技术安全性分析清华得实网络安全技术有限公司WebST概述WebST的安全机制分布计算环境(DCE)的安全机制1998年11月6日WebST概述1. Intranet的安全需求随着信息高速公路的建设和发展,社会已经进入了信息社会Internet时代,这个时代的特征就是信息的交流和共享,对社会起着举足轻重的作用。
对各种机构和企业而言更是如此,计算机网络已经是现代社会命脉,起着根本性的作用。
这个时代的特征就是通过Intranet将社会与人和信息联系起来,加强社会与人之间的沟通和信息共享。
同时随着发展的需要和信息技术手段的提高,各种信息不仅为内部使用,也必须为有关的外部对象服务。
比如:企业的运作和管理、市场和销售、技术开发和服务支持、以及企业形象宣传和产品广告等等,这些都可以通过网络进行。
概而言之,信息都可以通过网络获得,行为都可以通过网络操作实施。
要达到这些要求,传统的应用模式已难以适应,这就给Internet应用的发展带来了无限的商机。
虽然Internet/Intranet已经成为现代企业不可缺少的部分,但如果不解决网络安全问题,仍无法投入实际运行,在此对Intranet提出了的安全要求。
1.1. 网络安全的基本需求无论是Internet还是Intranet,都连接着大量的计算机、网络和应用程序。
不同的硬件和软件的组合通常会在以下方面影响网络:●没有应用层的中央安全控制●没有统一的资源定位和管理能力●没有应用层的高可用性所需要的支持●不支持升级一般的应用没有任何安全性保护,完全依靠用户自己的管理安全(列如接受或拒绝)。
互连的网络系统如果没有统一的安全管理,可能导致访问失效,并受到严重的安全威胁。
归纳起来,计算机网络安全通信有四项基本需求:●数据保密:由于系统无法确认是否有用户截取网络上的数据,他们需要一种手段来对数据进行保密。
数据加密就是用来实现这一目标的。
●数据完整性:系统需要一种方法来确认送到网络上的数据在传输过程中没有被篡改。
(完整版)web系统安全分析Web系统安全分析报告编写人:编写时间:2013。
8.1部门名:技术部—-测试组目录Web系统安全概述 (3)Web攻击的分类 (3)基于用户输入的攻击 (4)基于会话状态的攻击。
(4)Web攻击的分类分析 (4)基于用户输入攻击: (4)(1)SQL 注入攻击 (4)(2)跨站脚本攻击(XSS) (5)基于会话状态的攻击: (6)保障web系统安全性的方法总结: (7)Web系统的安全性测试 (9)IBM Rational AppScan 简介 (10)IBM Rational AppScan的使用范围 (11)开发人员使用AppScan (11)测试人员使用AppScan (11)文档说明: (12)Web系统安全概述随着互联网的迅猛发展,web应用的数量急剧增加.与此同时,web站点被攻击的现象呈逐年上升趋势,这主要由于多数站点所提供的安全服务有限,使得web系统的安全性非常脆弱,存在很多的安全漏洞。
而这些漏洞的存在,使得web应用程序很容易被攻击者利用,进而破坏web系统的安全性。
Web安全漏洞可以分为两类:第一类是web服务器程序存在的安全漏洞,如:IIS、Apache或Netscape Server 存在的漏洞。
第二类是web应用程序存在的漏洞,这主要是因为程序员在使用ASP、Perl等脚本对web系统进行的编程过程中,由于缺乏安全意识或有着不良的编程习惯,最终导致程序出现可能被利用的漏洞。
注:第一类的安全漏洞可以通过对服务器进行定期的检查,维护来防止安全漏洞的出现。
所以本报告主要对第二类的web安全漏洞进行分析。
Web攻击的分类对于web应用程序存在的漏洞,攻击者针对不同的安全威胁有相对应的攻击方式,主要可分为两大类:一、基于用户输入的攻击根据国际组织OWASP统计,排在前两位的web攻击手段分别是脚本注入攻击(SQL injection)和跨站脚本攻击(CSS/XSS),这两者均属于网站未对用户输入进行安全验证而导致的结果.二、基于会话状态的攻击web应用程序在会话管理机制方面存在的缺陷,往往也会导致攻击者通过提升权限来对网站进行破坏.Web攻击的分类分析一、基于用户输入攻击:(1)SQL 注入攻击脚本注入(SQL injection)指的是将SQL代码传递到一个并非开发人员所预期的服务程序中,试图操纵程序的数据库的攻击方式。
新疆大学硕士学位论文Web服务实现及安全性分析硕士研究生:陈**学号:1***********导师:张文东学科:2014级计算机技术所在学院:信息科学与工程学院选题过程随着互联网技术的进步以及商业企业对互联网依赖性的增强,软件越来越需要集成到Internet上来,需要和Internet上的其他软件(而不光是人)进行交互。
Web服务是基于网络的软件开发模式,通过规范性的设计、发布和实现,以及调用,可以由多个Web服务构建一个完整的商业企业应用。
Web服务是互联网应用,特别是网上商业事务处理对软件业提出的需求。
因此,我考虑以Web服务为话题选择论文内容。
在对Web服务存在的问题进行搜索后,我发现其中最突出的问题是安全问题。
从而我基本确定研究方向为Web服务的实现及安全性分析。
为确定论文研究内容,对Web服务有个大框架的概念,以保证研究的全面性,专业性,找到切入点,我对Web服务进行搜索。
考虑到Web服务的实现,必不可少要从技术方面切入,通过对其使用技术的了解,确定其主要技术有XML|、SOAP、WSDL、UDDI 四个方面,即为论文第一部分需详细说明研究的内容。
技术层面的问题解决后,主要分为两大部分内容:Web服务的实现和其安全问题。
参考文献较多,多从书籍和知网上查找相关资料。
目录1绪论 (1)1.1 论文背景 (1)1.2论文工作及其章节安排 (2)2 Web服务相关的概念与技术概要 (3)2.1 Web服务及其操作模型 (3)2.2 可扩展标记语言(XML) (4)2.2.1 XML 基础知识 (5)2.2.2 XML 的应用 (7)2.2.3 XML 数字签名 (8)2.2.4 XML 数字签名模型 (8)2.2.5 XML 数字签名的签署 (10)2.2.6 XML 加密规范及粒度 (11)2.2.7 XML 加密方式 (11)2.2.8 XML 加密 (11)2.3 SOAP (12)2.3.1 SOAP 规范 (12)2.3.2 SOAP 消息 (12)2.3.3 SOAP 编码 (13)2.3.4 SOAP 绑定 (14)2.3.5 SOAP的安全性 (14)2.3.6 WS—Security规范 (15)2.4 WSDL (17)2.5 UDDI (17)2.5.1 UDDI 信息模型 (18)2.5.2 UDDI 交互框架 (18)3基于C#的Web服务实现 (19)3.1需求分析 (19)3.1.1 系统的需求分析 (19)3.1.2 系统的物理架构需求 (19)3.2系统的性能指标 (20)3.3数据库的设计 (20)3.4系统的开发与实现 (21)3.4.1 系统开发平台的建立 (21)3.4.2 系统的实现 (21)4 构建安全的Web服务 (25)4.1 Web服务存在的安全问题 (25)4.2 Web Services Enhancements 简介 (27)4.3 WSE的管道机制 (27)4.4 SOAP消息签名与加密的实现 (28)5总结与展望 (34)参考文献 (35)致谢 .................................................................................................................. 错误!未定义书签。
1绪论在计算机科学和Internet技术飞速发展的基础上,电子商务以前所未有的速度迅速普及,已经渗透到商业的各个领域,成为企业发展的新的增长点。
Internet 环境下异构应用系统问的交互问题一直制约着电子商务的发展。
为了实现跨平台、语言独立、松散藕合的动态商务,一种分布式计算体系结构Web服务应运而生。
它允许Web站点放置可编程的元素以实现基于Web的分布式计算和处理。
Web服务是对象/组件技术在Internet中的延伸,是封装成单个实体并且发布到网络上以供其它程序使用的功能集合。
Web服务技术的发展解决了Web应用和传统桌面应用之间的连接鸿沟,使得企业与企业在现有的各自异构平台的基础上,实现了无缝的集成。
1.1 论文背景随着互联网技术的进步以及商业企业对互联网依赖性的增强,软件越来越需要集成到Internet上来,需要和Internet上的其他软件(而不光是人)进行交互。
Web服务是基于网络的软件开发模式,通过规范性的设计、发布和实现,以及调用,可以由多个Web服务构建一个完整的商业企业应用。
Web服务是互联网应用,特别是网上商业事务处理对软件业提出的需求。
在当今社会,任何一个企业要得以生存、要有更强的竞争力,就必须与更多的商业伙伴合作,更及时地了解商业信息,更快速地进行事务处理。
效率、机遇成为企业成功的重要因素。
可是传统的或已有的互联网商业事务处理模式并不能满足企业对效率和及时抓住机遇的要求。
在现有条件下,企业无法动态地去发现自己潜在的商业伙伴,也不能把自己推销给潜在的合作需求者。
即使有了合作伙伴,由于各自使用的系统和平台的差异,网上事务处理也不顺畅,常常需要人为干预,不但花费了金钱和时间,也丧失了很多良好的机会[1]。
这就给软件业提出了如何实现企业之间快速无缝交易的要求。
新的商业处理模式应该独立于系统、平台和程序语言。
不同的系统应该可以顺畅地进行通信。
这是一个难度极大的要求。
在过去已经有很多尝试着达到这个目标。
但因存在局限性,没有得到推广应用。
要让不同的系统和平台无缝的进行通信,需要定义一系列标准化的规范。
如果没有XML,这一切似乎不能成为可能。
XML的系统独立性和可扩展性是定义标准化规范的基础。
正是有了XML以及XML相关规范,才促使了Web服务的诞生。
Web服务是互联网应用需求和技术发展的双重产物。
使用Web服务,商业企业可以把自己提供的服务以Web服务的形式在Internet 上发布,需要查询潜在合作伙伴的商业企业可以检索UDDI注册中心,发现自己需求的商业企业、服务,并与之进行交互。
这一切都是在软件级发生并自动完成的。
有了Web服务,企业之间不需要中介就能相识,不需要协商就能交易,这无疑会给企业的发展带来更多的机遇,也为企业的运作大幅度提高效率。
随着Web服务在网络中应用的普及化,基于Web的数据交互在Internet上传输时可能会遭受窃取、伪装、恶意欺骗、篡改及各种扰乱破坏等安全威胁,因而如何有效地防御各种安全威胁、保证培养计划数据的安全性就成为一个需要解决的实际问题。
当采取了有效的措施后,Web服务才能安全有效地运行。
1.2论文工作及其章节安排本文研究了此论文的研究背景、研究意义,进而介绍了XML 和Web服务的基础知识,并在此基础上描述了基于XML的Web服务体系,对现在的基于XML的Web服务安全标准规范WS-SECURITY进行了研究。
利用XML数字签名、XML加密,实现了SOAP消息的签名、加密,与此同时,对Web服务也提供了很好的安全性。
最后,以C#.net为平台,实现了一个简单的Web服务,并对产生的SOAP消息进行分析。
本文的章节安排如下:第一章绪论部分主要介绍了本论文的目的、意义、论文中所做的工作以及论文的章节安排。
第二章主要介绍了Web服务的概念,对Web服务的操作模型也做了相关介绍。
对SOAP、XML、WSDL、UDDI也做了相关研究,进一步讲述了其相关技术概要。
第三章基于VS2008平台使用C#实现了中国邮政编码查询的Web服务。
第四章提出了Web服务存在的安全问题,基于前一章实现的Web服务所产生的SOAP消息,在WSE3.0的协助下,对其进行签名和加密,并对其进行分析研究。
第五章对本文所做的工作进行了总结,对它的发展前景进行了展望。
2Web服务相关的概念与技术概要本章主要研究了Web服务的概念、其操作模型。
讲述了XML、SOAP、WSDL、UDDI的基础知识,阐述了XML的签名和加密技术。
2.1 Web服务及其操作模型从表面来看,Web服务就是一个应用程序,它向外界显现出一个能够通过Web进行调用的API。
也就是说,开发人员可以利用编程的方法通过Web调用去实现应用程序某个特定的功能。
从深层次来看,Web服务就是一种新型的Web 应用程序分支,它们是模块化、自描述、自包含的应用,能够在网络中进行描述、发布、查找或通过Web来调用。
Web服务具有下列特征:1.完好的封装性:Web服务是一种部署在Web上的对象,因此它必定具备有对象的良好封装性,那么对于用户来讲,仅能够看到该对象所提供的功能列表。
2.松散耦合性Web服务的消息交互协议采用XML/SOAP,任何Web服务都能够和与其他的Web服务进行交互,Web服务的变更实现对用户是透明的,只要服务调用的接口不发生改变,即使让Web服务的实现平台从.NET转变到J2EE或者是相反的转变流程,用户都会对此一无所知。
3.互操作性Web服务可以通过可扩展的标记语言来实现业务功能,因而提供了真正的互操作功能。
4.平台无关性可以访问Internet平台的任何应用都能访问Web服务;可以和Internet建立连接的任何应用程序都能够对Internet上的任何一个Web服务发送SOAP消息,同时也能够接收Web服务返回的SOAP消息。
Web服务所属的服务器能够运行Linux、Windows或其它系统平台。
Web服务后台功能实现的代码能用C语言、PHP、Java或其它编程语言编写的。
用于调用Web服务的客户端同样也能够是不同平台上的客户端。
Web服务的操作模型主要包括三个主体:服务请求者、服务提供者和服务注册中心,它们对应的三个主要操作为服务查找、服务绑定和服务发布。
目前围绕着Web 服务发布、查找、绑定过程,各大标准化组织和著名厂商不断在制定相关的规范,其中主要包括三个规范:简单对象访问协议(SOAP)、服务描述语言(WSDL)、通用描述、发现和集成(UDDI)[2]。
图2-1 Web服务操作模型Web服务通常包括下面三种操作功能:1.发布(Publish)为了使服务能够被访问,需要发布服务描述让服务请求者能够去查找它。
发布服务描述的位置能够依据应用程序的要求而改变。
2.查找(Find)查找操作的过程中,服务请求者可以直接搜索服务描述或在服务注册中心查询所要的服务。
若是服务请求者,则可能会在两个不同的生命周期中涉及到查找操作:一个是在设计程序检索服务的接口描述,另一个就是在运行时检索服务的绑定与位置描述。
3.绑定(Bind)绑定操作过程中,服务请求者用服务描述中的绑定细节来定位、联系以及调用服务,从而在运行时调用或启动与服务的交互。
2.2 可扩展标记语言(XML)Web服务的基础之一是XML,XML渗透了Web服务的各个层次,可以这么说,没有XML就没有Web服务,XML一种将Web文件的数据内容和数据的表示形式分开的语言,它更关注的是内容而非显示。