抑制“重播HTTP cookie”攻击的最佳解决方案

https://ithelp.ithome.com.tw/upload/images/20210218/20132160zkwPCe0RpH.png
-Cookie中的ASP.NET会话ID(来源:https://blog.httpwatch.com/2009/02/

在此问题中,由於系统管理员已禁用了受感染的用户帐户,因此Web服务器应验证每个请求(进行完全调解:conduct complete mediation)并拒绝被劫持会话中的请求。

会话,会话ID和访问令牌(Session, Session ID, and Access Token)
在Web上下文中,在用户已向Web服务器认证後建立用户会话。然後,将会话ID和/或相关信息(通常称为访问令牌(或简称为令牌))通过HTTP响应中的标头,cookie,内容或重定向URL传输到浏览器。

不记名令牌(Bearer Token)
网络服务器根据访问令牌授权,该访问令牌代表已认证的用户。承载令牌(“承载”)是访问令牌的一种特殊形式。拥有承载令牌的任何一方都可以使用它来获取对关联资源的访问权,而无需重新进行身份验证。

会话劫持(Session Hijacking)
会话劫持是指攻击者通过跨站点脚本(cross-site scripting:XSS),流量嗅探(traffic sniffing)或任何其他方式捕获用户的访问令牌的情况,从而攻击者可以模拟用户并在系统上行使其特权。
. 验证用户输入可以有效地防止XSS,但是它不能减轻会话劫持的危害。在此问题中,这表明会话已被劫持,攻击者一直在下订单。
. 争夺相同资源的HTTP请求可能导致争用情况,从而导致死锁,从而影响可用性和时序问题(TOC / TOU)。因此,解决HTTP请求之间的竞争状况可能无法帮助阻止虚假订单。
. TOU / TOC是一个时序问题,其中在验证之前或未经验证(检查时间)就授予了对资源的访问(使用时间);正确的顺序应该是TOC / TOU。“确保使用时间(TOU)早於检查时间(TOC)”是一个实现错误;正确的方法应该是“确保使用时间(TOU)在检查时间(TOC)之後。” 但是,即使程序逻辑的时间顺序正确,也会因竞争条件而崩溃。

完全调解(Complete Mediation)
Saltzer和Schroeder在他们的论文“信息保护的基本原理”中介绍了完全中介的原理。

完全中介:必须检查对每个对象的每次访问的权限。当系统地应用该原理时,它是保护系统的主要基础。它强制执行系统范围的访问控制视图,该视图除了正常操作外还包括初始化,恢复,关闭和维护。这意味着必须设计一种万无一失的方法来标识每个请求的来源。它还要求对通过记住授权检查结果而获得性能的建议进行怀疑地检查。如果发生权限更改,则必须系统地更新这些记忆的结果。

如果会话被劫持,则完全调解可以减少不利影响。例如,发行短期和有限范围的令牌并检查访问令牌的到期时间,范围和真实性可以防止攻击或使被劫持的令牌更早失效。
在此问题中,由於系统管理员已禁用了受感染的用户帐户,因此Web服务器应验证每个请求并拒绝来自被劫持会话的请求。

RFC 6750
以下是RFC 6750中安全建议的摘要:
. 保障承载令牌
. 验证TLS证书链
. 一律使用TLS(https)
. 不要将承载令牌存储在cookie中
. 发行短期持有人令牌
. 发行范围化的承载令牌
. 不要在页面URL中传递承载令牌

参考
. 访问令牌
. 比赛条件和僵局
. 比赛条件和关键部分
. Cookie与令牌:权威指南
. RFC 6750,OAuth 2.0授权框架:承载令牌使用
. HTTP认证
. 计算机系统中的信息保护
. 完全调解
. 检查时间到使用时间
. 通过HTTPS查询字符串的安全性如何?

资料来源: Wentz Wu QOTD-20210123


<<:  什麽是业务模型画布 (Business Model Canvas)?

>>:  iOS APP iOS Test-Driven Development by Tutorials free section 学习笔记-前言与概述

Day12 - 该来写 API 了,API routes 简介

API routes Next.js 是一个全端框架,除了提供 SSR 与 SSG 的功能之外,还能...

虹语岚访仲夏夜-19(专业的小四篇)

如果可以  希望一年只想你一次 可惜  那有一天不想你 如果思念  是你身边空气 可不可以 让我也...

DAY15 在虚拟机上运行Android Studio 的第一个程序

从第三天灌好程序之後,也是过了快两个礼拜才使用他,想必每个夜晚他在硬碟里偷偷哭泣,让你的硬碟很潮,比...

整理6个媒体产业在机器学习应用的趋势

在媒体、娱乐和创意产业中,机器学习与人工智能的使用越来越多。不管是管理数位内容、提供创作者新的灵感等...

[Day 22] Mattermost - with Drone Plugin

Drone CI/CD + Mattermost 组合技 虽然 drone plugins里面没有m...