绿盟科技发布OpenSSL高危漏洞技术分析与防护方案 G20成员国美国、中国、德国受影响较大...
近日,OpenSSL官方發布了版本更新,修復了多個OpenSSL漏洞,這次更新所修復的漏洞中,有兩個危害等級較高的為CVE-2016-6304和CVE-2016-6305。綠盟科技對此漏洞進行了技術分析并提出了防護方案。
自2014年4月心臟滴血漏洞爆發以來,綠盟科技對OpenSSL的CVE漏洞進行密切的監控,據綠盟科技威脅情報中心(NTI)統計到的數據顯示,2年來OpenSSL漏洞變化不大總體持平,總計高危漏洞13個,其中今年9月份3個高危漏洞。綠盟科技漏洞庫迄今為止收錄了82個重要漏洞。
OpenSSL漏洞影響范圍
據據綠盟科技威脅情報中心(NTI)統計到的數據顯示,全球OpenSSL主機分布如下:
全球受OpenSSL漏洞影響范圍如下:
G20成員國受OpenSSL漏洞影響范圍如下:
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
OpenSSL漏洞分析
這次更新所修復的漏洞中,有兩個危害等級較高的為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置空。代碼修復情況如下圖所示:
這樣就避免了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等運算,這樣就會進入到一個死循環當中,程序不能繼續執行。
漏洞修復之后的代碼如下圖所示:
代碼會對讀取的記錄rr進行長度計算,如果為0,則重新讀取下一個記錄,從而保證程序順利進行。
OpenSSL漏洞修復建議
官方已經發布版本更新,建議盡快升級到最新版,下載鏈接如下:
https://www.openssl.org/source/
如果無法升級到最新版本,為了在一定程度上緩解該威脅,則需要重新編譯OpenSSL源代碼,在重新編譯的時候,啟用“no-ocsp”編譯時選項。
OpenSSL漏洞匯總描述
2016年9月22日,OpenSSL官方發布了版本更新,修復了多個漏洞:
OpenSSL漏洞01:CVE-2016-6304
提交時間:2016年8月29日
漏洞描述:OpenSSL服務器在默認配置下,一個惡意客戶端可以向服務器持續發送超大的OCSP狀態請求擴展,從而耗盡服務器的內存導致拒絕服務。
嚴重程度:高
OpenSSL漏洞02:CVE-2016-6305
提交時間:2016年9月10日
漏洞描述:攻擊者可以通過發送一個空記錄,從而在調用SSL_peek()函數時引起拒絕服務。
嚴重程度:中
OpenSSL漏洞03:CVE-2016-2183
提交時間:2016年8月16日
漏洞描述:該漏洞涉及SWEET32攻擊,一種針對64位分組密碼算法的生日攻擊。
嚴重程度:低
OpenSSL漏洞04:CVE-2016-6303
提交時間:2016年8月11日
漏洞描述:該漏洞是存在于函數MDC2_Update()中的一個整數溢出,導致內存破壞,進而允許拒絕服務攻擊。
嚴重程度:低
OpenSSL漏洞05:CVE-2016-6302
提交時間:2016年8月19日
漏洞描述:位于ssl/t1_lib.c中的函數tls_decrypt_ticket(),在確認ticket的長度時沒有考慮HMAC的大小,導致內存越界讀取,進而引起拒絕服務。
嚴重程度:低
OpenSSL漏洞06:CVE-2016-2182
提交時間:2016年8月2日
漏洞描述:位于crypto/bn/bn_print.c的函數BN_bn2dec()沒有檢驗BN_div_word()函數的返回值,允許內存越界寫入,從而引起拒絕服務。
嚴重程度:低
OpenSSL漏洞07:CVE-2016-2180
提交時間:2016年7月21日
漏洞描述:位于crypto/ts/ts_lib.c中的函數TS_OBJ_print_bio()存在越界寫入問題,允許拒絕服務。
嚴重程度:低
OpenSSL漏洞08:CVE-2016-2177
提交時間:2016年5月4日
漏洞描述:在計算堆緩沖區的邊界時出錯,允許攻擊者發起拒絕服務攻擊。
嚴重程度:低
OpenSSL漏洞09:CVE-2016-2178
提交時間:2016年5月23日
漏洞描述:位于crypto/dsa/dsa_ossl.c中的函數dsa_sign_setup(),沒有正確處理constant-time,允許攻擊者通過邊信道攻擊獲得DSA的私鑰。
嚴重程度:低
OpenSSL漏洞10:?CVE-2016-2179
提交時間:2016年6月22日
漏洞描述:在DTLS的實現中,沒有正確處理未按序到達的握手消息緩存,允許攻擊者同時維護多個精心構造的DTLS會話,導致拒絕服務。
嚴重程度:低
OpenSSL漏洞11:?CVE-2016-2181
提交時間:2015年11月21日
漏洞描述:DTLS實現中的抗重放攻擊部分存在缺陷,允許攻擊者發起拒絕服務攻擊。
嚴重程度:低
OpenSSL漏洞12:CVE-2016-6306
提交時間:2016年8月22日
漏洞描述:在OpenSSL的1.0.2及更早版本中,缺少對一些消息長度的校驗,導致內存越界讀取,在理論上允許拒絕服務攻擊。
嚴重程度:低
OpenSSL漏洞13:?CVE-2016-6307
提交時間:2016年9月18日
漏洞描述:tls_get_message_header()函數存在檢查缺陷,導致攻擊者可以通過精心構造的數據包,使內存過度分配,進而借此大量消耗服務器的內存導致拒絕服務。
嚴重程度:低
OpenSSL漏洞14:CVE-2016-6308
提交時間:2016年9月18日
漏洞描述:dtls1_preprocess_fragment()存在檢查缺陷,導致服務器的內存可以過度分配,進而以前拒絕服務攻擊。
嚴重程度:低
官方公告地址如下:https://www.openssl.org/news/secadv/20160922.txt
什么是OpenSSL?
SSL是Secure Sockets Layer(安全套接層協議)的縮寫,可以在Internet上提供秘密性傳輸,能使用戶/服務器之間的通訊數據不被攻擊者竊聽,并且始終對服務器進行認證和有條件的對用戶進行認證。SSL協議要求建立在可靠的傳輸層協議(TCP)之上,實現對應用層數據的加密傳輸與完整性保護。
OpenSSL是一個強大的安全套接字層密碼開源庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,并提供豐富的應用程序供測試或其它目的使用。
大多數通過SSL/TLS協議加密的網站都使用了OpenSSL的開源軟件包。當OpenSSL被爆出安全漏洞,影響將會涉及到所有使用OpenSSL開源包的應用。
綠盟科技聲明
本安全公告僅用來描述可能存在的安全問題,綠盟科技不為此安全公告提供任何保證或承諾。由于傳播、利用此安全公告所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,綠盟科技以及安全公告作者不為此承擔任何責任。綠盟科技擁有對此安全公告的修改和解釋權。如欲轉載或傳播此安全公告,必須保證此安全公告的完整性,包括版權聲明等全部內容。未經綠盟科技允許,不得任意修改或者增減此安全公告內容,不得以任何方式將其用于商業目的。
綠盟科技發布OpenSSL高危漏洞技術分析與防護方案的相關文章請參看
OpenSSL安全公告高危漏洞 可以對默認配置的服務器發動DDoS攻擊
原文發布時間:2017年3月24日
本文由:綠盟科技 發布,版權歸屬于原作者
原文鏈接:http://toutiao.secjia.com/nsfocus-released-openssl-high-risk-vulnerability-analysis-and-protect-solution
本文來自云棲社區合作伙伴安全加,了解相關信息可以關注安全加網站
總結
以上是生活随笔為你收集整理的绿盟科技发布OpenSSL高危漏洞技术分析与防护方案 G20成员国美国、中国、德国受影响较大...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云人工智能ET夺肺结节诊断世界冠军
- 下一篇: 《VMware Virtual SAN权