天天看點

綠盟科技釋出OpenSSL高危漏洞技術分析與防護方案 G20成員國美國、中國、德國受影響較大

近日,openssl官方釋出了版本更新,修複了多個openssl漏洞,這次更新所修複的漏洞中,有兩個危害等級較高的為cve-2016-6304和cve-2016-6305。綠盟科技對此漏洞進行了技術分析并提出了防護方案。

自2014年4月心髒滴血漏洞爆發以來,綠盟科技對openssl的cve漏洞進行密切的監控,據綠盟科技威脅情報中心(nti)統計到的資料顯示,2年來openssl漏洞變化不大總體持平,總計高危漏洞13個,其中今年9月份3個高危漏洞。綠盟科技漏洞庫迄今為止收錄了82個重要漏洞。

綠盟科技釋出OpenSSL高危漏洞技術分析與防護方案 G20成員國美國、中國、德國受影響較大

據據綠盟科技威脅情報中心(nti)統計到的資料顯示,全球openssl主機分布如下:

綠盟科技釋出OpenSSL高危漏洞技術分析與防護方案 G20成員國美國、中國、德國受影響較大

全球受openssl漏洞影響範圍如下:

綠盟科技釋出OpenSSL高危漏洞技術分析與防護方案 G20成員國美國、中國、德國受影響較大

g20成員國受openssl漏洞影響範圍如下:

綠盟科技釋出OpenSSL高危漏洞技術分析與防護方案 G20成員國美國、中國、德國受影響較大

openssl漏洞影響的版本

openssl project openssl < 1.1.0a

openssl project openssl < 1.0.2i

openssl project openssl < 1.0.1u

openssl漏洞不受影響的版本

openssl project openssl 1.1.0a

openssl project openssl 1.0.2i

openssl project openssl 1.0.1u

這次更新所修複的漏洞中,有兩個危害等級較高的為cve-2016-6304和cve-2016-6305。

openssl高危漏洞:cve-2016-6304

該漏洞的成因是,用戶端向伺服器持續發送超大的ocsp狀态請求擴充,在此過程中,利用tls擴充 “tlsext_type_status_request”填充ocsp ids記憶體,由于攻擊者不斷請求重商,進而耗盡伺服器的記憶體導緻拒絕服務。

分析官方公布的修複代碼,發現所做的修改主要是添加了對上一次握手過程的packet_remaining(&responder_id_list)的判斷:如果大于0,則将所有ocsp_respids置空,并儲存ssl_ad_internal_error的狀态;否則直接将所有ocsp_respids置空。代碼修複情況如下圖所示:

綠盟科技釋出OpenSSL高危漏洞技術分析與防護方案 G20成員國美國、中國、德國受影響較大

這樣就避免了ocsp ids記憶體不斷增加造成的拒絕服務。

openssl高危漏洞:cve-2016-6305

該漏洞的成因是,攻擊者可以通過發送一個空記錄,進而在調用ssl_peek()函數時引起拒絕服務。含有漏洞的代碼如下:

if (!peek) {

ssl3_record_sub_length(rr, n);

ssl3_record_add_off(rr, n);

從上面的代碼可以看到,如果peek為空,!peek則為真,然後進入代碼段中,直接進行sub和add等運算,這樣就會進入到一個死循環當中,程式不能繼續執行。

漏洞修複之後的代碼如下圖所示:

綠盟科技釋出OpenSSL高危漏洞技術分析與防護方案 G20成員國美國、中國、德國受影響較大

代碼會對讀取的記錄rr進行長度計算,如果為0,則重新讀取下一個記錄,進而保證程式順利進行。

官方已經釋出版本更新,建議盡快更新到最新版,下載下傳連結如下:

https://www.openssl.org/source/

如果無法更新到最新版本,為了在一定程度上緩解該威脅,則需要重新編譯openssl源代碼,在重新編譯的時候,啟用“no-ocsp”編譯時選項。

産品服務:使用綠盟科技的産品進行檢測及防護,比如綠盟遠端評估系統rsas進行安全評估,使用綠盟web應用防火牆waf提供防護。

短期服務:綠盟科技工程師現場處理。確定第一時間消除網絡内相關風險點,控制事件影響範圍,提供事件分析報告。

中期服務:提供 3-6個月的風險監控與巡檢服務。根除風險,確定事件不複發。

長期服務:基于行業業務風險解決方案(威脅情報+攻擊溯源+專業安全服務)。

2016年9月22日,openssl官方釋出了版本更新,修複了多個漏洞:

送出時間:2016年8月29日

漏洞描述:openssl伺服器在預設配置下,一個惡意用戶端可以向伺服器持續發送超大的ocsp狀态請求擴充,進而耗盡伺服器的記憶體導緻拒絕服務。

嚴重程度:高

送出時間:2016年9月10日

漏洞描述:攻擊者可以通過發送一個空記錄,進而在調用ssl_peek()函數時引起拒絕服務。

嚴重程度:中

送出時間:2016年8月16日

漏洞描述:該漏洞涉及sweet32攻擊,一種針對64位分組密碼算法的生日攻擊。

嚴重程度:低

送出時間:2016年8月11日

漏洞描述:該漏洞是存在于函數mdc2_update()中的一個整數溢出,導緻記憶體破壞,進而允許拒絕服務攻擊。

送出時間:2016年8月19日

漏洞描述:位于ssl/t1_lib.c中的函數tls_decrypt_ticket(),在确認ticket的長度時沒有考慮hmac的大小,導緻記憶體越界讀取,進而引起拒絕服務。

嚴重程度:低

送出時間:2016年8月2日

漏洞描述:位于crypto/bn/bn_print.c的函數bn_bn2dec()沒有檢驗bn_div_word()函數的傳回值,允許記憶體越界寫入,進而引起拒絕服務。

送出時間:2016年7月21日

漏洞描述:位于crypto/ts/ts_lib.c中的函數ts_obj_print_bio()存在越界寫入問題,允許拒絕服務。

送出時間:2016年5月4日

漏洞描述:在計算堆緩沖區的邊界時出錯,允許攻擊者發起拒絕服務攻擊。

送出時間:2016年5月23日

漏洞描述:位于crypto/dsa/dsa_ossl.c中的函數dsa_sign_setup(),沒有正确處理constant-time,允許攻擊者通過邊信道攻擊獲得dsa的私鑰。

送出時間:2016年6月22日

漏洞描述:在dtls的實作中,沒有正确處理未按序到達的握手消息緩存,允許攻擊者同時維護多個精心構造的dtls會話,導緻拒絕服務。

送出時間:2015年11月21日

漏洞描述:dtls實作中的抗重播攻擊部分存在缺陷,允許攻擊者發起拒絕服務攻擊。

送出時間:2016年8月22日

漏洞描述:在openssl的1.0.2及更早版本中,缺少對一些消息長度的校驗,導緻記憶體越界讀取,在理論上允許拒絕服務攻擊。

送出時間:2016年9月18日

漏洞描述:tls_get_message_header()函數存在檢查缺陷,導緻攻擊者可以通過精心構造的資料包,使記憶體過度配置設定,進而借此大量消耗伺服器的記憶體導緻拒絕服務。

漏洞描述:dtls1_preprocess_fragment()存在檢查缺陷,導緻伺服器的記憶體可以過度配置設定,進而以前拒絕服務攻擊。

官方公告位址如下:https://www.openssl.org/news/secadv/20160922.txt

ssl是secure sockets layer(安全套接層協定)的縮寫,可以在internet上提供秘密性傳輸,能使使用者/伺服器之間的通訊資料不被攻擊者竊聽,并且始終對伺服器進行認證和有條件的對使用者進行認證。ssl協定要求建立在可靠的傳輸層協定(tcp)之上,實作對應用層資料的加密傳輸與完整性保護。

openssl是一個強大的安全套接字層密碼開源庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及ssl協定,并提供豐富的應用程式供測試或其它目的使用。

大多數通過ssl/tls協定加密的網站都使用了openssl的開源軟體包。當openssl被爆出安全漏洞,影響将會涉及到所有使用openssl開源包的應用。

本安全公告僅用來描述可能存在的安全問題,綠盟科技不為此安全公告提供任何保證或承諾。由于傳播、利用此安全公告所提供的資訊而造成的任何直接或者間接的後果及損失,均由使用者本人負責,綠盟科技以及安全公告作者不為此承擔任何責任。綠盟科技擁有對此安全公告的修改和解釋權。如欲轉載或傳播此安全公告,必須保證此安全公告的完整性,包括版權聲明等全部内容。未經綠盟科技允許,不得任意修改或者增減此安全公告内容,不得以任何方式将其用于商業目的。

綠盟科技釋出openssl高危漏洞技術分析與防護方案的相關文章請參看

<a href="http://toutiao.secjia.com/openssl-security-advisory-cve-2016-6304">openssl安全公告高危漏洞 可以對預設配置的伺服器發動ddos攻擊</a>

原文釋出時間:2017年3月24日

本文由:綠盟科技 釋出,版權歸屬于原作者

原文連結:http://toutiao.secjia.com/nsfocus-released-openssl-high-risk-vulnerability-analysis-and-protect-solution

本文來自雲栖社群合作夥伴安全加,了解相關資訊可以關注安全加網站

繼續閱讀