网络安全课程笔记
网络安全 武斌
概述
网络空间
物理网络位置→逻辑层面(逻辑网络组件)→社会和认知层面(网络上的人)
安全共性
硬件安全
系统安全
协议安全
网络安全
硬件性能的快速提升促进不同网络逐渐趋同
硬件趋同→应用技术趋同→安全威胁扩展
云上问题层出不穷
共性安全问题:
- 漏洞挖掘利用
- 协议权限类似:面临Dos等攻击
- 安全防护方法类似
网络安全现状
略
网络安全概述
资产保护
- 物理资源:物理资源是具有物理形态的资产
- 知识资源:知识资源可以是任何信息的形式,并直在组织的事务处理中起一定的作用
- 时间资源
- 信誉资源
损失:
- 即时的损失
- 长期的恢复所需花费
安全强度-安全代价的折中:
- 用户方便程度
- 管理复杂性
- 对现有系统的影响
- 对不同平台的支持
安全强度、安全代价和侵入可能性的关系
信息安全模型
信息保密技术的研究基础:
① 发展各种密码算法及其应用 :
DES(数据加密标准)、 RSA(公开密钥体制)、 ECC(椭圆曲线离散对数密码体制)等。
② 计算机信息系统安全模型和安全评价准则 :
访问监视器模型、多级安全模型等;TCSEC(可信计算机系统评价准则)、 ITSEC(信息技术安全评价准则)等。
信息保障(IA)
定义:确保信息和信息系统的可用性、完整性、可控性、保密性、不可否认性来保护信息
信息保障技术框架IATF:由美国国家安全局制定,提出 “纵深防御策略”DiD( Defense-in-Depth Strategy)。
强调人、技术、操作这三个核心原则。
在信息保障的概念下,信息安全保障的PDRR模型的内涵已经超出了传统的信息安全保密,而是保护( Protection)、检测(Detection)、响应(Reaction )和恢复(Restore)的有机结合。
网络攻击类型及分类
攻击类型
从安全属性来看,攻击类型可分为4类: 阻断攻击、截取攻击、篡改攻击、伪造攻击。
( 1)阻断攻击
阻断攻击使系统的资产被破坏,无法提供用户使用,这是一种针对可用性的攻击。例如,破坏硬盘之类的硬件,切断通信线路,使文件管理系统失效等。
(2)截取攻击
截取攻击可使非授权者得到资产的访问,这是一种针对机密性的攻击。非授权者可以是一个人、一个程序或一台计算机,例如, 通过窃昕获取网上数据以及非授权的复制文件和程序。
(3)篡改攻击
篡改攻击是非授权者不仅访问资产,而且能修改信息,这是一种针对完整性的攻击。例如,改变数据文件的值,修改程序以及在 网上正在传送的报文内容。
(4)伪造攻击
伪造攻击是非授权者在系统中插入伪造的信息,这是一种针对真实性的攻击。例如:在网上插入伪造的报文,或在文件中加入一 些记录。
主动攻击和被动攻
被动攻击
目的是获取正在传输的信息。被动攻击包括传输报文内容的泄露 和通信流量分析。报文内容的泄露易于理解,一次电话通信、一 份电子邮件报文、正在传送的文件都可能包含敏感信息或秘密信息
对被动攻击的检测十分困难,因为攻击并不涉及数据的任何改变。然而阻止这些攻击的成功是可行的,因此,对被动攻击强调的 是阻止而不是检测。
主动攻击
包含对数据流的某些修改,或者生成一个假的数据流。它可分成4类:
(1)伪装
伪装是一个实体假装成另一个实体。伪装攻击往往连同另一类主动攻击一 起进行。
(2)回答 (重放)
回答攻击包含数据单元的被动捕获,随之再重传这些数据,从而产生一个
非授权的效果。
(3)修改报文
修改报文攻击意味着合法报文的某些部分已被修改,或者报文的延迟和重
新排序,从而产生非授权的效果。
(4)拒绝服务
拒绝服务攻击是阻止或禁止通信设施的正常使用和管理。这种攻击可能针 对专门的 目标(如安全审计服务) ,抑制所有报文直接送到目的站;也可能破 坏整个网络,使网络不可用或网络超负荷,从而降低网络性能。
主动攻击和被动攻击具有相反的特性。被动攻击难以检测出来, 然而有阻止其成功的方法。而主动攻击难以绝对地阻止,因为要 做到这些,就要对所有通信设施、通路在任 何时间进行完全的保 护。因此对主动攻击采取检测的方法,并从破坏中
访问攻击
攻击者企图获得非授权信息,这种攻击可能发生在信息驻留在计算机系统中或在网络上传输的情况下。是针对信息机密性的攻击。
常见的访问攻击有3种:
(1)窥探(snooping):是查信息文件,发现某些攻击者感兴趣的信息。攻击者试图打开计算机系统的文件,直到找到所需信息;
(2)窃听(eavesdropping):是偷听他人的对话,为了得到非授权的信息访问,攻击者必须将自己放在一个信息通过的地方,一般采用电子的窃听方式;
(3)截获(interception):不同于窃听 ,它是一种主动攻击方式。攻击者截获信息是通过将自己插入信息通过的通路,且在信息到达目的地前能事先 捕获这些信息。
篡改攻击
篡改攻击是攻击者企图修改信息,而他们本来是无权修改的。这种攻击可能发生在信息驻留在计算机系统中或在网络上传输的情况下 , 是针对信息完整性的攻击。
常见的篡改攻击有3种:
(1)改变:改变已有的信息 。例如,攻击者改变己存在的员工工资,改变以 后的信息虽然仍存在于该组织,但已经是不正确的信息。这种改变攻击的 目标通常是敏感信息或公共信息。
(2)插入 :插入信息可以改变历史的信息 。例如,攻击者在银行系统中加 一个事务处理,从而将 客户账户的资金转到自己账户上。
(3)删除 :删除攻击是将已有的信息去除,可能是将历史记录的信息删除 。例如,攻击者将一个事务处理记录从银行结账单中删除,从而造成银行 资金的损失。
拒绝服务攻击
拒绝服务攻击(Denial-of-Service , DoS)是拒绝合法用户使用系统 、信息、能力等各种资源。可分成以下4种:
(1)拒绝访问信息:使信息不可用 ,信息被破坏或者将信息改变成不可使用状态,也可能信息仍存在,但已经被移到不可访问的位置。
(2)拒绝访问应用:目标是操纵或显示信息的应用。通常对正在运行应用程序的计算机系统进行攻击,使应用程序不可用而不能完成任务。
(3)拒绝访问系统:通常是使系统宕机,使运行在该计算机系统上的所有应用无法运行,使 存储在该计算机系统上的所有信息不可用。
(4)拒绝访问通信:是针对通信的一种攻击,已有很多年历史。这类攻击可能用切断通信电缆、干扰无线电通信以及用过量的通信负载来淹没网络。
否认攻击
否认攻击是针对信息的可审性进行的。否认攻击企图给出假的信息或者否认已经发生的现实事件或事务处理。
否认攻击包括两类:
(1)假冒:假冒是攻击者企图装扮或假冒别人和别的系统。这种攻击可能发生在个人通信、事务处理或系统对系统的通信中。
(2)否认:否认一个事件是简单地抵赖曾经登录和处理的事件。例如,一个人用信用卡在商店 里购物,然而当账单送到时,告诉信用卡公司,他从未到该商店购物。
网络信息安全服务
- 机密性服务:提供信息的保密。
- 完整性服务:提供信息的正确性。
- 可用性服务:提供的信息是可用的。
- 可审性服务:本身不针对攻击提供保护,需与其它服务结合。`
机密性防护
文件机密性
为实现文件机密性服务,所需提供的机制包括物理安全机制、计算机文件访 问控制以及文件加密。
文件机密性的要求包括身份标识和身份鉴别、正确的计算机系统配置,如使 用加密则还需合适的密钥管理。
信息传输机密性
可基于每个报文信息进行加密保护,也可以对链路上的所有 通信进行加密。
通信流机密性
这些信息形式通过通信分析可识别组织之间的通信情况。 例如,很多新闻机构发现某一时刻有大量的快餐送至政 府某重要机关,则可推测某些紧急事件甚至是危机可能发生。
完整性防护
文件完整性
完整性服务也必须和身份标识、身份鉴别功能结合在一起。
信息传输完整性
信息在传输中也可能被修改,然而如果不实施截获攻击就很难对 传输中的信息进行修改。
完整性服务可成功地阻止篡改攻击和否认攻击。任何篡改攻击都可能改变文件或传输中的信息,当完整性服务能检测到非授权者的访问,篡改攻击就不能成功进行。当完整性服务和身份 标识、身份鉴别服务很好地结合,即使组织以外的文件被 改变也能被检测出来。
可用性防护
可用性是用来对拒绝服务攻击的系统恢复。可用性并不能阻止DoS,但 可用性服务可用来减少这类攻击的影响。
可审性防护
身份标识与身份鉴别
有两个目的:其一是对试图执行一个功能的每个人的身份进行标识;其二是验证这些人声称的身份。
身份鉴别可使用以下任何一种或其组合的方法 实现:
. (1)知识因子——你知道什么,如口令或PIN(个人身份标识号)。
. (2)拥有因子——你有什么,如智能卡或标记。
. (3)生物因子——你是什么,如指印、视网膜。
数字签名
数字签名是通信双方在网上交换信息用公钥密码防止伪造和欺骗的一种身份认证。
Kerberos鉴别
Kerberos使用对称密钥加密算法来实现,通过可信第三方 密钥分发中心的认证服务,它提供了网络通信方之间相互 的身份认证手段,而且并不依赖于主机操作系统和地址。
网络安全评估
1. 可信计算机系统评估准则(TCSEC )
橘皮书
D级,无保护级
C1级, 自主安全保护级
C2级,受控存取保护级
B1级,标记安全保护级
B2级,结构化保护级
B3级,安全域级
A级,验证设计级
2. 信息技术安全评估准则(ITSEC )
白皮书
ITSEC定义了从E0级(没有任何保证)到E6级(形式化 验证)的七个安全等级。
目前,ITSEC已大部分被CC替代
3. 信息安全技术通用评估准则(CC )
简介和一般模型:正文介绍了CC中的有关术语、基本概 念和一般模型以及与评估有关的一些框架,附录部分主 要介绍保护轮廓(PP)和安全目标(ST)的基本内容。
安全功能要求:按“类-族-组件 ”的方式提出安全功能要求, 提供了表示评估目标TOE安全功能要求的标准方法。
安全保证要求 :定义了评估保证级别,建立了一系列安 全保证组建作为表示TOE保证要求的标准方法。
4. 我国信息安全评估准则
第一级:用户自主保护级
第二级:系统审计保护级
第三级:安全标记保护级
第四级:结构化保护级
第五级:访问验证保护级
网络安全评估方式
风险评估
生存性评估
网络安全态势评估
网络攻击效果评估
安全测评
信息安全工程能力评估
信息系统审计
网络攻击—ARP 攻击
嗅探技术
嗅探技术,是一种常用的收集有用数据信息的网络监听方法,是网络安全攻防技术中很重要的一种。
以太网嗅探。网卡一般具有四种接收工作模式
· 广播 (Broadcast) 模式,可以接收局域网内目的地址为广播 地址(全1地址)的所有数据报;
· 多 播 (Multicast) 模式,可以接收目的地址为多播地址的所有 数据报;
· 直 接 (Directory) 模式,也就是单播 (Unicast) 模式,只接 收目的地址为本机MAC 地址的所有数据报;
· 混杂 (Promiscuous) 模式,能够接收通过网卡的所有数据报。
网卡被设置成混杂模式时,无论监听到的数据帧目的地址如何,网卡能接收所有达到自身的数据。
交换机
交换机 (Switch) 意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两 个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。
交换机工作于OSI 参考模型的第二层,即数据链路层。交换机内部 的CPU 会在每个端口成功连接时,通过将MAC 地址和端口对应,形成一张MAC 表。
ARP 协议
地址解析协议,即ARP(Address Resolution Protocol), 是根据IP地址获取物理地址 的一个TCP/IP协议。
网络通信一般以 IP地址为源、目的地址,但工作在数据链路层的交换机、网卡等并不能识别IP地址,需要获取MAC 地址才能通信。
主机设有一个 ARP高速缓存 ,存放局域网中主机的IP地址和MAC 地址对。当两台主机进行通信时,通过查询ARP 缓 存表来进行IP地址到MAC 地址的转换。缓存表中不存在查 找项时, 运行ARP广播查找目标主机的MAC地址。ARP缓存表中的每一个映射地址项都有生存时间,进行定时更新。
ARP 协议工作过程
● 源主机A 首先判断目的主机B是否处于同一子网(根据本子网的子 网掩码和目标主机IP地址)。
● 若目的主机位于同一子网内
主 机A 先检查ARP 缓存内是否有主机B 的MAC 地址。
如果没有,主机A会发送一个ARP 请求广播包,此包内包含着其欲与之通信的主机的IP地址,也就是主机B的IP地址。
当 主 机B收到此广播后,会将自己的MAC 地址利用ARP 响应包传给主机A, 并更新自己的ARP 缓存,也就是同时将主机A的IP地 址/MAC 地址对保存起来,以供后面使用。
主 机A 在得到主机B 的MAC 地址后,就可以与主机B通信了。同时,主机A也将主机B 的IP地址/MAC 地址对保存在自己的ARP 缓 存内。
ARP 攻击技术
● 在交换式网络环境下,通信参与者有三个:
通信双方A和B
交换机S
攻击者C
要想达到嗅探的目的,可以有三个攻击点, (1)交换机S, (2)目标主机A和B,(3) 自 己C。
发送大量虚假MAC 地址数据报
交换机虽然可以维护一张端口-MAC 的地址映射表,但是由于交换机内存有限,地址映射表的大小也就有限。
如果主机C 发送大量虚假MAC 地址的数据报,快速填满地址映射表。交换机在地址映射表被填满后,就会像HUB 一样以广播 方式处理数据报。
这种方法不适合采用静态地址映射表的交换机,而且也不是所有交换机都采用这种转发处理方式。
ARP 欺骗
ARP 欺骗利用修改主机ARP 缓存表的方法达到嗅探的目的,是一种中间人攻击。主机C 为了达到嗅探的目的,会向主机A 和主机B分别发送ARP 应答包,告诉它们IP地址为IPB 的主机MAC 地址为MACC,IP 地址为IPA 的主机MAC地址为MACC。
这 样 , 主 机A 和主机B 的ARP 缓存中就会有IPB—MACC 和IPA—MACC 的记录。这样,主机A 和主机B的通信数据都流向了主机C, 主机C 只要再发送到 其真正的目的地就可以了。当然ARP 缓存表项是动态更新的(一般为两分 钟),如果没有更新信息, ARP 映射项会自动删除。所以,主机C 在监听过 程中,还要不断地向主机A 和主机B 发送伪造的ARP 应答包。
修改本地MAC 地址
也可以通过修改本地MAC 地址为目标主机MAC 地址来实现嗅探。把主机C 的MAC 地址修改为目标主机B 的MAC 地址,交换机会将 MACB 和端口c对应起来。
在以后收到目的地址为MACB 的数据报后,交换机会将包从端口c发送出去。这样就达到了监听的目的。
但同样地,这种方法只适用于动态生成地址映射表的交换机,并且没有采用其它策略。
ARP 攻击溯源
方法一 :捕包分析
在网络内任意一台主机上运行抓包软件,捕获所有到达本机的数据包。如果发现有某个IP不断发送ARP Request请求包,那么这台电脑一般就是攻击源。
原 理 :ARP 攻击行为方式主要有两种, 一是欺骗网关,二是欺骗网内的所有主机。最终的结果是,在网关的ARP 缓存表中,网内所有活动主机 的MAC 地址均为中毒主机的MAC 地址;网内所有主机的ARP 缓存表中, 网关的MAC 地址也成为中毒主机的MAC 地址。前者保证了从网关到网 内主机的数据包被发到中毒主机,后者相反,使得主机发往网关的数据 包均发送到中毒主机。
方法二:
使用arp-a 命令任意选两台不能上网的主机,在DoS 命令窗口下运行arp-a命令。例如在结果中,两台电脑除了网关的IP, MAC 地址对应项,都包含了192.168.0.186的这个IP, 则可以断定 192.168.0.186这台主机就是攻击源。
原理: 一般情况下,网内的主机只和网关通信。正常情况下, 一台主机的ARP 缓存中应该只有网关的MAC 地址。如果有其他主机 的MAC 地址,说明本地主机和这台主机最后有过数据通信发生。 如果某台主机(例如上面的192.168.0.186)既不是网关也不是服 务器,但和网内的其他主机都有通信活动,且此时又是ARP 攻击 发作时期,那么攻击源也就是它了。
方法三:
使用tracert 命令在任意一台受影响的主机上,在DoS 命令窗口下运行如下命令: tracert 61.135.179.148。
● 假定设置的缺省网关为10.8.6.1,在跟踪一个外网地址时, 第一跳却是10.8.6.186,那么, 10.8.6.186就是攻击源。
● 原理:中毒主机在受影响主机和网关之间,扮演了“中间人” 的角色。所有本应该到达网关的数据包,由于错误的MAC地址,均被发到了中毒主机。此时,中毒主机越俎代庖,起了缺省网关的作用。
ARP 攻击防御方法
方法一:减少过期时间
1 | #ndd -set /dev/arp arp cleanup interval 60000 |
加快过期时间,并不能避免攻击,但是使得攻击更加困难,带来的影响是在网络中会大量的出现 ARP 请求和回复,请不 要在繁忙的网络上使用。
方法二:建立静态ARP表
这是一种很有效的方法,而且对系统影响不大。缺点是破坏了动
态ARP 协议。可以建立如下的文件。
1 | [test.nsfocus.com](http://test.nsfocus.com/) 08:00:20:ba:a1:f2 |
使用arp -f filename加载进去,这样的ARP 映射将不会过期和被新
的ARP 数据刷新,除非使用arp-d 才能删除。但是一旦合法主机的 网卡硬件地址改变,就必须手工刷新这个arp文件。这个方法,不 适合于经常变动的网络环境。
方法三:禁止ARP
可以通过ipconfig interface-arp 完全禁止ARP, 这样, 网卡不会发送ARP 和接受ARP 包。但是使用前提是使用 静态的ARP 表,如果不在ARP 表中的计算机,将不能通 信。
这个方法不适用与大多数网络环境,因为这增加了网络管理的成本。但是对小规模的安全网络来说,还是有效 可行的。
拒绝服务攻击
典型DoS—Ping of Death
攻击者故意在ICMP Echo数据包(Ping包)之后附加非常多的冗余信息,使数据包的尺寸超过65535个字节的上限。
接收方对这种数据包进行处理时就会出现内存分配错误,导致TCP/IP堆栈溢出,从而引起系统崩溃,挂起或重启。
典型DoS——Teardrop
Teardrop指的是向目标机器发送损坏的IP包,诸如重叠的包或过大的包载荷,该攻击通过TCP/IP协议栈中分片重组代码中的bug来瘫痪各种不同的操作系统。
典型DoS——Land攻击
Land攻击:利用特殊的TCP封包传送至目标主机,使其因无法判别而当机或被迫重新启动。
攻击原理是:用一个特别构造的SYN包,它的源地址和目标地址都被设置成某一个服务器地址。此举将导致接受服务器向它自己的地址发送SYN一ACK消息,结果这个地址又发回ACK消息并创建一个空连接。被攻击的服务器每接收一个这样的连接都将保留,直到超时。
典型DoS—SYN洪水
原理:
- 每个机器都需要为半开连接分配一定的资源
- 这种半开连接的数量是有限制
- 攻击方利用TCP连接三次握手过程,打开大量的半开TCP连接
- 目标机器不能进一步接受TCP连接。机器就不再接受进来的连接请求。
典型DoS—Smurf
原理:
- 攻击者向一个广播地址发送ICMP Echo请求,并且用受害者的IP地址作为源地址
- 广播地址网络上的每台机器响应这些Echo请求,同时向受害者主机发送ICMP Echo-Reply应答
- 受害者主机会被这些大量的应答包淹没
传统DoS的变化
CC攻击:Challenge Collapsar
原理:CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。
慢速攻击
对HTTP服务器,先建立了一个连接,指定一个比较大的content-length,然后以非常低的速度发包,比如1-10s发一个字节,然后维持住这个连接不断开。
如果客户端持续建立这样的连接,那么服务器上可用的连接将一点一点被占满,从而导致拒绝服务。
基于误用的DDoS检测
基于误用方法依赖于攻击特征的选取, 一般用于检测利用漏洞型的DDoS攻击。
基于误用的DDoS检测主要是利用了特征匹配、模型推理、状态转换和专家系统的方法
基于异常的DDoS检测
基于异常的DDoS检测取决于检测模型的建⽴,不同的模型对应着不同的检测⽅式,主要包括统计检测、模式预测、⼈⼯智能检测、机器学习检测四种⽅法
按算法部署位置分类的检测方法
l源端检测
Ø源端DDoS攻击检测指的是将检测算法布置在发出攻击数据包的主机所处⽹络的边界路由器上。
Ø将DDoS攻击检测系统部署在源端, 可以使得攻击数据流在进⼊⽹络之前被阻⽌。
l中间⽹络检测
Ø中间⽹络DDoS攻击检测是指将攻击检测算法部署在整个⽹络上, 包括路由器、交换机或其他⽹络设备。
Ø在中间⽹络进⾏检测,通常是在核⼼路由器上部署分布式的DDoS防御检测系统。
l⽬的端检测
Ø⽬的端DDoS攻击检测是指将攻击检测算法部署在被攻击的主机和相关⽹络设备上。⽬前应⽤得最多的攻击检测都是在⽬的端(即受害端)进⾏的。
低速率拒绝服务(low-rate denial of service)
当前研究的LDoS攻击:针对TCP 拥塞控制机制的攻击不需要维持持续的高速攻击流,利用网络协议或应用服务协议的自适应机制中存在的安全漏洞,通过周期性地发送高速脉冲攻击数据包,达到降低受害端的服务性能的目的。
TCP拥塞控制机制
Ø 慢启动(slow start)、拥塞避免(congestion avoidance)
Ø 快速重传(fast retransmit)、快速恢复(fast recovery)
Ø 发送端会根据当前的链路拥塞情况动态地调整发送报文的速率
LDoS 攻击的检测
一般传统的 DoS 攻击检测方法:针对网络数据流和服务器负荷激增等特征进行检测
特征检测
lLDoS攻击的脉冲强度、持续时间和攻击周期等特征也很明显,特别是结合其周期性特征和短时高速脉冲特征,能够很好检测到攻击。
l最常见的防御策略就是改进路由器的主动队列管理(active queuemanagement, AQM)
l目标:一是丢弃符合设定攻击特征的数据流的数据包;二是重新进行带宽分配,尽量保护TCP 数据流,抑制LDoS 攻击流。
动态时间封装(Dynamic time warping,DTW)
五元组(T,L,R,S,N)描述攻击特征
ØT 表示攻击的周期
ØL 表示一个突发攻击流持续的时间
ØR表示突发攻击流量的峰值速率
ØS 表示计时开始到第一个突发攻击流量开始之间的时间差
ØN 表示背景流量的等级
DNS威胁与防范
DNS 概述
域名系统(Domain Name System,DNS)在Internet上具有举足轻重的作用,负责在域名和IP地址之间进行转换。
因特网的域名系统被设计成为一个联机分布式数据库系统,并采用客户服务器方式运行。
DNS使用的大多数名字都可在本地解析,仅有少量解析需要在因特网上通信,因此系统效率很高。
因特网域名系统采用层次树状结构的命名方法,任何一个连接到因特网的主机或路由器都有一个唯一的层次结构的名字,即域名(Domain Name)。这里,“域”是名字空间中的一个可被管理的划分。域还可以继续划分为子域,如:二级域、三级域等
DNS 资源记录
理论上对于每一个域名我们只需要在域名服务器上保存一条记录即可。这里的记录一般叫作域名资源记录,它是一个五元组,可以用以下格式表示:
1.Domain_name: 指出这条记录适用于哪个域名;
2.Time_to_live: 用来表明记录的生存周期,也就是说最多可以缓存该记录多长时间(后面会讲到缓存机制);
3.Class: 一般总是IN;
4.Type: 记录的类型;
5.Value: 记录的值,如果是A记录,则value是一个IPv4地址。
WHOIS的概念
“WHOIS”是当前域名系统中不可或缺的一项信息服务。
很多用户希望进一步了解域名、名字服务器的详细信息,这就会用到WHOIS。
对于域名的注册服务机构(registrar)而言,要确认域名数据是否已经正确注册到域名注册中心(registry),也经常会用到WHOIS。
直观来看,WHOIS就是链接到域名数据库的搜索引擎,一般来说是属于网络信息中心(NIC)所提供和维护的名字服务之一。
DNS工作流程
递归查询:一般客户机和服务器之间是递归查询,DNS服务器如果未能在本地找到相应的信息,就代替用户向其它服务器进行查询,这时它是代替用户扮演了解析器(resolver)的角色,直到最后把结果找到,也可能根本没有结果,那就返回错误,并返回给用户为止。
迭代查询:一般服务器之间属于反复查询。DNS服务器返回的要么是本地存在的结果信息,要么是一个错误码,告诉查询者你要的信息这里没有,然后再返回一个可能会有查询结果的DNS服务器地址,让查询者到那里去查一查。
DNS协议
DNS既可以使用TCP,又可以使用UDP,端口为53.
Ø DNS主从服务器之间区传送传输时使用TCP协议
Ø 客户端与DNS服务器之间传输时用的是UDP协议
头部:
会话标识(2字节):是DNS报文的ID标识,对于请求报文和其对应的应答报文,这个字段是相同的,通过它可以区分DNS应答报文是哪个请求的响应
标志位:
QR | opcode | AA | TC | RD | RA | (zero) | rcode |
---|---|---|---|---|---|---|---|
1 | 4 | 1 | 1 | 1 | 1 | 3 | 4 |
数量字段:
数量字段(总共8字节):Questions、Answer RRs、Authority RRs、Additional RRs 各自表示后面的四个区域的数目。Questions表示查询问题区域节的数量,Answer RRs表示回答区域的数量,Authority RRs表示授权区域的数量,Additional RRs表示附加区域的数
Flags
Ø QR– 识别查询和答复消息的1位字段: 0 查询;1 应答;
Ø Opcode – 描述消息类型的4位字段:
0 标准查询(由名字到地址);
1 逆向查询;
2 服务状态请求 ;
Ø AA – 授权回答:1位字段。当设置为1时,识别由命令名字服务器作出的答复
Ø TC – 可切断。1位字段。当设置为1,表明消息已被切断。
Ø RD – 1位字段。由名字服务器设置为1请求递归服务。
Ø RA –1位字段。由名字服务器设置表示递归服务的可用性。
Ø Z –3位字段。备用,设置为0.
Ø Rcode – 响应代码,由名字服务器设置的4位字段用以识别查询状态。表示返回码,0表示没有差错,3表示名字差错,2表示服务器错误(Server Failure)
正文
查询名:长度不固定,且不使用填充字节,一般该字段表示的就是需要查询的域名(如果是反向查询,则为IP,反向查询即由IP地址反查域名)
域名(2字节或不定长):格式和Queries区域的查询名字字段是一样的。。
查询类型:表明资源记录的类型,同Queries。
查询类:对于Internet信息,总是1。
DNS安全威胁
DNS的安全漏洞主要体现在以下三个方面。
(1) DNS报文只使用序列号来进行有效性鉴别,序列号由客户程序设置并由服务器返回结果,客户程序通过它来确定响应与查询是否匹配,这就引入了序列号攻击的危险。
(2) 从协议定义上来看,在DNS应答报文中可以附加信息,该信息可以和所请求的信息没有直接关系,这样,攻击者就可以在应答中随意添加某些信息,如:指示某域的权威域名服务器的域名及IP,导致在被影响的域名服务器上查询该域的请求都会被转向攻击者所指定的域名服务器上去,从而对网络的完整性构成威胁。
(3) DNS的缓存机制,当一个客户端/DNS服务器,收到有关域名和IP的映射信息时,它会将该信息存放在缓存中,当再次遇到对此域名的查询请求时就直接使用缓存中的结果而无需重新查询。可以通过ipconfig /displaydns命令查看本地DNS缓存信息。
缓冲区溢出攻击
1、更改MX记录,造成邮件被截获、修改或删除。
2、更改A记录,将www服务器的域名指向黑客具有的同样www内容的主机,诱使访问者登陆,获取访问者的密码等相关信息
3、利用这台主机作为攻击其他机器的跳板
拒绝服务攻击
造成的危害是:域名无法解析为IP地址,用户无法访问互联网
信息泄露
一旦这些信息泄露,攻击者就可以根据它推测出主域名服务器的网络结构,为进一步攻击提供参考依据。
DNS安全防范
应对DNS服务器面临的安全隐患主要依据以下两个准则:
选择安全的没有缺陷的BIND版本
DNS服务器配置正确可靠
Web安全
XSS
Xss(cross site scripting)攻击,全称跨站脚本攻击。
跨站脚本攻击是指通过存在安全漏洞的web网站注册用户的测览器内,运行非法的HTML标签或JavaScript进行的一种攻击.
XSS的原理是恶意攻击者往 web 页面里插入恶意可执行网页脚本代码,当 用户测览该页之时,嵌入其中 web 里面的脚本代码会被执行,从而可以 达到攻击者盗取用户信息或其他侵犯用户安全隐私的目的。
非持久型 Xss(反射型 Xss )
反射型XSS,也叫非持久型XSS,是指发生请求时, XSS代码出现在请求URL中, 作为参数提交到服务器,服务器解析并响应。响应结果中包含XSS代码,最后 测览器解析并执行。
即时性,不经过服务器存储,直接通过 HTTP 的 GET 和 POST 请求就能完成一次攻击,拿 到用户隐私数据。
攻击者需要诱骗点击
反馈率低,所以较难发现和响应修复
具体流程:
1、Alice给Bob发送一个恶意构造了Web的URL。
2、Bob点击并查看了这个URL。
3、恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在Bob电脑上。
4、具有漏洞的HTML页面包含了在Bob电脑本地域执行的JavaScript。
5、Alice的恶意脚本可以在Bob的电脑上执行Bob所持有的权限下的命令。
存储型xss,也叫持久型xss
持久型 Xss 漏洞,也被称为存储型 Xss 漏洞, 一般存在于 F。rm 表单提交 等交互功能,如发帖留言,提交文本信息等,黑客利用的 Xss 漏洞,将内容 经正常功能提交进入数据库持久保存,当前端页面获得后端从数据库中读出 的注入代码时,恰好将其演染执行。
注入页面方式不是来源于 URL,refferer,f。rms 等,而是来源于后端从数 据库中读出来的数据,不需要诱骗点击。
持久型 Xss 有以下几个特点:
持久性,植入在数据库中
危害面广,甚至可以让用户机器变成 DD。S 攻击的肉鸡。
盗取用户敏感私密信息。
CSRF
CSRF(Cross-Site ReqUest Forgery),跨站请求伪造攻击
CSRF是一种常见的web攻击,它利用用户已登录的身份,在用户毫不知情的情况下,以用户的名义完成非法操作。
CSRF防御
一般的 CSRF 防御也都在服务端进行,主要从以下两个方面入手:
正确使用 GET,POST 请求和 cookie
. GET 请求常用在查看,列举,展示等不需要改变资源属性的时候(数据库 query 查询的时候)
. POST 请求常用在 From 表单提交,改变一个资源的属性或者做其他一些事情的时 候(数据库有 insert、update、delete 的时候)
在非 GET 请求中增加 token
. 为每个用户生成一个唯一的 cookie token,所有表单都包含同一个伪随机值,但 是由于用户的 cookie 很容易由于网站的 XSS 漏洞而被盗取,所以这个方案必须 要在没有 XSS 的情况下才安全。
. 每个 POST 请求使用验证码,这个方案算是比较完美的,但是需要用户多次输入 验证码,用户体验比较差,所以不适合在业务中大量运用。
. 渲染表单的时候,为每一个表单包含一个 csrfToken,提交表单的时候,带上 csrfToken,然后在后端做 csrfToken 验证。
OS命令注入
os命令注入攻击指通过web应用,执行非法的操作系统命令达到攻击的
目的。只要在能调用she II函数的地方就有存在被攻击的风险。倘若调 用she II时存在疏漏,就可以执行插入的非法命令。
SQL注入攻击
SQL注入攻击的本质
把用户输入的数据当做代码执行