最新消息:

当安全协议不安全了:OpenSSL漏洞 与OpenSSL后续关注与科普

业界新闻 admin 972浏览 0评论

今天是一个特别的日子,早上大家还在讨论XP停止服务的事,到处是相关的新闻和文章,到了下午,到处都是OpenSSL的漏洞消息了。

 

OpenSSL与SSL安全协议

 

什么是SSL安全协议,我记得在10年我写过一篇简单介绍的文章,小谈SSL安全协议(http://hi.baidu.com/fooying/item/2c4c407ee2acb1326cc37c74),大家不凡可以看看,以前的文章,大家就不要笑话了。

SSL,全称Secure Socket
Layer,为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。简单的说,就是加密传输的数据,避免被截取监听等。

SSL应该是大家平时接触最多的安全协议了,大家可以看访问一些网址的时候,一般是http://开头,如果发现https://开头就是采用了SSL安全协议。比如,大家在登陆微信网页版的时候就可以看到:

 

一般来说,比如nginx,可以通过以下方式就可以进行配置:

# HTTPS server

#

server {

listen 443;

server_name localhost;

 

ssl on;

ssl_certificate /opt/nginx/sslkey/server.crt;

ssl_certificate_key /opt/nginx/sslkey/server.key;

 

location / {

root /home/workspace/;

index index.asp index.aspx;

}

}

 

大家可以看到,监听的是443端口,然后通过ssl on;来开启,同时通过ssl_certificate和sl_certificate_key配置证书和key文件,具体的就不多解释了,大家可以自己搜索下。

那么证书和key又是怎么一回事呢?接下来就要讲到OpenSSL了。

 

进 行过nginx编译的同学都知道,在编译nginx的时候,如果想让nginx支持开启SSL,那么必须加一个–with- http_ssl_module 的配置项。那么如何让服务器支持这个配置项呢?又如何生成nginx配置SSL所需要的证书和key文件呢?都是源于 OpenSSL(http://baike.baidu.com /link?url=AjYL3O0_mqKF1KkHsDB72HPm1tXGns9prJBVkefNKywDNtdMQSEFqJSMbY3Tjino)。

OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。

大家平时如果采用公私钥的方式联系服务器,也是需要用到OpenSSL的。简单的理解,OpenSSL是一个强大的支持库,更是一个强大的密码工具。虽然要支持SSL协议不一定得采用OpenSSL,但是基本大部分的都是采用OpenSSL。

 

心脏出血的OpenSSL

 

相信前面简单的介绍能让大家了解到OpenSSL的重要性,也明白了SSL协议是做什么的,那么大家应该就可以理解,本来采用SSL协议是为了数据传输的安全性,是为了更安全,但是OpenSSL的漏洞直接导致了本该是让为了更安全的设置变成了致命的危险。

 

简单介绍下漏洞,这个漏洞是昨天国外的黑客曝光的,该漏洞可以获取HTTPS服务器的随机64K内存。这个漏洞被称为heartbleed,直译的话就是心脏出血。可能有部分同学没意识到这个64K有啥用错,读取内存又有啥用?

 

贴几张图:

 

这 是笔者利用poc进行的一些测试(测试poc:http://s3.jspenguin.org/ssltest.py,直接python ssltest.py domain就可以了),大家可以看到,cookie甚至是明文帐号密码都直接爆出来了,有的还有代码源码(这个忘记截图了。。。)、SSL私钥(这个笔 者没测试出来)等,那么影响有多大呢?看下wooyun的漏洞提交列表:

 

再给个来自zoomeye(http://www.zoomeye.org/)的统计数据:

全国443端口:1601250,有33303个受本次OpenSSL漏洞影响

看了这些,称为”心脏出血”完全不为过。今天估计又有许多运维同学可忙的了。具体的漏洞分析我也不多说了,大家可以看wooyun上的文章(http://drops.wooyun.org/papers/1381)

 

安全防范

 

说了这么多,可能有些同学觉得都不要去访问那些是https的网站了,其实也大可不必,官方其实已经放出补丁了,修复方法:

升级到最新版本OpenSSL 1.0.1g
无法立即升级的用户可以以段落DOPENSSL_NO_HEARTBEATS开关重新编译OpenSSL
1.0.2-beta版本的漏洞将在beta2版本修复

对于个人用户的话,大家不用太担心,虽然说影响有点大,不过问题主要是出在服务商,而且像那些大网站,比如微信、淘宝等都已经修复了,实在不放心,大家可以这几天暂时不要访问使用了SSL协议的网站进行登陆等操作,特别是网银等网站。另外,提供个在线检测的工具给大家:http://filippo.io/Heartbleed/,大家也可以访问前进行下检测。

结语

 

剩下的就不多说了,首先给那些连夜处理的运维和安全工作人员道声辛苦了。现在大家对安全越来越重视,这是好事,剩下的就是大家上网多小心些!


Fooying,关注安全与开发

转自:http://mp.weixin.qq.com/s?__biz=MzA4NzM5MTUzOQ==&mid=200309433&idx=1&sn=2166ad4ad610d9bc5b6675a7eaeba3a7#rd

OpenSSL后续关注与科普

昨天的提问,收到了很多同学的回答,大家都很积极,大概看了下,各种答案都有,还没整理完,等整理完再说,对于大家说的推荐书籍、paper、论坛、网站、工具等之类的资源,我回头再想想用什么方式推荐给大家,就尽量不占用每天只有一次的发文章的机会了。继续来关注OpenSSL。

 

漏洞的科普

 

首先是来自微博的科普,相信下图应该能让还不是很清楚情况的同学了解OpenSSL是怎么回事了,然后再次说下,问题是出在OpenSSL而不是SSL协议,我之前的文章标题可能也有点误导大家的感觉在里面,这里表示抱歉。


漏洞影响及趋势

 

这几天到处都是OpenSSL的漏洞的各种声音,我想大家都被各种刷屏了,我就不多说了,给大家带来最新的趋势和影响。

 

来自zoomeye的分布图:http://www.zoomeye.org/lab/openssl

ZoomEye 团队:关于OpenSSL “HeartBleed”漏洞 最新全球受影响服务及主机

SMTP Over SSL : 147292个

POP3 over SSL: 329747 个

IMAP over SSL: 353310个

国内的OpenSSL 漏洞443端口受影响依旧明显:

2014.04.08 第一天:33303个

第二天:22611个

第三天:17850

第四天:15661

事件报道

 

事件报道我就不多说了,网上有很多文章,各种文章有写的好的,有写的有问题的,我就不把文章列出来了,大家可以看央视的《新闻1+1》,以下是链接地址:

http://news.cntv.cn/2014/04/10/VIDE1397139659292888.shtml
漏洞的测试

 

对于漏洞而言,有同学问我如何利用POC对漏洞进行测试,其实我在前天的文章中提供了POC就可以对漏洞进行检测的测试,不过可能对于初学的同学还是不了解,我就大概的说下把,关于其他的EXP或者POC其实方式都是类似的,我就不多说了,大部分都是通过命令行来运行的。

 

其实那天那个POC就基本能简单的测试了,属于初始版本的POC,其他的我就不多说了,大家自己去研究下。那天那个POC因为Python脚本,需要Python2.7的环境,然后直接运行以下命令就可以了(POC地址http://pan.baidu.com/s/1c027ILi)

python openssl.py 域名

如果存在漏洞,就会输出类似以下的内容:

 

左侧大家看不懂就直接忽略,只要可以直接查看的是右侧的信息(这个界面搞过逆向的同学应该会很熟悉),如果有什么价值的信息就可以找找右侧内容。

 

如果是输出这样的情况,则证明不存在漏洞:

 

另外,可能大家在群里也经常听到说谁刷了多少库多少数据什么的,可能很会比较好奇那些黑客是怎么刷数据的,其 实大概的做法就是用脚本实现批量操作,对指定的网址不间断的进行读取内存64k的信息,也就是不断的运行exp或者POC,当然肯定都是脚本自动化的,也 可以对脚本加上格式化处理输出等,通俗的讲,其实就是不断的执行POC,读取64k内存里的内容,那么刷到一定的数据量,就可能出现你想要的东西了,比如 帐号密码或者其他的。

转自:http://mp.weixin.qq.com/s?__biz=MzA4NzM5MTUzOQ==&mid=200318293&idx=1&sn=d63214e022bbc9044770488e186b9b1c#rd

转载请注明:jinglingshu的博客 » 当安全协议不安全了:OpenSSL漏洞 与OpenSSL后续关注与科普


Warning: Use of undefined constant PRC - assumed 'PRC' (this will throw an Error in a future version of PHP) in /usr/share/nginx/html/wp-content/themes/d8/comments.php on line 17
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址