计网学习———网络安全
网络安全
内容:安全威胁、安全服务、安全机制
安全危险:
1.主动攻击:攻击者对网络中传输的数据流进行篡改、伪造、重放、插入、删除等操作————还有恶意程序:病毒、木马、恶意软件等。
除了上述主动攻击还有拒绝服务攻击(DOS):攻击者通过某种手段使系统响应减慢甚至瘫痪,阻止合法用户获得服务。
分布式拒绝服务攻击(DDoS):攻击者通过控制大量僵尸主机对目标主机进行攻击。
交换机中毒:攻击者通过发送大量伪造的不同源的MAC地址给交换机,使交换机生错错误的转发表(NAT),从而使交换机无法正常工作。
2.被动攻击:攻击者通过窃听手段仅获取信息,不破坏信息
被动攻击因为不涉及篡改信息,所以很难被检测到。所以一般采用数据加密技术进行预防,而不是主动检测
主动攻击容易被检测,对付主动攻击一般采用数据加密技术、访问控制技术等预防措施,还需要采取各种检测技术及是发现攻击行为。
安全服务
1.保密性:确保网络中传输的数据不会被非授权用户窃听和截获
2.报文完整性:确保网络中传输的数据不会被非授权用户篡改
3.实体鉴别:确保网络中传输的数据不会被非授权用户冒充
4.不可否认性:确保网络中传输的数据不会被非授权用户否认
5.访问控制:确保网络中传输的数据不会被非授权用户访问
6.可用性:确保网络中传输的数据不会被非授权用户拒绝
安全机制
密码学
将发送的数据变换成对任何人都不知道如何做逆变换的人都不磕理解的形式这种变化就叫做加密
加密前的数据称为明文
加密后的数据称为密文
通过某种逆变换将密文变换回明文,这种逆变换称为解密
加密和解密过程可以使用密钥(Key)作为参数——密钥必须保密,单加密和解密过程可以公开。只有知道密钥的人才能解密,否则即使知道加密或解密算法也无法解开。
所以密码加密其实就是通过密钥+加密算法从而就可以确保即使加密算法被破解,但是没有密钥也无法解密。
无条件安全:无论破译者如何努力,都不能从密文推断出明文。
计算上是安全:破译者使用计算方法在合理的时间内无法破译密文。————使用长密钥就会加长破译时间,同时也会加长解密时间。
对称加密算法
对称加密算法:加密和解密使用同一个密钥
数据加密标准DES:
奇偶校验:将数据中“1”的个数相加,如果“1”的个数是奇数,那么校验位就是1,如果“1”的个数是偶数,那么校验位就是0——是为了确保数据在传输过程中没有被篡改,8比特中7比特用于加密1比特用于奇偶校验
DES的保密性仅仅取决于对密钥的保密、长度,算法是公开的
三重DES:为了解决DES的密钥长度只有56比特,容易被破解的问题,提出了三重DES。————使用3个密钥执行三次DES算法
高级加密标准AES:支持128比特、192比特、256比特的密钥长度,安全性更高,速度更快。 aes-128:使用128比特的密钥长度,加密轮数为10轮;aes-192:使用192比特的密钥长度,加密轮数为12轮;aes-256:使用256比特的密钥长度,加密轮数为14轮。
非对称加密算法
产生原因:在对称加密中,加密和解密使用同一个密钥,密钥的分配和保存是一个难题。
公钥密码体制:加密和解密使用不同的密钥,加密密钥可以公开,解密密钥必须保密,加密算法E和解密算法D都是公开的。
外界通过使用公钥PK和加密算法加密后发出给接收者,接收者使用私钥SK和解密算法解密后得到明文。 ————RSA算法
公钥密码体制不仅用于加密,还可以用于数字签名和鉴别,但是公钥密码算法比对称密钥密码算法慢好几个数量级。因此公钥密码体制通常用于会话密钥的建立。
首先用户B传送给用户A一个公钥PK,用户A使用公钥PK和加密算法加密对称算法的密钥后发出给用户B,用户B使用私钥和解密算法解密后得到对成算法的密钥,之后用户A和用户B使用对成算法进行大量数据的加解密操作
报文摘要和报文鉴别码
对报文进行完整性验证就是进行报文鉴别,也就是鉴别报文的真伪。
使用加密技术通常就可以达到报文鉴别的目的,因为被篡改过的报文解密后一般不能得到可理解的内容
但是对于不需要保密的报文,使用加密技术进行报文鉴别,会降低系统的效率,因此使用报文摘要进行报文鉴别。
报文摘要:将任意长的报文变换成固定长的值,这个固定长的值称为报文摘要。
现将报文进过报文摘要算法得到报文摘要,然后使用密钥加密得到密文传输给接收方,接收方使用密钥解密得到报文摘要后,与发送方发送过来的原报文进行报文摘要算法后的报文摘要进行对比就可以知道是否篡改过。
附在报文后面用于报文鉴别的码串(加密后的报文摘要)成为报文鉴别码——MAC
报文摘要算法:MD5、SHA-1、SHA-256、SHA-384、SHA-512————是利用了密码散列函数(Hash函数)
数字签名
在计算机网络中传送的报文可以使用数字签名来证明其真实来源
必须保证三点:
1.接受方能够核实发送方对报文的数字签名
2.包括接受方在内的任何人都不能伪造对报文的数字签名
3.发送方事后不能抵赖对报文的数字签名
实现:
因为是使用私钥加密的所以接收方能够识别发送方的身份,利用公钥解密。并且A无法抵赖,因为B可以把带有数字签名的报文出具给第三发。第三方就很容易用A给的公钥去证明。并且B无法伪造A的报文,因为它没有私钥
其中公钥加密是一种很耗时的加密算法,所以应该对报文的摘要进行加密会更加好一点
但是没有对报文m进行保密性加密,因为公钥是发给了所有人
这时候就可以使用B的公钥再加一次密,因为B的私钥是保密的所以无法查看里面的内容从而保证了数字签名传递的保密性
实体鉴别
通信双方的一方验证另一方身份的技术常称为鉴别
目的是验证通信的对方的确是所要通信的实体,而不是其他伪装者————实现的最简单方法:用户名和口令
简单的加密用户名和口令之后发送出去的问题——当遇见攻击者将相同的信号发送给接受者的时候(重放攻击),接受者就会认为攻击者是发送者从而导致本该发送给发送者的信息给了攻击者
解决办法:不重数
因为A先挑选了一个不重数——1,并且携带用户吗和口令一起加密发送给B,因为使用的是对称加密所以B解密后也挑选了一个不重数-2,并且将不重数-2、1和加密后的用户名和口令一起发送给A,A解密后得到不重数-1、2,并且与自己挑选的不重数-1进行比较,如果发送的相同则认为B是合法的,否则认为B是非法的,之后再使用把不重数-2发回给B,B解密后得到不重数-2,并且与自己挑选的不重数-2进行比较,如果发送的相同则认为A是合法的,否则认为A是非法的。
但是如果出现中间人攻击就会出现明显问题:
密钥分发
在对称密钥密码体制中,通信双发共享的密钥是需要保密的
在公钥密码体制中,公钥是公开的,但私钥是保密的
密钥分发是密钥系统中一个非常重要的问题。密钥必须通过安全的通路进行分发
1.对称密钥分发:
对于对成密钥密码体制,目前常用的密钥分发方式是建立密钥分配中心(KDC)
KDC是一个公众都信任的机构,目的是给需要进行秘密通信的用户临时分配一个会话密钥
首先A给KDC发送一个无需加密的报文,告诉KDC自己想要和B进行通信,然后KDC会生成一个先用密钥A加密的报文(包裹了K AB),里面还有用密钥B加密的票据(也有K AB),发送给A,A使用自己的密钥解密后得到与B通信的密钥K AB之后把用密钥B加密的票据发送给B,B使用自己的密钥解密后得到与A通信的密钥K AB,然后A和B使用会话密钥进行通信。
KDC可以在报文中添加时间戳以防止报文的截获者利用之前已经记录的报文进行重放攻击
公钥分发
公钥密码体制中,公钥是公开的,但私钥是保密的。
但是如果遇到重放攻击的时候如何确认这个报文确实是公钥的用户呢,因此需要一个值得信赖的机构将公钥与其对应的实体(人/机器)进行绑定————CA机构
所以需要发布公钥的用户可以让CA 机构为其公钥签发一个证书,证书包含有公钥以及拥有者的身份表示信息
签发过程:
1.CA机构必须核实证书申请者的身份
2.CA为用户产生公钥-私钥对,并且生成证书
3.CA机构用自己的私钥为证书进行数字签名
4.该证书就可以通过网络发送给任何希望与该证书拥有者通信的实体,也可将该证书存放在服务器中由其他用户自由下载
但是CA机构并不是只有一个而是存在上下级关系的:
1.下级CA由上级CA授权
2.所有用户都信任根CA
3.用户可以在自己信任的任何CA处获取证书,当需要验证不信任CA签发的证书时,需要到上一级CA验证该证书的真伪,如果上一级CA也不可信则需要到更上一级CA验证该证书的真伪,直到根CA
访问控制
访问控制是防止用户越权访问系统资源的一种技术
元素:
1.主体:访问活动的发起者
2.客体:访问活动的目标
3.访问:主体对客体的各种操作类型
4,访问策略:访问控制的核心,访问控制根据访问策略限制主体对客体的访问,通常存储在授权服务器中
访问监控器模型:
访问控制策略:
1.自主访问控制
客体的拥有者可以自主地决定其他主体对拥有的客体所进行访问的权限
2.强制访问控制
强制访问控制策略与自主访问控制策略不同,它不允许一般的主体进行访问权限的设置
下读原则:主体的安全级别必须高于或等于客体
上写原则:主体的安全级别必须低于或等于客体
这两个原则保证了信息只能由低级别的对象流向高级别的对象
3.基于角色的访问控制
根据安全策略划分不同的角色,用户不再直接与许可关联,而是通过角色与许可关联
一个用户发生变化时,只需要修改相对应的角色就可以了。许可和角色是更稳定的
安全措施
物理层
信道加密:使用信道加密机
优点:
对上层协议没有影响,很好的透明性
各种协议数据单元PDU的首部和数据在和都被加密了,PDU 的截获者无法从PDU中提取源地址和目的地址,因此可以防止各种形式的流量分析。
由于信道加密机完全使用硬件加密技术,因此加密和解密速度快,并且无须传送额外的数
缺点:只对点到点的能够加密。
数据链路层
随着无线网络的发展,任何无线终端都可以在无线接入点的信号覆盖范围内接受其无线信号。
早期的无线局域网安全机制:
SSID匹配机制
对接入点AP给予一个服务集标识符(无线网络名称),其他用户给终端配置的SSID与AP的SSID匹配时,才能接入网络。否则不能进入AP形成的网络。
但是这种SSID匹配机制仅仅只是一种简单、不加密的网络鉴别,不能防止窃听和冒充,提供非常弱的访问控制功能
MAC地址过滤机制
为接入点AP配置一个允许接入的MAC地址列表,只有列表中的MAC地址才能接入网络。
但是这种MAC地址过滤机制不能防止攻击者通过截取MAC地址的方式加入网络 ,然后将自己的MAC地址额也设置成为有效的MAC地址
有线等效保密WEP机制
网络管理员在AP上配置由AP和用户的无线终端共享的WEP密钥————类似对成密钥加密
但是这种在所有通信都使用的都是同一个共享密钥,加密强度低
802.11i标准
安全框架
首先AP与AS(将AS分离出来的目的是可以使一台AS服务于多台AP,集中在一台AS中处理鉴别和接入可以降低AP的复杂性和成本)可以通信
第一阶段:安全性能力发现
AP会向其信号覆盖范围内的无线终端通告其鉴别和加密方式,无线终端收到后请求各自所期望的特定的鉴别和加密方式——这个阶段虽然已经通信了报文,但是没有加密和鉴别
第二阶段:无线终端和AS双向鉴别,共同生成主密钥MK
AP仅在AS和无线终端中转发报文,鉴别过程使用由扩展的鉴别协议——端到端的报文格式。主要利用公钥加密技术(不重数加密和报文摘要)从而实现AS和无线终端的双向鉴别,生成双方共享的主密钥MK
第三阶段:无线终端与AS生成成对主密钥PMK(再生成一个密钥)
AS将PMK(由无线终端和AP共同使用)发送给AP,使用PMK相互鉴别AP和无线终端
第四阶段:AP和无线终端各自用PMK生成临时密钥TK
用于链路级别的加密
网络层
IPsec
IPsec是网络层提供安全服务的协议,并不限定用户使用何种特定的加密和鉴别算法,通信双方可以选择合适的算法和参数
IPsec的两种工作模式:
1.传输模式
2.隧道模式
封装出的IP首部都是不加密的,是为了使因特网中的各路由器能够识别IP安全数据报首部中的相关信息,进而可以将IP安全数据报在不安全的因特网中从源点安全地转发到终点。所谓IP安全数据报,是指数据报的数据载荷是经过加密并能够被鉴别的。
安全关联
在使用隧道方式传送IP安全数据报之前,应当首先为通信双方建立一条网络层的逻辑连接,称为安全关联——SA。无连接的网络层就会变成具有逻辑连接的一个层
提供安全服务的安全关联SA是从源点到终点的单向连接。如果需要进行双向安全通信,则两个方向都需要建立SA。
两个局域网之间实现SA
一台主机利用SA连接进入局域网
建立安全关联的路由器R1和主机B需要维护这条SA的状态信息
1.一个32位的连接表示符,称为安全参数索引SPI
2.SA的源点和终点的IP地址
3.所使用的加密类型(DES/AES)
4.加密的密钥
5.完整性检查的类型
6.鉴别使用的密钥
IP安全数据报的格式
IPsec协议中有两个主要的协议:鉴别首部(AH)协议和封装安全有效载荷协议
AH协议提供源点鉴别和数据完整性服务,但不能提供保密性服务
ESP协议比AH协议复杂得多,它提供源点鉴别、数据完整性和保密服务——包含了AS协议
使用ESP或者AH协议的IP数据报称为IP安全数据报/IPSec数据报可以在安全隧道中传输
发送发:
下一个首部:如果使用的是隧道传输那么就是4表示ESP有效载荷为原始的IP数据报,如果使用的TCP/UDP传输就是TCP/UDP头部的位置
报文鉴别码MAC:按照安全关联的密钥和算法对需要鉴别的部分生成报文鉴别码MAC
安全参数索引SPI:里面有加密的密钥和算法
接收方:
运输层
SSL——安全套接字层
TLS——传输层安全
SSL三种服务
SSL服务器鉴别:
支持SSL客户端通过验证来自服务器的证书,来鉴别服务器的真实身份并获得服务器的公钥。
SSL客户鉴别:
用户服务器证实客户的身份,这是SSL的可选安全服务
加密的SSL会话:
加密客户和服务器之间传送的所有报文,并检测报文是否被篡改
应用层
PGP使用对称加密和公钥加密算法来提供机密性、鉴别、完整性和抗抵赖服务,报文摘要算法来提供完整性服务
防火墙检测控制与入侵检测系统
防火墙:严格控制出入网络边界的分组,禁止任何不必要的通信,从而减少入侵的发生。
入侵检测系统:通过对进入网络的分组进行检测与深度分析,来发现疑似入侵行为的网络活动,并进行报警以便进一步采取相关措施防护
防火墙
属于一种访问控制技术,具体实现为一种可编程的特殊路由器。把一个单位的内部网络与其他网路进行安全隔离。防火墙配置的访问控制策略,某些分组允许通过防火墙,而某些分组禁止通过
实现设备:
分组过滤路由器————是一种具有分组过滤功能的路由器,它根据所配置的分组过滤规则对出入内部网络的分组执行转发或丢弃
过滤规则所采用的各参数来自分组的网络层/运输层首部的某些字段 IP/端口/协议等
不支持应用层的操作
应用网关————又称为代理服务器,实现应用层数据的过滤和高层用户的鉴别,当用户通过应用网关访问内网或外网资源时,应用网关可以要求用户进行身份鉴别,然后根据用户身份对用户做出相应的访问控制
局限性:
每种网络应用都需要一个专用的应用网关。
在应用层处理和转发报文负担较大。
应用网关对应用程序是不透明的,用户需要在应用程序指明应用网关的地址
入侵检测系统
在入侵已经开始但还未造成危害或在造成更大危害之前,及时监测到入侵并尽快阻止入侵,尽量把危害降到最小,就是非常有必要的。——IDS
IDS对于出入网络的分组执行深度检查,当检查到可疑分组时,会及时向网络管理员发出警报或进行阻断
基于入侵检测的分类————只能检测出已知攻击,不能检测出未知攻击
1.需要维护一个已知各类攻击的标志性特征的数据库。
2.检测到与某种攻击特征匹配的分组或分组序列时,就判断可能出现了某种入侵行为
3.标志性特征必须具有很好的区分度
4.标志性特征一般由网络安全专家提供
基于异常的入侵检测:
1.通过观察正常运行的网络流量来学习正常网络流量的统计特性和规律
2.检测到网络流量的某种统计规律不符合正常情况是,则判断可能发生了入侵行为
检测依据:漏报率、误报率
常见的网络攻击
网络扫描
网络扫描是攻击者获取网络中主机或设备信息(主机的IP地址、操作系统、运行的程序、存在的漏洞)的重要手段,也是攻击者进行网络攻击的第一步。
四种类型:
主机发现
1.搜索要攻击的主机,这是对其进行攻击的前提。搜索要攻击的主机实际上就是要确认目标主机的IP地址————利用网际控制报文协议ICMP(PING命令)检查主机是否在线
防护措施:配置主机或服务器对ICMP查询报文不进行响应/配置防火墙不允许
2.但是攻击者可以利用IP欺骗技术,伪装成目标主机,然后发送ICMP查询报文,如果目标主机响应,则可以确定目标主机的IP地址
端口扫描
1.端口扫描是攻击者确定目标主机正在运行后,想要更近一步了解目标主机所有端口的工作状态,从而得出目标主机开放了哪些网络服务
如果端口处于关闭状态的话UDP发送的报文,就会发回ICMP差错报告报文
操作系统检测
不同操作系统所存在的安全漏洞可能有很多不同。要利用这些安全漏洞进行攻击,首先必须检测远程目标主机所使用的操作系统类型
1.获取操作系统旗标信息:在客户机与服务器建立连接过冲中,服务器往往会返回各种独特的欢迎信息。攻击者可根据这些信息推断出服务器的操作类型
2.获取主机端口状态信息:操作系统通常会默认开启一些常用的网络服务,这些服务会打开各自特定的端口进行网络监听。攻击者可对目标主机进行端口扫描,根据端口扫描结果来推断目标主机的操作系统类型
3.获取TCP/IP协议栈指纹:尽管RFC文档严格规定了各种协议的三要素,单没有规定各种协议的具体实现 ,同一个协议在不同操作系统下的实现细节可能不同,攻击者就可以推断了
漏洞扫描
更具网络应用服务和操作类型可以在网络安全机构提供的漏洞数据库中找到对应的漏洞信息,然后根据漏洞信息生成对应的扫描器,对目标主机进行扫描,从而发现目标主机存在的安全漏洞
采取措施
1.仅打开确实需要的端口,关闭所有未使用的端口
2.使用防火墙限制对端口的访问
3.使用入侵检测系统监控网络活动,及时发现异常行为
网络监听
网络传输的数据大部分都是明文形式。网络监听就是监听网络中的数据包,从而获取敏感信息。
常见类型:
1.分组嗅探器————是一种网络监听工具软件,它运行在网络中的某台主机上,被动接受所有出入该主机的网络适配器(网卡)的数据链路层协议数据单元——帧。如Wireshark
如果将网络适配器设置为混杂方式,则可以监听所有经过该网络适配器的数据包,从而获取敏感信息
但是如果网络中的交换机已经实现了自主学习就不会讲数据报以广播的方式发给其他主机(交换机毒化攻击解决这个优点)
2.交换机毒化攻击————攻击者发送大量的伪造不同的源MAC地址的帧,就会把这些大量的伪造MAC地址写满自己的转发表,就会引起淘汰里面的对应端口,从而不得不由单发再变成广播
3.ARP欺骗————让攻击者在中间插入一个ARP请求,然后让目标主机发送ARP请求,然后攻击者再发送ARP应答,从而获取目标主机的MAC地址,然后就可以进行ARP欺骗了类似伪装成为路由器
采取措施
1.使用交换机代替集线器。
2.禁止交换机的自主学习功能,将IP、MAC地址实现静态绑定
3.划分VLAN
4.数据加密、实体鉴别
拒绝服务攻击
拒绝服务攻击(DoS):攻击者通过某种手段,阻止合法用户对网络资源的正常使用,使网络或系统无法正常工作
类型:
1.基于漏洞的DoS攻击————主要利用网络协议漏洞或操作系统漏洞。攻击者向目标发送一些特殊分组,使目标系统在处理这些分组时出现异常甚至崩溃,这种攻击称为剧毒包/杀手包攻击——死亡PING
2.基于资源消耗的Dos攻击————攻击者向目标发送大量数据包,使目标系统在处理这些数据包时消耗大量资源,从而无法正常工作。如SYN洪泛攻击、反射攻击
反射攻击:攻击者伪造源地址,向第三方服务器发送大量数据包,第三方服务器收到后,会向目标发送数据包,从而使目标系统消耗大量资源,无法正常工作。
3.分布式DoS攻击————攻击者通过多个攻击源(僵死主机)同时向目标发送数据包,使目标系统无法正常工作。如DDoS攻击
采取措施
1.配置防火墙
2.源端过滤的路由器
3.追溯Dos攻击源
学习来源:湖科大机网
前面学习:
一、二、三、四、五