资源预览内容
第1页 / 共111页
第2页 / 共111页
第3页 / 共111页
第4页 / 共111页
第5页 / 共111页
第6页 / 共111页
第7页 / 共111页
第8页 / 共111页
第9页 / 共111页
第10页 / 共111页
亲,该文档总共111页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
韩伟力韩伟力内容安排?安全技术简介?数据源层的安全?数据源层的安全?应用服务层的安全?HTTP安全?HTTP安全?展示层安全?XSS及其防御?XSS及其防御?CSRF及其防御?钓鱼及其攻击?钓鱼及其攻击?口令管理?CAPTCHACAPTCHA内容安排安全技术简介安全技术简介1 1 1 1安全技术简介安全技术简介1 1 1 12 2 2 2 数据源层的安全3 3 3 3数据源层的安全应用服务层的安全3 3 3 3应用服务层的安全4 4 4 4HTTP安全4 4 4 4HTTP安全5 5 5 5展示层安全5 5 5 5展示层安全什么是安全?信息安全是一个十分广泛而又复杂的话题信息安全是一个十分广泛而又复杂的话题?美国国家电信和信息安全委员会美国国家电信和信息安全委员会 (NSTISSC)?美国国家电信和信息安全委员会美国国家电信和信息安全委员会 (NSTISSC)?信息安全是对信息、系统以及使用、存储和传输信息的信息安全是对信息、系统以及使用、存储和传输信息的硬件的保护硬件的保护但是要保护信息及其相关系统但是要保护信息及其相关系统诸如策略诸如策略硬件的保护硬件的保护。但是要保护信息及其相关系统但是要保护信息及其相关系统,诸如策略诸如策略、认识、培训和教育以及技术手段都是必要的。、认识、培训和教育以及技术手段都是必要的。?微软公司微软公司 M.Howard,D.LeBlance微软公司微软公司,?一个安全的产品应该是指在信息所有者或者系统管理员控制下能够保护客户数据的机密性、完整性和可用性,一个安全的产品应该是指在信息所有者或者系统管理员控制下能够保护客户数据的机密性、完整性和可用性,能够保护资源处理过程的完整性和有效性能够保护资源处理过程的完整性和有效性能够保护资源处理过程的完整性和有效性能够保护资源处理过程的完整性和有效性。?机密性机密性 (Confidentiality)、完整性、完整性 (Integrity)和和可用性可用性 (Ail bilit )的组合的组合可用性可用性 (Availability)的组合的组合机密性?机密性机密性是指保证计算机相关的有价值财产(信息)只能被授权过的用户所访问。?机密性的保护?认证和访问控制?加密5完整性完整性完整性是指这些计算机相关的有价值财产(信息)只?完整性完整性是指这些计算机相关的有价值财产(信息)只能被授权过的用户所修改,或者通过授权过的过程所修改修改。?完整性的保护认证和访问控制?认证和访问控制?加密6可用性?可用性可用性是指这些有价值的财产(信息)在需要的时候必须能够被授权的用户访问或者修改。?可用性的破坏?DOS:DenialOfService7可用性破坏案例可用性破坏案例?SYNFlood的基本原理的基本原理SYNFlood的基本原理的基本原理?SYNFlood是当前最流行的是当前最流行的DoS(拒绝服务攻击)与(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送协议缺陷,发送大量伪大量伪造造的的TCP连连接请求接请求,从而使得被攻击方资源耗尽从而使得被攻击方资源耗尽(CPU满负满负大量伪的大量伪的接请求接请求从而使得被攻击方资源耗尽从而使得被攻击方资源耗尽满负满负荷或内存不足)的攻击方式。荷或内存不足)的攻击方式。?要明白这种攻击的基本原理,还是要从要明白这种攻击的基本原理,还是要从TCP连接建立的过程开始说起:连接建立的过程开始说起:TCP与与UDP不同,它是基于连接的,也就是说:为了在服务不同,它是基于连接的,也就是说:为了在服务端和客户端之间传送端和客户端之间传送TCP数据数据必须先建立个虚拟电路必须先建立个虚拟电路也就是也就是端和客户端之间传送端和客户端之间传送TCP数据数据,必须先建立必须先建立一一个虚拟电路个虚拟电路,也就是也就是TCP连接,建立连接,建立TCP连接的标准过程是这样的:连接的标准过程是这样的:?首先,请求端(客户端)发送一个包含首先,请求端(客户端)发送一个包含SYN标志的标志的TCP报文,报文,SYN即同即同步步(Synchronize),),同步报文会指明客户端使用的端口以及同步报文会指明客户端使用的端口以及TCP连接连接步步(Synchronize),),同步报文会指明客户端使用的端口以及同步报文会指明客户端使用的端口以及TCP连接连接的初始序号;的初始序号;?第二步,服务器在收到客户端的第二步,服务器在收到客户端的SYN报文后,将返回一个报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时的报文,表示客户端的请求被接受,同时TCP序号被加一,序号被加一,ACK即确认即确认(A kl dt)(Acknowledgement)。?第三步,客户端也返回一个确认报文第三步,客户端也返回一个确认报文ACK给服务器端,同样给服务器端,同样TCP序列号被加一,到此一个序列号被加一,到此一个TCP连接完成。连接完成。?以上的连接过程在以上的连接过程在TCP协议中被称为三次握手协议中被称为三次握手(Threeway8?以上的连接过程在以上的连接过程在TCP协议中被称为三次握手协议中被称为三次握手(Three wayHandshake)。)。可用性破坏案例 (续)可用性破坏案例 (续)?问题就出在问题就出在TCP连接的三次握手中连接的三次握手中,假设假设一一个用户向服务器发送了个用户向服务器发送了问题就出在问题就出在TCP连接的三次握手中连接的三次握手中,假设个用户向服务器发送了假设个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),报文的(第三次握手无法完成),这种情况下服务器端这种情况下服务器端一一般会重试般会重试(再次发送再次发送SYN+ACK给客户端给客户端)这种情况下服务器端般会重试这种情况下服务器端般会重试(再次发送再次发送给客户端给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYNTimeout,一般来说这个时间是分钟的数量级(大约为,一般来说这个时间是分钟的数量级(大约为30秒秒2分钟);一个用户出现异常导致服务器的一个线程等待分钟);一个用户出现异常导致服务器的一个线程等待1分分3钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源数以万计的半连接,即使是简单的保存并遍历也会数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的消耗非常多的时间和内存时间和内存何还要不断对这个列表中的何还要不断对这个列表中的消耗非常多的消耗非常多的CPU时间和内存时间和内存,何何况况还要不断对这个列表中的还要不断对这个列表中的IP进行进行SYN+ACK的重试。实际上如果服务器的的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃栈不够强大,最后的结果往往是堆栈溢出崩溃即使服务器端的系统足够强大,即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户连接请求而无暇理睬客户服务器端也将忙于处理攻击者伪造的服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了器端受到了SYNFld攻击攻击(SYN洪水攻击洪水攻击)9器端受到了器端受到了SYNFlood攻击攻击(SYN洪水攻击洪水攻击)。可用性破坏案例 (续)?从防御角度来说,有几种简单的解决方法:?第一种是缩短SYNTimeout时间,由于SYNFlood攻击的效果取决于服务器上保持的SYN半连接数这个值=SYN攻击的频度 x SYN于服务器上保持的SYN半连接数,这个值=SYN攻击的频度 x SYNTimeout,所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃改连接的时间,例如设置为20秒以下(过低的SYNTimeout设置可能会影响客户的正常访问),可以成倍的降低服务器的负荷。?第二种方法是设置SYNCookie,就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被丢弃。可是上述的两种方法只能对付比较原始的攻击?可是上述的两种方法只能对付比较原始的SYNFlood攻击,缩短SYNTimeout时间仅在对方攻击频度不高的情况下生效,SYNCookie更依赖于对方使用真实的IP地址,如果攻数度发利击者以数万/秒的速度发送SYN报文,同时利用SOCK_RAW随机改写IP报文中的源地址,以上的方法将毫无用武之地。10无用武机密性,完整性和可用性及其之间的关系机密性机密性安全安全完整性可用性安全安全完整性可用性11C I A分类C,I,A分类?小李拷贝了小王的作业小李拷贝了小王的作业小李拷贝了小王的作业小李拷贝了小王的作业?小李让小王的计算机崩溃了小李让小王的计算机崩溃了?小李将小小李将小王王的支票从的支票从100元修改到元修改到1000元元小李将小的支票从小李将小的支票从元修改到元修改到元元?小李冒用死去的老张的签名小李冒用死去的老张的签名?小李注册了一个域名小李注册了一个域名www.fudan.org,并拒绝复旦大学,并拒绝复旦大学g购买并且使用这个域名购买并且使用这个域名?小李得到小王的信用卡卡号并让信用卡公司删除这个卡,小李得到小王的信用卡卡号并让信用卡公司删除这个卡,然后重新办理了新的卡然后重新办理了新的卡并使用原有卡的信用并使用原有卡的信用然后重新办理了新的卡然后重新办理了新的卡,并使用原有卡的信用并使用原有卡的信用?小李哄骗小王计算机的小李哄骗小王计算机的IP检测,得到了访问小王计算机检测,得到了访问小王计算机的访问许可的访问许可的访问许可的访问许可12研究安全的方法学ThreatsPolicySpecificationSpecificationDesigngImplementationOperation保护信息系统安全的技术?认证授权与访问控制?授权与访问控制?审计?加密和解密身份认证?客户端需要向一个或者多个服务器或者服务证实自己的身份三种基本方式?三种基本方式 用户所知道的某个秘密信息,如自己的口令;用户持有的某个秘密信息如智能卡中存储的用户个人用户持有的某个秘密信息,如智能卡中存储的用户个人化参数;用户所具有的某些生物学特征,如指纹、声音、DNA图案等图案等。?你知道什么,你拥有什么,你是什么。?其中第一种最为常用?其中第一种最为常用授权与访问控制?访问控制的三个主要研究对象:S bjObjP liSubject,Object,Policy?访问控制的三个主要功能:Authorization,Revocation,Evaluation?访问控制定义:访控制定义是解决谁(主体)对某个特定对象(客体)具有何种权限的一项系统安全技术。它包括两方面的关键技术一方面是安全策略的制定技术即如何键技术,方面是安全策略的制定技术,即如何表达主体对客体有何种权限,另一方面是安全策略的实现技术,即如何将制定的策略在系统中有效地执行效地执行。审计?审计:一个过程该过程中,为了汇报可以计量的信息同已建立的标准之间的关系由一个独立的个体积累和评估已建立的标准之间的关系,由个独立的个体积累和评估事实?检查可接受标准一致性的过程
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号