前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TLS降级攻击的一种抵御方法

TLS降级攻击的一种抵御方法

原创
作者头像
用户9535167
发布于 2022-03-09 07:58:03
发布于 2022-03-09 07:58:03
1.2K0
举报
文章被收录于专栏:final gogogofinal gogogo

内容以及要求

在TLS握手期间 攻击者可以利用一个或者两个通信方对旧版本或者密码套件的支持发起一系列的攻击 本研究利用服务器与浏览器的协调 设计实现一种抵御TLS降级攻击的方法

要求 熟悉流量分析 熟悉TLS协议 能够搭建HTTP服务器 熟悉PHP编程以及burp的使用

大概的关键词

  1. 中间人攻击
  2. tls ssl
  3. 降级攻击

降级攻击

  1. 百度百科的介绍(什么是降级攻击)
  • 向下兼容(downward compatibility),在计算机中指在一个程序、库或硬件更新到较新版本后,用旧版本程序创建的文档或系统仍能被正常操作或使用(包括输入数据)、在旧版本库的基础上开发的程序仍能正常编译运行,或较旧版的硬件仍可在新版使用的情况。降级攻击是一种间接攻击计算机系统的方式,使系统放弃安全度较高的工作方式,使用向下兼容的工作方式。降级攻击常被用于中间人攻击,将加密通讯的安全性大幅削弱,得以进行原本不可能做到的攻击。
  • SSL/TLS协议是降级攻击的重灾区,长期面临这类问题,例如POODLE(Padding Oracle On Downgraded Legacy Encryption)攻击。去除向下兼容往往是解决降级攻击的较好手段。
  • 降级的过程 降级过程通过翻转两端的认证协议来实现。具体来说, 由于对认证协议选项的配置是从服务器端开始的,当服务器发送出第一个 configure-request 报文时,服务器端 PPTP 程序记录了当前服务器认可的认证协议选项, 这个认证协议是 CHAP。 当客户端接收到这个 configure-request 报文时,必然会发送 Ack 报文对服务器发送的上一个配置报文进行确认。此时,中间人攻击程序将这个 Ack 报文拦截掉并偷偷丢弃,然后自己伪造一个 Nak 报文并在其中添加 PAP 选项之后发送给服务器端。服务器接收到这个报文以后,其认证协议选项就从 CHAP 翻转成 PAP。 但是此时客户端事实上已经接受了服务器发送的上一个配置报文, 所以客户端所记录的认证协议状态是 CHAP。下面我们需要通过伪造 configure- request报文对客户端的认证协议状态进行翻转。

由于服务器接收到了客户端发送过来的 Nak 报文,它就会进入重协商过程, 重新发送一个新的 configure-request 报文,这个配置报文中不包含对认证协议的协商。 当这个报文到达中间人主机时,中间人攻击程序将这个报文拦截,并在它的选项字段添加一个新的PAP 选项,然后继续转发给客户端。 客户端接收这个新的配置报文以后,其认证协议就从 CHAP 翻转为PAP。 此时客户端会对这个配置报文重新进行确认,发送一个Ack 报文,当这个 Ack 报文到达中间人主机时,中间人攻击程序拦截这个报文,删除其中的 PAP 选项,并继续转发给服务器端。

至此,整个降级攻击过程完成。这个降级攻击方式不会对 GRE 隧道的序列号造成混乱,因为中间人并没有凭空伪造一个报文来消耗两端的序列号, 而是通过替换原有的报文,占用了原有的序列号。从上面的分析可见,降级过程是通过伪造 Nak 报文来让两端进行强制重协商状态,只有通过 Nak 报文强制翻转服务器端的认证协议选项,才可以实现降级。 强制重协商过程也是中间人攻击的典型攻击模式 [1]

tls 相关内容 介绍一下tls是什么 降级攻击是什么

  1. 百度百科:传输层安全性协议(Transport Layer Security,TLS),及其前身安全套接层(Secure Sockets Layer,缩写作 SSL)是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版网页浏览器,网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布第一版TLS标准文件。随后又公布RFC 5246 (2008年8月)与 RFC 6176 (2011年3月)。在浏览器、电子邮件、即时通信、VoIP、网络传真等应用程序中,广泛支持这个协议。主要的网站,如Google、Facebook等也以这个协议来创建安全连接,发送数据。已成为互联网上保密通信的工业标准。

SSL包含记录层(Record Layer)和传输层,记录层协议确定传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通信两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。

TLS协议采用主从式架构模型,用于在两个应用程序间透过网络创建起安全的连接,防止在交换数据时受到窃听及篡改。

TLS协议的优势是与高层的应用层协议(如HTTP、FTP、Telnet等)无耦合。应用层协议能透明地运行在TLS协议之上,由TLS协议进行创建加密通道需要的协商和认证。应用层协议传送的数据在通过TLS协议时都会被加密,从而保证通信的私密性。

TLS协议是可选的,必须配置客户端和服务器才能使用。主要有两种方式实现这一目标:一个是使用统一的TLS协议通信端口(例如:用于HTTPS的端口443);另一个是客户端请求服务器连接到TLS时使用特定的协议机制(例如:邮件、新闻协议和STARTTLS)。一旦客户端和服务器都同意使用TLS协议,他们通过使用一个握手过程协商出一个有状态的连接以传输数据。通过握手,客户端和服务器协商各种参数用于创建安全连接:

  1. 当客户端连接到支持TLS协议的服务器要求创建安全连接并列出了受支持的密码组合(加密密码算法和加密哈希函数),握手开始。
  2. 服务器从该列表中决定加密和散列函数,并通知客户端。
  3. 服务器发回其数字证书,此证书通常包含服务器的名称、受信任的证书颁发机构(CA)和服务器的公钥。
  4. 客户端确认其颁发的证书的有效性。
  5. 为了生成会话密钥用于安全连接,客户端使用服务器的公钥加密随机生成的密钥,并将其发送到服务器,只有服务器才能使用自己的私钥解密。
  6. 利用随机数,双方生成用于加密和解密的对称密钥。这就是TLS协议的握手,握手完毕后的连接是安全的,直到连接(被)关闭。如果上述任何一个步骤失败,TLS握手过程就会失败,并且断开所有的连接。

中间人攻击

  1. 百度百科:中间人攻击(Man-in-the-Middle Attack),是一种间接攻击模式。 黑客通过某种技术控制一个处于通信两端的主机之间的某个路由,在这个路由上,中间人可以嗅探、拦截或修改两端通信过程中的数据包。 能够实现中间人攻击的技术很多,比如:ARP 欺骗 ,为了欺骗一个处于同一局域网的某台主机 ,可以使用 ARP 配置报文,使目标主机误认为攻击者主机是该局域网的默认网关。 这样受害者主机所有的出口流量就都会发送到中间人主机上。

DNS 欺骗 :在域名解析过程中 ,客户端首先需要通过域名向 DNS 服务器发送一个请求报文,以获得目的主机的 IP。 攻击者可以通过劫持这个请求报文,然后发送一个虚假的回复报文,将一个虚假的目的 IP 地址发送给客户端。 客户端就会被带到一个中间人预先设定好的目的主机上。

钓鱼网络:无线接入是非常普遍的局域网接入方式。中间人可以通过在一台安装有无线收发网卡的设备上开启无线网络诱导被害者使用该网络。由于被害者一旦接入该网络,他的所有数据都是通过这个钓鱼网络进行转发的,因此在中间人的机器上可以很容易的拦截和修改数据包。而且相比于前两种策略,搭建钓鱼网络的成本非常小,配置也比较简便。总体来说,在公共场所开放一个免费Wi-Fi是一个非常隐蔽和简单快捷的攻击方案。

一个中间人攻击能成功的前提条件是攻击者能将自己伪装成每一个参与会话的终端,并且不被其他终端识破。中间人攻击是一个(缺乏)相互认证的攻击。大多数的加密协议都专门加入了一些特殊的认证方法以阻止中间人攻击。例如,SSL协议可以验证参与通讯的一方或双方使用的证书是否是由受信任的数字证书认证机构颁发,并且能执行双向身份认证。

中间人攻击(Man in the Middle Attack,简称“MITM攻击”)是一种间接的入侵攻击。这种攻击模式是通过各种技术手段,将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。

CA证书

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
被面试官问到http和https的区别,那就开始battle吧(一文搞懂http和https的区别)
找工作的时候有没有经常被问到http和https的区别,其实这一块的知识延伸很广,想跟面试官battle一下,就看这篇文章。
javascript艺术
2021/05/28
2.8K0
被面试官问到http和https的区别,那就开始battle吧(一文搞懂http和https的区别)
基于TLS1.3的微信安全通信协议mmtls介绍
编者的话:近年来网络安全事件层出不穷,确保亿万用户的安全隐私是我们微信义不容辞的责任。当然,我们更要保证用户稳定、快速的聊天体验,所以我们有了mmtls。文章干货满满,建议大家阅读全文,仔细品味! 一、背景   随着近些年网络安全事情的频繁发生,使得用户对网络通信安全的意识越来越强。国内外的网络服务提供商都逐渐提供全站的安全通信服务,如国内的淘宝、百度先后宣布已经完成了全站部署https。微信现有的安全通信协议是基于用户登录的时候派发的SessionKey对应用数据进行加密的,该协议在工程实现上,已经过多
微信终端开发团队
2018/01/29
6.3K0
基于TLS1.3的微信安全通信协议mmtls介绍
一种新型的TLS 1.2降级攻击被发现
上个月,Computer Science and Automation (INRIA)的安全研究人员在TLS 1.2协议的实现过程中发现一个新漏洞,并将该新型攻击命名为“SLOTH”。中间人攻击者可利用SLOTH以下列方法攻击加密流量: 1、解密加密的流量 2、冒充合法的客户端 3、冒充合法的服务器 之所以称之为SLOTH,是因为攻击者强迫目标使用弱的哈希算法,这是首例公开的针对TLS、IKE和SSH协议的原像/碰撞攻击。本文主要介绍降级攻击的机制,以及应对措施。 TLS1.2签名哈希算法降级 过去,SSL
FB客服
2018/02/07
3K0
一种新型的TLS 1.2降级攻击被发现
深入了解 SSL/TLS 协议及其工作原理
安全套接层(Secure Sockets Layer,SSL)和 传输层安全(Transport Layer Security,TLS)是用于确保互联网通信安全的加密协议。尽管 SSL 协议早期曾广泛应用,但由于其一些已知的安全漏洞,它逐渐被 TLS 取代。尽管如此,由于历史原因,很多人仍然习惯称之为 SSL。SSL处于应用层和传输层之间。
神的孩子都在歌唱
2025/03/05
1410
深入了解 SSL/TLS 协议及其工作原理
HTTPS原理
加密和解密都用同一个密钥,其有个最大挑战如何安全传递密钥,拥有密钥就拥有加密解密的能力,如果被互联网转发密钥被窃听,那么就失去了加密的意义
晚上没宵夜
2020/06/02
4570
HTTPS详细介绍
HTTP协议因为其轻、小、快、简单,所以在全世界普及开来,各种应用都离不开它。但是随着业务复杂度的提高,HTTP的这些优点逐渐成为了短板。所以就开始各种打补丁,比如因为HTTP是无状态的协议,所以为了管理状态而诞生的Cookie。这篇文章要说的是其中一个为了安全而诞生的超级补丁SSL(HTTPS)。
从入门到进错门
2019/08/14
8050
如何用 wireshark 抓包 TLS 封包
此前一篇文章用 wireshark 这个抓包工具调试了一下 HTTP 请求和响应。详细阐述了 TCP 连接和断开的整个过程。这篇文章尝试使用 wireshark 来抓取 TLS 封包,了解一下 HTT
JS菌
2019/04/23
7.7K0
如何用 wireshark 抓包 TLS 封包
HTTPS终于搞懂了
近些年来,越来越多的网站使用 HTTPS 协议进行数据传输,原因在于 HTTPS 相较于 HTTP 能够提供更加安全的服务。
捡田螺的小男孩
2023/02/22
9910
HTTPS终于搞懂了
基于 TLS 1.3的微信安全通信协议 mmtls 介绍(上)
张绍文
2017/07/20
20.3K1
基于 TLS 1.3的微信安全通信协议 mmtls 介绍(上)
用WireShark简单看看SSL/TLS协议
HTTPS目前是网站标配,否则浏览器会提示链接不安全,同HTTP相比比,HTTPS提供安全通信,具体原因是多了个“S”层,或者说SSL层[Secure Sockets Layer],现在一般都是TLS[Transport Layer Security],它是HTTP明文通信变成安全加密通信的基础,SSL/TLS介于应用层和TCP层之间,从应用层数据进行加密再传输。安全的核心就在加密上:
看书的小蜗牛
2022/05/26
2.4K0
用WireShark简单看看SSL/TLS协议
全面剖析广域网技术PPP点对点协议,文末附常见面试题!
PPP 是一种广泛应用的链路层协议,旨在提供点对点网络通信的稳定性和可靠性。它是连接计算机世界的纽带,允许设备之间建立数据链路并进行通信。本文将深入探讨PPP的不同方面,包括其基础、协商过程、应用领域、安全性和未来展望。
网络技术联盟站
2023/11/06
1.3K0
全面剖析广域网技术PPP点对点协议,文末附常见面试题!
SSL/TLS 原理详解
SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰。正文开始。 1. SSL/TLS概览 1.1 整体结构 SSL是一个介于HTTP协议与
小小科
2018/05/02
3.5K0
SSL/TLS 原理详解
HTTP协议简述
超文本传输协议(HyperText Transfer Protocol,HTTP),是互联网应用最广泛的网络协议。最初的HTTP协议设计用于发送和接收HTML。经过发展演变成为客户端和服务器进行请求(Request)和响应(Response)的标准协议。要了解HTTP的运行过程,需要了解大体OSI模型
BUG弄潮儿
2021/02/03
4340
HTTP协议简述
MS-CHAP与CHAP与PAP认证协议
MS-CHAP(微软挑战-握手认证协议)、CHAP(挑战-握手认证协议)和PAP(密码认证协议)都是用于网络连接的认证协议,它们各自具有不同的特点和适用场景。
久绊A
2024/05/06
4090
使用 SSL/TLS 加强 MQTT 通信安全
在之前的文章中,我们探讨了认证和访问控制机制。接下来,我们将介绍传输层安全协议(TLS)在提升 MQTT 通信安全方面的重要作用。本文将着重介绍 TLS 以及它如何保证 MQTT 通信的完整性、机密性和真实性。
EMQ映云科技
2023/08/11
9990
使用 SSL/TLS 加强 MQTT 通信安全
HTTPS攻击原理与防御
超文本传输安全协议( HTTPS )是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。 HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
信安之路
2018/08/08
8890
HTTPS攻击原理与防御
假如让你来设计SSL/TLS协议
说起网络通信协议,相信大家对 TCP 和 HTTP 都很熟悉,它们可以说是当今互联网通信的基石。但是,在网络安全方面,它们却是有着很大安全风险:
元闰子
2022/03/05
5650
假如让你来设计SSL/TLS协议
HTTP - TLS1.3 初次解读
在HTTP - HTTPS(TLS1.2)中,笔者介绍了目前世界主流的TLS1.2协议的相关知识点,文中从HTTP的缺陷、SSL的历史、信息加密的主要手段、数字证书、以及最为关键的TLS1.2交互过程介绍了现今HTTPS的关键部分内容。
阿东
2022/09/26
3.9K0
从HTTP到HTTPS
HTTP 是基于文本传输的协议,它位于 OSI 七层模型的应用层(Application) ,HTTP 是通过客户端向服务器发送请求,服务器响应请求来进行通讯,截止到目前位置 HTTP 协议分别由 6 个独立的协议说明组成,这 6 个协议说明分别是 RFC 7230 、 RFC 7231 、 RFC 7232 、 RFC 7233 、 RFC 7234 、 RFC 7235 。
喵叔
2020/12/14
7990
白话HTTPS
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)的应用层传输协议。
叔牙
2021/12/11
1.5K1
白话HTTPS
相关推荐
被面试官问到http和https的区别,那就开始battle吧(一文搞懂http和https的区别)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档