You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未等待peer的close_notify响应的风险及截断攻击原理问询

关于OpenSSL SSL_shutdown截断攻击的疑问

参考文档说明

应用程序可以仅发送关闭警报后就关闭底层连接,无需等待peer的响应。这样可以节省资源,因为进程可以立即终止或处理其他连接。仅当确定对方不会再发送更多数据时才可如此操作,否则存在截断攻击的风险。

攻击运作原理

截断攻击本质是攻击者冒充通信中的某一方,提前发送连接关闭信号,让另一方误以为通信已正常完成,从而忽略后续的合法数据传输。

在你描述的场景中:如果我方发送关闭警报后直接断开连接、不等待peer响应,攻击者就有可乘之机——它可以在peer还没发完所有合法数据时,伪造关闭信号或者直接阻断后续数据通路。此时我方会误以为通信已经结束,但实际上peer还有未传输完成的有效数据。

潜在损害场景

这种攻击的危害核心是让我方基于不完整的通信信息做出错误决策,举几个实际例子:

  • 转账场景:peer(如支付服务器)已经发出“转账成功”的确认数据,但攻击者在该数据到达我方前截断了连接。我方因未收到确认,可能重复发起转账,造成资金损失。
  • 文件传输场景:我方提前断开连接,误以为文件已接收完整,但最后一段有效数据被攻击者截断,导致文件损坏、校验失败;若为可执行文件,还可能被植入恶意片段(结合其他攻击手段)。
  • API交互场景:peer返回的响应包含多个业务字段,攻击者截断了部分关键字段,我方基于不完整响应执行逻辑,会引发业务状态混乱,比如订单状态错误、权限校验失效等。

简言之,风险不在于我方没读取后续数据,而在于攻击者能让我方错误判定通信已正常结束,进而基于不完整信息触发错误的业务行为。正常情况下等待peer的关闭响应,能确保双方确认数据传输完毕,避免被冒充截断的风险。

内容的提问来源于stack exchange,提问作者Dragan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 23:07:46