加载中
加载中
表情图片
评为精选
鼓励
加载中...
分享
加载中...
文件下载
加载中...
修改排序
加载中...
关于心脏出血漏洞分析报告。
独孤青冥2014/04/11软件综合 IP:北京
这两天(汗!其实是昨天)最火的莫过于心脏出血这个漏洞了,网上也有分析报告,看了一下,晕乎乎的,有木有人能解析一下这个心脏出血漏洞的成因到底是代码编辑上的问题呢还是设计上的问题。。。
附:心脏出血漏洞分析报告:http://www.oschina.net/news/50563/openssl-hole
心脏出血词条(百度百科):http://baike.baidu.com/link?url=EIOophPMYa9EwZPUBm0tIYEKrBROvhyl9HsL2knyetGMqLLjfnPv7ZieHgVF03Ne7fpDO2yOJw0QpJPQGkeG_SM8ghDijKFbdngc8jXjOoe
来自:计算机科学 / 软件综合
3
新版本公告
~~空空如也
justinpiggy
11年2个月前 IP:未同步
681529
很简单也很低级的漏洞。
SSL通过heartbeat确认client依然在线,heartbeat第2和3字节(共16位)表示请求数据大小,结果服务器端的OpenSSL没有检查这两位的大小是否超过数据的大小,直接用memcpy把按照heartbeat请求的数据大小把需要发送的内存区域拷贝到了发送buffer,由于用了指针和memcpy,如果实际数据只有一点点,最多可以把65535Bytes的数据都拷贝到发送buffer,直接发送掉了,不留任何log,这65535Bytes数据可都是服务器上的内存里的东西啊,很多都没有任何加密。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
独孤青冥作者
11年2个月前 IP:未同步
681555
justinpiggy 发表于 2014-4-11 19:46
很简单也很低级的漏洞。
SSL通过heartbeat确认client依然在线,heartbeat第2和3字节(共16位)表示请求数 ...


额。。也就是说我可以通过这个漏洞不停的抓取服务器内存上64k大小的数据,运气好的话就能抓到关键数据咯。。这应该算是设计上的漏洞吧。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
justinpiggy
11年2个月前 IP:未同步
681559
本帖最后由 justinpiggy 于 2014-4-11 21:39 编辑

独孤青冥 发表于 2014-4-11 21:27
额。。也就是说我可以通过这个漏洞不停的抓取服务器内存上64k大小的数据,运气好的话就能抓到关键数据咯 ...


对的,可以不留痕迹地不停抓取,而且抓取到的基本上都是服务器上正在处理的数据或者密钥之类的东西,总之如果有人发现不报告,那么只要花一些时间,这些使用OpenSSL的网站都能随意进出了。

不懂你的设计上漏洞,这个属于编程时候不够严谨(C的指针请小心使用),归类为缓冲区溢出,整体设计也有一定问题,本来SSL的规范要求这个heartbeat的Payload不超过16KB,如果做了这个限制,那么损失能适当减小一些,可惜OpenSSL也没有加入这个检测。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
独孤青冥
笔友
文章
15
回复
76
学术分
0
2012/12/02注册,7年4个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的