网络安全概述
网络安全概述主要是讲解一些在网络层级容易发生的安全问题,一些常见的攻击手段及防御措施。主要的关注点在于网络协议中的一些漏洞和问题。
暗网
暗网介绍
暗网(又称深网,不可见网)是指那些存储在网络数据库里,不能通过超链接访问而需要通过动态网页技术访问的资源集合,不属于那些可以被标准搜索引擎索引的表面网络。可以说,我们正常访问的网站只属于整个网络中的一小部分,只占到了整个网络的4%-20%,更多的部分由暗网组成。
暗网与深网
网络其实一共有三层:
- 表层网络:
表层网络就是人们所熟知的可见网络,人们平时访问的网站都属于这类,通过链接抓取技术就可以轻松访问这些网站。 - 深网:
表层网络之外的所有网络都称为深网,搜索引擎无法对其进行抓取。它们并没有完全隐藏起来,只是普通搜索引擎无法发现它的踪迹,不过使用一些工具也可以访问这些网络。 - 暗网:
暗网是深网的一部分,但被人为隐藏起来。如果不是精通技术,很难进入这个网络,他的域名数量甚至是表层网络的400-500倍。
ARP欺骗
ARP协议
ARP(Address Resolution Protocol)称为地址解析协议,就是在主机发出数据帧之前,先将目标IP地址转化成目的MAC地址的过程,它被收录在RFC826标准中。
1. ARP缓存表
如果每次使用IP地址访问目标主机时都需要使用ARP协议来获得MAC地址,会造成局域网内流量负载增加,传输效率降低。为了避免这种情况的发生,ARP协议规定每台主机都有一个本地的ARP高速缓存表,用来存放IP地址和MAC地址的映射,如果表中有目的主机的MAC地址,则不会再向局域网内广播请求,直接使用本地的IP-MAC映射。如果一段时间内不与某IP通讯,系统会删除相关的映射条目。
2. ARP欺骗原理
在以太局域网内,数据分组传输依靠的是MAC地址,而IP地址与MAC地址的映射依靠ARP表,每台主机都有一个ARP缓存表。正常情况下主机的ARP缓存表可以保证数据正确传输到目的主机。但是在ARP缓存表的实现机制中有一个漏洞,当主机收到一个ARP应答报文后,它不会去验证自己是否发送过这个ARP请求,而是直接用应答报文中的数据更新ARP缓存表。利用这一漏洞可以通过发送虚假的ARP应答报文,达到替换靶机ARP缓存中的映射关系。
3. 常用ARP攻击工具
-
Cain & Abel: 该组件是一个针对Microsoft操作系统的免费口令恢复工具,号称穷人使用的L0phtcrack。它功能十分强大,可以网络嗅探,网络欺骗,破解加密口令,解码被打乱的口令,显示缓存口令和分析路由协议。
-
BetterCap: 该组件是一个功能强大,模块化,轻便的MiTM框架,可以用来对网络开展各种类型的中间人攻击。他也可以实时操作HTTP和HTTPS流量,以及其他更多功能。
-
Ettercap: Ettercap是一个全面的套件,用于中间人攻击。它具有嗅探活动连接,内容过滤和许多其他的技巧。同时支持多种协议的主动和被动消除包括许多网络和主机分析的功能。
-
Netfuke: 该组件是一款Windows下常使用的ARP攻击工具。
DNS欺骗
DNS协议
DNS(Domain Name System)域名系统是域名与IP地址相互映射的一个分布式数据库,能够使用户更加方便的访问互联网,省去了记住要访问的主机IP地址的麻烦,可以直接使用更加语义化的域名来访问。通过主机名(域名)最终得到对应IP地址的过程叫做域名解析。
DNS欺骗原理
DNS欺骗攻击就是攻击者冒充域名服务器,吧用户查询的域名地址更换成攻击者的IP地址,然后攻击者将自己的主页取代用户的主页,这样访问用户主页的时候只会显示攻击者的主页,进而可以诱导用户点击或下载恶意程序。
DNS欺骗的实现利用了DNS设计时的一个安全缺陷。在一个局域网内,攻击者首先使用ARP欺骗,使目的主机的所有网络流量都通过攻击者的主机,之后通过嗅探目标主机发出的DNS请求分组,分析数据分组的ID和端口号,向目标主机发送构造好的DNS返回分组,目标主机确认分组ID和端口号都正确后,将返回分组中的域名和对应的IP地址保存进DSN缓存,而后当真正DNS应答报文返回时则被丢弃。
DNS欺骗防范
- 在DNS欺骗之前一般都需要使用ARP攻击来配合,因此可以首先做好对ARP欺骗的防御工作,例如设置静态的ARP映射,安装ARP防火墙
等。 - 使用代理服务器进行网络通信,本地主机与代理服务器的全部流量都可以加密,包括DNS信息
- 尽量访问带有https标识的站点
- 使用DNSSrypt等工具,DNSCrypt时OpenDNS发布的加密DNS工具,可以加密DNS流量,阻止最常见的DNS攻击
中间人攻击
中间人攻击原理
中间人攻击(Man-In-the-MiddleAttack)简称MITM攻击。是一种由来已久的网络入侵手段。所谓的中间人攻击,就是通过拦截正常的网络通信数据,进行数据的篡改和嗅探,而通信双方毫不知情。
VPN中的中间人攻击
对于采用PPTP方式的VPN,可以实现通过中间人攻击来进行渗透,只需要截获VPN客户端登录VPN服务器/设备的数据报文后,对VPN报文的密码进行破解就可以完成攻击。
SSL中的中间人攻击
攻击者通过监听被转发到本地的流量,从中得知目标主机要连接的服务器地址,然后分别与目的主机和真正的服务器建立SSL连接,攻击者在这两个连接之间转发数据,这样便可以得到受害者和服务器交互的数据