⽹络安全学习笔记(适合初学者)
⽹络安全学习笔记
一个新手怎么做黑客⼀、 Ip欺骗(IP spoof)及防范原则
IP[地址]欺骗被⽤来从事⾮法活动,破坏⽹络安全,⿊客使⽤IP欺骗就不会被抓到,还有⼀些⿊客进⾏Dos攻击的时候,就可以隐藏真实的IP,这样攻击者就⽆法查到。IP欺骗有时候也可以⽤来被克隆某个内部⽹中的信息,这样有时候就可以避免开户名和密码验证⽽直接登录系统。
先了解TCP报⽂格式:
在TCP报⽂的报头中,有⼏个标志字段:
1)URG:紧急 (Urgent)指针标志,为1时表⽰紧急指针有效,为0则忽略紧急指针。
2)ACK:确认(Acknowledgement)序号标志,为1时表⽰确认号有效,为0表⽰报⽂中不含确认信息,忽略确认号字段。
3)PSH:push(推送)标志,为1表⽰是带有push标志的数据,指⽰接收⽅在接收到该报⽂段以后,应尽快将这个报⽂段交给上层程序处理,⽽不是在缓冲区排队。
4)RST:Reset(重置、复位)连接标志,⽤于重置由于主机崩溃或其他原因⽽出现错误的连接。或者⽤于拒绝⾮法的报⽂段和拒绝连接请求。
5)SYN:同步序号(SYnchronize sequence Numbers),⽤于建⽴连接过程,在连接请求中,SYN=1和ACK=0表⽰该数据段没有使⽤捎带的确认域,⽽连接应答捎带⼀个确认,即SYN=1和ACK=1。
6)FIN:finish(结束)标志,⽤于释放连接,为1时表⽰发送⽅已经没有数据发送了,即关闭本⽅数据流。
⽬前造成⽹络不安全的因素有两⼤类,⼀类是⼈为因素,⽐如⿊客;另外的就是⽹络体系结构本⾝存在的安全缺陷,⽐如TCP/IP协议的安全性缺陷。IP地址欺骗就是通过TCP/IP协议本⾝存在的⼀些缺陷进⾏攻击,取得⽬标系统的信任以便获取机密信息。
IP地址欺骗的原理
在⽹络上,计算机之间要进⾏交流必须在两个前提之下:认证和信任。认证是⼀种鉴别过程,两台计算机经过认证的过程,才会建⽴起相互信任的关系。信任和认证具有逆反关系,即如果计算机之间存在⾼度的信任关系,则交流时就不会要求严格的认证。⽽反之,如果计算机之间没有很好的信任关系,则会进⾏严格的认证。
IP地址欺骗实质上就是冒充⾝份通过认证来骗取信任的攻击⽅式,攻击者针对认证机制的缺陷,将⾃⼰伪装成其他计算机的IP地址,骗取连接来获得信息或者得到特权。
常见的IP地址欺骗技术
1. IP源路由欺骗
TCP/IP⽹络中,IP包的传输路径完全由路由决定,IP报⽂⾸部的可选项中有“源站选路”,可以指定到达⽬的站点的路由。
源站选路((source routing))给攻击者带来了很⼤的便利。
攻击者可以使⽤假冒IP地址如10.10.2.3向受害者IP如10.10.5.5发送数据包,并指定了宽松的源站选路或者严格路由选择,并把⾃⼰的IP 地址如10.50.5.5填⼊地址清单中。
当受害者在应答的时候,按收到数据包的源路由选项反转使⽤源路由,传送到被更改过的路由器,由于路由器的路由表已被修改,收到受害者的数据包时,路由器根据路由表把数据包发送到攻击者所在的⽹络,攻击者可在其局域⽹内较⽅便地进⾏侦听,收取此数据包。
(2) TCP会话劫持
在⼀般的欺骗攻击中攻击者并不是积极主动地使⼀个⽤户下线来实现他针对受害⽬标的攻击,⽽是仅仅装作是合法⽤户。此时,被冒充的⽤户可能并不在线上,⽽且它在整个攻击中不扮演任何⾓⾊,因此攻击者不会对它发动进攻。但是在会话劫持中,为了接管整个会话过程,攻击者需要积极攻击使被冒充⽤户下线。
在TCP/IP协议中,TCP协议提供可靠的连接服务,采⽤三次握⼿建⽴⼀个连接,⽤来交换TCP窗⼝⼤⼩信息,连接包含双⽅的序列号和确认号。在TCP连接中,每台主机会创建⼀个TCB数据结构,存储与连接有关的数据。
TCP会话劫持过程分为五个步骤:(1)发现攻击⽬标。⾸先,通常攻击者希望这个⽬标是⼀个准予TCP会话连接(例如Telnet和FTP等)的服务器。(2)确认动态会话。与⼤多数攻击不同,会话劫持攻击适合在⽹络流通量达到⾼峰时才会发⽣的。(3)猜测序列号。TCP区分正确数据包和错误数据包仅通过它们的SEQ/ACK序列号。序列号却是随着时间的变化⽽改变的。因此,攻击者必须成功猜测出
序列号。通过嗅探或ARP欺骗,先发现⽬标机正在使⽤的序列号,再根据序列号机制,可以猜测出下⼀对SEQ/ACK序列号。(4)使客户主机下线。当攻击者获得了序列号后,为了彻底接管这个会话,他就必须使客户主机下线。使客户主机下线最简单的⽅式就是对其进⾏拒绝服务攻击,从⽽使其不再继续响应。(5)接管会话。既然攻击者已经获得了他所需要的⼀切信息,那么他就可以持续向服务器发送数据包并且接管整个会话了。
IP欺骗攻击的防御
(1) 防范源路由欺骗
为了保护⼀个单位不成为基本IP地址攻击的受害者,应该在路由器上进⾏基本过滤。⼤多数路由器有内置的欺骗过滤器。过滤器的最基本形式是,不允许任何从外⾯进⼊⽹络的数据包使⽤单位的内部⽹络地址作为源地址。
保护⾃⼰或者单位免受源路由欺骗攻击的最好⽅法是设置路由器禁⽌使⽤源路由。在⼀个Cisco路由器上,可以通过使⽤IPsource-route命令使源路由有效或者⽆效,在其他路由器上可以使⽤类似的命令使源路由⽆效。
(2) 防范会话劫持攻击
会话劫持攻击是⾮常危险的,因为攻击者能够直接接管合法⽤户的会话。在其他的攻击中可以处理那些危险并且将它消除。但是在会话劫持中,消除这个会话也就意味着禁⽌了⼀个合法的连接,从本质上来说这么做就背离了使⽤Internet进⾏连接的⽬的。
没有有效的办法可以从根本上防范会话劫持攻击,以下列举了⼀些⽅法可以尽量缩⼩会话攻击所带来危害:(1)进⾏加密。加密技术是可以防范会话劫持攻击为数不多的⽅式之⼀。如果攻击者不能读取传输数据,那么进⾏会话劫持攻击也是⼗分困难的。(2)使⽤安全协议。⽆论何时当⽤户连⼊到⼀个远端的机器上,特别是当从事敏感⼯作或是管理员操作时,都应当使⽤安全协议。(3)限制保护措施。允许从⽹络上传输到⽤户单位内部⽹络的信息越少,那么⽤户将会越安全,这是个最⼩化会话劫持攻击的⽅法。攻击者越难进⼊系统,那么系统就越不容易受到会话劫持攻击。
⼆、⽆线⽹络安全术语
SSID(Service Set Identifier,服务集标识)技术可以将⼀个⽆线局域⽹分为⼏个需要不同⾝份验证的⼦⽹络,每⼀个⼦⽹络都需要独⽴的⾝份验证,只有通过⾝份验证的⽤户才可以进⼊相应的⼦⽹络,防⽌未被授权的⽤户进⼊本⽹络。
ESSID(Extended Service Set Identifier,扩展的服务集标识),⽤来区分不同的⼤型⽹络,最多32个字符,⽆线⽹卡设置了不同的SSID就可以进⼊不同⽹络,SSID通常由AP或⽆线路由器⼴播,通过
系统⾃带的扫描功能可以查看当前区域内的SSID。
⽆线接⼊点是指⽆线局域⽹(WLAN)⽤户终端接⼊⽹络的设备。⽤户通过⽹卡接⼊WLAN的接⼊点AP(Access Point),就可以接⼊有线⽹络。
Wi-Fi⽆线局域⽹的认证(Authentication)和加密(Encryption)⽅式有Open System, WEP, WPA, WPA2, MAC ACL。
Open System: 完全不认证也不加密,任何拥有⽆线⽹卡的⼈都可以连到⽆线接⼊点。
WEP (Wired Equivalent Privacy,有线等效保密): 有线等效保护协议。⽆线接⼊点设定有 WEP密钥(WEP Key),⽆线⽹卡在要接⼊到⽆线⽹络是必须要设定相同的WEP Key,否则⽆法连接到⽆线⽹络。WEP可以⽤在认证或是加密,例如认证使⽤Open System,⽽加密使⽤WEP;或者认证和加密都使⽤WEP。
WEP加密⽅式各密钥类型要求密钥字符数⽬:
  64位密钥:ASCII码字符5个,⼗六进制字符10个
  128位密钥:ASCII码字符13个,⼗六进制字符26个
标准的64⽐特WEP使⽤40⽐特(⼗六进制字符10个)的接上24⽐特的初向量(initialization vector,IV) 成为64⽐特密钥。 128 ⽐特的 WEP 使⽤104⽐特(⼗六进制字符26个)的接上24⽐特的IV。
⼗六进制字符包括0~9和A~F。
【ASCII (American Standard Code for Information Interchange,美国信息交换标准代码)码使⽤指定的7 位或8 位⼆进制数组合来表⽰128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使⽤7 位⼆进制数(剩下的1位⼆进制为0)来表⽰所有的⼤写和⼩写字母,数字0 到9、标点符号, 以及在美式英语中使⽤的特殊控制字符。扩展ASCII 字符是从128 到255(0x80-0xff)的字符。扩展ASCII不再是国际标准。】
WPA (Wi-Fi Protected Access,Wi-Fi⽹络安全接⼊ ): WPA的认证分为两种:第⼀种采⽤802.1x+EAP的⽅式,⽤户提供认证所需的凭证,如⽤户名密码,通过特定的⽤户认证服务器(⼀般是RADIUS服 务器)来实现。在⼤型企业⽹络中,通常采⽤这种⽅式。另外⼀种是相对简单的模式,它不需要专门的认证服务器,这种模式叫做WPA预共享密钥(WPA-PSK),仅要求在每个WLAN节点(AP、⽆ 线路由器、⽹卡等)预先输⼊⼀个密钥即可实现。只要密钥吻合,客户就可以获得WLAN的访问权。由于这个密钥仅仅⽤于认证过程,⽽不⽤于加密过程,因此不 会导致诸如使⽤WEP密钥来进⾏802.11共享认证那样严重的安全问题。WPA采⽤TKIP(Temporal Key Integrity Protocol,临时密钥完整性协议)为加密引
⼊了新的机制,它使⽤⼀种密钥构架和管理⽅法,通过由认证服务器动态⽣成分发的密钥来取代单个静态密钥、把密钥⾸部长度从24 位增加到48位等⽅法增强安全性。⽽且,TKIP利⽤了802.1x/EAP构架。认证服务器在接受了⽤户⾝份后,使⽤802.1x产⽣⼀个唯⼀的主密钥 处理会话。然后,TKIP把这个密钥通过安全通道分发到AP和客户端,并建⽴起⼀个密钥构架和管理系统,使⽤主密钥为⽤户会话动态产⽣⼀个唯⼀的数据加密密钥,来加密每⼀个⽆线通信数据报⽂。TKIP的密钥构架使WEP静态单⼀的密钥变成了500万亿可⽤密钥。虽然WPA采⽤的还是和WEP⼀样的RC4加 密算法,但其动态密钥的特性很难被攻破。
WPA2: WPA2顾名思义就是WPA的加强版,也就是IEEE 802.11i的最终⽅案。同样有家⽤的PSK版本与企业的IEEE 802.1x版本。WPA2与WPA的差別在于,它使⽤更安全的加密技术AES (Advanced Encryption Standard),因此⽐WPA更难被破解、更安全。
MAC ACL (Access Control List): MAC ACL只是⼀种认证⽅式。在⽆线AP輸⼊允许被连⼊的⽆线⽹卡MAC位址,不在此清单的⽆线⽹卡⽆法连⼊⽆线⽹络。