Web 安全 之 OpenSSL
什么是OpenSSL协议?
SSL(Secure SocketLayer,安全套接层)协议是使用最为普遍网站加密技术,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。简单的说,就是加密传输的数据,避免被截取监听等。
而OpenSSL则是开源的SSL套件,作为一个多用途的、跨平台的通信加密工具,为全球成千上万的web服务器所使用。Web服务器正是通过它来将密钥发送给访客然后在双方的连接之间对信息进行加密。URL中使用https打头的连接都采用了SSL加密技术。在线购物、网银等活动均采用SSL技术来防止窃密及避免中间人攻击。

但现在,OpenSSL自己出现了漏洞,而且是非常高危胁的漏洞,直接导致了本该是让为了更安全的设置变成了致命的危险。利用这个漏洞,黑客可以轻松获得用户的cookie,甚至明文的帐号和密码。
Heartbleed 漏洞,2014年互联网上最危险的漏洞
OpenSSL官方网站4月7日发布公告,安全公司Codenomicon的研究人员和Google安全小组的Neel Mehta相互独立地发现OpenSSL“heartbleed”存在安全漏洞(漏洞编号:CVE-2014-0160)。该漏洞发生在OpenSSL对TLS的心跳扩展(RFC6520)的实现代码中,由于遗漏了一处边界检查,使攻击者无需任何特权信息或身份验证,就能够从内存中读取请求存储位置之外的多达64 KB的数据,可能包含证书私钥、用户名与密码、聊天消息、电子邮件以及重要的商业文档和通信等数据。
简单地说,因为Heartbleed Bug存在,能让互联网的任何人读取系统保护内存,允许攻击者窃听通讯,并通过模拟服务提供者和用户来直接从服务提供者盗取数据,让上千万服务器中的加密用户数据暴露。
Heartbleed漏洞之所以得名,是因为用于安全传输层协议(TLS)及数据包传输层安全协议(DTLS)的Heartbeat扩展存在漏洞。Heartbeat扩展为TLS/DTLS提供了一种新的简便的连接保持方式,但由于OpenSSL 1.0.2-beta与OpenSSL 1.0.1在处理TLS heartbeat扩展时的边界错误,攻击者可以利用漏洞披露连接的客户端或服务器的存储器内容,导致攻击者不仅可以读取其中机密的加密数据,还能盗走用于加密的密钥。
Heartbleed漏洞是2011年12月引入OpenSSL库中的,2012年3月14日1.0.1正式版发布后,含有漏洞版本的库被广泛使用,受影响版本为OpenSSL 1.0.1和1.0.2-beta,更早版本的OpenSSL(1.0.0和0.9.8等)不受影响。

波及数十万服务器
据谷歌和网络安全公司Codenomicon的研究人员透露,OpenSSL加密代码中一种名为Heartbleed的漏洞存在已有两年之久。三分之二的活跃网站均在使用这种存在缺陷的加密协议。因此,许多人的数据信息开始被暴露,每个人都被卷入到这次灾难的修正中去。放眼放去,我们经常访问的支付宝、淘宝、微信公众号、YY语音、陌陌、雅虎邮件、网银、门户等各种网站,基本上都出了问题。
而在国外,受到波及的网站也数不胜数,就连大名鼎鼎的NASA(美国航空航天局)也已宣布,用户数据库遭泄露。
外媒估计,估计受影响的服务器数量可能多达几十万。其中已被确认受影响的网站包括雅虎、Imgur、OKCupid、Eventbrite以及FBI网站等,不过Google未受影响。
网络安全公司Qualys的一名研究员伊万•瑞斯提克(Ivan Ristic)创建了一种测试网站是否存在Heartbleed漏洞的工具。工具发布当天,他的网页访问量增加了7倍。他估计,使用SSL的服务器中,有30%存在漏洞。
经瑞斯提克的工具测试显示,许多大型网站,如谷歌、亚马逊、eBay等网站较安全,未受到这种漏洞的影响。雅虎发言人则表示,“我们的团队已经成功地完成雅虎各个网站的修复。”
由于大多数的隐私工具都是基于OpenSSL,所以这次Bug影响的范围会更加深远。漏洞的修复可能需要几天时间,服务器重置证书的过程也是缓慢和昂贵的,在这期间会给攻击者留出很多自由发挥的空间。
解决之道
将 OpenSSL 升级到最新版本:
下载地址:https://www.openssl.org/source/
PFS是未来?
塞翁失马,焉知非福。此次风波将会让整个互联网重新思考网络安全。Heartbleed风波过后,互联网公司必将改变它们的安全措施。据悉,很多大型互联网公司都已经转向了PFS(完全正向保密)技术——它能让密钥的保存时间变得很短。有评论认为,这可能是未来的一个发展方向。
Web 安全 之 OpenSSL的更多相关文章
- (转)OpenSSL CVE-2016-0800 和 CVE-2016-0703 漏洞修复细节拾趣
原文:https://www.freebuf.com/vuls/97727.html 1. 引子 本来最近和360 Nirvan Team的DQ430愉快的参加某加密厂商的年度大会,结果openssl ...
- 使用openssl生成SSL证书完全参考手册
一般来说,配置HTTPS/SSL的步骤为: 1.生成足够强度的私钥.需要考虑:算法,广泛采用的一般是RSA.键长度,RSA默认为512,一般应选择2048.密码,虽然私钥不一定要加密存储,但是加密存储 ...
- Tomcat,JBoss与JBoss Web
最近接触到应用服务器JBoss,此外JBoss Web与Tomcat也同为web服务器,便查阅资料对三者进行比较,供大家参考. 一.Tomcat Tomcat 服务器是免费开源的Web 应用服务器.支 ...
- JBoss Web和Tomcat的区别
在Web2.0的时代,基于Tomcat内核的JBoss在J2EE应用服务器领域已成为发展最为迅速的应用服务器.这一青出于蓝而胜于蓝的产品与Tomcat的区别又在哪里? 基于Tomcat内核,青胜于蓝. ...
- 转 : JBoss Web和 Tomcat的区别
JBoss Web和 Tomcat的区别 在Web2.0的浪潮中,各种页面技术和框架不断涌现,为服务器端的基础架构提出了更高的稳定性和可扩展性的要求.近年来,作为开源中间件的全 球领导者,JBoss在 ...
- 【转】JBoss Web和 Tomcat的区别
转载于:http://www.verydemo.com/demo_c202_i780.html JBoss Web和 Tomcat的区别 在Web2.0的浪潮中,各种页面技术和框架不断涌现,为服务器端 ...
- centos php 扩展安装
1. 安装mysqli扩展 1.进入php源代码目录:# cd /home/apps/web/php/php-5.3.5/ 2.再进入要添加的mysqli扩展源码目录:# cd ext/mysqli/ ...
- how to use fiddler and wireshark to decrypt ssl
原文地址: http://security14.blogspot.jp/2010/07/how-to-use-fiddler-and-wireshark-to.html Requirements2 C ...
- 【SEED Labs】Public-Key Infrastructure (PKI) Lab
Lab Overview 公钥加密是当今安全通信的基础,但当通信的一方向另一方发送其公钥时,它会受到中间人的攻击.根本的问题是,没有简单的方法来验证公钥的所有权,即,给定公钥及其声明的所有者信息,如何 ...
随机推荐
- JQuery简易轮播图
html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...
- 《LINQ技术详解C#》-4.LINQ到对象
public static string[] Presidents { get; } = { "Adams", "Arthur", "Buchanan ...
- Codeigniter使用HMVC(一)
涉及三方代码: https://tutorials.kode-blog.com/codeigniter-admin-panel https://bitbucket.org/wiredesignz/co ...
- java -d
DB_SERVER_URL="-Ddatasource.driver=oracle.jdbc.OracleDriver -Ddatasource.url=jdbc:oracle:thin:@ ...
- private static final long serialVersionUID = 1L这句话到底什么意思?
变量serialVersionUID称为序列化版本号,这个变量多用于实现了Serializable的类中,试用场景是类的序列化.当我们没有定义这个变量的时候,虚拟机会根据类的属性算出一个独一无二的该变 ...
- Linux dnsmasq.conf
一.配置文件:局域网内使用此dns服务时候首先会在host.dnsmasp里面找对应域名,若找不到则在resolv.dnsmasq中找 [root@operation_server dnsmasq.d ...
- BZOJ1786 [Ahoi2008]Pair 配对 动态规划 逆序对
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1786 题意概括 给出长度为n的数列,只会出现1~k这些正整数.现在有些数写成了-1,这些-1可以变 ...
- C# 设置MDI子窗体只能弹出一个的方法
Windows程序设计中的MDI(Multiple Document Interface)官方解释就是所谓的多文档界面,与此对应就有单文档界面 (SDI), 它是微软公司从Windows .0下的Mi ...
- SQL sysobjects 表 详解
sysobjects 表 在数据库内创建的每个对象(约束.默认值.日志.规则.存储过程等)在表中占一行.只有在 tempdb 内,每个临时对象才在该表中占一行. 列名 数据类型 描述 name sys ...
- idea 开发插件。
作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com idea 开发插件. Intellij ID ...