2020 年中国互联网网络安全报告
中国互联网络发展状况统计报告
如果网络传输的、CPU处理的、硬盘存储的能有10%的有效数据就很好了(为了稳定性,要)
现在又要加上网络安全,那可能又要折损很多有效性
但是又不得不这么做,先看看网络安全的定义是什么?
网络安全: 网络系统的 硬件、软件 、网络、程序、数据 免受威胁,不因为偶发的货恶意的原因而遭到破坏、更改、泄露,系统可以连续正常可靠的运行,网络服务不中断。
先要做到网络安全,什么样的网络才是安全的网络,有哪些达标的指标?
机密性Confidentiality
只有发送方与预定接收方能够理解报文内容
身份认证authentication
发送方和接收方希望确认对方的真实身份
信息完整性message integrity
希望确保信息未被篡改(传输中 、后期),发生篡改希望能够检测到
可访问与可用性access and availability
网络服务必须对被授权用户可访问 与 可用
相对性
没有绝度的安全,就像 电影 《我是谁:没有绝对安全的系统》一样
当量子计算机研制成功,我们当前的看似安全的系统都将不懈一击
时效性
新的漏洞不断被发现
相关性
新的配置、新的系统组件,都会引起网络安全问题
不确定性
攻击时间、攻击者、目标、发起地点 都不 确定
复杂性
网络安全是系统工程,需要技术和非技术的手段
重要性
关乎国家、征服、企业、个人生存
做网络安全,可以做
Internet最初设计的时候没有考虑安全性
最初Internet设计愿景:“一组彼此信任的互助用户连接到一个透明网络”
网络安全是需要再OSI7层模型中 每一层都考虑的事情
黑客能搞的破坏:
**窃听eavesdrop:**偷听信息,窃取密码 数据
**插入insert:**主动在连接中插入信息
假冒impersonation: 可以通过伪造spoof分组中的源地址, 假冒别人进行身份验证。别的数据报 修改后 假冒成身份认证
**劫持hijacking:**移除 取代发送方 或 接收方 接管(tack over)连接
**拒绝服务Dos(Denial of service)*阻止服务器为其他用户提供服务,过载资源
映射Mapping:映射就是找到网络上运行的服务,拿到IP:Port
对策cuntermeausres
为了避免被扫描到,有什么对策?
捕获、检查、分析在 网络上 传输的 数据包
截取数据报,获得 源IP地址、目标IP地址、端口号、协议类型以及数据内容等
混杂模式:无论是不是自己的数据报,都将其传递给上层应用进行处理。而普通模式,不是自己的会直接丢弃。
但是分组嗅探也可以应用在其他分析行业:
网络监测:管理员可以使用分组嗅探工具来监测网络中的流量,了解网络的使用情况、性能状况和故障排除等。
网络安全:分组嗅探可以帮助检测和分析网络中的恶意活动、攻击行为或潜在的安全漏洞,从而提供安全事件响应和防御。
协议分析:通过捕获和分析数据包,可以深入了解网络中使用的各种协议的工作原理和特征,以优化网络性能和故障排除。
应用程序调试:开发人员可以使用分组嗅探工具来监测和分析应用程序在网络上的通信过程,从而帮助调试和解决相关问题。
Wireshark 就 一个典型的网络嗅探工具
避免别分许嗅探
直接用应用生成“原始”IP分组,设置分组的源IP地址字段为任意值
对策:
denial of service
向接收方恶意泛洪(flood)发送恶意分组,淹没swamp接收方的 带宽、资源
dos是单机的,容易被拉黑
DDOS
分布式拒绝服务攻击DDOS:多个源主机协同淹没接收方
反射式DDOS
DOS对策:
Ka = Kb, 共享对称密钥
e.g.: 单码替代密码的替代模式
替代加密
a 换成 b
换位加密
将明文划分为固定长度d的组,每个组内的字母按规则 替换位置
现代加密技术 也包括 替代 & 置换,但是不再针对一个个字母,而是针对二进制位进行操作
现代加密主要分为:
明文 分成 长度为m的明文组
各组明文在长度为i的密钥控制下变成n的密文组
Data Encryption Standard
也是一个对称加密算法
16轮Feistel结构密码
64位分组长度,密钥长度56位,每一轮子密钥48位(56位得来的)
DESde安全性
针对DES攻击方法
DES改进
RSA(Rivest-Shamir-Adleman):RSA 是广泛使用的非对称加密算法,基于大数分解难题。它使用一对密钥,公钥用于加密数据,私钥用于解密数据或签名。RSA 在安全性和灵活性方面都表现出色,被广泛应用于数字签名、密钥交换和安全通信等领域。
ECC(Elliptic Curve Cryptography):ECC 是基于椭圆曲线数学理论的非对称加密算法。相比于传统的非对称算法,ECC 提供相同的安全性水平,但使用更短的密钥长度。这使得 ECC 在资源受限环境中具有优势,例如移动设备和物联网应用。
DSA(Digital Signature Algorithm):DSA 是一种基于离散对数难题的数字签名算法。它使用一对密钥,私钥用于签名,公钥用于验证签名的有效性。DSA 主要用于数字签名和密钥交换,并在美国的政府标准中得到广泛应用。
ElGamal:ElGamal 是一种基于离散对数问题的非对称加密算法。它提供加密和密钥交换功能,并可用于数字签名。ElGamal 算法相对较慢,但在某些特定应用中具有优势,例如匿名密钥交换。
数学上的关联,但私钥无法从公钥中计算得出
RSA安全性:
实际应用:
基于对密文的分析进行破解,图灵机 利用的 就是这个原理
暴力破解brute force
攻击者已经知道了 部分 明文 的 mapping
可以获取针对选择的明文的密文
把这个pwd 加密
那我照抄这个加密的pwd
回放攻击playback attack
为了避免回放攻击
一次性随机数nonce: 一个生命期内只使用一次的数R
还需要对这个 nonce 用 共享密钥 对称加密
(黑客没有 秘钥 )
把4.0中的 对称加密,改成 非对称加密
message integrity ,也称 报文认证、报文鉴别
目标:
密码散列函数 Cryptographic Hash Function :H(m)
4个步骤,任意长度输入,128位输出
MD5 安全性不够,96年被破解成功
对报文 H ,得到散列码,这就是 报文摘要messgae digest,
可以作为报文的数字指纹fingerprint
简单方案:报文+报文摘要---->扩展报文(m,H(m))
双方都对报文做H,看看是否在传输途中被修改
报文认证码MAC
Message Authentication Code
报文m+认证密码s+密码散列函数H ---- > 扩展报文(m,H(m+s))
怎么感觉和hash加盐一样???
解决 否认、伪造、冒充、篡改
数字签名Digital signatures
协议ap4.0中 ,需要用到 对称密钥
如何建立共享的密钥?
建立 秘钥分发中心Key Distribution Center - KDC 作为中介
KDC :其实就是一个高声望 的Server
每个用户都可KDC建立 加密通道(对称密钥 User-KDC)
对称加密有KDC,那么非对称加密 的 公钥,是否也有C?
怎么确定这个公钥 就是来自目的方?
建立可信任的认证中心Certification Authority-CA
垃圾邮件、诈骗邮件、邮件炸弹、
在图片附件中病毒传播、钓鱼诈骗
因此 email需要很强的 安全性需求
文本不敏感,利用数字签名,提供认证 和 报文完整性
Privacy Enhance Mail
增强保密邮件
没有被广泛应用
Pretty Good Privacy
在Win Unix 平台免费运行
所用算法非常安全:
PGP特点
Secure/Multipurpose Internet Mail Extensions
数据保密、完整性 和 认证服务
不仅仅用在Email ,MIME数据的都支持(Web)
只保护邮件主题,头部信息不加密
认证依赖CA
应用广泛、服务器复杂,有很多隐藏漏洞
Web安全威胁分类
Web安全的指标
基于应用层实现Web安全:
将安全服务直接嵌入到App中
SSH:远程访问协议
SET:安全电子交易,电子商务 银行
Kerberos:可信任主机之间身份认证
传输层实现Web安全
SSL:安全套接字层
TLS:传输层安全的协议
HTTPS = HTTP + SSL
IPSec:端到端(主机到主机)的安全机制
最初的目标:电子商务、加密、Web服务器认证、可选客户认证
HTTP + SSL = HTTPS,可用于所有基于TCP网络的应用:安全的Socket接口
提供了:机密性、完整性、认证
变种:TLS
在TCP连接建立之后,进入SSL握手过程
握手handshake:通讯双方证书、私钥认证 、交换共享密钥
**密钥派生key dervation:**利用共享密钥派生出一组秘钥
**数据传输:**待传输数据分割成一系列记录
**连接关闭:**发送特殊消息,安全关闭连接
虽然Bob拿到主密钥,但是不直接使用主密钥,而是用主密钥生成一组秘钥
目的:提升甘泉行
字节流 进行 分割
为什么不直接进行加密?
MAC完整性验证怎么对流做?
放到最后才验证?延迟太多
所以只能把流 分割成 一段一段的
每段都携带一个MAC,段长不一定,标记length
接收方利用MAC做完整性验证
攻击者 捕获重放记录 or 重新排序记录
解决方案:在MAC中添加序列号,
用一次性随机数
攻击者伪造TCP连接的断联,恶意断开连接
解决:记录类型,用力一个类型type的记录专门用于断联
介于HTTP 和 TCP 之间的可选层
绝对大多数应用层协议可以直接建立在SSL之上
SSL不是一个单独的协议,而是两层协议
cipher suite
SSL支持多个密码组
协商negotitiaon:客户和服务器商定密码组
客户提供选项,服务器挑选其一
更改密码规格协议:
更新当前连接的秘钥组
在SSL之上
协议只包含一条消息(一个值为1的字节)
Alert消息:发生错误异常的时候,为对等实体传递SSL警告或终止当前协议
ContentType=21
协议包含两个字节:警告级别和警告代码
服务器认证鉴别
商定加密算法
建立秘钥
客户认证
协商SSL记录协议的基础 ,contentType = 22
Record Protocol
描述SSL信息交换过程中的记录格式
操作步骤:
专用网络PrivateNetworks:
专属的网络设备、链路、协议。e.g.:公安网、铁路网络、银行网络、军用网络
不会和其他公共网络互联
成本非常高,一般公司难以维持
VPN:虚拟专用网络
Virtual Private Networks:建立在公共网络(Internet)之上的安全通道
和公网共享,成本低
利用 隧道技术、加密技术、秘钥管理、身份认证、访问控制、网络管理,实现类似专用网络的安全
端到端的 “安全通道”
简单的说就是一种封装,利用隧道协议
隧道协议包括:
常见的VPN隧道协议
提供两个不同模型的两个协议:AH、ESP
传输模式
发送和接收 由 端系统 完成
端 主机 时IPSec感知的IPSec-ware
路由器是IPSec感知的
两个IPSec协议
AH:在IP数据报文头中的协议号为51
源认证/鉴别 和 数据完整性检验,不提供机密性
ESP:50
源认证/鉴别 和 数据完整性检验,和 机密性
比AH应用更广泛
security association
SA是单向的
安全关联SA主要参数
IPSec端点将SA状态保存在安全关联数据库SAD中
安全策略SP
Sercurity Policy 安全策略
SPD:安全策略数据库
作用:记录哪些数据报由VPN转发
开VPN的同时,有一些数据报不需要走VPN通道
封装加密过程
解封IPSec数据报过程
IPSec序列号初始化0,后续+1
所有信息手动配置、SA永远在、适用于结构网路简单的。自己构建VPN就可以这样?
IKE:internet key Exchange
互联网密钥自动协商
SA可以通过协商方式产生、SA过期以后重新协商、适用于复杂的
用IKE自动管理、协商、修改、删除。IKE是IPSec唯一的密钥管理协议
都有WiFi密码对吧?隔壁老王的WiFi密码还很复杂
这就是无线局域网安全,用密码控制访问只是一种,还有:
因此需要无线网络安全
WEP有线等效保密
WEP是无线局域网的安全方案:目标就是 和 有线的安全一样
对数据流进行加密
将密钥流中的每个字节与明文的每个字节进行异或,得到密文
WEP使用RC4算法
每个流分组独立加密
WEP身份认证
EAP
扩展认证协议
移动端 与 认证Server之间的端-端的协议
EAP运行在两段独立的“链路上”
firewall:隔离内网 和 公网,组织/允许某些分组通过防火墙,的软件or硬件。
防火墙分类
stateless packet filters
分组逐个过滤,依据:
ACL:Access Control List
规则表,自顶向下 应用于到达的分组action,condition
静态的匹配,不够灵活
因此需要建立 有状态分组过滤器
追踪每个TCP连接
基于应用层的数据,用户身份 已IP/TCP/UDP头部字段过滤分组
例如:允许特定用户telnet外部网络
1. 要求所有Telnet用户通过网关Telnet外部网络;
2. 对于授权的用户,网关代理用户与目的主机建立Telnet连接,并且在两个连接之间进行数据中继;
3. 路由器阻止所有不是由网关发起的Telnet连接。