Web网站安全技术的研究与应用.docx
- 文档编号:24631015
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:51
- 大小:1.19MB
Web网站安全技术的研究与应用.docx
《Web网站安全技术的研究与应用.docx》由会员分享,可在线阅读,更多相关《Web网站安全技术的研究与应用.docx(51页珍藏版)》请在冰豆网上搜索。
Web网站安全技术的研究与应用
Web安全技术的研究与应用
中文摘要
本课题首先对当前Web安全理论如SSL,数字证书,角色控制等内容进行分析。
在此基础上,利用ASP.NET技术,在WindowsServer2003环境下,搭建一个示X。
在不对造成危害的前提下,对公网上的Web及示X进行SQL注入攻击,DDOS攻击,漏洞扫描等攻击测试。
通过对攻击测试结果的分析,结合安全理论,得出一些Web的安全防护措施。
Web2.0一经推出,就以其平台无关性等特点,依托分布式技术所特有的优势,促使全球Web进入快速发展的阶段。
Web以实现资源共享主目的,在为组织内部提供新的业务活动方法的同时,进军商业领域。
随着信息资源的高速发展,使人们对安全性的要求也在不断增长。
在畅享网络带给我们便捷生活的同时,我们的也面临着前所未有的安全问题。
为解决Web面临的安全性问题,本次研究分为四个部分。
首先进行理论分析。
计算机网络安全理论内容繁多,重点在分析与Web安全相关的安全理论基础。
其次,使用ASP.NET技术,在WindowsServer2003服务器上搭建一个小型的示X,一方面直接了相应的安全技术,另一方面用于攻击测试。
再次,用黑客的眼光寻找安全漏洞。
对示X及运行中的进行无破坏性的SQL注入攻击,DDOS攻击,漏洞扫描等攻击测试。
验证Web安全理论,取得攻击测试的第一手数据。
最后,对比、分析所得到的攻击数据,结合理论基础,提出Web安全的一些防护措施。
最后,提出了Web服务器端的安全防护措施,在编写代码时可以使用的安全手段,以及对抗常见攻击的方法。
关键词:
Web服务,安全,ASP.NET,IIS
ResearchandApplicationoftheWebSiteSecurityTechnology
Abstract
ThisprojectbeginswiththeanalysisoftheWebsitesecuritytheory,suchasSSL,DigitalCertificate,andRBAC.ThenwemakeaWebsiteourselvesbasedonASP.NETandWindowsServer2003.IntheconditionofdoingnoharmtotheWebsite,weattacktheWebsite.SQLInjection,Scan,DDOSareincluded.
AssoonasthereleaseofWeb2.0,theWebsitesdevelopingveryquicklyinthewholeworld,basedonthefeaturesofdispersedtechnology,suchastheplatformindependent.Websiteshavebeenusedassharingresource.Now,italsohavebeenusedinbusinessservices.Websitesprovidethenewwaysfortheoperationalactionintheorganization.Withthedevelopingofinformationresources,wehavemoresecurerequirements.WhileweenjoytheadvantagesofWebsites,wehavetofaceuptothewebsitessecurity.
Imaketheresearchintofourparts,inordertosavethesafeproblem.Firstofall,weanalysisthetheory.Therearesomanyissuesinthenetworksecurity,wefoundthetheoriesarerelatedtotheWebsitesecurity.Second,ImakeaWebsitemyselfbasedonASP.NETandWindowsServer2003.Itcanarmedwiththesecuritytechnology,ontheotherhand,itcanalsobeuseinattack.Third,wefindthebugsintheWebsitebythewayofhackers.WeattacktheWebsite,suchasSQLInjection,Scan,DDOSandsoon.Wecangetthefirst-handdatabyattack.Thelast,wecontrastandanalysisthedata,binewiththetheories,givesomeadvisestoprotectourWebsites.
Atlast,IgivesomewaystoprotectourWebserver.WhilewearecodingourWebsite,whatcanwedotoprotection.AndthemethodstopetewiththeWebsitesattacks.
Keywords:
WebService,Security,ASP.NET,IIS
第1章绪论
1.1课题背景及意义
WorldWideWeb即或Web,开发之初就是为了能够实现资源共享。
在1990年的三月,TimBerners-Lee提出这个构想后,同年底,基于字符界面的Web客户浏览程序就在NextStep计算机操作系统上实现了。
1991年的三月正式投入运行。
由此开始,不到一年的时间里,就有50多个服务器投入运营。
Web技术得到了飞速的发展。
2003年,Web2.0的概念被出提出,我们从过去在网络上冲浪,进入了在网络中制造波浪的时代。
Web2.0从1.0时代单纯的“读”向“写”和“共同建设”方向发展。
以Blog、RSS、TAG、SNS、Wiki等应用为核心,是使用Xml、Ajax等新理论和技术实现的因特网新一代模式[1]。
随着近年光纤等通信线路的发展,信息传输的速度和质量有了明显提高。
Java、JavaScript、ASP.NET、CSS等新技术的蓬勃发展,推动Web更加快速的发展。
但是,任何事物都有其两面性。
我们在享受网络所带来的畅快体验时,也不得不面对由此引了的一系列安全问题。
随着计算机技术的不断发展,针对计算机进行的犯罪手段也不断翻新。
从最原始的闯入系统、窃听、哄骗到设计病毒、蠕虫、特洛伊木马等攻击手断也是日新月异。
人们在对付计算机安全攻击的时候总是慢了半拍。
而Web迅猛发展是基于它分布性、开放性、交互性等特点的,而在设计HTTP协议之初,并没有考虑到它的安全性问题。
Web的精华在于它的交互性,而这,也成为了它的致命弱点。
目前,全球因特网用户已经达到13.5亿。
Web2.0普及后,站点功能从原来的资源共享开始向商业领域进军。
正因为如此,我们所享受的网络环境开始变得越来越危险。
Gartner的统计数据表明,当前网络上75%的攻击是针对Web应用的。
而CERT更发文称,从2007年开始,Web安全威胁已经进入到快速发展阶段。
暴力破解密码、SQL注入攻击、DDOS拒绝服务攻击等攻击已经形成了专业的攻击团队,整个过程使用软件自动完成,容易上手,带来的威胁却个个不容小视。
Web安全防护的形势日益严峻。
国内一些站点针对Web安全做过一些调查,调查结果表明,高达63.6%的Web存在着较大的安全隐患,一旦遇到攻击,站点很容易瘫痪,甚至损失重要的文件信息。
只有不到10%的做了较为完善的防护措施。
当前,Web常见的威胁主要有占据大半个江山的SQL注入攻击,占了83.8%,接下来是权限弱口令,跨站脚本攻击和DDoS攻击。
未来,针对应用程序的攻击会逐渐变成攻击的重点。
面对如此严峻的安全威胁,我们采用了诸如防火墙,访问限制等方式,这在一定程序上遏制了不安全因素的传播。
但是,还有不少已有的安全问题没有得到有效解决,或是因解决成本较高而没有普及。
同时,新的安全问题层出不穷,对我们来说,简直是雪上加霜。
况且,黑客在利益等因素的驱使下,寻找弱点往往比防护人员要来的快、准、狠,安全问题形势十分严峻。
攻防是一个整体,想要保护好自己,就要有矛和盾。
我们首先要明确自己的安全定位,确定安全防护等级。
在配置好自己盾的基础上,多了解别人的矛是什么样的,自己能否抵挡。
做到知已知彼,才能百战不殆。
这次课题要研究的,就是了解自己的需求,设置好自己的盾,模拟别人的矛,用黑客的眼光和攻击方式,在设立好自己盾的基础上,使用各种攻击方法进行攻击,测试自己的安全性,了解自己的安全弱点,在合理的承受X围内,完善安全措施,最大限度保证Web站点安全。
通过这种方法,总结出一些可以为一般的用户提供相对安全的防护经验。
1.2研究现状
1.2.1国内外研究现状与发展趋势
虽然,面临着各种各样的威胁,但是我们总不能因噎废食。
因为3G手机容易中毒,就用回2.5G的手机毕竟是少数。
我们从一开始,就持续不断地同安全威胁做斗争,将来还要持续下去。
这里,要先明确安全站点的概念。
世界上不存在绝对安全的站点,只有相对安全的站点。
一个站点无法做到完美无缺,毫无漏洞。
那么,一个安全的站点首先要明确自己的安全定位,根据需求做好安全评估和安全策略,建立足够的安全监测系统。
一旦站点出现问题,可以很快的发现被攻击点,修补受损数据,避免在同一块石头上第二次被绊倒。
安全措施的配置只要能保证攻击成功所花费的成本大于攻击所得到的利益时,这个站点就可以被称为是安全的。
目前国内外研究的重点在保障的XX性、完整性、非否认性和可用性。
其中,XX性、完整性和可用性被称为“信息安全金三角”,是重点考虑的问题。
XX性服务要保护信息不被未授权用户所理解,即使这个信息被他所截获。
完整性在于保证数据在没有被篡改的情况下送达授权用户手中。
可用性则保证授权用户所得到的信息是可用的。
非否认性主要保护信息接收方能够确认信息的实际发送人是这个信息的声明发送人[2]。
因此,针对以上这些要求,研究人员根据ISO分层协议来建立了安全保护措施。
在数据链路层,主要采用硬件加密的方式;网络层主要采用IPSec安全协议;传输层采用安全套接层协议SSL;应用层主要采用了PGP,S/MIME等应用程序。
针对应用层的威胁最为灵活多样,因此,安全措施也最多样[3]。
在国外,Web安全技术发展较早,现在也有了较成熟的防护措施。
在软件方面如赛门铁克、卡巴斯基等防毒软件就发展的很好。
在杀毒的同时,也带有防火墙,木马查杀,扫描漏洞等功能,而且整体技术比较成熟。
在硬件方面如思科等产品,获得国际的认可,防护的效果也比较好。
而且,在国外如北美、欧洲等国,用户也对安全比较重视,能够自觉的采取一些安全措施,在互联网环境下,做好本机的保护就是在为全网保护做贡献了。
在服务器上安全策略的制定实施等也较我国要成熟许多。
服务器的访问权限,是否接受PING等一系列小细节也相对做过较细心的处理,整体安全水平相对较高。
我国的互联网技术起步晚,但是发展迅速。
在快速发展的过程中,用户对安全的重视程序不够,往往在遇到问题了才会想起解决,被电脑入侵了才会去修补系统漏洞。
我身边的很多同学都是裸机上网,没有任何防护措施。
这样的电脑很容易被黑客抓为肉鸡,组成僵尸网络,用于非法的网络攻击。
服务器的安全防护细节处理不够,比如在PING的时候,路由IP明文出现,可以通过IP直接访问站点等。
这些细节没有处理好,就会增加自己被攻击的风险。
在软件和硬件防护产品上也略有不足。
软件方面有360,金山,江民等软件,硬件方面也有绿盟等产品。
总体而言还不太成熟。
现在,对出现的攻击方法,我们已经做出要相应的反应。
比如针对SQL注入攻击,我们可以从网页编程上入手,加强安全性的编程,限制用户输入的内容和格式,在站点正式运营或是更新内容时都做好全方位的安全测试。
做好这些工作,可以防止80%的站点攻击。
对DDOS攻击,合理布置流量清洗机制,做好访问控制列表并正确执行,要求客户必须通过DNS解析后才能访问站点,不允许使用IP地址直接访问站点等方法,都可以抵挡住一部分的攻击。
这些攻击的成功实施,有一部分原因是管理员没有做好细节的处理,部署的产品没能合理的利用起来。
道高一尺,魔高一丈。
未来的安全技术发展方向肯定是随着攻击方式的变化而变化的。
以现在的情况来看,主要有几个方面。
第一,在软件方面,加强病毒、木马的查杀等,完善防火墙、漏洞扫描等功能,联合网络上的各主机服务器执行云计算,增强计算能力,查杀病毒变种。
Web2.0的发展,让黑客们也有了团结协作的条件。
全球黑客分工合作,完成病毒的不同模块,分享完成的病毒,都因为2.0时代的到来变得越来越简单。
因此,使用云计算就被列为未来的发展趋势之一。
让病毒、木马等陷入“人民战争的汪洋大海”中,以及时发现,查杀。
第二,在硬件方面,加强安全硬件安全产品的开发和部署。
单纯靠软件进行病毒防护是不够的,成熟的硬件产品在最低层完成安全功能,更为迅速有效,用户不易察觉。
但是硬件产品的价格比较高,也就是现在一些安全手段不能得到很好的推广。
未来将会发展和普及硬件防护措施。
第三,各站点与ISP合作,从网络流量上,就开始进行流量清洗等工作,部署安全产品,从网络源头开始,堵住攻击流量,保护站点。
这种网络部署比较贵,但就现在已经投入运营的产品来看,对抗DDOS,TCPFLOOD等网络流量攻击的效果是非常明显的。
第四,建立全方位的立体式防护。
单纯安个杀毒软件,加个防火墙就能平安无事的年代已经过去了。
全方位立体防护要求从服务器到客户端,基于中间的通信线路都要列入安全保护的X围。
安全措施不在是单纯的服务提供商的事了,提高用户的安全意识和安全技能,全民参与成为未来安全的发展的新趋势。
第五,针对底层的攻击虽然效果明显不易被发现,但要求高、难度大。
它要求攻击者具有相当强大的专业技术水平,对网络协议的熟练应用,因此,以此为攻击的人越来越少。
现在,针对应用层的攻击量正逐渐变大。
应用层攻击操作简单,效果又好,尤其是寻找脚本漏洞比较容易,攻击效率高,成为未来攻击的新趋势。
第六,加强网络编程的应用。
这个方面可能涉及开发新语言,或是对已有语言的安全性补充。
尤其是网页编程语言,一些小的应用程序或是窗口脚本安全性不足。
针对站点安全性编程的内容将会逐步增加。
1.2.2仍然存在的问题
虽然我们在认识到问题后及时进行了处理,但是仍然有许多问题没有得到有效解决。
Web1.0时代,主要将应用程序代码集中在了服务器端,必要的还限制用户访问、下载。
Web2.0时代涌现出来的例如Ajax、JavaScript等编程语言将代码直接给了客户端,有的就直接嵌在了网页代码中,明文显示,这就很不安全了[4]。
黑客可能只要反编译或是直接查找程序,就会发现安全漏洞,进而修改程序或是上传木马。
即使是我们所信任的SSL加密同样会在加密的同时造成威胁。
SSL被广泛用于各种商业站点或是信息被要求加密的地方。
SSL对数据分割后加密打包发送,在这个过程中,如果有病毒或是木马被隐藏在这里面,是很难被发现的。
目前大多数Web安全产品都还不会去检查SSL隧道,即使想查也无法识别加密后的数据是正常的用户数据还是不正常的病毒。
这样,就给了病毒或是非授权用户绕过防火墙提供了可能。
一旦病毒进入可信任网络,那它带来的危害将是无法估计的。
敏感信息可能被采用同样的方法送到防火墙外,整个可信任网络很可能整体被抓成僵尸网络。
对于Web安全,不仅仅只存在上面所提到的问题,还有许多安全漏洞和系统弱点,或许已经被发现,抑或许还没有被发觉,但存在的问题不容忽视,我们与不安全因素的斗争仍然任重而道远。
1.3.课题概况
1.3.1课题的指导思想
本课题采用理论指导实践的方式。
通过对计算机网络安全理论的学习,分析,对Web安全建立理论基础。
在此基础上,选择设计语言建立示X。
在不对Internet上的构成威胁的情况下,对其及示X进行攻击。
分析、对比攻击结果,得出Web安全防护的一些基本方法。
1.3.2课题的研究内容及技术指标
本次研究的主要内容是学习了解安全的理论知识,学习独立建立一个方法。
根据理论基础,及常见的Web站点攻击方式,对站点进行模拟攻击,验证的安全性理论。
最后根据理论分析和实际攻击的结果,总结目前常见的Web安全的防护措施。
具体技术要求如下:
(1)、选择合理的Web服务器解决方案,建立站点发布系统,合理启用站点各项安全措施,正确申请安装站点的数字证书,保证站点可以执行HTTP协议,在必要情况下,启用SSL也可以正常运行。
(2)、使用ASP.NET技术,建立一个。
要XX现用户的注册、登录、注销和导航功能。
用户注册数据另外存放在指定的数据库中,保证客户端没有下载该数据库的权限。
为不同的注册用户分配站点浏览权限,建立基于角色的访问控制权限。
(3)、对进行攻击测试。
模拟黑客攻击方法,选择几种常见的攻击方法进行测试,获得站点攻击的前后对比数据,分析站点安全防护方法。
第2章理论基础
本章简要介绍了与Web站点安全相关的理论知识。
Web的安全防护措施涉及的方面比较广,使用到的安全技术比较多,本章从众多的理论中选择出具有代表性和基础性的理论进行简要的分析。
在此基础上,挑选了目前常见的安全防护措施对它进行了理论分析,为接下来的实践部分提供理论依据。
2.1Web安全基础
利用潜在的网络安全缺陷够成了对网络的威胁。
目前比较常见的网络安全威胁有窃听、假冒、重放、流量分析、数据完整性破坏、拒绝服务、陷门和特洛伊木马、资源的非受权使用、病毒、诽谤。
行为操作者执行任何没有授权的行为都会被认为是攻击行为。
攻击行为又可以被分为被动攻击、主动攻击、物理临近攻击、内部人员攻击和分发攻击[5]。
要保护Web站点的安全,主要的方法就是要实现站点的XX性,完整性(Integrity)和可用性。
2.1.1安全评估
1993年8月,美国国防部计算机安全局发布了“可信任的计算机安全评估标准”,又称为“橘皮书”。
该书制定了计算机安全的4个等级,8个级别。
从高到低分别为A、B3、B2、B1、C2、C1、D。
A级,即可验证保护级或验证设计。
它包括所有下级特性。
其功能可能与B3相似,但它可以通过数学方法,来证明系统的安全规格和安全策略的一致性与完整性。
B级为强制式保护级,又分为三个等级,分别为B3级(安全域级),B2级(结构化防护级),B1级(标记安全保护级)。
C级,即自定义式保护,分为两个级别,C2级(受控存取保护级)和C1级(酌情安全保护级)。
D级是最低保护级,又称安全保护欠缺级。
处于D级的整个计算机是不可信任的,任何人都可以使用该计算机。
该标准发布后,欧洲四国(英、法、德、荷)也提出信息技术安全评价准则(ITSEC)。
随后,美国,加拿大,及欧洲等国,连同国际标准化组织(OSI)共同提出了信息技术安全评价的通用准则(CCforITSEC),现在CC已经被五大技术发达的国家承认为代替TCSEC的评价安全信息系统的标准,且将发展成为国际标准。
2.1.2安全策略
安全策略是指在某个特点的安全区域内,用于所有与安全相关活动的一系列规则。
我们的访问控制列表就是安全策略一个代表。
安全策略在安全评估后进行。
在对自己的系统做好安全评估后,知道自己的系统有哪些安全需求,根据这些需求来制定安全策略。
安全策略的制定和实施对系统安全性有至关重要的作用。
在策略中我们定义了对不同资源的保护方法,除了在机器上的安全配置处,还包括了系统管理员的操作规X。
在策略中,我们重点要规定系统所允许的事,就像防火墙一样,默认过滤所有的数据包,只有建立了访问规则,才允许通过。
正确彻底的执行安全策略,才能达到预期的保护目的。
安全策略的实施,要满足三个原则:
(1)、最小特权原则即主题执行操作时,按照主题所需权利的最小化原则分配给主体权利。
(2)、最小泄露原则即主体执行任务时,,按照主体所需要知道的信息最小化的原则分配给主体权利。
(3)、多级安全策略即主体和客体间的数据流向和权限控制按照安全级别的绝密(TS)、秘密(S)、XX(C)、限制(RS)和无级别(U)5级来划分。
2.1.4加密基础
为了保证传输数据安全,加密数据是最常见的手段。
密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。
对称加密以DES(DataEncryptionStandard,数据加密标准)为代表,包括了IDEA、3DES、FEAL、BLOWFISH等。
它要求加密方式具有强大的加密算法,且发送和接收数据的双方必须使用相同的密钥对明文进行加密和解密运算。
非对称加密又叫公开密钥加密,以RSA算法为代表,包括MD5、SHA、PIFEMD-160。
对信息采用公钥加密,私钥解密。
这种方法可以用于加密,身份验证,数字签名。
它的优点在于密钥的安全性好。
2.1.5数字签名
数字签名是以电子形式存在于数据信息之中的,或作为其附件的或逻辑上与之有联系的数据,可用于辨别数据签署人的身份,并表明签署人对数据信息中包含的信息的认可。
数字签名是在电子时代代替人的手写签名,实现与手写签名一样的效果。
它可以做到:
(1)接收方可以验证消息确实来自发送方。
(2)发送方不能否认给接收方发送过该消息。
(3)接收方不能编造或是改变消息。
常见的数字签名有两种,基于密钥的数字签名和基于公钥的数字签名。
基于密钥的数字签名要依赖一个通信双方共同依赖的仲裁人,双方通过这个仲裁人来进行通信。
由仲裁人加密签名后的信息并发送。
当出现问题时,由仲裁人解密自己的签名信息即可。
其通信模型如图2.1.5-1所示。
图2.1.5-1基于密钥的数字签名模型
基于公钥的数字签名使用发送方的私钥签名消息,并附在发送信息后面,使用接收方的公钥加密整体信息。
一旦发送方否认发送过,可以用其发送方的公钥解密签名。
如果接收方伪造发送方的消息,他将无法出示用发方私钥加密信息。
其通信模式如图2.1.5-2所示。
图2.1.5-2基于公钥的数字签名模型
2.1.6数字证书
数字证书应用了公钥加密体制。
数字签名用来保证是本人在执行这个操作,而数字证书则保证了这个人是特定的有授权的人。
它为用户提供XX明。
该技术使用私钥用来解密和签名,使用公钥来加密和验证。
用户的数字证书是由可依赖的证书发放机构(CA,CertificationAuthority)颁发,颁发证书后,CA中心将证书放进公共目录中,便于其它用户访问。
当用户数量比较多,一个CA中心无法负责所有用户证书的签署,就使用多个CA中心,通过证书发放机构间安全地交换公开密钥来建立证书链,以安全的获取所有用户的的公钥。
目前,我国境内已有32个CA中心,按照不同的地区和行业划分,为用户提供服务。
2.1.7报文摘要
报文摘要是保障用户消息完整性的方法。
这种方式由信息计算产生一个固定长度的特定的散列值,并将这个值加在信息的后面打包成为一个消息发送出去。
接收方可以对收到的信息做一个相同的计算得到一个散列值,如果这两个散列值相同,说明信息是正确没有被篡改过的。
这种方法基于无法找到任意两个不同输入而产生同一个散列值的理论。
因此,报文摘要又被称为数字指纹。
现在常用的报文摘要算法是MD5。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 网站 安全技术 研究 应用