什么是 TLS 中间人攻击?如何防范中间人攻击这类攻击

中间人攻击 & 防御方式全解
作者:红黑联盟
分类 : 比特网
  关于有一个非常有意思的事,就是随着技术的变化,古老的网络攻击方式还会再次被利用。正如中间人攻击(MiTM)。这种攻击的目的很简单,就是在有线或者连接的中间放置一个攻击者。但是,随着、(IoT)、BYOT等网络技术的发展,攻击者也开始寻找新的方式以使那些古老的攻击方式可以重新被利用。下面是每个专业的网络人员都应该知道的关于MiTM攻击的各种方式。
  MiT-cloud (MiTC)
  过去这几年,云计算越来越受欢迎,一个常见的云服务就是,很多都在使用。这些云服务使得庞大的传输和工作变得很简单。这个领域的有Dropbox、OneDrive以及 Drive等等。通常情况下,这些服务不会要求你每次使用服务的时候都要重新登录,因为你验证后,它会在你的本地系统上保留会话令牌(token)。MiTC就是利用的会话管理。如果攻击者获取了你的token,他们就能访问你的账户,这样,他们就能窃取你的数据,更改文件,或是上传恶意软件使你的电脑感染。
  MiT-browser (MiTB)
  你上一次写支票是什么时候?我是想说,如今大多数人都使用网上银行。MiTB攻击就发生在这个时候,攻击者会诱导你下载(Trojan)。一旦你访问特定的财务或银行网站的时候,恶意软件就会往你访问的页面注入新的HTML代码,然后诱导你输入SSN号、 PIN码或是银行路由代码。MiTB会把它自己直接集成到网页上,还能保持原有的和设置,看起来和真正的网页一样。
  MiT-mobile (MiTMO)
  攻击者不光针对和。很多用户可能更多的是在他们的上进行转账付款等操作,这就给攻击者创造了更多的机会。这也是为什么MiTMO越来越受到关注的原因。这种攻击关注移动交易验证码(mTANs)以及其它各种类型的交易验证码。这种类型的中间人攻击会拦截SMS流量,并且捕捉这些代码,然后把它们转发给攻击者。MiTMO给带外身份验证系统带来了很大的挑战。
  MiT-app (MiTA)
  不知道你是不是和我一样,还记得有智能以前的生活,那时你可能会有很多灵感,如今这些想法都已经被智能手机替代了。随着智能手机的发展,应用程序也迅速激增,如果应用程序没有执行有效的证书验证,那就给了MiTA攻击的机会。MiTA会让攻击者插入一个自签名的证书,来和应用程序。它的工作原理是利用应用程序处理信任的方式,扩展MiTM攻击模式。
  MiT-IoT
  随着越来越多的用户和企业都开始采用IoT(物联网),MiTM攻击也越来越受到关注。其中有一种类型的攻击就是MiT-IoT,这种攻击方式是利用传递信任和较差的证书验证。举个例子来说,一种能够显示用户的Google 日历的IoT冰箱就发现没有验证SSL证书。这会导致攻击者利用这种漏洞安装一个MiTM攻击,窃取用户的Google证书。
  上面说的每种攻击都是对网络安全专业人士的挑战,但是,有一些方法可以减少这些攻击发生。具体方法如下:
  • 通过采用动态检测、DHCP Snooping等控制操作来加强网络基础设施
  • 采用传输加密:SSL和TLS可以阻止攻击者使用和分析网络流量。像Google等公司如今都有高级的网站优化,默认状态下都提供HTTPS。
  • 使用CASBs(云访问安全代理):CASBs可以提供加密、访问控制、异常保护以及数据丢失保护等一系列功能。
  • 创建RASP(实时应用程序自我保护):这是一个新概念,内置于应用程序中,用来防止实时攻击。
  • 阻止自签名证书:自签名证书很容易伪造。但是目前还没有撤销它们的机制。所以,应该使用有效证书颁发机构提供的证书。
  • 强制使用SSL pinning:这是对抗MiTM攻击的另一种方式。使用有效证书颁发机构提供的证书是第一步,它是通过返回的受信任的根证书以及是否与主机名匹配来验证该提供的证书的有效性。通过SSL pinning可以验证客户端检查服务器证书的有效性。
  • 安装DAM(活动监控):DAM可以监控数据库活动,检测篡改数据。
  MiTM攻击是一个很大的挑战,它是利用用户和用户连接的服务器之间的信任。这种攻击的危险之处在于,用户想当然的认为他们的连接很安全。只有我们开始意识到这种攻击的危险真正存在,并且花很多时间去进行适当的控制时,比如加密、适当的验证、强大的应用程序验证以及通过系统来检测篡改等,才可以防御MiTM攻击。
[ 责任编辑:小石潭记 ]
比特网 15:37:56
带着朋友和机器人上月亮散步
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。SSL/TLS协议安全系列- SSL中间人攻击防范方案概述-微众圈
微众圈,我的微信生活圈!
SSL/TLS协议安全系列- SSL中间人攻击防范方案概述
摘自公众号:发布时间: 6:11:50
点击上方“红客联盟”可以订阅哦!0x00 简述基于PKI体系的SSL/TLS协议近年来暴出很多安全问题,比如著名的HeartBleed、POODLE攻击和Freak攻击等,2014年关于SSL/TLS协议证书验证问题的CVE有成千个。针对SSL协议在实现中暴露出的各种问题,这里我们讨论一下现有的加固和防范方案,主要包括四个方面:a) Key pinning策略b) HSTS策略c) 多路径证书检查策略d) DNS-based authentication下面我们基于这四个策略做详细介绍。0x01 Key Pinning策略1、 Key Pinning介绍Pinning是把服务器的主机名和证书、公钥等密码学要素联系起来的一种安全技术。例如,当知道某网站的正确证书,再次链接此网站时,可以通过对比已知的正确证书和从网站接收到的证书,判断是否被中间人攻击。当然,没有必要在本地保存某网站的完整证书信息,可以对证书做hash(比如SHA-256),本地保存对应的hash值,这样比完整证书更便捷,并且节省空间。相对证书pinning,更为实际的是public key pinning,因为很多时候证书在重新签发时,并没有更换其公钥信息,这也是为什么很多证书拥有相同公钥的原因。这样如果在本地pin的是公钥信息,那么收到不同的证书也没关系,只要公钥内容相同,就可以信任这些证书。对于SSH此类不依赖于证书的协议,可以直接pin公钥,但是对于SSL/TLS协议,最好的方式是pin X.509证书的SPKI(SubjectPublicKeyInfo)部分对应的hash值,SPKI部分包含了公钥以及其他额外的用于安全验证的信息(包括所使用的公钥加密算法、公钥位数)。2、 pin的位置服务器基于安全考虑,会经常更换公私钥对;并且如果私钥泄露,也需要从CA重新签发证书;并且同一个网站有可能部署了多个公私钥对。而如果pin的是服务器的公钥,那么在维护和使用上会相当复杂。基于上述因素的考虑,可以将pin的位置放在证书链上。一般来说证书链开始于终端证书,有一个中间CA证书,最后是根CA证书。如果pin的是后两个证书信息(中间CA或者根CA的证书信息),那么服务器终端更换证书时,只要是同一个CA签发的,那么证书链没变,pin的信息也不用更换。但是这里会出现另一个问题,CA可能会有很多的上级中间CA,或者不同的根CA,服务器在更换证书时,即使选择的是相同CA,那么上级中间CA有可能不同。基于这些考虑,最佳的pin位置可以选择在证书链的第二个证书上,就是给服务器签发证书的CA的证书,因为即使服务器更换证书,也会选择该CA进行证书签发,pin的信息不会变。3、何时用pin最有效的pinning方式,是在native application中。因为这时作为开发者可以控制通信双方,对于桌面应用和移动应用都可以,比如一些银行软件,支付软件等。对于这种情况,如果开发者可以控制通信双方(客户端与服务器),从而既可以使用自己的证书作为pinning信息,也可以使用第三方CA签发的证书。4、使用key pinning的不足:服务器私钥如果泄露,就需要更换密钥对,另外服务器会经常更改密钥对,为了使相同密钥加密的信息不要太多。这时就需要经常的更换pin的信息,操作复杂。另外同一站点有可能有多个证书,pinning的内容如果不全面,有可能产生错误信息。对于一些应用在更换pin信息时,需要通过软件升级的方式,不太方便。0x02 HSTS策略1、 HSTS简介HSTS(HTTP Strict Transport Security)HTTP严格传输安全,最早于2009年提出,标准化于2012年11月的RFC 6797,是一套由互联网工程任务组发布的互联网安全策略机制。网站可以选择使用HSTS策略,强制浏览器使用TLS协议,并且中断所有证书出现错误的连接,从而减轻浏览器在执行TLS协议时所面临的一些危险。HSTS策略的使用,主要解决了以下几个问题:面对一个主机名(没有指明协议),浏览器不知道该网站是否使用TLS协议;当遇到证书错误不是阻断连接,而是给用户告警(用户多会选择忽略);HTTPS页面从一个HTTP origin加载资源,被称为mixed content,攻击者可以通过控制从不安全页面加载到https页面的mix content实现攻击效果;cookie遵守的同源策略和web content的同源策略不同,只根据host隔离,因此https和http会共用cookie。HSTS通过两种方式,解决以上问题:在本地将所有的http转换为https,保证使用了HSTS的网站,只能通过https访问;当遇到证书错误时,中断链接。2、HSTS安全意义一些支持https的网站一般情况下也会监听http的请求,之后再讲这些请求重定向为https。例如:当收到时,会将用户访问重定向为。这种重定向是不安全的,因为第一个请求使用的是http,攻击者可以从中获取一些敏感信息(比如之前安全会话中的coocie等),另外,攻击者还可能将用户重定向到一些钓鱼网站。并且根据用户的输入习惯,不会在主机名前加上https,更容易带来威胁。HSTS策略防止了这种威胁的存在,它要求浏览器在本地将http协议强制转换为https,之后再与服务器通过https协议进行通信。3、HSTS执行服务器开启HSTS的方法是,当客户端通过HTTPS发出请求时,在服务器返回的超文本传输协议响应头中包含Strict-Transport-Security字段(非加密传输时设置的HSTS字段无效,Strict-Transport-Security 头信息当通过HTTP请求传递,会被浏览器忽略,因为攻击者可能拦截或者篡改HTTP连接头,直到第一次通过https进行安全连接,并且收到Strict-Transport-Security头信息,才会针对该网站配置HSTS策略,这里可以通过浏览器对HSTS preload方式解决)。Strict-Transport-Security字段包括:Strict-Transport-Security: max-age=expireTime [; includeSubdomains]其中:max-age参数指明了过期时间,单位秒,浏览器需要记住这个网站只能通过HTTPS访问的时间;includeSubdomains是可选参数,指明该网站的子域名也需要通过https访问。浏览器对Strict-Transport-Security字段处理:当浏览器使用https第一次访问网站,收到服务器响应的包含该字段的头,会记录下这些信息,之后在有效期内,把对该网站的请求都转换为https。每次浏览器收到Strict-Transport-Security头,都会更新max-age指定的有效期时间,这样可以防止HSTS策略过期。我们用图形简单介绍HSTS功能:图1图1标示了正常情况下,服务器收到http请求时,重定向为https的过程,该过程是不安全的;图2图2标示了第一次安全连接时,收到HSTS的Strict-Transport-Security头信息,之后的访问都会执行HSTS策略。图3图3标示HSTS策略执行时的过程。4、HSTS部署HSTS的部署要考虑到全面性。默认情况下,HSTS只针对返回Strict-Transport-Security响应头的主机名部署,但是很多站点可以部署多个域名,因此要注意HSTS策略部署到所有的域名。对于一些只有一个主机名的网站也需要考虑部署是否全面的问题。例如用户想要访问某网站时,没有加WWW前缀(输入访问),由于没法控制用户的输入,因此在配置HSTS时要注意覆盖到所有的主机名。另外需要注意的是,HSTS部署的全面性要考虑到能够到达网站的所有的路径名,比如用户可能首先通过输入访问根域名,之后再访问其它子域名,此时根域名如果没有部署HSTS策略,有可能会招到SSL剥离攻击。5、HSTS Preloading当用户第一次正确使用https连接某网站,并且收到Strict-Transport-Security头时,才会根据头信息对该网站设置HSTS策略。为了提高HSTS的安全效率,解决“first visit”问题,Google安全团队在Chrome浏览器中设置了“HSTS preload list”,列表中的域名都会自动的使用HSTS策略。Firefox,Safari以及最新版本的IE浏览器,都会合并使用Chrome的HSTS preload list。使用HSTS preload可以满足以下要求:确保了根域名和子域名都被强制使用https;对所有的子域名都标注了一个策略有效时间和preload标记,标示域名拥有者同意加入preload list中。对于一些金融机构、政府网站或者社交网络等,HSTS策略可以缓解大量SSL/TLS协议遭受到的威胁。但是HSTS策略并不能低于证书伪造攻击,需要key-pinning策略协同使用。0x03 多路径证书检测多路径证书检查策略,核心思想就是不仅仅依赖PKI体系,抛开CA的权威性,通过多个途径和方法检验客户端收到的证书的合法性。多路径证书检查的方法基本有两种:公证人辅助证书检查;Tor-Network洋葱网络检查;Social network借助社交网络检查。这里我们主要介绍前两种方法。1、公证人辅助证书检查1.1 Notary简介公证人协助验证证书,是指通过第三方(Notaries)机构,协助验证证书是否合法有效。最早的出现是Perspectives,Firefox的一个插件,可以将收到的服务器证书与大量的notaries进行对比,这些notaries来自于不同的网络节点,这样即使其中某些节点出现问题,攻击者仍然没办法将所有的notaries攻破。通过对比证书是否相同,判断是否遭受中间人攻击。图4图4展示了利用notaries进行证书比对的流程,当客户端收到服务器返回的证书后,向设定好的多个notaries发出请求,根据服务器主机名查找多个notaries中对应的证书,通过返回的证书进行比对,如果有不相同,则认为该证书无效。这些notaries部署在不同的网络环境中。1.2 Notaries证书获取最初的Perspectives所对应的Notaries,会定期的主动的扫描全网的主机,从中获取证书所对应的公钥,存储在本地数据库中,当浏览器的Perspectives插件需要进行证书比对时,从该数据库中获取对应主机的证书公钥,返回给客户端进行比对。2011年,Convergence notary提供了类似的功能,不同的是Convergence notary不会主动的进行全网扫描,仅仅当客户端索求一个本地数据库中没有的证书时,才会向对应的主机进行证书索取。目前Perspectives和Convergence是两个权威的notary维护机构,各自维护这多个可以被共用的notaries。1.3 Notaries的评估使用Notaries作为第三方,协助进行公钥检查,浏览器可以通过插件完全的依赖所设定的可信Notaries,弱化了以X.509证书为基础的PKI体系。同时,如果某个Notaries被攻破,用户完全可以自行更改设置,选择不同的Notaries。使用Notaries进行证书验证也有一些缺点:降低了用户体验,多了一层证书验证流程,会降低网络访问速度;对于一些Notaries,会获取到用户想要访问哪些网站的隐私;一些网站可能会有多个证书,导致Notaries误报的情况出现。2、Tor-Network 网络辅助证书检查洋葱网络的特点是当用户访问某一个固定的目的端,每次经过的路径是随机的。具体来说,TOR客户端维护一个浏览器一样的代理,其他软件可以使用该代理提供的借口,进入Tor网络,TOR节点在不同次的连接时会选择不同的路径,不会轻易被中间人攻击。利用洋葱网络的这一特点,可以进行多路径证书检查。洋葱网络辅助证书检查是建立在正常https协议出现证书警告的情况下,通过洋葱网络再次获取证书,比对两次得到的证书是否相同来判断是否遭受中间人攻击。图5图5展示了使用Tor-Network进行多路径证书检查的流程:Alice收到https证书警告;通过洋葱网络代理,接入洋葱网络;获取目标服务器的证书;比对两次获取的证书是否相同。多路径证书检查的思想都是通过多一次的证书获取,与收到的证书进行对比,从而判断是否遭受中间人攻击,提高通信的安全性,但是这种方式势必会增加TLS连接消耗的时间,降低用户体验。0x04 DNS-based authentication策略4.1 DANE简介DANE(DNS-Based Authentication of Named Entities)是一种将域名和密码学要素联合起来的安全标准,2012年8月在RFC 6698中标准化定义。域名拥有者可以控制DNS的配置,能够利用DNS作为单独的一条渠道来加强TLS的安全执行。DANE方便部署,但是仅靠DNS并不能提供任何安全性质,还需要依靠DNSSEC协议。DNSSEC简言之,就是利用数字签名身份认证技术,在进行域名请求时,验证整个请求链中的每个DNS的身份,确保最终收到的域名信息是正确的没有被篡改过。目前的认证机制分为两个阶段:一是有一群我们信任的第三方机构为域名真正拥有者签发证书,成为CA;二是客户端(比如浏览器)能够检测某主机名对应的证书是正确的。基于这种分离式的架构是因为通信双方一般是远距离没法碰面的,验证身份容易找到欺骗。而基于DNSSEC协议,DNS请求就可以确保安全性,就可以利用DNS提供身份验证,这样就有一个新的途径同域名拥有者进行通信,从而抛弃掉对CA的依赖性。简言之,DANE就是在客户端pin主机名对应的的证书,之后通过DNS请求时,获取主机名的证书,通过对比判断证书的可信性。4.2 DANE作用安全的部署自签名证书现在,自签名证书被认为是不安全的,因为没有一种办法区分自签名证书和中间人攻击伪造的证书,也就是说自签名证书都是一样的。但是,我们可以用安全的DNS去pin一个自签名的证书,这样浏览器就可以知道正在使用的自签名证书是安全的,也可以很容易的区分出中间人攻击伪造的证书。安全的部署私有根证书 如果可以安全的pin一个服务器证书,那么也可以pin这个服务器证书所在的证书链中的任一证书,也就是说可以构造一个你所拥有的网站的根证书,并让客户端信任这个证书,这种方式对拥有很多网站的开发者来说,更为方便。支持CA颁发的证书和Public key-pinning DANE无须改变现有的认证架构,同样的可以在客户端pin CA颁发的证书和根证书。4.3 DANE执行DANE扩展了一种新的DNS记录类型,叫做TLSA Resource Record(TLSA RR或者叫做TLSA),TLSA包含四个区域:(1) Certificate U(2)S(3)Matching T(4)Certificate Association Data。其中Certificate Usage字段有四种不同的值:0-CA规范:pin一个CA,在证书链中必须有对应的CA签发的证书;1-指定TLS证书:TLSA 记录指定应当用于某一域名的准确TLS证书;2-信任点声明:在客户端pin一个某站点自己的CA,该CA可以不是公共信任的CA;3-域名颁发证书:在客户端pin一个具体的TLS证书,该证书可以是某主机自己签发的证书通过后两种值可以看出,DANE可以完美的支持自签名证书,同时也确保使用自签名证书的安全性。自此,我们讲述了四种目前常见的SSL/TLS协议的加固策略,这四种策略固然各有优劣。其中key pinning可以和HSTS结合使用,确保强制使用https的同时也保证了证书安全性。另外,安全性和用户体验总是会存在一些冲突,在取和舍之间不同的人又有着不同的观点。 开拓进取的精神坚持正义它是一种热爱祖国红客是一种精神红客联盟微信号:cnhonker_huc网址:
微信号:cnhonker_huc}

我要回帖

更多关于 https中间人攻击 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信