首页 > 语言 > 关键词  > HSTS加密技术最新资讯  > 正文

为什么我们要使用新型Web安全协议HSTS?

2015-05-11 16:05 · 稿源: freebuf

HTTP Strict Transport Security (通常简称为HSTS) 是一个安全功能,它告诉浏览器只能通过HTTPS访问当前资源, 禁止HTTP方式。

0×01. Freebuf百科:什么是Strict-Transport-Security

我摘自owasp上的一段定义:

HTTP Strict Transport Security (HSTS) is an opt-in security enhancement that is specified by a web application through the use of a special response header. Once a supported browser receives this header that browser will prevent any communications from being sent over HTTP to the specified domain and will instead send all communications over HTTPS. It also prevents HTTPS click through prompts on browsers.The specification has been released and published end of 2012 as RFC 6797 (HTTP Strict Transport Security (HSTS)) by the IETF. (Reference see in the links at the bottom.)

一个网站接受一个HTTP的请求,然后跳转到HTTPS,用户可能在开始跳转前,通过没有加密的方式和服务器对话,比如,用户输入https://foo.com或者直接foo.com。这样存在中间人攻击潜在威胁,跳转过程可能被恶意网站利用来直接接触用户信息,而不是原来的加密信息。网站通过HTTP Strict Transport Security通知浏览器,这个网站禁止使用HTTP方式加载,浏览器应该自动把所有尝试使用HTTP的请求自动替换为HTTPS请求。

0×02. 我们为什么需要开启Strict-Transport-Security  

想想这样一种场景:

有的网站开启了https,但为了照顾用户的使用体验(因为用户总是很赖的,一般不会主动键入https,而是直接输入域名, 直接输入域名访问,默认就是http访问)同时也支持http访问,当用户http访问的时候,就会返回给用户一个302重定向,重定向到https的地址,然后后续的访问都使用https传输,这种通信模式看起来貌似没有问题,但细致分析,就会发现种通信模式也存在一个风险,那就是这个302重定向可能会被劫持篡改,如果被改成一个恶意的或者钓鱼的https站点,然后,你懂得,一旦落入钓鱼站点,数据还有安全可言吗?

对于篡改302的攻击,建议服务器开启HTTP Strict Transport Security功能,这个功能的含义是:

当用户已经安全的登录开启过htst功能的网站 (支持hsts功能的站点会在响应头中插入:Strict-Transport-Security) 之后,支持htst的浏览器(比如chrome. firefox)会自动将这个域名加入到HSTS列表,下次即使用户使用http访问这个网站,支持htst功能的浏览器就会自动发送https请求(前提是用户没有清空缓存,如果清空了缓存第一次访问还是明文,后续浏览器接收到服务器响应头中的Strict-Transport-Security,就会把域名加入到hsts缓存中,然后才会在发送请求前将http内部转换成https),而不是先发送http,然后重定向到https,这样就能避免中途的302重定向URL被篡改。‍‍进一步提高通信的安全性。‍‍

上面是我自己的理解,下面是owasp中文站点关于hsts的描述:

HSTS的作用是强制客户端(如浏览器)使用HTTPS与服务器创建连接。服务器开启HSTS的方法是,当客户端通过HTTPS发出请求时,在服务器返回的超文本传输协议响应头中包含Strict-Transport-Security字段。非加密传输时设置的HSTS字段无效。

比如,https://example.com/ 的响应头含有Strict-Transport-Security: max-age=31536000; includeSubDomains。这意味着两点:

在接下来的一年(即31536000秒)中,浏览器只要向example.com或其子域名发送HTTP请求时,必须采用HTTPS来发起连接。比如,用户点击超链接或在地址栏输入 https://www.example.com/ ,浏览器应当自动将 http 转写成 https,然后直接向 https://www.example.com/ 发送请求。

在接下来的一年中,如果 example.com 服务器发送的TLS证书无效,用户不能忽略浏览器警告继续访问网站。

HSTS可以用来抵御SSL剥离攻击。SSL剥离攻击是中间人攻击的一种,由Moxie Marlinspike于2009年发明。他在当年的黑帽大会上发表的题为“New Tricks For Defeating SSL In Practice”的演讲中将这种攻击方式公开。SSL剥离的实施方法是阻止浏览器与服务器创建HTTPS连接。它的前提是用户很少直接在地址栏输入https://,用户总是通过点击链接或3xx重定向,从HTTP页面进入HTTPS页面。所以攻击者可以在用户访问HTTP页面时替换所有https://开头的链接为https://,达到阻止HTTPS的目的。

HSTS可以很大程度上解决SSL剥离攻击,因为只要浏览器曾经与服务器创建过一次安全连接,之后浏览器会强制使用HTTPS,即使链接被换成了HTTP

另外,如果中间人使用自己的自签名证书来进行攻击,浏览器会给出警告,但是许多用户会忽略警告。HSTS解决了这一问题,一旦服务器发送了HSTS字段,用户将不再允许忽略警告。

0×03. Strict-Transport-Security的一些不足

用户首次访问某网站是不受HSTS保护的。这是因为首次访问时,浏览器还未收到HSTS,所以仍有可能通过明文HTTP来访问。解决这个不足目前有两种方案,一是浏览器预置HSTS域名列表,Google Chrome、Firefox、Internet Explorer和Spartan实现了这一方案。二是将HSTS信息加入到域名系统记录中。但这需要保证DNS的安全性,也就是需要部署域名系统安全扩展。截至2014年这一方案没有大规模部署。

由于HSTS会在一定时间后失效(有效期由max-age指定),所以浏览器是否强制HSTS策略取决于当前系统时间。部分操作系统经常通过网络时间协议更新系统时间,如Ubuntu每次连接网络时,OS X Lion每隔9分钟会自动连接时间服务器。攻击者可以通过伪造NTP信息,设置错误时间来绕过HSTS。解决方法是认证NTP信息,或者禁止NTP大幅度增减时间。比如Windows 8每7天更新一次时间,并且要求每次NTP设置的时间与当前时间不得超过15小时

0×04. 我的一些测试

1). 测试1

目标域名:portal.fraudmetrix.cn (这个站点不支持hsts功能) 同盾科技的风险控制管理系统(打个软广,同盾科技,基于大数据,专注反欺诈)。

第一次访问:在浏览器地址栏键入:portal.fraudmetrix.cn

可以看到:

这个域名并不在chrome浏览器的hsts的缓存中,也不在hsts中的preload list中(像facebook、twitter等网站已经内置在preload list中,所以每次请求这些站点的时候浏览器都会自动将http 转换成htttps),所以不会在发送请求前将http转换成https请求。

我们来把这个站点手动加入到chrome浏览器的hsts缓存中:

在未清空chrome浏览器历史记录的前提下,我们再次访问这个站点:

可以看到,一个307 响应码,这是chrome浏览器的内部转换,将http转换成https后再发送请求。

备注:为什么我们要求在未清空chrome浏览器的缓存前访问呢?

因为如果清空了chrome浏览器的缓存之后,我们手动加入到hsts缓存中的域名就会被清除,也就不会看到预期的效果了。

2). 测试2

我们先清空chrome浏览器的缓存,然后在浏览器的地址栏中键入 www.alipay.com 

可以看到www.alipay.com(支付宝)这个站点并没有在chrome 浏览器的内置的preload list中,所以第一次访问的时候,chrome浏览器并不会将http转换成https。

而是由前端的F5的负载均衡(BigIP)器将http请求重定向到https请求。

  • 相关推荐
  • 大家在看
  • 腾讯云服务器12.12限时秒杀-1核2G首年50元

    腾讯云服务器12.12多种机型限时抢购,1核2G服务器4.17元/月,2核4G服务器6.17元/月,专业技术7*24小时在线服务,腾讯云为企业和个人提供快捷,安全,稳定的云服务!

    广告
  • Terra超过了Binance智能链成为第二大DeFi金融协议

    去中心化支付网络Terra现在是去中心化金融(DeFi)协议在总价值锁定(TVL)方面的第二大区块链,这一支撑了以太坊的协议本周已经超越了现在已经落到第三的Binance智能链(BSC)。分析工具DeFiLlama的数据显示,在Terra上,13个项目锁定了超过182亿美元的价值。这意味着每个协议平均超过14亿美元,而BSC上每个协议平均为7300万美元,BSC上有225个协议锁定了165亿美元。与2020年12月相比,这些数字增加了近42000%,当时Terra上的DeFi

  • Serve Robotics的新型自主人行道送货机器人将无需人类协助

    这意味着在某些操作设计领域或有地理围栏的区域,Serve Robotics公司不会依靠远程操作人员来远程协助机器人,也不会依靠跟随者跟在机器人后面来保证安全...Serve公司于12月开始推出其下一代机器人,并表示它最近完成了第一笔Level 4自主送货机器人的交付,SAE将其定义为只要满足某些条件就能自主运行的系统,将不需要人类接管...实时产生这些能力所需的计算由芯片制造商NVIDIA的Jetson平台提供,该平台是专门为机器人和其他自主机器人设计的......

  • openSuSE宣布开发D-Installer 一种基于Web的发行版安装器

    在 Fedora / 红帽 Anaconda 之后,openSUSE / SUSE 也宣布了基于 Web 的发行版安装器的开发计划、同时探索在现有的 YaST 之上构建基于 Web 的安装前端...截至开发团队已围绕这个基于 Web 的 YaST 安装程序开展了早期实验,但尚未给出一份实际投入使用的时间表...不过 SuSE 开发者至少承认了其工作原理与 Fedora 相通,甚至有望采纳 Cockpit 方案......

  • 微软为Excel for Web带来“条件格式设置”新体验

    在周四的一篇博客文章中,微软详细介绍了 Excel for Web 端的新“条件格式设置”体验...以下是 Excel for Web 支持的规则类型:...● Errors / No errors(有错 / 无错)...● Formula(特定公式)...用户现可在 Excel for Web 网页版中指定逻辑公式的格式标准,此规则类型赋予了额外的灵活性...

  • 特斯拉与Talon公司达成镍精矿供应协议

    特斯拉公司已经达成了从矿商Talon金属公司购买镍精矿的一项协议,因为这家电动汽车制造商与美国国内电池金属生产商建立了供应协议...Talon周一在一份声明中表示,特斯拉承诺购买Talon公司Tamarack项目生产的7.5万吨镍精矿,价格与伦敦金属交易所的镍现金结算价格挂钩...“力拓集团正在努力支持Talon公司将Tamarack矿投入生产,因为我们加强了我们的电池材料组合,”力拓矿业公司首席执行官SineadKaufman在一份声明中说...

  • Bing与Yandex率先采纳IndexNow协议 可分享即时URL更新

    首批宣布采用该协议的搜索引擎,包括了微软旗下的必应(Bing)、以及深耕俄罗斯市场的 Yandex...此前 IndexNow 一直在缓慢增长,但微软希望通过允许 Bing、Yandex 和其它参与者的搜索引擎,共享从 IndexNow 提交的 URL 来大举促进新协议的采用...目前 IndexNow 已被“多个搜索引擎”采纳,但微软尚未披露更多细节...至于这项新协议能够对搜索行业产生多大的积极影响,仍有待时间去检验......

  • 启航新征程:光大证券与华为签署面合作框架协议

    2021 年,于光大证券而言,注定是不平凡的一年。尽管受到了新冠肺炎及其它不确定因素的影响,证券领域面临着巨大的挑战。但光大证券顶住压力稳健前行,依托雄厚的实力、完善的体系、前瞻性的战略布局,不断为市场注入发展的强劲动力。一方面,光大证券坚持以资本中介为纽带,着力打造财富管理业务集群、企业融资业务集群、机构客户业务集群、投资交易业务集群、资产管理业务集群、股权投资业务集群。持续迎合市场的最新需求,不断?

  • 谷小御新型智能炒菜机器人是什么

    在家装领域,许多年轻人都会面临着这样一个难题——厨房的装修到底应该怎么办才好?众所周知,由于现在工作上的压力,几乎很少有年轻人能够做到每天做饭,完美平衡口感与健康...而面对这种困难,谷小御从未轻言放弃,通过数年的研发,他们将智能炒菜机器人的硬件升级至最佳,运用领先的烹饪工艺数码化技术,成功做到了自动加菜,自动翻炒,与市面上所宣称的一些智能炒菜机器人不同,谷小御智能炒菜机器人真正做到了无人看管、全自动化...

  • 招联金融上线新型服务,保障用户权益

    比尔·盖茨说过:创新是做大公司的唯一之路。如今,消费模式转型升级,各式各样的消费金融产品荣耀上线,针对当下的社会形态,不少消费金融企业已经将互联网和资金链融合起来,实现服务透明化,资金流向可视化的状态,用户可以在第一时间内了解企业业务。对此,作为国内知名企业招联金融表示,开诚布公的服务系统于企业和客户来说互利共赢,并且招联金融上线了一项名为“虚拟职场远程办公支撑普惠金融服务”,全方位加大普惠力度。

  • 福特和Stripe签署五年协议:合作建设电商基础设施

    据国外媒体报道,汽车巨头福特公司宣布与美国移动支付服务商Stripe签署了一项为期五年的协议,Stripe将帮助拓展福特的电子商务战略...这项合作将利用Stripe的技术,拓展在北美和欧洲市场的数字支付业务,包括消费者预定和正式下单购买汽车,以及福特为消费者提供的各种汽车消费信贷捆绑服务,并将客户引导到本地适合的福特品牌或林肯汽车品牌经销商...前日,福特汽车市值首次突破1000亿美元,成为美国资本市场表现最佳的汽车股...

这篇文章对你有价值吗?

  • 热门标签

热文

  • 3 天
  • 7天