当前位置: 首页 > news >正文

邓海舟网站建设教程网站制作绩效考核表

邓海舟网站建设教程,网站制作绩效考核表,设计素材网站源码,全国企业信用信息公开系统文章目录 1. 网络安全概述1.1 安全威胁1.1.1 被动攻击1.1.2 主动攻击 1.2 安全服务 2. 密码学与保密性2.1 密码学相关基本概念2.2 对称密钥密码体制2.2.1 DES的加密方法2.2.2.三重DES 2.3 公钥密码体制 3. 报文完整性与鉴别3.1 报文摘要和报文鉴别码3.1.1 报文摘要和报文鉴别码… 文章目录 1. 网络安全概述1.1 安全威胁1.1.1 被动攻击1.1.2 主动攻击 1.2 安全服务 2. 密码学与保密性2.1 密码学相关基本概念2.2 对称密钥密码体制2.2.1 DES的加密方法2.2.2.三重DES 2.3 公钥密码体制 3. 报文完整性与鉴别3.1 报文摘要和报文鉴别码3.1.1 报文摘要和报文鉴别码简介3.1.2 实用的报文摘要算法3.1.2.1 MD53.1.2.2 SHA 3.2 数字签名3.2.1 数字签名的实现3.2.2 具有保密性的数字签名 4. 实体鉴别5. 密钥分发5.1 对称密钥的分发5.2 公钥的分发 6. 访问控制6.1 访问控制的基本概念6.2 访问控制策略6.2.1 自主访问控制策略6.2.2 强制访问控制策略6.2.3 基于角色的访问控制策略 7. 网络体系结构各层采取的安全措施7.1 物理层安全实例信道加密7.2 数据链路层安全实例802.11i7.3 网络层安全实例IPSec7.3.1 IPSec协议族概述7.3.2 安全关联7.3.2.1 在路由器之间建立安全关联7.3.2.2 在路由器和主机之间建立SA 7.4 运输层安全实例SSL/TLS7.5 应用层安全实例PGP 8. 防火墙访问控制与入侵检测系统8.1防火墙8.1.1 防火墙设备8.1.1.1 分组过滤路由器8.1.1.2 应用网关 8.1.2 个人防火墙8.1.3 防火墙的局限性 8.2 入侵检测系统8.2.1 基于特征的入侵检测系统8.2.2 基于异常的入侵检测系统 9. 常见的网络攻击及其防范9.1 网络扫描9.1.1 网络扫描的四种主要类型9.1.1.1 主机发现9.1.1.2 端口扫描9.1.1.3 操作系统检测9.1.1.4 漏洞扫描 9.1.2 网络扫描的防范 9.2 网络监听9.2.1 网络监听的常见类型9.2.1.1 分组嗅探器9.2.1.2 交换机毒化攻击9.2.1.3 ARP欺骗 9.2.2 网络监听的防范 9.3 拒绝服务攻击9.3.1 拒绝服务攻击的常见类型9.3.1.1 基于漏洞的DoS攻击9.3.1.2 基于资源消耗的DoS攻击9.3.1.3 分布式DoS攻击 9.3.2 DoS攻击的防范 1. 网络安全概述 计算机网络安全包括三方面内容安全威胁、安全服务和安全机制。 1.1 安全威胁 计算机网络所面临的安全威胁分为被动攻击和主动攻击两大类。 1.1.1 被动攻击 攻击者通过窃听手段仅观察和分析网络中传输的电子邮件、文件数据、IP电话等数据流中的敏感信息而不对其进行干扰。 即使通信内容被加密使得攻击者不能直接从被加密的内容中获取机密信息也可以通过观察协议数据单元PDU的首部信息来获知正在通信的协议实体的地址和身份。 通过研究PDU的长度和传输的频度来了解所交换的数据的性质。这种被动攻击又称为流量分析Traffic Analysis。 对于被动攻击由于其不涉及对数据的更改因此很难被发现。 对付被动攻击主要采用各种数据加密技术进行预防而不是主动检测。 1.1.2 主动攻击 主动攻击是指攻击者对传输中的数据流进行各种处理。 三种最基本的主动攻击形式 中断Interruption攻击者故意中断他人的网络通信。篡改Modification攻击者故意篡改网络中传送的PDU。伪造Fabrication攻击者伪造PDU在网络中传送。 除了中断、篡改和伪造还有一种特殊的主动攻击就是恶意程序Rogue Program。恶意程序的种类繁多可以通过网络在计算机系统间进行传播对网络安全威胁较大的主要有以下几种 计算机病毒Computer Virus这是一种会“传染”其他程序的程序。“传染”是通过修改其他程序来把自身或自己的变种复制进去完成的。计算机蠕虫Computer Worm这是一种通过网络的通信功能将自身从一个节点发送到另一个节点并自动启动运行的程序。特洛伊木马Trojan Horse简称为木马这是一种在表面功能掩护下执行恶意功能的程序。例如一个伪造成文本编辑软件的木马程序在用户编辑一个机密文件时偷偷将该文件的内容通过网络发送给攻击者。计算机病毒有时也以木马的形式出现。逻辑炸弹Logic Bomb这是一种当运行环境满足某种特定条件时就触发自身恶意功能的程序。例如一个文本编辑软件平时正常运行但当系统时间为13日且为星期五时就会触发该程序的恶意功能它会删除系统中的所有文件这种程序就是一种典型的逻辑炸弹。后门入侵Backdoor Knocking是指利用系统中的漏洞通过网络入侵系统。这就好比一个盗贼侵入某个房门有缺陷的住户。拒绝服务Denial of ServiceDoS是一种很难防范的主动攻击。攻击者向因特网上的某个服务器不停地发送大量分组使该服务器无法提供正常服务甚至完全瘫痪。攻击者甚至还可利用系统漏洞首先非法控制因特网上成百上千台主机这些主机被称为“僵尸”主机然后从这些“僵尸”主机上同时向某个服务器发起猛烈攻击。 对于主动攻击由于物理通信设施、软件和网络本身潜在的弱点具有多样性因此完全防止主动攻击是非常困难的。但是主动攻击容易检测因此对付主动攻击除要采取数据加密技术、访问控制技术等预防措施还需要采取各种检测技术及时发现并阻止攻击同时还要对攻击源进行追踪并利用法律手段对其进行打击。 1.2 安全服务 为防止各种安全威胁一个安全的计算机网络应设法提供基本安全服务。 1保密性 保密性Confidentiality就是确保网络中传输的信息只有其发送方和接收方才能懂得其含义而信息的截获者则看不懂所截获的数据。显然保密性是计算机网络中最基本的安全服务也是对付被动攻击所必须具备的功能。 2报文完整性 报文完整性Message Integrity就是确保网络中传输的信息不被攻击者篡改或伪造,它在应对主动攻击时也是必不可少的。 报文完整性与实体鉴别往往是不可分割的。因此在谈到“鉴别”时有时同时包含了实体鉴别和报文完整性。换句话说既鉴别发送方的身份又鉴别报文的完整性。 3实体鉴别 实体鉴别Entity Authentication是指通信两端的实体能够相互验证对方的真实身份确保不会与冒充者进行通信。目前频发的网络诈骗多数情况都是由于在网络上不能鉴别出对方的真实身份。实体鉴别在对付主动攻击时是非常重要的。 4不可否认性 不可否认性Nonrepudiation用来防止发送方或接收方否认发送或接收过某信息。在电子商务中这是一种非常重要的安全服务。 5访问控制 访问控制Access Control是指可以限制和控制不同实体对信息源或其他系统资源进行访问的能力。必须在鉴别实体身份的基础上对实体的访问权限进行控制。 6可用性 可用性Availability就是确保授权用户能够正常访问系统信息和资源。很多攻击都会导致系统可用性的损失拒绝服务DoS攻击就是可用性最直接的威胁。 2. 密码学与保密性 密码学是计算机网络安全的基础。 2.1 密码学相关基本概念 将发送的数据变换成对任何不知道如何做逆变换的人都不可理解的形式从而保证数据的机密性这种变换称为加密Encryption。 加密前的数据被称为明文Plaintext而加密后的数据被称为密文Ciphertext。 通过某种逆变换将密文重新变换回明文这种逆变换称为解密Decryption。 加密和解密过程可以使用一个密钥Key作为参数密钥必须保密但加密和解密的过程可以公开。换句话说只有知道密钥的人才能解密密文否则即使知道加密或解密算法也无法解密密文。 加密密钥和解密密钥可以相同也可以不同即使不同这两个密钥也必然有某种相关性这取决于采用的是对称密钥密码体制还是公开密钥公钥密码体制。 2.2 对称密钥密码体制 对称密钥密码体制是指加密密钥与解密密钥相同的密码体制。由IBM公司研制并于1977年被美国定为联邦信息标准的数据加密标准Data Encryption StandardDES就是对称密钥密码体制的典型代表。 2.2.1 DES的加密方法 在使用DES进行加密前先将整个明文划分成若干个64比特长的二进制数据。然后对每一个64比特的数据采用64比特的密钥实际密钥长度为56比特另外8比特作为奇偶校验进行加密处理产生一个64比特的密文数据。最后将各64比特的密文数据串接起来,就可得出整个密文。 2.2.2.三重DES DES的保密性仅取决于对密钥的保密和密钥的长度。20世纪70年代设计的DES经过了世界上无数优秀学者几十年的密码分析除了其56比特密钥长度太短没有发现其任何大的设计缺陷。 为了解决56比特DES密钥太短的问题学者们提出了三重DES(Triple DES3DES 对明文使用密钥K1和DES算法进行加密将得到的密文使用密钥K2和DES算法进行解密再将解密的结果使用密钥K3和DES算法进行加密即可得到经过3DES加密后的密文。 对密文使用密钥K3和DES算法进行解密将解密的结果使用密钥K2和DES算法进行加密再将加密的结果使用密钥K1和DES算法进行解密即可得到经过3DES解密后的明文。 2.3 公钥密码体制 在公钥密码体制中加密密钥是向公众公开的称为公钥Public Key PK。而解密密钥是需要保密的称为私钥或密钥Secret KeySK。 公钥密码体制的特点如下 发送方用PK对明文X加密后在接收方用SK解密即可恢复出明文。PK只能用来加密而不能用来解密。尽管在计算机上可以容易地产生成对的PK和SK但从已知的PK是不可能推导出SK的即从PK到SK是“计算上不可能的”。加密算法和解密算法都是公开的。 由于从PK不能推导出SK并且PK不能用来解密因此PK可以是公开的。 公钥密码体制提出不久研究人员就找到了三种公钥密码算法。公钥密码体制不仅用于加密还可以很方便地用于鉴别和数字签名。然而目前的公钥密码算法比对称密码算法慢好几个数量级。因此公钥密码通常用于会话密钥的建立,而对称密码被用于其他大多数情况下的加密。 用户A与B要进行加密通信。A首先选择了一个用于加密数据并且与B共享的DES或AES密钥对称密码体制由于该密钥仅用于A和B之间的这次会话因此被称为会话密钥。 为了让B知道该会话密钥A必须将该会话密钥通过秘密渠道告知B。为此A用B的RSA公钥公钥密码体制加密该会话密钥后发送给BB收到加密的会话密钥后就用自己的私钥对其解密得到会话密钥。此后A与B之间就可以用该会话密钥加密通信的数据。 3. 报文完整性与鉴别 如果报文被攻击者篡改或伪造则报文就不具备完整性。 对报文进行完整性验证就是进行报文鉴别也就是鉴别报文的真伪。 3.1 报文摘要和报文鉴别码 3.1.1 报文摘要和报文鉴别码简介 使用加密技术通常就可以达到报文鉴别的目的因为被篡改的报文解密后一般不能得到可理解的内容。 然而对于不需要保密而只需要报文鉴别的网络应用对整个报文进行加密和解密会使计算机花费相当多的CPU时间。 使用报文摘要Message DigestMD进行报文鉴别是一种更有效的方法。 1发送方对待发送的报文m其长度可变进行报文摘要算法得出固定长度的报文摘要记为H(m)。然后使用密钥K对H(m)进行加密得到加密后的报文摘要E(H(m))并将E(H(m)附加在报文m的后面发送出去。 2接收方收到后使用密钥K对E(H(m))进行解密得到H(m)并把收到的报文进行报文摘要运算如果运算结果与H(m)相同则可判定收到的报文就是发送方产生的报文m否则可判定收到的报文不是发送方产生的报文m。 使用报文摘要的好处是只对长度固定且比整个报文长度短得多的报文摘要H(m)进行加密比对整个报文m进行加密简单得多。密钥K仅在通信双方之间共享没有第三方能用伪造报文产生出使用密钥K加密的伪造报文摘要。 3.1.2 实用的报文摘要算法 最有名的报文摘要算法密码散列函数或称散列算法有MD5(Message Digest,MD-5和安全散列算法1(Secure Hash AlgorithmSHA-1。 3.1.2.1 MD5 MD5输出128比特的摘要。MD5希望达到的设计目标是根据给定的MD5报文摘要想要找出一个与原报文具有相同报文摘要的另一个报文其难度在计算上几乎是不可能的。 但在2004年中国学者王小云发表了轰动世界的密码学论文证明了可以用系统的方法找出一对报文这对报文具有相同的MD5报文摘要而这仅需要15分钟至不到1小时的时间。这使得“密码散列函数的逆变换是不可能的”这一传统观念受到了颠覆性的动摇。之后又有许多学者开发了对MD5的实际攻击方法这导致MD5最终被安全散列算法SHA-1所取代。 3.1.2.2 SHA SHA是由美国标准与技术研究院NIST提出的一个散列算法系列。SHA-1输出160比特的报文摘要计算要比MD5慢一些。尽管SHA-1比MD5安全但后来也被证明其实际安全性并未达到设计目标并且也曾被王小云教授的研究团队攻破。 尽管现在SHA-1仍在使用但很快就会被SHA-2和SHA-3所替代。 3.2 数字签名 在计算机网络中传送的报文可以通过数字签名Digital Signature来证明其真实来源。 数字签名必须保证以下三点 1接收方能够核实发送方对报文的数字签名。 2包括接收方在内的任何人都不能伪造对报文的数字签名。 3发送方事后不能抵赖对报文的数字签名。 3.2.1 数字签名的实现 现在已有多种实现数字签名的方法。采用公钥密码算法比采用对称密钥密码算法更容易实现数字签名。 1发送方A使用自己的私钥SKA、即解密密钥对报文m进行解密运算D。 2A将经过解密运算D的结果D即带有数字签名的报文m发送给B。 3B收到带有数字签名的报文D后用A的公钥PKA即加密密钥对报文D进行加密运算E就可得出原报文m。 由于除A外的其他任何人都没有A的私钥SKA所以除A外没有其他任何人能产生带有数字签名的报文而任何伪造的报文经过加密运算后都不会得到可理解的内容。因此B就通过这种方式核实了报文m的确是A签名发送的。 如果A要抵赖曾发送报文m给BB可以把报文m和带有数字签名的报文出具给第三方。第三方很容易用A的公钥PK去证实A确实发送过报文m给B。 反之若B把报文m1伪造成m2则B不能在第三方前出示带有数字签名的报文因为B不可能具有A的私钥SK。这样就证明B伪造了报文。很显然数字签名实现了对报文来源的鉴别。 由于公钥密码算法的计算代价非常高对整个报文进行数字签名是一件非常耗时的事情更有效的方法是仅对报文摘要进行数字签名。 3.2.2 具有保密性的数字签名 之前介绍的数字签名过程仅对报文m进行了数字签名但对报文m本身并没有保密。因为知道发送方A身份的任何人通过查阅手册就可获得A的公钥PK这时截获带有数字签名的报文后就可得到报文m。如果采用具有保密性的数字签名就可以同时实现数字签名和秘密通信。 4. 实体鉴别 实体鉴别就是通信双方的一方验证另一方身份的技术常简称为鉴别。 实体可以是人、客户进程以及服务器进程等。 通信实体的鉴别通常是两个通信实体之间传输实际数据之前或进行访问控制之前的必要过程这是很多安全协议的重要组成部分。 实体鉴别的一种最简单方法就是使用用户名和口令。 然而直接在网络中传输用户名和口令会面临安全威胁因为用户名和口令可能会被网络上的攻击者截获因此需要对用户名和口令进行加密。 如图所示攻击者C可以从网络中截获A发送给B的加密报文C并不需要对该报文进行解密而是以后把该报文发送给B使B误认为C就是A。之后B就向伪装成A的C发送许多本来应当发送给A的报文这就是重放攻击Replay Attack)。 为了应对重放攻击可以使用不重数。所谓“不重数”就是指一个不重复使用的大随机数即“一次一数”。在实体鉴别过程中不重数可以使用户把重复的实体鉴别请求和新的实体鉴别请求区分开。 1用户A首先给B发送一个报文该报文包括A的用户名和一个不重数RA。 2B收到后给A发送响应报文在该报文中用A和B共享的密钥KAB。加密RA并同时也给出自己的不重数RB。 3A收到后给B发送一个响应报文在该报文中用KAB加密RB。 这里的关键点是A和B对不同的会话必须使用不同的不重数集。由于不重数不能重复使用所以攻击者在进行重放攻击时无法重复使用所截获的不重数因而就无法伪装成A或B。这种使用不重数进行实体鉴别的协议又称为挑战-响应Challenge-Response协议。同理使用公钥密码体制也可以实现实体鉴别。通信双方可以利用自己的私钥将对方发来的不重数进行签名而用对方的公钥来鉴别对方签名的不重数从而实现通信双方的鉴别。 5. 密钥分发 对称密钥密码体制中通信双方共享的密钥是需要保密的而公钥密码体制中的公钥是公开的但私钥仍然需要保密。很显然密钥系统的安全性完全依赖于对密钥的安全保护。 密钥分发是密钥系统中一个非常重要的问题。密钥必须通过安全的通路进行分发。例如可以通过非常可靠的信使携带密钥分发给相互通信的各用户这称为网外分发。密钥必须定期更换才能确保可靠。 然而随着网络用户的增多以及用户间通信量的增大通过信使分发密钥的方法已不再适用。因此必须解决网内密钥自动分发的问题即通过网络自动分发密钥。 5.1 对称密钥的分发 对于对称密钥密码体制目前常用的密钥分配方式是设立密钥分配中心KDC。KDC是个公众都信任的机构其任务就是给需要进行秘密通信的用户临时分配一个会话密钥。 假设用户A和B都是KDC的登记用户他们在KDC登记时就分别拥有了与KDC通信的主密钥KA、和KB。用户A和B通过KDC安全获得他们之间共享的、用于一次会话的密钥KAB的过程如下 1用户A向KDC发送报文无须加密说明自己想与用户B通信。在该报文中给出A和B在KDC登记的身份。 2KDC收到A发来的报文后用随机数产生一个“一次一密”的会话密钥KAB。供A和B的一次会话使用。之后KDC构建一个准备向A发送的回答报文。在该报文中包含有会话密钥KAB、和需要由A转发给B的一个票据ticket该票据的内容为A和B在KDC登记的身份以及A和B这次会话将要使用的密钥KAB。KDC用B的主密钥KB。加密票据由于A并没有B的主密钥KB因此A无法知道该票据的内容实际上A也无须知道该票据的内容。KDC构建好准备向A发送的回答报文后使用A的主密钥KA对该报文加密后发送给A。 3A收到KDC发来的加密报文后用自己的主密钥KA对其解密就可得到由KDC分发的用于自己与B进行一次会话的密钥KAB以及需要转发给B的加密票据。于是A将加密票据转发给BB收到后用自己的主密钥KB。对其进行解密后就知道A要与自己进行通信同时也知道了KDC为这次自己与A通信所分配的会话密钥KAB。此后A和B就可以使用会话密钥KAB进行这次通信了。 5.2 公钥的分发 我们知道公钥密码体制中的公钥是公开的而私钥是用户私有的保密的如果每个用户都知道其他用户的公钥用户之间就可以实现安全通信。然而如果通过网络来随意公布用户的公钥会面临极大的安全风险。 这需要有一个值得信赖的机构将公钥与其对应的实体人或机器进行绑定binding。这种机构被称为认证中心Certification Authority,CA一般由政府出资建立。 需要发布公钥的用户可以让CA为其公钥签发一个证书Certifcate证书中包含有公钥及其拥有者的身份标识信息人名、公司名或IP地址等。 CA必须首先核实用户真实身份然后为用户产生公钥-私钥对并生成证书最后用CA的私钥对证书进行数字签名。该证书就可以通过网络发送给任何希望与该证书拥有者通信的实体也可将该证书存放在服务器由其他用户自由下载。 任何人都可从可信的地方例如代表政府的报纸获取CA的公钥并用这个公钥来验证某个证书的真伪。一旦证书被鉴别是真实的则可以相信证书中的公钥确实属于证书中声称的用户。 如果全世界仅使用一个CA来签发证书则会出现负载过重和单点故障等问题。因特网采用的是[RFC5280]给出的、在全球范围内为所有因特网用户提供证书的签发与认证服务的公钥基础结构Public Key Infrastructure,PKI。 下级CA的证书由上级CA签发和认证。顶级的根CA能验证所有1级CA的证书1级CA可以在一个很大的地理区域或逻辑区域内运作而2级CA可以在一个相对较小的区域内运作。 所有用户都信任顶级的根CA但可以信任也可以不信任中间的CA。用户可以在自己信任的CA获取个人证书当要验证来自不信任CA签发的证书时需要到上一级CA验证该证书的真伪如果上一级CA也不可信则需要到更上一级CA进行验证一一直追溯到可信任的一级CA。这一过程最终有可能会追溯到顶级的根CA。 6. 访问控制 6.1 访问控制的基本概念 用户要访问某信息系统通常需要经过的第一道安全防线就是身份鉴别身份鉴别可以将未授权用户隔离在信息系统之外。当用户经过身份鉴别通过第一道安全防线进入系统后并不能毫无限制地访问系统中的任意资源而只能访问授权范围内的资源这就是访问控制Access Control。 访问控制可被看作信息系统的第二道安全防线对进入系统的合法用户进行访问权限控制。 对合法用户访问权限的授予一般遵循最小特权原则。所谓“最小特权”就是指能够满足用户完成工作所需的权限用户不会被赋予超出其实际需求的权限。最小特权原则可以有效防范合法用户滥用权限所带来的安全风险。 访问控制包含以下基本要素 主体Subject是指访问活动的发起者可以是某个用户也可以是代表用户执行操作的进程、服务和设备等。客体Object是指访问活动中被访问的对象。凡是可以被操作的信息、文件、设备、服务等资源都可以认为是客体。访问Access是指对客体被访问的对象的各种操作类型。例如创建、读取、修改、删除、执行、发送、接收等操作。不同的系统有不同的访问类型。访问策略是访问控制的核心访问控制根据访问策略限制主体对客体的访问。访问控制策略可用三元组S、O、P来描述其中S表示主体O表示客体P表示许可Permission。许可P明确了允许主体S对客体0所进行的访问类型。访间策略通常存储在系统的授权服务器中。 上图给出了著名的访问监控器Reference Monitor模型。按照访问监控器模型的描述当系统中出现访问请求时访问监控器对访问请求进行裁决它向授权服务器进行查询根据授权服务器中存储的访问策略决定主体对客体的访问是否被允许。 在访问监控器模型中有一个负责审计的模块它是访问控制的必要补充。审计模块会记录与访问有关的各类信息包括主体、客体、访问类型、访间时间以及访问是否被允许等信息。系统管理员通过查看审计记录就可以详细了解系统中访问活动的具体情况主要包括以下三方面的情况 哪些主体对哪些资源的访问请求被拒绝。主体发出大量违规的访问请求这往往是攻击和破坏活动的征兆需要引起特别的关注。访问策略是否得到了严格执行。如果访问规则在配置或执行过程中存在失误一些违反访问策略的访问请求可能被许可。通过查看审计记录可以发现此类情况以便及时修正。提供访问活动的证据为事后追查和追责提供依据。 6.2 访问控制策略 典型的访问控制策略可分为三类自主访问控制、强制访问控制和基于角色的访问控制。 6.2.1 自主访问控制策略 自主访问控制Discretionary Access ControlDAC策略中“自主”的意思是客体的拥有者可以自主地决定其他主体对其拥有的客体所进行访问的权限。 这种访问控制策略具有很强的灵活性然而也有其明显的缺陷即权限管理过于分散容易出现漏洞并且无 法有效控制被攻击主体破坏系统安全性的行为。 木马程序利用自主访问控制策略的上述缺陷可以很容易地破坏系统的安全性。例如用户A对文件门具有读权限。攻击者B为了非法获取该文件编写了一个木马程序并诱骗用户A运行了该木马程序。木马程序获得用户A的访问权限能够读取文件f的内容并将这些内容写入到新创建的文件中然后用户A将文件的读取权限授予攻击者B这样攻击者B就可以非法读取到文件的内容了。 自主访问控制策略的最大特点是“自主”也就是资源的拥有者对资源的访问策略具有决策权因此是一种限制比较弱的访问控制策略。这种访问控制策略给用户带来灵活性的同时也带来了安全隐患。 6.2.2 强制访问控制策略 强制访间控制Mandatory Access ControlMAC策略与自主访问控制策略不同它不允许一般的主体进行访问权限的设置。在强制访问控制策略中主体和客体被赋予一定的安全级别。通常只有系统的安全管理员可以进行安全级别的设定而普通用户不能改变自己或任何客体的安全级别。 系统通过比较主体和客体的安全级别来决定某个主体是否能够访问某个客体。 在强制访问控制策略中广泛使用以下两项原则: “下读”原则主体的安全级别必须高于或等于被读客体的安全级别主体读取客 体的访问活动才能被允许。“上写”原则主体的安全级别必须低于或等于被写客体的安全级别主体写客体 的访问活动才能被允许。 “下读”和“上写”原则限制了信息只能由低级别的对象流向高级别或同级别的对象这样能够有效防止木马等恶意程序的窃密攻击。 例如用户A的安全级别高于文件f1而用户B的安全级别低于文件f1因此用户A可以读取文件f1而用户B却不能读取文件f1。即使用户A运行了用户B编写的木马程序但由于该木马程序具有与用户A同样的安全级别虽然木马程序可以读取文件f1却不能将文件f1的安全级别修改成用户B可读的安全级别也无法将其内容写入到安全级别比用户A低的文件中。因此用户B无法读取到文件f1中的信息。 6.2.3 基于角色的访问控制策略 基于角色的访问控制Role Based Access ControlRBAC策略其目的在于降低安全管理的复杂度。用户在实际工作中所承担的角色往往决定了在信息系统中应为该用户赋予怎样的访问权限。 RBAC的核心思想是根据安全策略划分不同的角色用户不再直接与许可关联而是通过角色与许可关联。 在RBAC中一个用户可以拥有多个角色一个角色也可以赋予多个用户一个角色可以拥有多种许可一种许可也可以分配给多个角色。许可指明了对某客体可以进行的访问类型。 角色与许可之间的关系比角色与用户的关系要更加稳定当一个用户的职责发生变化或需要为一个新的用户授权时只要修改或设置用户的角色即可。很显然将用户和访问权限通过角色进行逻辑隔离能够减小授权的复杂性增强权限的可管理性减少因授权失误导致安全漏洞的风险。 7. 网络体系结构各层采取的安全措施 7.1 物理层安全实例信道加密 在物理层实现通信数据的保密性和完整性的方法是对信道进行加密。 对信道进行加密需要使用信道加密机。信道加密机位于通信节点例如路由器前端按数据流动方向它将通信节点发送的所有数据都进行加密处理然后再发送到物理链路上。 使用信道加密技术可为通过链路的所有数据提供安全保护并且对上层协议几乎没有任何影响也就是具有很好的透明性。 由于链路上传送的各种协议数据单元PDU的首部和数据载荷都被加密了PDU的截获者无法从PDU中提取源地址和目的地址因此可以防止各种形式的流量分析。由于信道加密机完全使用硬件加密技术因此加密和解密速度快并且无须传送额外的数据采用该技术不会减少网络的有效带宽。 一般情况下网络的源点和终点在物理上都可以确保安全但是所有的中间节点可能经过的路由器则未必都是安全的。因此在网络互联的情况下信道加密这种仅用于保护网络局部链路通信安全的技术就不能确保端到端通信的安全了。在实际应用中通常只在容易被窃听的无线链路例如卫星链路上或军用网络等专用网络的通信链路所在不安全区域的部分使用信道加密技术。 7.2 数据链路层安全实例802.11i 随着802.11无线局域网的广泛应用其安全问题越来越受到关注。我们知道在无线通信方式下电磁波在自由空间辐射传播任何无线终端都可在无线接入点的信号覆盖范围内接收其无线信号。若不采取相应的安全措施任何无线终端都可以接入到网络中进而窃听网络通信或非法使用网络资源。 因此802.11无线局域网的安全问题就显得尤为重要。802.11无线局域网主要在数据链路层为用户提供安全服务。 除了无线终端和接入点AP802.11i还定义了一种鉴别服务器(Authentication ServerAS)。AP可与AS进行通信。将AS从AP分离出来的目的在于可使一台AS服务于多台AP集中在一台AS中处理鉴别和接入可以降低AP的复杂性和成本。 在802.11i中无线终端与AP之间建立安全通信的过程包含四个阶段 1安全性能力发现阶段在安全性能力发现阶段AP会向其信号覆盖范围内的无线终端通告其所能提供的鉴别和加密方式。各无线终端收到后可请求各自所期望的特定的鉴别和加密方式。尽管在上述过程中无线终端已经与AP交换了报文但此阶段无线终端还没有被鉴别也没有获得用于数据通信的加密密钥。 2相互鉴别和主密钥生成阶段相互鉴别发生在无线终端和AS之间。在相互鉴别的过程中AP仅在无线终端和AS之间转发报文也就是仅起到通信中继的作用。无线终端与AS之间的双向鉴别过程使用由扩展的鉴别协议Extensible Authentication Protocol,EAP)[RFC2284]所定义的一种端到端的报文格式。在EAP中AS可以选择多种鉴别方式中的任何一种来执行鉴别主要利用公钥加密技术包括不重数加密和报文摘要在某个无线终端和AS之间进行相互鉴别并生成双方共享的一个主密钥Master KeyMK。 3成对主密钥生成阶段除了在上一个阶段所生成的由某个无线终端和AS之间共享的MK该无线终端与AS彼此之间还要再生成一个密钥称为成对主密钥Pairwise Master KeyPMK。PMK由无线终端和AP共同使用。AS将PMK发送给AP这时该无线终端和AP就具有了一个共享的密钥并彼此相互鉴别。 4临时密钥生成阶段使用上一阶段获得的PMK该无线终端和AP可以生成用于加密通信的临时密钥Temporal KeyTK。TK被用于经无线链路向任意远程主机发送数据的链路级的数据加密。 IEEE 802.11i提供了多种加密形式其中包含WEP加密的强化版本临时密钥完整性协议Temporal Key Integrity ProtocolTKIP和基于高级加密标准AES的加密方案。考虑到不同用户和不同应用的安全需要例如企业用户需要很高的企业级安全保护而家庭用户往往只是使用网络来浏览网页、收发电子邮件等对安全保护的要求相对较低。为了满足不同用户的需求IEEE802.11i规定了以下两种应用模式 企业模式使用AS和复杂的安全鉴别机制来保护无线网络的通信安全。家庭模式也称个人模式包括小型办公室在AP或无线路由器上以及无线终端上配置预设共享密钥Pre-Shared KeyPSK来保护无线网络的通信安全。 7.3 网络层安全实例IPSec 7.3.1 IPSec协议族概述 IPSec是“IPSecurity”IP安全的缩写它是为因特网网际层提供安全服务的协议族也有人不太严格地称其为“IPSec协议”[RFC 4301RFC6071]。IPSec并不限定用户使用何种特定的加密和鉴别算法通信双方可以选择合适的算法和参数例如密钥长度。为了保证互操作性IPSec还包含了一套加密算法所有IPSec的实现都必须使用。 IPSec包含两种不同的工作方式运输方式和隧道方式 运输方式Transport Mode下IP安全数据报的封装方式IPSec将运输层向下交付给网际层的运输层报文添加IPSec首部和尾部之后网际层再为其添加一个IP首部使之成为IP安全数据报。 隧道方式Tunnel Mode下IP安全数据报的封装方式IPSec给原始IP数据报添加IPSec首部和尾部之后网际层再为其添加一个新的IP首部使之成为IP安全数据报。 无论使用上述哪种方式所封装出的IP交全数据报的首部都是不加密的。这是为了使因特网中的各路由器能够识别IP安全数据报首部中的相关信息进而可以将IP安全数据报在不安全的因特网中从源点安全地转发到终点。所谓“IP安全数据报”是指数据报的数据载荷是经过加密并能够被鉴别的。 7.3.2 安全关联 7.3.2.1 在路由器之间建立安全关联 在使用隧道方式传送IP安全数据报之前应当首先为通信双方建立一条网际层的逻辑连接即安全隧道称为安全关联Security AssociationSA。这样传统因特网无连接的网际层就变成了具有逻辑连接的一个层。 例如某个公司有一个总部和一个在外地的分公司。总部需要与分公司进行双向安全通信还要与各地出差的n个员工进行双向安全通信。在这种情况下总部与分公司需要2条SA用于双向安全通信n个员工每个都需要与总部建立2条SA因此共需要建立(22n)条SA。IP安全数据报就是在这些SA中传送的。 路由器R1和R2分别是公司总部和分公司的防火墙中的路由器它们各自负责为其所在部门收发IP数据报。因此公司总部与分公司之间的SA可以建立在R1和R2之间。现假定公司总部中的主机A要给分公司中的主机B通过因特网中已建立好的SA发送IP安全数据报具体过程如下 1主机A给B发送的IP数据报必须首先经过路由器R1。 2R1对该数据报进行IPSec加密并为其添加一个新的IP首部使之成为IP安全数据报。 3IP安全数据报经过因特网中多个路由器的转发后到达路由器R2。 4R2对IP安全数据报进行IPSec解密还原出原始的IP数据报并将其直接交付给主机B。 从逻辑上看IP安全数据报在SA中的传送就好像通过一条安全的隧道。 如果公司总部中的主机A和C进行通信由于都在公司内部而不需要经过不安全的因特网因此不需要建立SA。主机A发送的IP数据报只需通过路由器R1转发一次就可传送给主机C。如果主机A想要上网浏览一些新闻也不需要建立SA只需通过路由器R1收发普通的IP数据报即可。 7.3.2.2 在路由器和主机之间建立SA 上图给出了公司总部中的主机A要和正在外地出差的某个员工的主机B进行安全通信的情况。在这种情况下公司总部中的路由器R1与外地员工的主机B之间需要建立SA之后主机A发送IP数据报给主机B具体过程如下 1主机A发送的IP数据报经过路由器R1的IPSec处理后就变成了IP安全数据报。 2IP安全数据报经过因特网中多个路由器的转发最终到达主机B。 3主机B中的IPSec对IP安全数据报进行鉴别和解密还原出主机A发送的原始IP数 从逻辑上看IP安全数据报是在路由器R1和员工的主机B之间的安全隧道中传送的。 建立SA的路由器或主机需要维护这条SA的状态信息包括如下项目 一个32位的连接标识符称为安全参数索引Security Parameter IndexSPI。SA的源点和终点的IP地址即路由器R1和主机B的IP地址。所使用的加密类型例如DES或AES。加密的密钥。完整性检查的类型例如使用报文摘要MD5或SHA-1的报文鉴别码MAC。鉴别使用的密钥。 当路由器R1要通过SA传送IP安全数据报时首先需要读取SA的上述状态信息以便知道应当如何加密和鉴别IP数据报。 7.4 运输层安全实例SSL/TLS 现在广泛使用的运输层安全协议有以下两个 安全套接字层Secure Socket Layer,SSL运输层安全Transport Layer Security,TLS SSL作用于端系统应用层中的HTTP和运输层中的TCP之间在TCP连接之上建立起一个安全通道为通过TCP连接传输的应用层报文提供安全服务。 1995年SSL由因特网工程任务组IETF进行了标准化。IETF在SSL3.0的基础上设计了TLS协议为所有基于TCP连接的网络应用提供安全数据传输服务。 SSL/TLS作用于TCP/IP体系结构的应用层与运输层之间。在应用层中使用SSL/TLS最多的协议是HTTP但不限于HTTPIMAP也可使用。 当使用浏览器查看普通网站的网页时HTTP直接使用TCP连接这时SSL不起作用。但使用浏览器进行网上购物时支持SSL的购物网站的Web服务器会提供使用SSL的安全网页浏览器访问这种网页时就需要使用SSL协议。这时HTTP会调用SSL对整个网页进行加密。在浏览器地址栏原来显示http的地方现在变成了https表明现在使用的是提供安全服务的HTTPS。 SSL提供以下三种安全服务 SSL服务器鉴别支持SSL的客户端通过验证来自服务器的证书来鉴别服务器的真实身份并获得服务器的公钥。SSL客户鉴别用于服务器证实客户的身份这是SSL的可选安全服务。加密的SSL会话加密客户和服务器之间传送的所有报文并检测报文是否被篡改。 7.5 应用层安全实例PGP PGPPretty Good Privacy是已被广泛应用的为电子邮件提供加密、鉴别、电子签名和压缩等技术的电子邮件安全软件包。 PGP为电子邮件用户提供保密性、完整性、发件人鉴别和不可否认性四种安全服务。PGP并没有使用什么新的概念它使用对称密钥和公钥的组合进行加密为电子邮件提供保密性通过报文摘要和数字签名技术为电子邮件提供完整性和不可否认性。需要说明的是尽管PGP已被广泛使用电子邮件的事实上的标准但PGP并不是因特网的正式标准。 假设用户A给B发送电子邮件的明文为X要使用PGP来确保该邮件的安全。用户A有三个密钥用户A自己的私钥、用户A自己生成的一次性密钥以及用户B的公钥。用户B有两个密钥分别是用户B自己的私钥和用户A的公钥。 用户A邮件发送方的PGP处理过程具体解释如下 1用散列函数例如MD5运算得到明文邮件X的报文摘要H。用A自己的私钥对H进行数字签名得出报文鉴别码MAC。将MAC拼接在X后面得到扩展的邮件(XMAC)。 2使用A自己生成的一次性密钥对扩展的邮件(XMAC)进行加密。 3使用B的公钥对A生成的一次性密钥进行加密。 4把加密后的一次性密钥和加密后的扩展的邮件发送给B。 用户B邮件接收方收到A发来的、加密后的一次性密钥以及加密后的扩展的邮件后PGP处理过程具体解释如下 1将加密后的一次性密钥与加密后的扩展的邮件分开。 2用B自己的私钥解密出A生成的一次性密钥。 3用一次性密钥对扩展的邮件进行解密并从解密后的结果(XMAC)中分离出邮件 4用A的公钥对MAC进行鉴别即签名核实得出报文摘要H。该报文摘要就是A原先用明文邮件X通过散列函数生成的那个报文摘要。 5用散列函数对分离出的明文邮件X生成另一个报文摘要H将H与之前得出的H进行比较。若相同则对邮件的发送方的鉴别就通过了并且邮件的完整性也得到肯定。 8. 防火墙访问控制与入侵检测系统 尽管之前介绍的网络各层面的安全机制可为网络提供保密性、报文完整性、实体鉴别和不可否认性等基本的安全服务但仍无法应对以下安全问题: 非法用户利用系统漏洞进行未授权登录。授权用户非法获取更高级别的权限。通过网络传播病毒、蠕虫和特洛伊木马。阻止合法用户正常使用服务的拒绝服务攻击。 为了降低上述安全威胁所带来的安全风险可以使用防火墙来严格控制出入网络边界的分组禁止任何不必要的通信从而减少入侵的发生。由于防火墙不可能阻止所有入侵行为可使用入侵检测系统作为第二道防线通过对进入网络的分组进行检测与深度分析来发现疑似入侵行为的网络活动并进行报警以便进一步采取相应措施。 8.1防火墙 防火墙Firewall属于一种访问控制技术具体实现为一种可编程的特殊路由器它把一个单位机构或公司的内部网络与其他网络一般为因特网进行安全隔离。 根据防火墙中配置的访问控制策略某些分组允许通过防火墙而某些分组则被禁止通过。访向控制策略由使用防火墙的单位根据自己的安全需要自行制定。 防火墙位于因特网和内部网络之间。防火墙的外面为因特网防火墙的里面为内部网络。一般把防火墙里面的网络称为“可信网络”(Trusted Network而把防火墙外面的网络称为“不可信网络”Untrusted Network。 8.1.1 防火墙设备 实现防火墙技术的设备一般有两种分组过滤路由器和应用网关。 8.1.1.1 分组过滤路由器 分组过滤路由器是一种具有分组过滤功能的路由器它根据所配置的分组过滤规则对出入内部网络的分组执行转发或丢弃即分组过滤。 分组过滤规则所采用的各参数来自分组的网际层和/或运输层首部中的某些字段的值例如网际层的源IP地址和目的IP地址、运输层的源端口和目的端口以及协议类型TCP或UDP等。 我们知道TCP/IP应用层中的FTP使用运输层TCP的端口号为21用于控制连接,如果在分组过滤规则中配置一条“将目的端口号为21的出分组Outgoing Packet进行阻拦”的规则则本单位可信网络中的用户将无法从不可信的因特网中的所有FTP服务器下载文件。 通常分组过滤规则以访问控制列表Access Control ListACL的形式存储在分组过滤路由器中网络管理人员可以通过命令行或图形界面来配置ACL中的规则。 上图给出了一个简单的ACL例子规则1和2使得内网中的主机可以访问因特网中的各种Web服务器规则3和4使得因特网中的主机可以访问内网中IP地址为192.168.1.252的电子邮件服务器规则5则禁止因特网中IP地址为211.67.230.1的主机访问内网中的任何主机。 上述ACL所进行的分组过滤是无状态的也就是独立地处理每一个分组。功能更强的分组过滤路由器还支持有状态的分组过滤也就是要跟踪每个连接或会话的通信状态并根据这些状态信息来决定是否转发分组。 从以上介绍可以看出分组过滤路由器简单高效对用户是透明的用户感觉不到分组过滤路由器的存在。然而分组过滤路由器不能对应用层数据进行过滤。例如不能禁止某个用户对某个特定网络应用进行某个特定的操作也不支持应用层用户鉴别等。这些功能需要使用应用网关来实现。 8.1.1.2 应用网关 应用网关又称为代理服务器Proxy Server它可以实现应用层数据的过滤和高层用户的鉴别。所有出入网络的应用报文都必须通过应用网关。当用户通过应用网关访问内网或外网资源时应用网关可以要求用户进行身份鉴别然后根据用户身份对用户做出相应的访问控制。 当某个网络应用的客户进程向服务器发送一个请求报文时该报文会被首先传送给应用网关应用网关解析该报文根据该报文中的应用层用户标识或其他应用层信息来判断该请求是否满足安全要求。如果满足安全要求则应用网关会以客户进程的身份将该请求报文转发给服务器。如果不满足安全要求则应用网关会丢弃该请求报文。例如某种邮件网关在收到邮件时除了检查邮件地址还会检查其内容是否包含有禁用的敏感词最终决定该邮件是否能通过邮件网关。 应用网关也有一些局限 每种网络应用都需要一个专用的应用网关。当然多个不同的应用网关可以运行在同一台主机上。在应用层处理和转发报文处理负担较重。应用网关对应用程序是不透明的用户需要在应用程序客户端指明应用网关的地址。 通常可将分组过滤路由器和应用网关这两种防火墙技术结合使用。 8.1.2 个人防火墙 之前介绍的防火墙又称为网络防火墙其任务是保护内部网络的安全主要由网络管理员进行配置和使用普通的网络用户较少接触。 对于普通网络用户使用更多的是个人防火墙一般操作系统都自带功能较弱的防火墙。 个人防火墙是一种安装在用户计算机中的应用程序它对用户计算机的网络通信行为进行监控。很显然个人防火墙不同于网络防火墙个人防火墙仅保护单台计算机并且由用户为其配置分组过滤规则由于比较简单一般无须网络管理员配置。 个人防火墙根据用户配置的分组过滤规则允许或拒绝网络通信。 8.1.3 防火墙的局限性 尽管防火墙提高了内部网络的安全防护程度但是它并不能解决所有的网络安全问题主要有以下局限 1对防火墙的配置是否正确和完善在很大程度上决定了防火墙可以发挥的安全防护作用。 2防火墙对恶意代码病毒、木马等的查杀能力非常有限因此不能有效地防止恶意代码通过网络的传播。这是因为查杀恶意代码的计算开销非常大若提高防火墙的查杀力度则会降低防火墙的处理速度进而降低用户的网络带宽。 3防火墙对于一些利用系统漏洞或网络协议漏洞进行的攻击是无法防范的。攻击者通过分组过滤规则中允许的端口对某个服务器的漏洞进行攻击这对于一般的分组过滤路由器是无法防护的即使使用应用网关也必须具有能够识别该特定漏洞的应用网关才能阻断攻击。 4防火墙技术自身存在不足。例如分组过滤路由器不能防止IP地址和端口号欺骗而应用软件自身也可能有软件漏洞而存在被渗透攻击的风险。 8.2 入侵检测系统 入侵检测系统Intrusion Detection SystemIDS是在入侵已经开始但还未造成危害或在造成更大危害之前及时检测到入侵并尽快阻止入侵的一种技术。 IDS对出入网络的分组执行深度检查当检查到可疑分组时会及时向网络管理员发出警报或进行阻断。由于IDS的误报率较高因此一般情况下不建议对可疑分组进行自动阻断。 IDS能够检测端口扫描、拒绝服务DoS攻击、网络映射、恶意代码蠕虫和病毒、系统漏洞攻击等多种网络攻击。 IDS一般分为两种基于特征的入侵检测系统和基于异常的入侵检测系统。 8.2.1 基于特征的入侵检测系统 基于特征的入侵检测系统需要维护一个已知各类攻击的标志性特征的数据库。 每个标志性特征就是一个与某种入侵活动相关联的行为模式或规则集这些规则可能基于单个分祖的首部字段值或数据载荷中特定的比特串又或者与一系列分组有关。 当IDS检测到与某种攻击特征匹配的分组或分组序列时就判断可能出现了某种入侵行为。 被用于入侵检测的标志性特征必须具有很好的区分度也就是说这种标志性特征只出现在攻击活动中而在系统正常运行的过程中通常不会出现。因此这些标志性特征一般由网络安全专家提供由单位的网络管理员定制并将其加入到数据库中。 很显然基于特征的IDS只能检测已知攻击对于未知攻击则无法防范。 8.2.2 基于异常的入侵检测系统 基于异常的入侵检测系统通过观察正常运行的网络流量来学习正常网络流量的统计特性和规律。 当IDS检测到网络流量的某种统计规律不符合正常情况时则判断可能发生了入侵行为。然而区分正常流量和统计异常流量是非常困难的。现在很多研究致力于将机器学习方法应用于入侵检测让机器自动学习某种网络攻击的特征或正常流量的模式。 这种智能的方法可以大大减小对网络安全专家的依赖。目前大多数部署的IDS主要是基于特征的有些IDS中也包含了某些基于异常的特征。 漏报率和误报率是衡量IDS效能的重要依据。如果漏报率比较高则只能检测到少量入侵给人以安全的假象。对于特定的IDS可以通过调整某些参数或阈值来降低漏报率然而这同时会增大误报率。误报率太大会导致大量的虚假警报网络管理员需要花费大量时间分析警报信息甚至会因为虚假警报太多而对警报“视而不见”使IDS形同虚设。 9. 常见的网络攻击及其防范 9.1 网络扫描 网络扫描是获取攻击目标信息的一种重要技术。攻击目标信息包括目的主机的IP地址、操作系统类型、运行的程序及存在的漏洞等。在进行网络攻击之前对攻击目标的信息掌握得越全面和具体就越能有效合理地制定出攻击策略和攻击方法进而提高网络攻击的成功率。 9.1.1 网络扫描的四种主要类型 网络扫描主要有四种类型主机发现、端口扫描、操作系统检测和漏洞扫描。 9.1.1.1 主机发现 主机发现是指搜索要攻击的主机这是对其进行攻击的前提。搜索要攻击的主机实际上是要确定该目标主机的IP地址。 进行主机发现的主要方法是利用网际控制报文协议ICMP。我们知道运行TCP/IP协议栈的每台主机和路由器都运行了ICMP。攻击者向主机发送ICMP查询报文则主机会用ICMP应答报文进行响应这样攻击者就知道了该主机正在运行。攻击者可以利用ping命令应用层直接利用网际层ICMP实现的连通性测试工具对某个IP地址范围内的所有IP地址进行连通性测试来发现正在运行的目标主机。 为了防范ping扫描可以配置防火墙不允许通过ICMP查询报文也可以配置主机或服务器或路由器对ICMP查询报文不进行响应。 针对防火墙对ICMP查询报文进行阻断的情况攻击者可能会向目标主机故意发送首部有错误的IP数据报当目标主机收到这种IP数据报时会向攻击者发送ICMP差错报告报文。一般情况下防火墙不会阻断ICMP差错报告报文否则目标主机将失去进行ICMP差错报告的功能而影响正常的网络通信。 9.1.1.2 端口扫描 在进行主机发现确定了要攻击的目标主机后攻击者可以进一步通过端口扫描来获取目标主机上所有端口的工作状态进而得出目标主机上开放了哪些网络服务。例如HTTP服务使用TCP的80端口而DNS服务使用UDP的51端口。 由于活跃的TCP端口会对收到的TCP连接请求报文进行响应因此攻击者可以通过尝试与某个目的端口建立TCP连接来检测该TCP端口是否处于工作状态。 对于无连接的UDP攻击者向某个目的端口发送UDP用户数据报如果该目的端口处于工作状态则会收到该UDP用户数据报由于该UDP用户数据报是攻击者发送的其内容一般不可能满足接收方的要求因此接收方不会做出任何响应。但如果该目的端口处于关闭状态则目标主机会给攻击者发送“端口不可达”的ICMP差错报告报文攻击者收到ICMP差错报告报文后就可推断出该UDP端口处于关闭状态。 9.1.1.3 操作系统检测 不同的操作系统所存在的安全漏洞可能有很多不同。要利用这些安全漏洞进行攻击,首先必须检测远程目标主机所使用的操作系统类型通常有三种方法 获取操作系统旗标Banner信息在客户机与服务器建立连接的过程中服务器往往会返回各种独特的欢迎信息。攻击者可根据这些信息来推断出服务器的操作系统类型。获取主机端口状态信息操作系统通常会默认开启一些常用的网络服务这些服务会打开各自特定的端口进行网络监听。而不同操作系统默认开启的网络服务可能不同因此可对目标主机进行端口扫描根据端口扫描结果来推断目标主机的操作系统类型。分析TCP/IP协议栈指纹尽管RFC文档严格规定了各种协议的三要素语法、语义和同步但RFC并没有规定各种协议的具体实现。同一个协议在不同操作系统中的实现细节可能会有所不同通过分析协议数据单元或协议交互过程中的这些细节可以推断出目标主机的操作系统类型。 9.1.1.4 漏洞扫描 利用操作系统检测和端口扫描可以获知目标主机上运行的操作系统类型和网络应用服务。根据操作系统类型和网络应用服务可在网络安全机构提供的漏洞库中查找匹配的漏洞然后根据不同漏洞的具体细节向目标主机发送探测分组并从返回的结果进一步判断目标主机是否存在可利用的漏洞。 上述过程属于攻击者基于网络的漏洞扫描而用户自己可以进行基于主机的漏洞扫描以便及时修补漏洞。显然漏洞扫描对于用户和攻击者都有重要意义。 9.1.2 网络扫描的防范 为了防范上述各种类型的网络扫描可以采取以下主要措施 仅打开确实需要使用的端口关闭闲置和危险端口。限制因特网不可信网络中的主机主动与内部网络可信网络中的主机进行通信。设置防火墙根据安全要求设置分组过滤策略例如过滤不必要的ICMP报文。使用入侵检测系统及时发现网络扫描行为和攻击者IP地址配置防火墙对来自该地址的分组进行阻断。 网络扫描的行为特征是比较明显的例如在短时间内对某一IP地址范围内的每个地址和端口发起连接等。 目前大部分防火墙都具有识别简单的网络扫描行为的功能。然而很多攻击者也在研究如何隐蔽自己的网络攻击行为例如利用虚假源地址、减缓扫描速度、动态调整扫描顺序、分布式扫描等。这些对防火墙和IDS都提出了更高的要求。 9.2 网络监听 9.2.1 网络监听的常见类型 网络中传输的数据大部分都是明文形式。如果攻击者对网络进行监听并截获了包含有大量明文信息的一系列分组则可从这些分组中直接分析出账号、密码等敏感信息。 常见的网络监听类型有分组嗅探器、交换机毒化攻击和ARP欺骗。 9.2.1.1 分组嗅探器 分组嗅探器Packet Sniffer是一种网络监听工具软件它运行在网络中的某台主机上被动接收所有出入该主机的网络适配器网卡的数据链路层协议单元即帧。 如果将网络适配器配置为混杂方式网络适配器就会接收所有进入自己接口的MAC帧而不管这些帧的目的MAC地址是否指向该网络适配器。 对于使用集线器互连的共享式局域网或802.11无线局域网只要分组嗅探器软件所在主机中的网络适配器设置为混杂方式就可以监听到网络中的所有分组。然而现在的局域网基本上都是采用交换机互连而成的交换式以太网如果网络中的以太网交换机已经通过被动自学习知道了网络中各主机与交换机自身各接口的对应关系则各主机通常只能接收到发送给自己的单播帧或广播帧。这样该网络中某主机中的分组嗅探器就只能收到发送给该主机的分组而无法收到其他分组。 为了能够捕获到网络中的其他分组就必须采用一些特殊手段例如交换机毒化攻击和ARP欺骗。 9.2.1.2 交换机毒化攻击 在使用以太网交换机的交换式以太网中攻击者向以太网交换机发送大量的伪造不同源MAC地址的帧。以太网交换机收到这样的帧进行自学习就把帧首部中伪造的源MAC地址写入自己的转发表中。由于这种伪造源MAC帧的数量巨大因此很快就会使以太网交换机的转发表填满使得真正需要保存的MAC地址被更新淘汰。此时如果交换机收到正常的单播帧由于在交换机的转发表中找不到这些单播帧的目的MAC地址交换机就不得不广播这些单播帧。这样网络中某主机中的分组嗅探器就能监听到网络中其他主机间的通信了。 9.2.1.3 ARP欺骗 从ARP的工作原理可知ARP存在ARP欺骗的问题。 攻击者C希望监听主机A和B之间的通信。于是C向A发送ARP报文声称自己是B而同时又向B发送ARP报文声称自己是A。 2主机A和B就都被攻击者C欺骗了A误认为C就是BB误认为C就是A。 3主机A发送给B的分组就会发送给攻击者CC收到后再转发给B。 4主机B发送给A的分组也会发送给攻击者CC收到后再转发给A。 5主机A和B之间的通信完全被攻击者C监听而A和B却不知道C的存在。 实际上ARP欺骗是之前曾介绍过的中间人攻击。设想一下如果网络中的所有主机都被攻击者进行了ARP欺骗则攻击者就将自己伪装成了路由器从而可以监听到网络中的所有通信这对网络安全造成了极大的危害。 9.2.2 网络监听的防范 为了防范上述各种类型的网络监听可以采取以下主要措施: 1使用交换机替代集线器这不但可以提高网络性能还能使攻击者在交换机环境中更难实施监听。目前大多数交换机都具备一些安全功能。例如防止交换机毒化攻击。 2禁用交换机的自学习功能将IP地址、MAC地址与交换机的接口进行静态绑定这样可以限制非法主机的接入使攻击者无法实施交换机毒化攻击也使ARP欺骗难以实施。 3对于ARP欺骗主机或路由器可以仅使用静态ARP表而不再依据ARP请求报文或响应报文动态更新。 4划分VLAN以限制攻击者的监听范围因为分组嗅探只能在单个局域网范围内进行。 5防范网络监听的最有效的方法是进行数据加密和实体鉴别技术。 9.3 拒绝服务攻击 9.3.1 拒绝服务攻击的常见类型 拒绝服务DoS攻击它是最容易实现却又最难防范的攻击手段。 常见的DoS攻击类型有基于漏洞的DoS攻击、基于资源消耗的DoS攻击和分布式DoS攻击。 9.3.1.1 基于漏洞的DoS攻击 基于漏洞的DoS攻击主要利用网络协议漏洞或操作系统漏洞。攻击者向目标系统发送一些特殊分组使目标系统在处理这些分组时出现异常甚至崩溃。这种攻击又称为剧毒包或杀手包Killer Packet攻击。 著名的“死亡之ping”攻击就属于基于漏洞的DoS攻击其基本原理是攻击者向目标系统发送超长的ICMP回送请求报文致使将其封装成IP数据报后IP数据报的长度超过了RFC标准中规定的最大长度65535字节目标系统在接收这种IP数据报时会发生内存分配错误导致堆栈崩溃系统死机。 防范基于漏洞的DoS攻击的最有效方法就是及时为操作系统更新安全漏洞补丁。 9.3.1.2 基于资源消耗的DoS攻击 基于资源消耗的DoS攻击是DoS攻击中采用最多的一种攻击。攻击者通过向目标系统发送大量的分组从而耗尽目标系统的资源致使目标系统崩溃而无法向正常用户提供服务。 “TCP SYN洪泛”攻击就是一种典型的基于资源消耗的DoS攻击。攻击者伪造大量不同的IP地址并以这些IP地址向目标TCP服务器发送大量的TCP连接请求报文即TCP SYN报文。目标TCP服务器不能区分正常的TCP连接请求报文和恶意的TCP连接请求报文只能为每个TCP连接请求建立TCP连接为其分配缓存等相关资源并向这些伪造的IP地址发送TCP连接请求确认报文段即TCPSYNACK报文段进行响应。然而攻击者并不会对TCP连接请求确认报文段发送普通的确认报文段即TCPACK报文段进行响应这样就无法完成TCP建立连接的“三报文握手”过程。其结果就是导致TCP服务器维护大量未完成的TCP连接当这些半连接的数量超过了系统允许的上限时系统就不会再接受任何TCP连接请求。这将导致TCP服务器无法为正常客户提供服务。 与“TCPSYN洪泛”攻击思想类似的另一种攻击方法就是向目标主机发送大量的属于不同IP数据报的分片但是不会发送完构成任何一个IP数据报的所有分片。这将导致目标主机一直缓存已收到的部分分片并一直等待收齐一个IP数据报的所有分片。很显然这将耗费目标主机越来越多的系统缓存直到系统崩溃。 还有一种被称为反射攻击的间接攻击方法例如Smurf攻击。Smurf攻击是一种病毒攻击以最初发动这种攻击的程序“Smurf”来命名。攻击主机向其所在网络发送大量ICMP回送请求报文封装该请求报文的IP数据报的目的IP地址为该网络的广播地址而源地址被伪造成被攻击的目标主机的IP地址这将导致该网络中的所有主机作为反射节点将ICMP回送回答报文作为响应都发往被攻击的目标主机。这可能会引起网络拥塞或导致目标主机崩溃而无法对外提供服务。很显然反射攻击具有放大攻击流量的功能因为攻击者发送的一个分组经网络中所有其他主机的反射后将变成多个分组网络中的主机越多这种放大效果越好。 9.3.1.3 分布式DoS攻击 我们知道基于资源消耗的DoS攻击需要攻击者向目标主机发送大量的分组然而单靠一个攻击源一般很难到达效果。在分布式DoSDDoS攻击中攻击者会首先通过嗅探口令、漏洞渗透、木马等非法入侵手段来控制因特网上的大量主机然后在每个被控制的主机中安装并运行一个恶意从属程序该恶意从属程序静默等待攻击者的主控程序的指令。当被控主机达到一定数量后攻击者就通过主控程序向这些被控主机中的恶意从属程序发出攻击指令指示这些恶意从属程序同时向目标系统发起DoS攻击。这种DDoS攻击往往能产生巨大的流量来耗尽目标系统的网络带宽或导致目标系统资源耗尽而崩溃。 另外很多DDoS攻击还会结合反射攻击技术进一步将攻击流量进行放大。 9.3.2 DoS攻击的防范 到目前为止还没有一种能够完全有效防范DoS攻击的技术和方法尤其是利用大规模流量进行攻击的DDoS攻击更难以防范。 目前防范DoS攻击的主要方法有以下几种 1利用防火墙对恶意分组进行过滤。例如将防火墙配置为过滤掉所有ICMP回送请求报文可以防范Smurf攻击。然而对于像“TCPSYN洪泛”这类攻击一般很难区分哪些TCP连接请求报文是恶意的。某些防火墙可以动态检测到指定TCP服务器上半连接的数量当该数量超过预设的阈值时防火墙将丢弃向该TCP服务器发送的TCP连接请求报文。 2使用支持源端过滤的路由器。通常参与DoS攻击的分组的源IP地址都是伪造的,如果能够防止IP地址伪造就能够防止此类的DoS攻击。使用支持源端过滤的路由器可以尽量减少IP地址伪造的现象。这种路由器会检查来自其直连网络的分组的源IP地址如果源IP地址与该网络的网络前缀不匹配则路由器丢弃该分组。然而这种简单的源端过滤并不能彻底消除IP地址伪造现象因为攻击者仍然可以冒充因特网服务提供者的网络中的任何一台主机。因此如果要通过源端过滤来防范DoS攻击则必须使因特网上所有的路由器都具有源端过滤的功能。然而目前源端过滤并不是路由器的强制功能支持源端过滤的路由器还是少数。 3追溯DoS攻击源。路由器对通过自己的IP数据报的首部进行标记通过该标记可以追溯到DoS攻击源。一旦确定了参与攻击的源主机就把它隔离起来。然而这个过程通常很慢并且需要人工千预因此目前主要用于事后追查以及为采取相应的法律手段提供依据。 4进行DoS攻击检测。入侵检测系统可以通过分析分组首部特征和流量特征来检测正在发生的DoS攻击并发出警报。及时检测到DoS攻击可将攻击所造成的危害降到最低。 上述措施并不能彻底防范DoS攻击DoS攻击是目前最容易实现却又最难防范的攻击手段。
http://www.zqtcl.cn/news/222323/

相关文章:

  • 胜利油田局域网主页入口seo自学网官网
  • 阜阳网站是网站开发与设计专业
  • 网站建设哪个品牌好网站新备案不能访问
  • 网站备案号申请流程华为企业文化
  • 服装网站目标互联网舆情报告
  • 1.网站开发的详细流程电商网站开发文档
  • 域名估价网站制作网站需要注意什么
  • 新浪云虚拟主机做电影网站用什么l软件做网站了
  • 方城网站建设猴痘的治疗方法
  • 做响应式网站有什么插件哔哩哔哩免费安装
  • 织梦网站默认密码wordpress菜单页和文章页路径不同
  • 那些网站可以做兼职网站建设与维护 东博
  • 快速建站的模板建设银行嘉兴分行官方网站
  • 江西智能网站建设wordpress三栏博客主题
  • 怎么做网站账号注册机sem竞价
  • 吕梁建设机械网站怎么让网站排名上去
  • 网站建设的需要分析龙岗招聘网
  • 如何制作企业的网站网站开发答辩ppt
  • 大连中山网站建设网站在线qq代码
  • 南昌seo网站微商城网站建设如何
  • anker 网站建设手机可以做网站的服务器吗
  • 门户网站建设 报价没有网页快照对网站有什么影响
  • 陕西专业网站建设哪家好甜点网站里的新闻资讯怎么做
  • 邯郸企业网站团队h5微场景制作软件
  • 镇江建工建设集团网站泛微e8做网站门户
  • 适合友情链接的网站全球软件公司排行榜
  • 沈阳网站制作 600元网站飘动广告代码
  • 最先进的无锡网站建设wordpress调用 别的网站
  • 河南网站备案地址静安青岛网站建设
  • 烟台网站建设推荐企汇互联见效付款查看网站被百度收录