热点网|医学教育网|北京pk10开奖直播 pk10开奖直播 北京赛车pk10 pk10开奖直播 北京赛车pk10 PK10开奖直播 北京赛车pk10开奖直播 北京pk10 北京pk10

这次OpenSSL HeartBleed漏洞是怎么一回事呢?

漫画图解
服务器君一共花费了153.858 ms进行了4次数据库查询,努力地为您提供了这个页面。
试试阅读模式<?希望听取您的建议

“心脏出血”(Heartbleed)被称为互联网史上最严重的安全漏洞之一>,波及了大量常用网站、服务,包括很多人每天都在用的 Gmail 等等<,可能导致用户的密码<<、信用卡轻易泄露。但是我们可能对它还不是很了解>,可能觉得<,这不关我事。

我随便找了个规?;顾惚冉洗蟮耐荆ㄓ蛎筒凰盗耍?<<,然后在调试器里看看返回信息:

可以看到>,这个网站的服务器也用了OpenSSL。其实 OpenSSL 的使用率还是挺高的,如果你经常上网<,那么可以说,你几乎每天都在跟 OpenSSL 打交道<<,你的各种个人信息存储在各种各样的网站上<><,一旦某个网站因为 Heartbleed 泄漏了你的重要信息>,比如信用卡>,银行卡什么的,那么可能你就会因此有所损失<。

好奇的人们或许更想知道OpenSSL的程序员到底犯了什么错误,好在有 xkcd 这样的geek网站,用最最通俗易懂的方式,向大家展示了这个漏洞的原理:

正好煎蛋那边有翻译:

所谓heartbleed的说法<>,源自于「心跳检测」,就是用户发通过起TSL 加密链接<,发起 Client Hello询问>,测服务器是否正常在线干活(形象的比喻就是心脏脉搏)>,服务器发回Server hello,表明正常建立SSL通信。每次询问都会附加一个询问的字符长度pad length>,bug来了,如果这个pad length大于实际的长度<<,服务器还是会返回同样规模的字符信息,于是造成了内存里信息的越界访问……

漫画里<,用户meg请求返回 “HAT 五百个字母”<<,然后色服器返回了内存中包括HAT之后的前500个字<<,也就是说伺服器将 “五百个字母” 这句话理解为了 显示500个字母 然后将其他人在同时伺服器里操作的前500个字母返回给meg看,而这里面包含很多私密信息<。

看起来这个内存泄露越界BUG很2吗?

那么在代码层面再看看>>?假设心跳信息结构体定义为:

struct hb {
      int type;
      int length;
      unsigned char *data;                                                    
};

type为心跳的类型,length为data的大小,其中关于data字段的内容结构为:

type字段占一个字节>,payload字段占两个字节,其余的为payload的具体内容,详情如下所示:

字节序号 备注
0 type
1-2 data中具体的内容的大小为payload
3-len 具体的内容pl

当服务器收到消息后<,会对该消息进行解析,也就是对data中的字符串进行解析>,通过解析第0位得到type,第1-2位得到payload,接着申请(1+2+payload)大小的内存><<,然后再将相应的数据拷贝到该新申请的内存中<<。

以下举个简单的示例来说明该问题,假如客户端发送的data数据为"006abcdef",那么服务器端解析可以得到type=0, payload=06, pl='abcdef'<<,申请(1+2+6=9)大小的内存,然后再将type, payload, pl写到新申请的内存中。

如果大家都是老实人>,那么上述流程不会出现任何问题?<?墒鞘澜缟献苁谴嬖谧拍敲炊嗖弧鞍卜帧钡娜?,他们会非常的不诚实,比如客户端发送的字符串“abcdef”明明只有6个,而我非得把payload设置为500,如果服务器傻不拉几的不做任何边界检查,直接申请(1+2+500)大小内存<<<,而且更过分的是还把"abcdef********"所有的内容拷贝到新申请的内存处,并发回给客户端>。

这样那些不安分的人就获得了服务器上很多非常敏感的信息,这些信息可能包括银行帐号信息>>,电子交易信息等等诸多安全信息>。

当然真实的结构体定义是这样的:

typedef struct ssl3_record_st
{
	int type;               /* type of record */
	unsigned int length;    /* How many bytes available */
	unsigned int off;       /* read/write offset into 'buf' */
	unsigned char *data;    /* pointer to the record data */
	unsigned char *input;   /* where the decode bytes are */
	unsigned char *comp;    /* only used with decompression - malloc()ed */
	unsigned long epoch;    /* epoch number, needed by DTLS1 */
	unsigned char seq_num[8]; /* sequence number, needed by DTLS1 */
} SSL3_RECORD;

每条SSLv3记录中包含一个类型域(type)>、一个长度域(length)和一个指向记录数据的指针(data)。

在 dtls1_process_heartbeat 里有这样的语句:

/* Read type and payload length first */
hbtype = *p++;
n2s(p, payload);
pl = p;

SSLv3记录的第一个字节标明了心跳包的类型。宏n2s从指针p指向的数组中取出前两个字节<,并把它们存入变量payload中——这实际上是心跳包载荷的长度域(length)<。注意程序并没有检查这条SSLv3记录的实际长度<<。变量pl则指向由访问者提供的心跳包数据>。

经??吹胶芏嗦┒蠢霉ぞ呙淞渴?>>,都会使用变量名payload,莫非 OpenSSL 的编写者也经常搞漏洞之类的东西么?

本文地址:http://www.jzjxzzjx.com/librarys/veda/detail/2622><<,欢迎访问原出处>。

不打个分吗?

转载随意<><,但请带上本文地址:

http://www.jzjxzzjx.com/librarys/veda/detail/2622

如果你认为这篇文章值得更多人阅读>,欢迎使用下面的分享功能>。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏。

阅读一百本计算机著作吧<,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3<、4<、5<、6米吧。给个具体的数量,那就100本书吧>。很多人知识结构不好而且不系统<>,因为在特定领域有一个足够量的知识量+足够良好的知识结构>,系统化以后就足以应对大量未曾遇到过的问题<>。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了>。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话<>>,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下<。

所以,阅读一百本计算机著作吧<,少年!

《深入理解MySQL核心技术》 Sasba Pacbev (作者), 李芳 (译者), 于红芸 (译者), 邵健 (译者)

《深入理解MySQL核心技术》:从公共可用性的意义上讲<,MySQL源代码是开放源代码,但如果对其不了解><,则实质上,它对于您来说是封闭的><<。MysQL开发团队的前成员Sasha Pachev通过《深入理解MySQL核心技术》给出了MySQL 5的全面指南,揭示了这一强大数据库的内部运作。您将直奔MySQL核心技术<,了解各种数据结构和各种方便的功能的运作情况<,了解如何添加新的存储引擎和配置选项等。 《深入理解MySQL核心技术》从结构概况讲起,在这一部分解释了MysQL的不同组件是如何协同工作的<。接着将学习设置有效的可编译代码副本的步骤,然后使用基本架构添加自己的配置变量和存储引擎>。

更多计算机宝库...

  • 海门叠石桥国际家纺城--江苏频道--人民网 2018-05-23
  • 主持人资料库——柴静 2018-05-23
  • 森林防火有了新“利器” 2018-05-23
  • 港媒称台战机“日晒雨淋” 台军将领出面否认 2018-05-22
  • 怎样和陈意涵袁姗姗一样拥有完美裸妆肤感? 2018-05-22
  • 《东北树木彩色图志》首次载入我国新发现植物“青姬木” 2018-05-22
  • 网约车司机无证上岗拟纳入失信黑名单无证司机失信 2018-05-20
  • 300余名澳门中学生参加国旗手训练营(组图) 2018-05-20
  • 法前总统萨科齐遭拘 或因利比亚前要人递新证据 2018-05-20
  • 美媒称中国新人婚纱摄影很疯狂:有的仿如电影拍摄现场 2018-05-19
  • 立陶宛举行“汉语桥”中文比赛 2018-05-19
  • 上海嘉禾2017秋季艺术品拍卖会 2018-05-18
  • 海归回国就业创业遇到困难怎么办他帮海归找工作就业创业留学生海归 2018-05-18
  • 扛不住了?台当局拟放宽许可条件鼓励陆客赴台 2018-05-17
  • 美名校毕业典礼竞邀女性演讲者 希拉里将前往耶鲁希拉里耶鲁演讲者 2018-05-16
  • ASP300源码下载 | 微信红包群 | 设计 | 冠珠陶瓷 | 科技 | 北京赛车pk10微信源码 | 挖段子网 | 厦门旅游景点 | 旅游中国新闻网 | 钛媒体 | 健康网hsdcba | 每天资讯 | 广西农业技术信息 | 农业种植技术 |