网络协议从入门到底层原理(7)网络安全 - 常见攻击、单向散列函数、对称加密、非对称加密

ARP欺骗 - 核心步骤示例

在这里插入图片描述

ARP欺骗防护

  • 静态ARP

  • DHCP Snooping

网络设备可借由DHCP保留网络上各电脑的MAC地址,在伪造的ARP数据包发出时即可侦测到

  • 利用一些软件监听ARP的不正常变动

DoS、DDoS 介绍与防御

=================================================================================

DoS攻击(拒绝服务攻击,Denial-of-Service attack)

  • 使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问

DDoS攻击(分布式拒绝服务攻击,Distributed Denial-of-Service attack)

  • 黑客使用网络上两个或以上被攻陷的电脑作为“僵尸”向特定的目标发动DoS攻击

  • 2018年3月,GitHub遭到迄今为止规模最大的DDoS攻击

DoS攻击可以分为2大类

  • 带宽消耗型:UDP洪水攻击、ICMP洪水攻击

  • 资源消耗型:SYN洪水攻击、LAND攻击


DoS、DDoS防御

防御方式通常为:入侵检测流量过滤多重验证

  • 堵塞网络带宽的流量将被过滤,而正常的流量可正常通过

防火墙

  • 防火墙可以设置规则,例如允许或拒绝特定通讯协议,端口或IP地址

  • 当攻击从少数不正常的IP地址发出时,可以简单的使用拒绝规则阻止一切从攻击源IP发出的通信

  • 复杂攻击难以用简单规则来阻止,例如80端口遭受攻击时不可能拒绝端口所有的通信,因为同时会阻止合法流量

  • 防火墙可能处于网络架构中过后的位置,路由器可能在恶意流量达到防火墙前即被攻击影响

交换机:大多数交换机有一定的速度限制和访问控制能力

路由器:和交换机类似,路由器也有一定的速度限制和访问控制能力

黑洞引导

  • 将所有受攻击计算机的通信全部发送至一个“黑洞”(空接口或不存在的计算机地址)或者有足够能力处理洪流的网络设备商,以避免网络受到较大影响

流量清洗

  • 当流量被送到DDoS防护清洗中心时,通过采用抗DDoS软件处理,将正常流量和恶意流量区分

  • 正常的流量则回注回客户网站

传输层 - SYN洪水攻击(SYN flooding attack)


攻击者发送一系列的SYN请求到目标,然后让目标因收不到ACK(第3次握手)而进行等待、消耗资源

攻击方法

  • 跳过发送最后的ACK信息

  • 修改源IP地址,让目标送SYN-ACK到伪造的IP地址,因此目标永不可能收到ACK(第3次握手)

防护参考:RFC 4987

传输层 - LAND攻击


LAND攻击(局域网拒绝服务攻击,Local Area Network Denial attack)

  • 通过持续发送相同源地址和目标地址的欺骗数据包,使目标试图与自己建立连接,消耗系统资源直至崩溃

  • 有些系统存在设计上的缺陷,允许设备接受并响应来自网络、却宣称来自于设备自身的数据包,导致循环应答

防护

  • 大多数防火墙都能拦截类似的攻击包,以保护系统

  • 部分操作系统通过发布安全补丁修复了这一漏洞

  • 路由器应同时配置上行与下行筛选器,屏蔽所有源地址与目标地址相同的数据包

应用层 - DNS劫持、HTTP劫持

=====================================================================================

DNS劫持,又称为域名劫持

  • 攻击者篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP

  • 导致对相应网址的访问被劫持到另一个不可达的或者假冒的网址

  • 从而实现非法窃取用户信息或者破坏正常网络服务的目的

为防止DNS劫持,可以考虑使用更靠谱的DNS服务器,比如:114.114.114.114

  • 谷歌:8.8.8.8、8.8.4.4

  • 微软:4.2.2.1、4.2.2.2

  • 百度:180.76.76.76

  • 阿里:223.5.5.5、223.6.6.6

HTTP劫持:对HTTP数据包进行拦截处理,比如插入JS代码

  • 比如你访问某些网站时,在右下角多了个莫名其妙的弹窗广告

HTTP协议的安全问题

==============================================================================

HTTP协议默认是采取明文传输的,因此会有很大的安全隐患

  • 常见的提高安全性的方法是:对通信内容进行加密后,再进行传输

常见的加密方式

  • 不可逆

单向散列函数:MD5、SHA等

  • 可逆

对称加密:DES、3DES、AES等

非对称加密:RSA等

  • 其它

混合密码系统

数字签名

证书

encrypt:加密

decrypt:解密

plaintext:明文

ciphertext:密文

为了便于学习,设计 4 个虚拟人物

  • AliceBob:互相通信

  • Eve:窃听者

  • Mallory:主动攻击者

在这里插入图片描述

在这里插入图片描述

如何防止被窃听?

在这里插入图片描述

单向散列函数(One-way hash function)


单向散列函数,可以根据根据消息内容计算出散列值。

单向散列函数,也被称为

  • 消息摘要函数(message digest function)
  • 哈希函数(hash function)

输出的散列值,也被称

  • 消息摘要(message digest)
  • 指纹(fingerprint)

单向散列函数网站

MD5加密:https://www.cmd5.com/hash.aspx

MD5解密:https://www.cmd5.com/

https://www.sojson.com/encrypt_des.html

https://tool.chinaz.com/tools/md5.aspx

散列值的长度和消息的长度无关,无论消息是1bit、10M、100G,单向散列函数都会计算出固定长度的散列值。

在这里插入图片描述

单向散列函数特点

  • 根据任意长度的消息,计算出固定长度的散列值

  • 计算速度快,能快速计算出散列值

  • 具备单向性

在这里插入图片描述

  • 消息不同,散列值不同,具有雪崩效应

在这里插入图片描述

常见的几种单向散列函数

  • MD4MD5

产生128bit的散列值,MD就是Message Digest的缩写

  • SHA-1

产生160bit的散列值

  • SHA-2

SHA-256,SHA-384,SHA-512,散列值长度分别是256bit,384bit,512bit

  • SHA-31

全新标准

单向散列函数 - 防止数据被篡改


如何防止数据被篡改?

  • 一般情况下是这样做的

在这里插入图片描述

  • 应用单向散列函数来防止数据被篡改

在这里插入图片描述

单向散列函数 - 防止数据被篡改的应用:

官方给处一串 SHA-256,用于检验下载后的文件是否被篡改。

在这里插入图片描述

在这里插入图片描述

单向散列函数 - 密码加密


现在数据库不会直接存储密码明文,存储的都是加密过后的值。(所以现在的找回密码也无法看到原密码,只能重置成新密码)

在这里插入图片描述


如何加密解密?

在这里插入图片描述

  • 对称加密(对称密码)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210124185700833.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_1,color_FFFFFF,t_70)
  • 非对称加密(公钥密码)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210124185828427.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_1,color_FFFFFF,t_70)

对称加密( Symmetric Cryptography)

================================================================================================

对称加密中,加密、解密时使用的是同一个密钥

在这里插入图片描述

常见的对称加密算法

  • DES

  • 3DES

  • AES

DES(Data Encryption Standard)


在这里插入图片描述

  • DES 是一种将 64bit 明文加密成 64bit 密文的对称加密算法,密钥长度是 56bit

  • 规格上来说,密钥长度是 64bit,但每隔 7bit 会设置一个用于错误检查的 ,因此密钥长度实质上是 56bit

  • 由于DES 每次只能加密 64bit 的数据,遇到比较大的数据,需要对 DES 加密进行迭代(反复)

  • 目前已经可以在短时间内被破解,所以不建议使用

3DES(Triple Data Encryption Algorithm)


3DES ,将 DES 重复 3 次所得到的一种密码算法,也叫做 3重DES

  • 三重DES 并不是进行三次 DES 加密(加密 → 加密 → 加密)

  • 而是 加密(Encryption) → 解密(Decryption) → 加密(Encryption) 的过程

目前还被一些银行等机构使用,但处理速度不高,安全性逐渐暴露出问题

在这里插入图片描述

由于3个密钥都是不同的,也称为 DES-EDE3

如果所有密钥都使用同一个,则结果与普通的 DES 是等价的

在这里插入图片描述

如果密钥1、密钥3相同,密钥2不同,称为 DES-EDE2

在这里插入图片描述

AES(Advanced Encryption Standard)


AES 取代 DES 成为新标准的一种对称加密算法,又称 Rijndeal加密法

AES 的密钥长度有 128、192、256bit 三种

目前 AES 已经逐步取代 DES、3DES ,成为首选的对称加密算法

一般来说,我们也不应该去使用任何自制的密码算法,而是应该使用 AES

  • 它经过了全世界密码学家所进行的高品质验证工作

密钥配送问题(可以用非对称加密解决)


在使用对称加密时,一定会遇到密钥配送问题

如果 Alice 将使用对称加密过的消息发给了 Bob

  • 只有将密钥发送给 Bob,Bob 才能完成解密

  • 在发送密钥过程中

可能会被 Eve 窃取密钥

最后 Eve 也能完成解密

在这里插入图片描述

有以下几种解决密钥配送的方法

  • 事先共享密钥(比如私下共享)

  • 密钥分配中心(Key Distribution Center,简称 KDC)

  • Diffie-Hellman 密钥交换

  • 非对称加密

非对称加密(Asymmetric Cryptography)

=================================================================================================

非对称加密中,密钥分为加密密钥、解密密钥 2种,它们并不是同一个密钥

加密密钥:一般是公开的,因此该密钥称为公钥(public key)

  • 因此,非对称加密也被称为公钥密码(Public-key Cryptography)

解密密钥:由消息接收者自己保管的,不能公开,因此也称为私钥(private key)

在这里插入图片描述

公钥、私钥


公钥和私钥是一一对应的,不能单独生成

  • 一对公钥和私钥统称为密钥对(key pair)

由公钥加密的密文,必须使用与该公钥对应的私钥才能解密

由私钥加密的密文,必须使用与该私钥对应的公钥才能解密

在这里插入图片描述

解决密钥配送问题


  • 由消息的接收者,生成一对公钥、私钥

  • 将公钥发给消息的发送者

  • 消息的发送者使用公钥加密消息

  • 为什么要用非对称加密解决密钥配送问题,而不是直接使用非对称加密传输消息呢?

非对称加密的加密解密速度比对称加密要慢,直接用来传输消息效率低

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 26
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值