跳转至

Network Security

约 4307 个字 48 张图片 预计阅读时间 29 分钟

网络安全基础

网络安全基本属性

  • 保密性:保证机密信息不被窃取,或窃听者不能了解信息的真实含义
  • 完整性:保证数据的一致性,防止数据被非法用户篡改
  • 可用性:保证合法用户对信息和资源的正常使用
  • 可认证性:能对伪造来源的信息或伪造身份予以鉴别
  • 不可依赖性:防止用户抵赖曾经的行为和操作
  • 可控性:对信息的传播及内容具有控制能力,产品和服务安全可控性

网络安全基本原则

感觉没啥用,但是还是放在这里吧×

  • 安全机制经济性原则
  • 默认不安全性原则
  • 完备检查原则
  • 最小授权原则
  • 可接受性原则
  • 开放设计原则
  • 最小公度原则
  • 特权分离原则

网络攻击

网络攻击是指用多种技术、方法和手段破坏数据机密性、完整性和系统的可用性、可认证性、不可抵赖性和可控性。

网络安全威胁基本解决方案

  • 监视全网络态势
  • 解决与系统相关的数据保密问题
  • 使用对称和公钥加密,重视密钥管理
  • 使用数字签名和安全认证技术

网络攻击与威胁

网络攻击概述

  • 被动式攻击
    1. 窃听 Eavesdropping
    2. 嗅探 Sniffing
  • 主动式攻击
    1. 网络欺骗 Spoofing
    2. 干扰与瘫痪 Disruption(DDos)

窃听

窃听指以窥探传输的数据的方式收集信息。通常是在机密性通信链路上不合法地监听私密性的对话。

有线网络与无线网络中的窃听

有线网里的窃听难度更大,因为通常需要物理接入目标网络。而无线网里的窃听难度相对较低,一般只需要处于覆盖范围内即可。

设置网卡为混杂模式就可以监听到网络上的所有的包(经过子网的),混杂模式一般用于检测网络连接问题。

以太网中常用的监听方式

  1. 监听目标的端口
    a
  2. 中间人(网桥)方式
  3. 集线器方式
  4. 集线器+监听端口方式
  5. 集线器+分流器(TAP)方式
  6. MAC泛洪方式

嗅探

嗅探指捕获网络中传输的包,也就是监听流量(不管是以自己为目的地还是以他人为目的地),同样分为有线和无线两种模式。

嗅探既可以用来攻击,也可以用来防御。

嗅探所需工具

  • 硬件:对于有线局域网,通常需要支持混杂模式的网卡;对于无线网络,专用设备居多,比如高功率天线可以增加嗅探距离。
  • 软件:最常用的比如Wireshark等。

嗅探用途

嗅探可以用于流量分析、性能分析、入侵检测以及信息窃取等。

嗅探工作原理

正常模式下每个网络设备拥有唯一硬件地址,只会接收以该地址为目的地址的包。但是在嗅探模式下,网卡可以接收其收到的所有数据包,捕获到网络上所有的报文和帧。

利用嗅探开展攻击有时需要主动攻击,比如ARP欺骗(毒化)和MAC泛洪。

ARP攻击

ARP缓存

ARP缓存中保存网络中各个电脑的IP地址和MAC地址的对照关系,每收到ARP的应答包,更新ARP缓存中对应的信息

(某些)主机收到一个ARP的应答包后,不验证自己是否发送过这个ARP请求

两种可能的攻击:

  1. 对路由器ARP表的欺骗
  2. 对局域网内PC的网关欺骗

ARP欺骗:毒化

  • 使ARP缓存中毒
  • 进行中间人攻击
  • 使所有从目标主机传出的流量传输到攻击者的主机

方法:伪造ARP回复,对整个网络欺骗

a

中间人攻击

重定向受害者的流量传送给攻击者

a

主机1中的IP2的MAC地址被攻击了,变成了攻击者的IP地址。此时如果主机1想要向主机2发送数据,都会发送到攻击者那里,并且主机1不会有察觉。

劫持被攻击主机的网关

将发给网关的数据重定向到攻击者的机器

a

广播欺骗

a

DDos攻击

拒绝服务攻击(Deny of Service)

利用不同主机同时向服务器发送大量请求来消耗服务器的资源

a

SYN Floods

攻击者向服务器发送大量的SYN包,此时服务器会给这个SYN包发送一定的资源来准备建立连接,处于半连接状态,但是此时攻击者不会给服务器发送ACK包,所以会造成大量的服务器资源占用。

a

Dos攻击的关键

存在问题:服务器分配资源等待客户端响应

解决方式:避免保持状态(使用cookie)

放大攻击

原理:请求所需的包很少,但是服务器端响应需要很多包,可用于放大Dos攻击效果(利用服务器攻击别的服务器)

攻击方式:(1)伪造报文的源地址 (2)将源地址设为攻击目标的IP地址 (3)服务器将大量响应报文发送给目标

a

MAC Flooding

  1. 攻击者对交换机发送很多非法的、包含不同源MAC地址的封包
  2. 交换机会把所有这些MAC地址记录到自己 的CAM(Content Addressable Memory) 表之中。
  3. 当这些记录超过交换机所能承载的内存的时候,MAC flooding的效果就达成了。
  4. 这时,交换机就变成了集线器,对所有信息进行无定向广播。

a a a

Mirai僵尸网络

使用物联网设备作为僵尸机器

APT攻击

震网病毒

[伊朗核电站事件]震网的传播及发作通道:USB摆渡+基于漏洞的横向移动(利用USB植入病毒到单台主机中,然后病毒慢慢扩散)

安全机制与手段

密码学

Kerckhoffs 原则

即使密码系统的任何细节已为人悉知,只要密钥(key)未泄漏,它也应是安全的。也就是说,要保密的是密钥,而不是加密细节。

加密系统概念图

a

  • 加密和解密
    1. 加密:\(E_k(P)=C\)
    2. 解密:\(D_k(C)=D_k(E_k(P))=P\)
  • 三种不同的攻击能力
    1. 仅仅知道密文
    2. 知道密文以及对应的明文
    3. 可以任意的给加密系统传递明文并且接收到对应的密文(控制加密系统)

Substitution Ciphers

简单的字母替换,比如凯撒密码(字母表向右移动3位)

a

将字母排序变成键盘排序或者是其他随机排序方式

a

替换密钥的解决方式

  1. 根据字母出现的频率判断(频率分析法)
  2. 进行整个单次的频率分析
  3. 寻找密文中可能存在的特定的词(涉及经济领域的寻找financial)

Transposition Ciphers

位置的改变,也就是打乱顺序

随机选择一个单词,根据单词字字母出现的顺序进行排序,然后将原文进行填充,最后生成密文

a

One-Time Pads

选择一串随机数,和明文进行异或操作生成密文。

现代密码学

对称密钥

Feistel结构—对合密码/乘积密码

  • Feistel网络的实现与以下参数和特性有关
    1. 分组大小:分组越大则安全性越高,但加密速度就越慢。
    2. 密钥大小:密钥越长则安全性越高,但加密速度就越慢。
    3. 轮数:单轮结构远不足以保证安全性,多轮结构可提供足够的安全性。
    4. 子密钥产生算法:该算法的复杂性越大,则密码分析的困难性就越大。
    5. 轮函数:轮函数的复杂性越大,密码分析的困难性也越大。

Feistel网络直接启发了DES对称加密算法

DES(Data Encryption Standard)

对称密钥,密钥长度56bit,校验码8bit

a

一共加密了16轮(需要记住)

DES补丁拓展

a

用两个key做三次的原因是为了兼容以前常规的DES,如果前两次的key相同,那么相当于只做了一次DES

AES

对称密钥,密钥长度128bit、192bit或256bit

Cipher Modes

不同块之间的加密,因为前面的加密算法只是块内的加密,可以整个块进行替换来保证密文依然是有效的。

ECB

a

每一个块的加密都和前一个块相关,但是此时的解密效率会有所降低。如果改成基于字节的加密(Cipher Feedback Mode),效率会提高很多。

对称密钥存在的问题

密钥的分发与管理存在困难,并且不支持两个没有共享过密钥的主体进行加密通信

非对称密钥

使用公钥进行加密,私钥进行解密。

RSA

原理:将两个大素数相乘十分容易,但是想要对其乘积进行素因数分解却极其困难(没有办法通过公钥计算私钥)

RSA安全性:穷举攻击、数学攻击、计时攻击、选择密文攻击

椭圆曲线密码ECC

属于非对称密钥(需要记住)

D-H算法

D-H协议用于安全协商密钥

  • 不能用于交换确定消息
  • 可用于建立共享的密钥
  • 仅有通信双方知道

数字签名与报文完整性

数字签名=公钥加密的逆应用=私钥运算+公钥验证

公钥加密的特点:速度慢。对明文数字签名也是慢。

因为公私钥体系的计算较慢,所以一半用来验证或者是实现对称密钥的分发,一般文件的加密还是使用对称密钥来实现

数字签名一般应具有的性质

  1. 签名应当是可信的
  2. 签名应当是不可伪造的
  3. 签名应当是不可重用的
  4. 签名的文件应当是不可改变的
  5. 签名应当是不可抵赖的

密码散列函数(HASH)

可以用于确认传输的数据是否发生错误

单向散列函数能够辨别出“篡改”,但无法辨别出“伪装”,这时就需要进行认证

消息认证码(Message Authentication Code MAC)

a

但是直接的MAC并不能解决第三方证明与否认的问题

HMAC (Hash MAC)

HMAC (Hash MAC)是一种使用单向散列函数来构造消息认证码的方法

A发送给B,A先用hash函数生成验证码,然后使用自己的私钥进行签名(加密)。B收到后用对方的公钥解密。

a

基于数字签名的HMAC

使用私钥对hash后的散列值进行加密

a

公钥证书PKC(Public-Key Certificate)

PKC由CA(Certification Authority)颁布

a

CA会用自己的私钥对hash之后的散列值进行签名

CA也可以具有层次性

a

其中Root的地址是所有人都知道的

认证协议

challenge-response protocol 存在漏洞

a

第3步后Bob相信Alice,第5步后Alice相信Bob

存在的问题

a

反射攻击(the reflection attack):Trudy攻击原来Alice和Bob的连接

如何解决:

  1. 在证明自己的时候同时认证对方
  2. 使用不同的key

HMAC Hashed Message Authentication Code 正确的

a

小结

a

电子邮件安全

安全电子邮件属性

  • 保密性:发送方随机生成一个对称密钥,然后将明文使用对称密钥进行加密,然后用接收方的公钥对这个生成的对称密钥进行加密,最后将加密后的邮件和密钥发送给接收方。
  • 保密性、完整性和可验证性:发送方先用自己的私钥对邮件的哈希值进行签名,然后进行其他操作,最后将加密后的邮件、加密后的密钥以及签名发送给接收方。

优良保密协议PGP pretty good protocol

  • PGP 协议提供了对邮件的加密、鉴别、电子签名和压缩等技术
  • PGP 综合应用了现有的 MD5,RSA和 IDEA 等密码算法

a

a

Web安全

常见攻击方式

  • SQL注入
  • XSS(跨站脚本攻击)
  • 点击劫持
  • 木马

SQL注入

a

跨站脚本攻击

a

通信安全

传输层安全

  • 安全套接字层协议SSL
  • 安全传输层协议TLS
  • 超文本传输协议安全HTTPS

a

安全套接字层协议SSL

安全套接字层协议SSL是一种在应用层协议(如http、telnet、NNTP、FTP)和TCP/IP之间提供数据安全性分层的机制。它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。

a

a

安全传输层协议TLS

在传输层之上广泛部署的安全协议(几乎所有浏览器都支持,web服务器:https 端口443)

提供以下安全保障:机密性(通过对称加密实现)、完整性(通过加密哈希实现)、身份验证(通过公钥加密实现)

建立一个轻量级的TLS(t-tls)需要准备的步骤

  1. 握手:通信双方使用各自证书和私钥相互认证,交换或创建共享密钥
  2. 密钥生成:通信双方使用共享密钥生成密钥集
  3. 数据传输:流数据传输:作为一系列记录的数据(不仅仅是一次性交易)
  4. 连接关闭:安全关闭连接的特殊消息

TLS: 1.3 密码套件:通过Diffie-Hellman(DH)算法进行密钥交换,HMAC使用SHA加密哈希函数

超文本传输协议安全HTTPS

HTTPS是以安全为目标的HTTP通道,是HTTP的安全版,在HTTP协议应用层和传输层之间加了一层SSL/TSL安全层,HTTPS安全基础是基于SSL/TSL协议

a

网络层安全

网络层安全 IP Sec

a

IP安全数据报有两种工作模式:传输模式和隧道模式(用在VPN中)

a

a

会建立安全关联(SA):IP是面向无连接的; IP Sec是面向连接的

无线安全

主要就是无线网络的安全

802.11i: 认证和加密

是WiFi中的具体加密和认证协议

  1. 安全功能发现阶段:
    1. AP发布自己的状态、可提供的身份验证和加密形式信息
    2. 移动终端请求特定表单认证(需要加密)
    3. 尽管移动终端和AP已在交换消息,但设备尚未通过身份验证,因为没有加密密钥
  2. 生成相互认证和共享对称密钥:
    1. 认证服务器, 移动终端已经共享了共同密钥(如加入网络密码)
    2. 认证服务器, 移动终端使用共享对称密钥,随机数(防止重放攻击),加密哈希(确保消息完整性)相互认证
    3. 认证服务,移动终端生成对称会话密钥
  3. 对称共享密钥分配阶段(如用于AES加密)
    1. 在移动终端和认证服务器之间生成相同的密钥
    2. AS通知AP共享对称会话
  4. 移动终端通过AP与远程主机进行加密通信
    1. 在移动终端和认证服务器之间生成相同的密钥
    2. AS通知AP共享对称会话

802.11i : WPA 3次握手

a

系统与运行安全

  • 病毒
  • 木马
  • 恶意代码

沙盒与隔离

沙盒(sandbox,又译为沙箱),通过重定向技术,把程序生成和修改的文件,定向到自身文件夹中

蜜罐 Honeypot

本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析

安全技术前沿与未来发展

量子加密

量子密码学(Quantum Cryptography),泛指利用量子力学的特性来加密的科学

量子密钥分发——BB84协议,协议需要4个不同的量子态以及两条信道:经典信道(允许被监听,但不可篡改),量子信道

BB84协议运行原理(以光量子为例)

发送方

a

接收方

a

实例

a

安全性分析

a

  • 通常的做法是通信双方交换很长的光子序列,得到确认的密钥后分段使用奇偶校验核对
  • 对于Eric来说,由于无法知晓Alice使用的偏振滤色片序列,则无法无损的复制和存储一整串量子信息
  • 一旦被窃听,立即会被密钥分发者发现

评论