`
zuzong
  • 浏览: 115745 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

SSL中间人攻击及防范

阅读更多
最近,Google针对Gmail被攻击事件, 全面默认启用了始终以https访问Gmail的方式了。但是,对于可以动用整个国家力量的黑客来说,从网络通讯数据中(在此不讨论对用户电脑种木马破解 https的情况,只讨论在网络通讯数据中破解https的方法)破解https除了暴力破解(暴力破解https即使按照现在的集群计算能力仍旧需要几 百至几万年不等)之外真的别无他法了吗?事实并非如此。

  我们知道,https的安全性主要是由SSL证书中的公钥和私钥来保证的。浏览器与服务器经过https建立通讯的时候(不考虑SSL代理方式需要用户提交证书的情况,因为我们现在讨论的是浏览器访问网站,和SSL代理无关)会按照以下步骤保证通讯的安全性:

  1、浏览器连接服务器,服务器把SSL证书的公钥发送给浏览器

  2、浏览器验证此证书中的域是否和访问的域一致(比如用户访问https://mail.google.com/时,浏览器验证服务器发送过来的SSL证书的公钥中的域是否为mail.google.com或*.google.com)并没有过期

  3、如果浏览器验证失败,浏览器通知用户证书有问题,让用户选择是否继续

  4、如果浏览器验证成功,那么浏览器随机生成一个对称密钥并使用接收到的SSL证书的公钥进行加密并发送给服务器

  5、服务器通过SSL证书的私钥对收到的信息进行解密并得到浏览器随机生成的对称密钥

  6、最后服务器和浏览器都通过这个对称密钥进行通讯了(为什么不直接使用公钥和私钥进行通讯?因为非对称加密比对称加密效率低)

  这个方案看似完美,却无法抵御中间人攻击,攻击者可以按以下步骤实施攻击截取https通讯中的所有数据:

  1、攻击者伪造一个Gmail的SSL证书,使其中的域为mail.google.com或*.google.com,并设置合适的证书过期时间

  2、攻击者等待访问者的浏览器访问Gmail时,通过DNS劫持或IP伪造(对于有路由器控制权限的黑客来说简直轻而易举)的方法使其访问到攻击者的服务器上

  3、攻击者把伪造的SSL证书公钥发送给浏览器

  4、浏览器验证SSL证书的域和过期时间都没错,认为访问到的就是Gmail本身,从而把对称密钥发送给黑客服务器

  5、黑客服务器把伪造的Gmail网页通过收到的对称密钥加密后发送给浏览器

  6、访问者通过浏览器输入Gmail帐户,发送给黑客服务器,黑客服务器通过收到的对称密钥解密后成功获得访问者的Gmail密码

   为了抵御这种中间人攻击,SSL证书需要由可信的SSL证书颁发机构颁发,形成一个证书链(比如Gmail的证书链为:最底层为网域 mail.google.com,上一层为Thawte SGC CA证书颁发机构,最顶层为很有名的VeriSign证书颁发机构)。那么,浏览器除了需要验证域和有效期外,还要检查证书链中的上级证书公钥是否有效, 上级的上级证书公钥是否有效,直至根证书公钥为止。这样就可以有效避免中间人攻击了,因为根证书公钥都是预装在操作系统中的,黑客如果不是暴力破解,无法 得到根证书的私钥,如果黑客自己生成一个私钥,浏览器验证根证书公钥的时候发现无法通过操作系统中预装的公钥加密数据后使用这个私钥进行解密,从而判定这 个公钥是无效的。这个方案也是现在https通讯通常的方案。

  那么,这个现在所有的浏览器正在使用的https通讯方案就无懈可击了 吗?答案仍是否定的。我们可以看到,在后一个方案中,https的安全性需要在证书颁发机构公信力的强有力保障前提下才能发挥作用。如果证书颁发机构在没 有验证黑客为mail.google.com的持游者的情况下,给黑客颁发了网域为mail.google.com的证书,那么黑客的中间人攻击又可以顺 利实施:

  1、攻击者从一家不验证mail.google.com持有者的SSL证书颁发机构WoSign那里得到了网域为 mail.google.com的证书,此证书的证书链为:最底层为网域mail.google.com,上一层证书颁发机构为WoSign,顶层证书颁 发机构为VeriSign

  2/3、第二、第三个步骤同上一个方案的中间人攻击的第二、第三个步骤

  4、浏览器验证SSL证书的域和过期时间都没错,继续验证证书链:

    4.1、最底层的网域mail.google.com证书公钥不在操作系统中,无法验证其访问到的就是Gmail本身,继续验证上一层证书颁发机构

    4.2、上一层证书颁发机构WoSign的公钥也不在操作系统中,仍旧无法验证其有效性,继续验证上一层证书颁发机构

    4.3、浏览器看到顶层证书颁发机构VeriSign的公钥在操作系统中,认为证书链有效,从而把对称密钥发送给黑客服务器

  5/6、第五、第六个步骤同上一个方案的中间人攻击的第五、第六个步骤。黑客成功获得访问者的Gmail密码

   然而,不验证域名持有者就颁发证书的情况在国外几乎不会发生,但是在国内就不一定了。针对破解目标,国内证书颁发机构WoSign(在此只是举例国内比 较有名的证书颁发机构WoSign,并不代表WoSign今后一定会这么做)很有可能为了上级要求颁发了证书给非域名持有者的黑客,从而使得破解目标的 Gmail密码被黑客截取。

本文转载自:http://www.williamlong.info/archives/2058.html
分享到:
评论
1 楼 AK53pro 2011-12-24  
SSL证书怎么伪造啊...有数字签名的啊...

相关推荐

    SSL中间人攻击原理与防范

    ### SSL中间人攻击原理与防范 #### 一、SSL协议分析 ##### 1.1 协议概述 SSL(Secure Socket Layer),即安全套接层协议,是由Netscape公司开发的安全通信协议,用于保障互联网上的数据传输安全。SSL协议通过提供...

    移动应用APP中间人攻击的分析与测试.pdf

    正确地使用HTTPS是防范中间人攻击的有效办法。HTTPS是包含了SSL数字证书的HTTPS协议,它解决了加密、认证和数据的完整性。 在实际应用中,国内一些Android APP虽然使用了HTTPS的通信方式,但只是简单地调用而已,并...

    中间人攻击与防护系统的设计与实现论文.docx

    本论文的主要内容是设计和实现一个中间人攻击防护系统,旨在提高SSL协议的安全性。SSL协议是一种常用的加密协议,能够提供身份验证、加密和数字签名等安全服务。然而,SSL协议仍然存在一些安全隐患,例如中间人攻击...

    中间人攻击之Cookie

    总的来说,“中间人攻击之Cookie”是一个基础但关键的网络安全议题,涵盖了网络通信的基本原理、Cookie的工作机制以及防范策略。无论是Web开发者还是普通用户,都需要对这个威胁有所警惕,采取适当的措施保护自己的...

    mitmengine - 中间人攻击检测工具.zip

    **中间人攻击检测工具——mitmengine** 中间人攻击(Man-in-the-Middle Attack,简称MITM)是一种网络攻击方式,攻击者通过拦截并篡改通信双方的数据传输,实现监听、伪装或者修改信息的目的。在网络安全领域,检测...

    中间人

    总之,理解中间人攻击的概念和防范方法是C++开发者构建安全应用的基础。通过实施上述措施,可以显著降低应用程序遭受MITM攻击的风险。同时,随着网络安全威胁的不断演变,开发者也需要持续学习和适应新的安全挑战。

    SANGFOR_SSL认证培训(初级和高级)

    4. **安全策略**:讨论最佳安全实践,如禁用不安全的加密套件,设置合理的证书信任链,以及应对中间人攻击的防范措施。 5. **故障排查**:介绍常见SSL/TLS错误及解决方法,帮助学员解决实际工作中可能遇到的SSL相关...

    mitm6-master.zip

    《MITM6:深入理解中间人攻击与防范技术》 MITM6,全称为Man-in-the-Middle Attack 6,是一种网络安全领域的概念,涉及到网络通信中的数据窃取、篡改和欺骗。在这个压缩包文件“mitm6-master.zip”中,我们可以推测...

    An Analysis of Android SSL In Security

    4. **中间人攻击**:深入探讨了中间人攻击的概念、实现方式及其对Android应用程序的影响,并提出了相应的防范措施。 #### Android SSL/TLS使用现状分析 通过对大量Android应用程序的分析,研究人员发现了一些值得...

    服务器ssh以及ssl9.1升级包

    3. **下载和验证**:从官方或可信任的源下载最新版本的升级包,然后使用哈希校验工具验证文件的完整性和真实性,以避免中间人攻击。 4. **安装和配置**:按照发行版或软件提供商的指南进行安装,注意配置文件的变更...

    ssl&struts exploit

    这些漏洞允许攻击者通过中间人攻击(Man-in-the-Middle)或协议漏洞获取敏感信息。 接着,Struts是Apache软件基金会的一个开源项目,它是一个用于构建企业级Java Web应用程序的MVC(Model-View-Controller)框架。...

    安全套接层协议SSL.ppt

    SSL协议的安全性分析主要包括对各种攻击方式的防范,如“监听”和“中间人”攻击、“流量数据分析”攻击、报文重发攻击等。同时,SSL与SET协议相比,SET提供了更全面的安全保障,支持多方通信,允许非实时报文交换,...

    计算机网络安全漏洞及防范措施解析.pdf

    - 网络协议漏洞:通信协议的设计缺陷,可能被利用进行中间人攻击、嗅探数据等。 - 用户行为漏洞:如弱密码、未更新软件、点击恶意链接等,容易成为攻击者的目标。 - 社会工程学攻击:利用人的信任和无知,通过欺骗...

    RSA一般攻击方式(Java).zip

    RSA算法是一种非对称加密算法,它...- 结合其他安全协议,如SSL/TLS,以防止中间人攻击。 总的来说,这个压缩包提供了一个学习和研究RSA加密安全性及其潜在攻击方式的实践平台,对于理解和防范这些攻击具有重要意义。

    diameter1.5.3.1-支持SSL扩展

    在Diameter协议中集成SSL/TLS,可以保护AAA信息免受中间人攻击和其他网络安全威胁。 开发人员在使用这个Diameter库时,可能需要配置SSL证书,进行连接安全设置,以及了解如何在代码中调用和管理SSL连接。同时,为了...

    ARP技术应用基础教程目录v2.0大学霸陆小马功钟浩.pdf

    这部分内容包括了中间人攻击的原理、使用Ettercap工具实施中间人攻击、DNS欺骗攻击、利用Metasploit攻击目标、使用driftnet工具获取图片、使用SET工具克隆网站、嗅探SSL加密的信息等,都是学习者需要关注的重点。...

    cs255-p2-starter-code

    【描述】提到的"斯坦福大学中间人攻击课题"意味着这个项目旨在让学生深入了解中间人攻击的原理、技术以及防范措施。在这个课题中,学生可能需要构建模拟MITM攻击的环境,学习如何检测和防止这类攻击,同时理解加密...

Global site tag (gtag.js) - Google Analytics