网络安全作业


第一次作业

1. 在Linux系统的口令方案中引入盐值大大增加了口令猜测的难度(难度是原来的4096倍)。但是盐值以明文的形式和经过加密的口令一起存放在口令文件中,攻击者无需猜测就可以得到盐值和加密的口令。那么,为什么可以断言使用盐值能够提高口令的安全性?

【解】盐值是与分配用户口令的事件相关的伪随机数或随机数。使用盐值,可以防止重复的口令在口令文件中可见,并增加离线字典攻击难度。由于盐值起到的是干扰作用,引入盐值,加密口令的长度将变长,加密口令的破解依赖于单向算法的抵抗力,由此猜测难度更大;即使口令被破解,攻击者无法得到口令文件中重复的口令,且攻击者不可能发现用户是否在多个系统中使用了相同的口令,提高了口令的安全性。

2. 当用户远程用网银支付相应款项时,一用户采用专业版支付,使用了专门的客户端软件和U盾、同时输入用户密码,一用户使用的是大众版的支付的方式,要求输入用户账号密码,同时加上手机验证码;分析说明这两种远程安全认证的基本原理,如何防范窃听、重放攻击、暴力破解攻击的?

【解】

(1)专业版支付:

①要求输入用户账号和密码,能够验证用户的身份;使用专门的客户端软件,提高远程传输的安全性;使用U盾,即“小型的密码器”,U盾中有自己的微型智能卡处理器、内存、I/O端口等,在读卡器和用户之间执行认证协议。协议可以是静态、动态的口令生成或质询响应协议,质询响应方式即用户先发送身份信息,远程系统给出质询随机数,用户将身份验证信息输入到设备中,设备计算后传递给系统;主机将来自用户的值与自己的计算值进行比较,若相同,则匹配用户身份验证。

②专业版支付中使用专门的客户端软件和U盾,传递的信息都是经过计算后得出的结果,窃听无法获知字符串背后的含义,有效防范窃听;由远程系统给出质询随机数,有效消除了攻击方进行重放攻击的可能性;随机数不可提前预知,且动态变化,暴力破解是非常困难且没有用处的,从而防范暴力破解攻击。

(2)大众版支付:要求输入用户账号和密码,能够验证用户的身份;通过手机验证码这一攻击方不可预测但在用户接收端可以通过验证的一次性口令的方式,来确保用户的真实性;验证码会定时更新,以防止重放攻击;验证码不可预知,且动态变化,暴力破解验证码是非常困难且没有用处的,从而防范暴力破解攻击。

3.一次性口令在网络应用中的好处是什么?挑战应答(质询-响应方式)是否需要时间同步机制? 它是如何实现一次性口令的?举一例说明网络应用中的一次性口令。

【解】

(1)一次性口令方便使用,且有效防止偷听并重用口令,并防止暴力破解攻击;一次性口令生成简单,且能确认用户端口令的真实性。

(2)不需要;质询-响应方式有专门的计算设备,没有与时间相关联的步骤,不需要时间同步,且不会因时间不同步发生重放攻击;

(3)实现一次性口令的方法:质询-响应设备是专门的计算设备,用户发送身份信息,远程系统给出质询随机数,用户将身份验证信息输入到设备中,设备计算后,将计算后的值f(r,h(P))传递给系统;主机将来自用户的值与自己的计算值进行比较,若相同,则匹配用户身份验证。

(4)网页中注册、登录用户,银行相关业务需要提供手机验证码。当用户发起注册/登录/进入系统等事件时,服务器将会发送验证码到用户的手机中,用户将验证码输入并验证身份。

4.公开密钥与对称密钥的区别?应用场景的区别

【解】各自特点:

(1)公开密钥机制中,公钥和私钥不同,且很难以公钥推导出私钥;密钥管理简单,加密速度慢;

(2)对称密码机制中,加密和解密密钥相同或相互推导出;加密速度快,密钥管理复杂。

应用场景的区别:

公开密钥可以用于以下几种场景:

(1)机密/解密:发送者用接收者的公钥加密消息;

(2)数字签名:发送者用自己的私钥“签名”消息。把加密算法用于消息或者消息函数的一小块数据,完成对消息的签名;

(3)密钥交换:双方联合操作交换会话密钥。

对于对称密钥:

(1)加密和解密效率高,系统开销小,适合进行大数据量的加解密。例如,美国政府使用AES算法来加密信息;

(2)基于对称加密,可以用作会话密钥,用于一次性通话。

5.典型的对称密钥算法和公开密钥算法

对称密码算法:

(1)DES:需要经过初始置换IP,16轮迭代的乘积变换,逆初始变换IP-1三个步骤;

(2)IDEA:4位数据分成4个16位子分组X1,X2,X3,X4;共进行8轮操作,每轮与6个16位子密钥异或,相加,相乘;在每轮之间,第2个和第3个子分组交换;最终输出变换序列。

(3)AES:算法经过字节替换、行移位运算、列混合运算、轮密相加等步骤;

(4)RC4:以字节流的方式依次加密明文中的每一个字节;

公开密钥算法:

(1)RSA:

img

(2)Elgamal:

img

(3)ECC:选取EP(a,b)和生成元G,公开;将明文消息m通过编码嵌入到曲线上的点Pm:

img

(4)DSA数字签名算法:

img

6. HMAC的作用?HMAC与CMAC的区别

【解】HMAC的作用是产生消息认证码,验证消息的内容有无被篡改,验证信源是否可信,验证消息的时效性;区别:HMAC是基于Hash的MAC,而CMAC是基于分组密码的MAC,两者的实现方式不同;由于哈希函数的特性,HMAC的实现速度比CMAC更快。

7.Ipsec两种工作模式,在安全性上有什么不同?

【解】(1)传输模式中,Ipsec头部被插在IP头后面,要保护的内容仅是IP数据报的载荷,为上层协议提供保护,安全性较隧道模式低,用于在两个主机之间进行端到端通信;

(2)隧道模式中,整个IP包被封装加密,形成新的IP头部,加密发生在外部主机与安全网关之间,或发生在两个安全网关之间,为IP协议提供安全保护,安全性较高。

8.请对IKE密钥协商机制的安全性进行分析

【解】(1)用Cookie机制防止拥塞攻击:要求各方在初始消息中发送一个伪随机数Cookie,此消息要得到对方的确认,此确认必须在Diffie-Hellman密钥交换的第一条消息中重复(要是伪造地址,就收不到确认,因此无法在密钥交换的第一条消息中重复);

(2)使用时间戳阻止重放攻击:用随机数,本地产生伪随机数

(3)认证Diffie-Hellman交换,防止中间人攻击:

①数字签名—双方都用私钥加密散列值(用户ID、时间戳等);

②公钥加密-用发送者的私钥对参数进行加密;

③对称密钥加密—通过带外机制得到密钥,并用该密钥对交换参数进行对称加密。

有效防止中间人攻击。

9.为什么说现有路由协议无法区别虚假的路由信息?

【解】现有路由协议对源IP缺乏认证,数据包源IP地址易被伪造,生成任意源IP地址的数据包是容易的;客户端被信任嵌入正确的源IP,原始套接字容易覆盖;任何人可以发送任意源IP的数据包,协议无法区别IP地址是否是伪造的,应答会被发往被假冒的IP地址。

10. 给出一个场景说明局域网中ARP欺骗导致的后果。

【解】ARP欺骗可导致伪造网关、欺骗网关、欺骗其他主机、数据窃取、洪泛攻击等多种后果。以欺骗其他主机为例,说明局域网中ARP欺骗导致的后果:

如图,攻击者B伪造ARP报文(senderIP地址是主机C的,senderMAC地址不是主机C的),发送给主机A,主机A就把主机C的ip地址和伪造的mac地址缓存到主机A的ARP缓存表内,导致主机A无法给主机C发送消息。

上图的主机C的ip地址错了,应该是1.1.1.1

11. DNS服务的作用是什么?什么是DNS缓存中毒?列举2种可能的防御策略?

【解】

(1)DNS服务的作用是将域名与IP地址相互映射;

(2)DNS缓存中毒利用虚假Internet地址替换掉域名系统表中的地址,虚假的应答返回给本地域名解析器,受害机器访问攻击者的网站,将执行相关Javascript代码,遭受恶意攻击;

(3)防御策略:

①源端口随机化,DNS服务器只有当端口号、QueryID、域名同时匹配才接受对方的消息,攻击者同时猜中端口号、QueryID的概率大大降低;

②域名负责方部署多台权威DNS,降低自己域名被投毒的概率;实现加密和身份验证的安全方法,如DNSsec。

12. SSL的协议交互过程的几个阶段,分别完成主要功能有哪些?

【解】

(1)SSL会话通过握手协议创建,SSL握手协议主要有四个阶段,完成以下功能:

①建立安全能力,客户端发起建立连接请求;

②服务器认证和密钥交换;

③客户端认证和密钥交换;

④变更密钥套件和结束握手。

(2)双方每隔一段时间改变加密规范,使用SSL修改密码规格协议,协议由单个消息组成,只包含一个值为1的单个字节,作用是设置当前状态为未决状态,使用握手协议更新用于当前连接的密码组。

(3)如果在通信过程中某一方发现任何异常,就需要给对方发送一条警示消息通告,该过程使用SSL告警协议,警示信息包含Fatal错误和Warning消息两种级别。

13. 在浏览器和Web服务器通信过程中,由于版本和实现不同,各种Web服务器、浏览器支持的加密方式可能会有所不同,SSL中是如何完成存在差异情况下的通信的?

【解】在SSL 通信中,公开密钥技术和数字证书可以实现客户端和服务器端的身份鉴别,而混合密码体制的使用提供了会话和数据传输的加密性保护。由于版本和实现不同,各种Web服务器、浏览器支持的加密方式可能会有所不同,双方使用非对称密码体制协商出本次将要使用的会话密钥,选择一种对称加密算法,并定义了共享的、可以用来形成报文鉴别码MAC的密钥,保证了通信的完整性和机密性。

14. IPSec的传送模式和隧道模式的区别?

【解】

(1)传输模式中,IPSec头部被插在IP头后面,提供加密和可选择的认证;

(2)隧道模式中,整个IP包被封装加密,形成新的IP头部,沿途路由器不检查内部的IP报头,加密发生在外部主机与安全网关之间,或发生在两个安全网关之间。

区别:

(1)头部:传输模式在AH、ESP处理前后IP头部保持不变,而隧道模式在AH、ESP处理之后再封装了一个新IP头;

(2)路由:在路由过程中,传输模式仅加密IP数据报的载荷,隧道模式可以完全地对原始IP数据报进行验证和加密,在隧道模式下可以隐藏内部IP地址,协议类型和端口;

(3)用途:传输模式为上层协议提供保护,用于在两个主机之间进行端到端通信;隧道模式适用于隧道结束在某个非目的地(安全网关,防火墙),还原成原来数据包在本地网(局域网)传输,即Site-to-Site(站点到站点,网关到网关)之间的通信,为IP协议提供安全保护。

15.某个VPN网关需要实现IPSec,请给出网关内的基本组成部分(包括存储和处理)

【解】

(1)存储:

①安全关联数据库SAD:为进出数据报维持一个活动的SA列表,每个SA包含SPI,目的IP地址,安全协议标志AH或ESP,同时需要保存具体协议所规定的参数,包括序列号计数器、序列号溢出标记位、反重放窗口、AH信息、ESP信息、SA生存期、IPSec协议模式、路径MTU等;

②安全策略数据库SPD:SPD中包含一个策略条目的有序表,通过使用一个或多个选择符来确定每一个条目,选择符可以是五元组(目的/源地址,协议,目的/源端口号),或其中几个。条目中包含策略、SA规范、IPSec协议、操作模式、算法、对外出处理等。

(2)处理:

①安全关联SA:安全通信信道的一套安全参数,包括加密算法与模式加密密钥加密参数(如初始化向量),鉴别协议和密钥,关联的生命期(长时间会话时,尽可能频繁选择新的加密密钥),关联对应端地址(受保护数据敏感级别);安全关联由安全参数索引、IP目的地址、安全协议标识三个参数唯一确定;

②安全参数索引SPI:SPI是为了唯一标识SA而生成的一个32位整数,包含在AH头标和ESP头标中,其值1~255被IANA留作将来使用,0被保留,目前有效的值为256~232-1;有了SPI,相同源、目的节点的数据流可以建立多个SA;

③建立密钥管理机制,典型的两个应用之间通信需要4个密钥,用于完整性和机密性的发送对和接收对。

④网关应实现基本的通信机制,通过协议,在传输层上实现网络互连。

第二次作业

1.列举利用网络层、传输层、应用层机制实现放大式拒绝服务攻击的方式。说明导致其放大攻击效果的原因。尝试提出相应的应对策略。

【解】

(1)网络层:

方式:利用ICMP协议进行Smurf 放大式DoS攻击。假冒受害者地址发送ping请求包给广播地址大量的应答包,广播域内的每台主机都会产生一个ping 应答给受害者,通过网关广播实现放大效果。

应对策略:禁止外网对广播地址发包。

(2)传输层:

方式:利用TCP协议进行SYN泛洪攻击。

①低速DDos攻击:早期的操作系统TCP实现采用了三次握手的缓存机制,能够保存的连接数有限;攻击方发送多个源地址随机的SYN报文,充满服务器的等待队列,使得服务器无法与其他主机建立合法的连接请求。

②Massive flood泛洪攻击:让僵尸网络对特定目标发起泛洪攻击,20,000僵尸能够产生2Gb/秒的SYNs包,从而在web 站点方阻塞了网络上传链路或路由器,且使用随机source IP ,攻击的SYNs包与真实SYNs看起来一样。

应对策略:

①对低速DDos攻击的应对措施:

下策:增加等待队列的尺寸;降低过时阈值;

使用Syncookies机制,利用密钥和数据包中的数据产生服务器SN,在三次握手过程中,服务端不再保存状态,服务器只有在验证AN中的SNs与本地计算一致才为TCP连接分配空间。

②对Massive flood泛洪攻击的应对措施:

使用Prolexic代理,只将已建立的TCP连接转发到站点,代理容量可以达到20Gb/秒,可以处理$40*10^6; SYN/秒$。

(3)应用层:

方式:利用DNS进行拒绝服务攻击。向受害机大量发送解析的请求,UDP请求包中应用Random source IP address,使整个DNS server无法工作,附带的危害是所有该服务器上对应域名网站都无法提供服务。

应对策略:

①开发合作域名解析系统;

②DNS系统的P2P设计,DNS节点分担负载简单的DNS条目更新,向后兼容现有DNS;

③设置防火墙策略,对不正当的DNS解析请求进行过滤。

2.说明Syncookies机制为什么既能防御SYN攻击,又能保证三次握手的顺利进行?

【解】Syncookies机制利用密钥和数据包中的数据产生服务器SN。在三次握手过程中,服务端不再保存状态。当客户端发出TCP握手请求时,服务器回应客户端SYN-ACK cookie而不保存状态,避免大量TCP请求占用等待队列造成服务器无法正常工作。Cookie的相关参数如下:

T = 5位计数器,每64秒递增一次;

img,共24bit,其中key是服务器启动时产生的随机数;

img

合法客户端返回ACK包(AN=SNs,SN=SNc+1),服务器可以验证SNs的合法性,只有在验证AN中的SNs 与本地计算一致才为TCP连接分配空间。验证方法是:将数据包中的SAddr, SPort, DAddr, DPort, SNC与本地T,key一起计算MAC值,与AN比对,可以验证这次的应答是否来自于前面发送握手请求者,且该请求者确实收到了服务器应答包。从而保证了三次握手的顺利进行。

3.什么是BGP路由劫持?

【解】BGP协议用于域间路由,使用路径向量算法,尽力寻找一条能够到达目的网络且比较好的路由。BGP路由劫持指攻击者恶意改变互联网流量的路由,恶意攻击者往往通过伪造BGP消息中的起源AS号来实施路由劫持。如下图中的例子,AS2非法向外通告16.1.0.0/16:

img

在AS3向外通告16.1.0.0/16的基础上,AS2恶意伪造路由通告,即向外谎称自己是16.1.0.0/16的起源AS;

AS5收到的16.1.0.0/16的真实路由长度为3,虚假路由长度为1,根据BGP最短AS路径优先的原则,AS5将选取该虚假路由;

原本流向AS3的全部流量被劫持到AS2,该虚假路由经由AS5发送给AS7,AS7收到的16.1.0.0/16的真实路由和虚假路由的AS路径长度一样,AS7会根据其他路由规则选择真实路由和虚假路由之一,如果选择了后者,那么原本流向AS3的流量同样会被劫持到AS2,从而实现BGP路由劫持。

4.邮件中继的作用是什么?恶意邮件中继发送垃圾邮件的基本方式?

【解】

①邮件中继的作用:邮件中继指在不改变用户邮件地址(发件人)的前提下,将用户邮件通过多链路SMTP邮件转发服务器投递到收件人邮件服务器,主要是为了解决邮件外发退信问题,使得邮件可以正常转发到目的地。邮件的收发环境复杂,可能导致邮件退信的因素很多,需要依靠寄托于第三方的邮件中继转发服务进行解决。

②基本方式:

I Open Relay:Open Relay是指由于邮件服务器不理会邮件发送者或邮件接受者的是否为系统所设定的用户,而对所有的入站邮件一律进行转发,导致了邮件中继转发了大量垃圾邮件,一般过程是:

①批量电子邮件工具通过SMTP连接(端口25);

②发送收件人列表(通过RCPT TO命令);

③发送电子邮件主体,可以一次发送所有收件人;

④传递消息。

II Open Proxies:Open Proxies默认允许以HTTP CONNECT METHOD 连接任意的一个TCP端口,当Proxy没有对使用者及相应的TCP端口做相应的限制时,恶意邮件发送者可以利用其Proxy来连接另外一台邮件服务器的25端口,并发送特定的SMTP指令就可以通过这个Proxy发送大量的垃圾邮件。

5.为什么DoS溯源很困难?如果能够修改路由器的机制,利用traceback 机制是否能够实现溯源,其局限性在哪里?

【解】Dos溯源现有的方式主要有以下三种:

①入口过滤:ISP仅转发合法源IP的数据包;

②traceback 追踪:它的目标是,有很多攻击包的情况下,确定到攻击源点的路径,问题则是如何改变路由器在数据包中记录相应的信息。traceback 能成功主要的假设有:大部分路由器没有被攻占;攻击者发送了很多数据包;从攻击者到受害者的路径保持相对稳定;

③路径重构:从攻击包中抽取路径信息,构建以受害者为根的图。

但上述三种方式存在明显的问题:

①由于攻击者进行DoS攻击时能够伪造源IP地址,入口过滤不能过滤到攻击者发出的数据包;

②我们在追踪过程中可以将路径写在网络数据包中,但路径可能较长,而且当前IP格式中没有额外字段,对数据包格式的更改是不现实的;

③需要改变路由器的处理过程,且无法针对反射型攻击溯源。在反射型DDoS攻击中,由于攻击方并不直接攻击目标服务IP地址,而是利用互联网的某些特殊服务开放的服务器,将这些有开放服务的服务器作为反射源,通过伪造被攻击方的IP地址,向反射源发送构造的请求报文,因此反射源服务器在接收到请求报文后,会将数倍于请求报文的回复数据发送到被攻击方的IP地址。由于反射源收到的地址是攻击方伪造的被攻击方的IP地址,而被攻击方收到的地址则是反射源的地址,因此无法知道真正发起攻击的攻击方的IP地址,造成反射型DDoS攻击的溯源极其困难。

综上,DoS溯源是很困难的。

若能够修改路由器的机制,我们可以通过修改路由器转发设置,在转发包时,在其中添加上一跳的路由IP和下一跳的路由IP信息,即可实现一些场景下的DoS溯源。局限性有以下几点:

①会占用额外的包数据空间,浪费网络带宽,影响网络通信的速度和效率;

②若网络中的节点较多,存在僵尸网络,溯源的难度大、效率低;

③仍无法应对反射型DDoS攻击的溯源。


文章作者: ShiQuLiZhi
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ShiQuLiZhi !
评论
  目录