精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

關于OpenSSL“心臟出血”漏洞的分析

安全 漏洞
OpenSSL“心臟出血”漏洞是一個非常嚴重的問題。這個漏洞使攻擊者能夠從內存中讀取最多64 KB的數據。

當我分析GnuTLS的漏洞的時候,我曾經說過,那不會是我們看到的最后一個TLS棧上的嚴重bug。然而我沒想到這次OpenSSL的bug會如此嚴重。

[[111228]]

OpenSSL“心臟出血”漏洞是一個非常嚴重的問題。這個漏洞使攻擊者能夠從內存中讀取最多64 KB的數據。一些安全研究員表示:

無需任何特權信息或身份驗證,我們就可以從我們自己的(測試機上)偷來X.509證書的私鑰、用戶名與密碼、聊天工具的消息、電子郵件以及重要的商業文檔和通信等數據。

這一切是如何發生的呢?讓我們一起從代碼中一探究竟吧。

0x01 Bug

請看ssl/dl_both.c,漏洞的補丁從這行語句開始:

  1. int              
  2. dtls1_process_heartbeat(SSL *s)  
  3.     {            
  4.     unsigned char *p = &s->s3->rrec.data[0], *pl;  
  5.     unsigned short hbtype;  
  6.     unsigned int payload;  
  7.     unsigned int padding = 16; /* Use minimum padding */ 

一上來我們就拿到了一個指向一條SSLv3記錄中數據的指針。結構體SSL3_RECORD的定義如下(譯者注:結構體SSL3_RECORD不是SSLv3記錄的實際存儲格式。一條SSLv3記錄所遵循的存儲格式請參見下文分析):

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

每條SSLv3記錄中包含一個類型域(type)、一個長度域(length)和一個指向記錄數據的指針(data)。我們回頭去看dtls1_process_heartbeat:

  1. /* Read type and payload length first */ 
  2. hbtype = *p++;  
  3. n2s(p, payload);  
  4. pl = p; 

SSLv3記錄的第一個字節標明了心跳包的類型。宏n2s從指針p指向的數組中取出前兩個字節,并把它們存入變量payload中——這實際上是心跳包載荷的長度域(length)。注意程序并沒有檢查這條SSLv3記錄的實際長度。變量pl則指向由訪問者提供的心跳包數據。

這個函數的后面進行了以下工作:

  1. unsigned char *buffer, *bp;  
  2. int r;  
  3.    
  4. /* Allocate memory for the response, size is 1 byte  
  5.  * message type, plus 2 bytes payload length, plus  
  6.  * payload, plus padding  
  7.  */ 
  8. buffer = OPENSSL_malloc(1 + 2 + payload + padding);  
  9. bp = buffer; 

所以程序將分配一段由訪問者指定大小的內存區域,這段內存區域最大為 (65535 + 1 + 2 + 16) 個字節。變量bp是用來訪問這段內存區域的指針。

  1. /* Enter response type, length and copy payload */ 
  2. *bp++ = TLS1_HB_RESPONSE;  
  3. s2n(payload, bp);  
  4. memcpy(bp, pl, payload); 

宏s2n與宏n2s干的事情正好相反:s2n讀入一個16 bit長的值,然后將它存成雙字節值,所以s2n會將與請求的心跳包載荷長度相同的長度值存入變量payload。然后程序從pl處開始復制payload個字節到新分配的bp數組中——pl指向了用戶提供的心跳包數據。最后,程序將所有數據發回給用戶。那么Bug在哪里呢?

0x01a 用戶可以控制變量payload和pl

如果用戶并沒有在心跳包中提供足夠多的數據,會導致什么問題?比如pl指向的數據實際上只有一個字節,那么memcpy會把這條SSLv3記錄之后的數據——無論那些數據是什么——都復制出來。

很明顯,SSLv3記錄附近有不少東西。

說實話,我對發現了OpenSSL“心臟出血”漏洞的那些人的聲明感到吃驚。當我聽到他們的聲明時,我認為64 KB數據根本不足以推算出像私鑰一類的數據。至少在x86上,堆是向高地址增長的,所以我認為對指針pl的讀取只能讀到新分配的內存區域,例如指針bp指向的區域。存儲私鑰和其它信息的內存區域的分配早于對指針pl指向的內存區域的分配,所以攻擊者是無法讀到那些敏感數據的。當然,考慮到現代malloc的各種神奇實現,我的推斷并不總是成立的。

當然,你也沒辦法讀取其它進程的數據,所以“重要的商業文檔”必須位于當前進程的內存區域中、小于64 KB,并且剛好位于指針pl指向的內存塊附近。

研究者聲稱他們成功恢復了密鑰,我希望能看到PoC。如果你找到了PoC,請聯系我。

0x01b 漏洞修補

修復代碼中最重要的一部分如下:

  1. /* Read type and payload length first */ 
  2. if (1 + 2 + 16 > s->s3->rrec.length)  
  3.     return 0; /* silently discard */ 
  4. hbtype = *p++;  
  5. n2s(p, payload);  
  6. if (1 + 2 + payload + 16 > s->s3->rrec.length)  
  7.     return 0; /* silently discard per RFC 6520 sec. 4 */ 
  8. pl = p; 

這段代碼干了兩件事情:首先第一行語句拋棄了長度為0的心跳包,然后第二步檢查確保了心跳包足夠長。就這么簡單。

0x02 前車之鑒

我們能從這個漏洞中學到什么呢?

我是C的粉絲。這是我最早接觸的編程語言,也是我在工作中使用的第一門得心應手的語言。但是和之前相比,現在我更清楚地看到了C語言的局限性。

從GnuTLS漏洞和這個漏洞出發,我認為我們應當做到下面三條:

花錢請人對像OpenSSL這樣的關鍵安全基礎設施進行安全審計;

為這些庫寫大量的單元測試和綜合測試;

開始在更安全的語言中編寫替代品。

考慮到使用C語言進行安全編程的困難性,我不認為還有什么其他的解決方案。我會試著做這些,你呢?

作者簡介:Sean是一位關于如何把事兒干好的軟件工程師。現在他在Squadron工作。Squadron是一個專為SaaS應用程序準備的配置與發布管理工具。

測試版本的結果以及檢測工具:

OpenSSL 1.0.1 through 1.0.1f (inclusive) are vulnerable

OpenSSL 1.0.1g is NOT vulnerable

OpenSSL 1.0.0 branch is NOT vulnerable

OpenSSL 0.9.8 branch is NOT vulnerable

http://filippo.io/Heartbleed/

原文地址:http://blog.existentialize.com/diagnosis-of-the-openssl-heartbleed-bug.html

責任編輯:藍雨淚 來源: 烏云知識庫
相關推薦

2014-04-16 11:38:41

網絡·安全技術周刊

2015-07-09 13:46:15

漏洞OpenSSL

2014-04-16 14:32:13

2014-09-26 08:55:03

漏洞bash破殼安全漏洞

2014-04-28 09:37:52

2014-07-17 15:31:48

2014-09-26 10:15:45

2014-09-26 15:29:13

2014-10-08 10:15:17

2017-09-27 16:38:51

2014-04-09 09:37:29

2014-04-15 10:55:17

2014-09-26 09:22:35

2014-09-26 15:41:51

2015-05-05 11:32:11

2014-04-14 12:26:30

IT技術周刊

2014-11-13 10:03:19

2014-05-14 10:44:02

2014-04-10 18:12:04

2014-04-09 09:56:53

點贊
收藏

51CTO技術棧公眾號

黄色免费在线看| 91蜜桃视频在线观看| 欧美videos粗暴| 亚洲另类中文字| 黑人巨大精品欧美一区二区小视频| 亚洲精品午夜国产va久久成人| 精品日本12videosex| 在线综合视频播放| 免费无遮挡无码永久视频| av在线免费观看网| 成人精品国产免费网站| 国产精品国产自产拍高清av水多| 亚洲av无码一区二区三区在线| 日韩精品亚洲aⅴ在线影院| 欧美日韩国产在线播放网站| 一二三四视频社区在线| 欧美性videos| 久久免费看少妇高潮| 成人h视频在线观看| 中文字幕日韩国产| 国产亚洲欧洲| 久久久久九九九九| 日韩国产第一页| 九色精品国产蝌蚪| 亚洲精品一区二区三区福利 | 亚洲视频二区| 欧美成人小视频| 天堂资源在线视频| 亚洲黄色录像| 亚洲丁香婷深爱综合| 久久精品久久99| 丁香婷婷久久| 在线观看日韩精品| 美女av免费在线观看| 黄视频在线免费看| 亚洲摸摸操操av| 中文网丁香综合网| 9i精品一二三区| 久久精品一区二区三区不卡牛牛| 国产麻豆一区二区三区在线观看| 99热这里只有精品在线| 久久99国产精品成人| 国产精品欧美亚洲777777| av中文在线播放| 亚洲精选国产| 久久久久久久久久av| 青娱乐在线视频免费观看| 中文av一区| 久久亚洲春色中文字幕| 手机在线中文字幕| 99久久精品费精品国产| 中文字幕综合在线| 欧美成人短视频| 四虎成人精品永久免费av九九| 一区二区三区美女xx视频| 美国美女黄色片| 日韩成人精品一区| 精品久久国产精品| 黄页网站免费观看| 亚洲激情二区| 日本不卡视频在线播放| 波多野结衣视频观看| 日韩极品在线观看| 国产精品人人做人人爽| 7777久久亚洲中文字幕| 国产在线视频一区二区三区| 91蜜桃网站免费观看| 性一交一乱一乱一视频| 成人av网在线| 日韩免费电影一区二区三区| 婷婷在线视频| 一区二区三区精品在线观看| 男人添女荫道口图片| 成人免费看视频网站| 欧美无砖专区一中文字| 黄色一级片免费播放| 电影一区二区在线观看| 亚洲欧美综合区自拍另类| 亚洲精品国产精品国自| 欧美午夜国产| 国产aⅴ夜夜欢一区二区三区| 国产精品自拍第一页| 韩国精品久久久| 国产成人精品一区二区三区福利| 婷婷在线免费观看| 国产欧美一区二区精品忘忧草 | caoporn视频在线| 欧美日韩国内自拍| 午夜免费福利视频在线观看| 亚洲精品国产九九九| 亚洲精品视频在线播放| 网爆门在线观看| 亚洲二区精品| 国产免费观看久久黄| 亚洲乱熟女一区二区| 久久精品视频一区二区| 干日本少妇视频| 欧美成人精品三级网站| 欧美成人一区二区三区片免费| aaaaaav| 久久精品国产99久久| 久久免费视频这里只有精品| 丰满人妻一区二区三区四区| 成人天堂资源www在线| 亚洲精蜜桃久在线| 九色porny视频在线观看| 在线电影一区二区三区| 中文字幕一区二区三区人妻| 天天做天天爱天天综合网| 日本中文字幕不卡免费| 成人乱码一区二区三区 | 亚洲免费在线精品一区| av2020不卡| 在线成人av网站| 欧美特级黄色录像| 亚洲黄色天堂| 亚洲一区久久久| 国产精品影院在线| 婷婷夜色潮精品综合在线| 亚洲天堂av一区二区三区| 亚洲精品国产动漫| 久久久日本电影| 朝桐光av在线一区二区三区| 国产精品免费丝袜| 久久久久狠狠高潮亚洲精品| 99国产精品免费网站| 久久久99免费视频| 91麻豆视频在线观看| 欧美国产综合色视频| 激情综合网婷婷| 激情av综合| 欧美劲爆第一页| www.精品久久| 亚洲综合成人在线| 九九九九九伊人| 91亚洲国产成人久久精品| 国产福利视频一区| 免费在线观看一级毛片| 福利一区视频在线观看| 日韩av手机在线播放| 欧美日韩调教| 99se婷婷在线视频观看| 91一区二区三区在线| 日韩午夜在线影院| 我家有个日本女人| 国产精品一区2区| 国产成人亚洲综合无码| 一区二区在线视频观看| 欧美国产日韩免费| 天堂在线观看免费视频| 天天操天天色综合| 欧美bbbbb性bbbbb视频| 先锋亚洲精品| 日本一区免费在线观看| 日韩一区精品| 久久天天躁狠狠躁夜夜躁2014| 国产精选久久久| 一区二区成人在线视频| 香蕉视频污视频| 午夜亚洲激情| 少妇精品久久久久久久久久| 色999久久久精品人人澡69| 久久久久北条麻妃免费看| 99草在线视频| 亚洲午夜激情av| 久久一区二区电影| 日日夜夜精品视频天天综合网| 视频一区三区| 精品一区二区三区亚洲| 欧美激情在线狂野欧美精品| 无码精品视频一区二区三区 | 午夜a一级毛片亚洲欧洲| 国产91色在线播放| 看黄网站在线观看| 欧美成人官网二区| 欧美videossex极品| 国产精品免费视频一区| 免费啪视频在线观看| 久久久久一区| 欧洲xxxxx| 欧美亚视频在线中文字幕免费| 国产成人精品免费久久久久 | 少妇精品视频一区二区 | 国内精品一区二区三区四区| 欧美午夜黄色| 欧美一区二区三区四区久久| 中文字幕一区二区三区精品 | 午夜探花在线观看| 精品精品精品| 91精品久久久久久久久久久| а√在线中文在线新版| 一区二区三区四区视频| 性欧美8khd高清极品| 色婷婷综合五月| 91视频综合网| 国产偷国产偷精品高清尤物| 午夜激情视频网| 久久婷婷av| 人人妻人人澡人人爽欧美一区双| 精品色999| 国产视频在线观看一区| 国产精品原创视频| 2019国产精品自在线拍国产不卡| 蜜芽在线免费观看| 日韩国产在线不卡视频| 色婷婷一区二区三区四区| 中文字幕在线有码| 久久久精品中文字幕麻豆发布| 小日子的在线观看免费第8集| 久久精品首页| 无码 制服 丝袜 国产 另类| 日韩片欧美片| 日韩av电影免费观看| 狠狠久久伊人| 91亚洲va在线va天堂va国| 精品国模一区二区三区| 91成人性视频| 免费在线国产视频| 久久久久999| 1024国产在线| 亚洲三级黄色在线观看| 日日夜夜精品免费| 日韩欧美一级特黄在线播放| 羞羞色院91蜜桃| 日韩欧美有码在线| 日韩精品视频免费播放| 亚洲另类中文字| 成人在线观看小视频| 国产精品电影一区二区三区| 精品久久久久久中文字幕人妻最新| 懂色av一区二区三区免费看| 亚洲精品第三页| 久久国产夜色精品鲁鲁99| 成人中文字幕av| 久久九九精品| 男人亚洲天堂网| 午夜亚洲一区| 午夜精品久久久久久久无码| 在线精品一区二区| 日韩精品一区二区在线视频| 欧美视频一区| 美女扒开大腿让男人桶| 成年网站在线| 波多野结衣在线一区| 丰满少妇一区二区三区专区| 激情图片小说一区| 日韩av影视大全| 国产精品66部| 无码人妻久久一区二区三区蜜桃| 成人永久免费视频| 制服丝袜第一页在线观看| 成人动漫中文字幕| 黄色工厂在线观看| 国产三级精品在线| 中文字幕在线观看二区| 亚洲欧洲成人精品av97| 中文字幕在线有码| 午夜精品久久一牛影视| 国产一级免费视频| 精品视频在线免费| 国产女人高潮时对白| 日韩欧美中文字幕制服| 免费a视频在线观看| 日韩精品在线视频| 经典三级在线| 久久久国产在线视频| 男女视频在线| 91精品国产高清| 成人国产网站| 懂色中文一区二区三区在线视频| 日本天堂一区| 亚洲精品高清视频| 欧美视频网站| 蜜臀av午夜一区二区三区| 久久99精品久久久久久动态图 | 久久综合狠狠综合久久综合88| 好吊视频在线观看| 亚洲天堂免费在线观看视频| 国产在线免费视频| 日本精品一区二区三区四区的功能| 一区二区三区www污污污网站| 日韩一区二区在线看| 日本天堂影院在线视频| 久久精品久久久久| 三级中文字幕在线观看| 国产精品自拍偷拍| 第四色在线一区二区| 午夜免费电影一区在线观看| 国产一区二区三区四区老人| 好男人www社区| 国产成人精品综合在线观看 | 日韩av资源| 久久综合五月天| 中文字幕不卡三区视频| 亚洲v日韩v综合v精品v| 亚洲涩涩av| 免费特级黄色片| 蜜臀久久99精品久久久画质超高清| 日韩av成人网| 国产精品免费人成网站| 中文字幕av影院| 日韩精品中午字幕| 91视频在线观看| 国产91成人video| 亚洲精品v亚洲精品v日韩精品| 亚洲电影一二三区| 国产精品免费看| 亚洲一区二区三区四区精品| 国产色产综合色产在线视频| 久久香蕉精品视频| 91麻豆精品国产91久久久资源速度| 视频在线观看你懂的| 欧美日韩国产成人在线观看| 视频精品导航| 久久婷婷开心| 亚洲激情一区| 中文字幕99页| 亚洲精品美腿丝袜| 11024精品一区二区三区日韩| 亚洲色图偷窥自拍| 蜜桃视频在线网站| 国产精品一区二区三区不卡| 中文在线日韩| 五月天中文字幕在线| 欧美经典三级视频一区二区三区| 男人天堂2024| 精品视频一区在线视频| 2021天堂中文幕一二区在线观| 91精品国产一区二区三区动漫 | 国产福利视频在线播放| 成人一级片在线观看| 欧美黄色免费在线观看| 日韩一区二区三区四区| 国产在线二区| 成人有码在线视频| 天天天综合网| 91香蕉视频在线观看视频| 亚洲女同女同女同女同女同69| 亚洲一区二区人妻| 色香阁99久久精品久久久| 电影一区二区| 一本久久a久久精品vr综合| 青青草原综合久久大伊人精品优势| 亚洲午夜精品久久久久久高潮| 欧洲精品视频在线观看| jzzjzzjzz亚洲成熟少妇| 国产精品精品国产| 欧美激情777| 天天色天天干天天色| 一区二区三区日韩精品| 成人午夜福利视频| 97久久久免费福利网址| 亚洲精品小区久久久久久| 天天摸天天碰天天添| 欧美国产一区二区| 岳乳丰满一区二区三区| 久久久91精品| 136国产福利精品导航网址应用| 日本阿v视频在线观看| 99re成人在线| 自拍偷拍色综合| 不卡av日日日| 久久丝袜视频| 天美星空大象mv在线观看视频| 中文字幕一区二区三区在线观看| 国产高清第一页| 性亚洲最疯狂xxxx高清| 国产欧美一区二区三区精品观看 | 国产精品久久影视| 欧美激情视频在线观看| 日本欧美三级| 亚洲a级黄色片| 午夜精品福利一区二区三区av| 日本电影一区二区在线观看| 国产精品美女在线| 欧美三区美女| 韩国女同性做爰三级| 91精品免费观看| 福利在线免费视频| 亚洲精品永久www嫩草| 高清不卡在线观看av| 99精品人妻国产毛片| 久久精视频免费在线久久完整在线看 | 自拍日韩欧美| 97香蕉碰碰人妻国产欧美| 欧美日韩亚洲不卡| f2c人成在线观看免费视频| 日韩欧美亚洲日产国| 高清免费成人av| 国产乡下妇女三片| 欧美激情视频三区| 欧美一区二区麻豆红桃视频| 国产精品91av| 欧美综合天天夜夜久久| 青春草在线免费视频| 午夜精品亚洲一区二区三区嫩草 | 91精品国产色综合久久ai换脸| 欲香欲色天天天综合和网| 特色特色大片在线| 国产婷婷色一区二区三区在线|