OpenSSL漏洞補救辦法詳解(轉)

CVE-2014-0160漏洞背景

2014年4月7日OpenSSL發布了安全公告,在OpenSSL1.0.1版本中存在嚴重漏洞(CVE-2014-0160)。OpenSSL Heartbleed模塊存在一個BUG,問題存在于ssl/dl_both.c文件中的心跳部分,當攻擊者構造一個特殊的數據包,滿足用戶心跳包中無法提供足夠多的數據會導致memcpy函數把SSLv3記錄之后的數據直接輸出,該漏洞導致攻擊者可以遠程讀取存在漏洞版本的OpenSSL服務器內存中多達64K的數據。

在目前已有的資料中,國內外同行已經稱本漏洞為 “擊穿心臟”、“毀滅級”、“今年最嚴重”的漏洞。由于SSL協議是網絡加密登陸認證、網絡交易等的主流安全協議,而OpenSSL又是主流的SSL搭建平臺。因此這些稱呼好不為過,建議各網絡服務提供者、管理機構和用戶高度注意本漏洞的處理情況,希望廣大用戶做出相應的對策。

OpenSSL受影響版本的分布

根據已經公開的信息,該漏洞影響分布情況如下。

1、OpenSSL 1.0.1f (受影響)

2、OpenSSL 1.0.2-beta (受影響)

3、OpenSSL 1.0.1g (不受影響)

4、OpenSSL 1.0.0 branch (不受影響)

5、OpenSSL 0.9.8 branch (不受影響)

處置建議如下

3.1 針對網絡管理員,可以做的事情包括

鑒于本漏洞的嚴重程度,如果確定本漏洞存在,對一般性的網絡服務者,暫停服務進行處置是一種較好的應對策略。

如果確定本漏洞存在,又必須保證服務不能停止,可以在漏洞修補過程中,暫時停止https服務,改用http服務,但這會帶來相關認證信息明文傳輸的風險,具體利害需要做出謹慎的判斷權衡。

具體修補方式為:

OpenSSL版本升級到最新的1.0.1g

重新生成你的私鑰

請求和替換SSL的證書

也可以使用-DOPENSSL_NO_HEARTBEATS參數重新編譯低版本的OpenSSL以禁用Heartbleed模塊,最新版本升級地址為:https://www.openssl.org/source/. (OpenSSL官方)

3.2 針對普通網絡用戶,我們鄭重提出的建議包括

鑒于本漏洞的嚴重程度,在不能確定你所網站和服務修補了本漏洞的情況下,在未來2~3天內(2014年4月9日日起)不登陸,不操作是一種較好的應對策略(這些操作包括網購、網銀支付等)。

如果你必須進行操作,可以關注這些網站和服務的修改情況。

一些手機客戶端的登陸,是對SSL的封裝,因此手機登錄也不安全。

其他安全企業團隊會公布目前仍有問題的站點、或沒有問題的站點情況,請予以關注。

分析與驗證

目前該漏洞的利用和驗證腳本已經可以被廣泛獲取,地址包括。

http://fi****o.io/Heartbleed/ (web測試頁面)

http://s3. ****guin.org/ssltest.py (python腳本)

http:// **.* u u.com/s/1nt3BnVB (python腳本)

盡管從安全團隊的角度,我們不適宜明文傳播這些地址,但我們必須提醒用戶的是,幾乎所有的攻擊者都已經擁有了相關資源,在過去24小時內,這一漏洞已經遭到了極為廣泛的探測和嘗試。相信大多數有漏洞的站點均遭到了不止一次的攻擊。

鑒于該漏洞的嚴重程度和攻擊爆發事件,我們不得不打破搭建環境,測試驗證的管理,

在第一時間,選擇相對“輕量級”的網站做出直接驗證,以分析其實際后果敏感信息。通過網絡中已有的測試方法,我們尋找到幾個存在問題的網站進行分析,為了避免行為失當,我們沒有選擇與金融、交易相關的站點。

存在問題的網站地址:

Ap***.*****.gov.cn (測試時間為2014-04-09 01:00)

my-****.in (測試時間為2014-04-09 01:10)

www.shu****.cn (測試時間為2014-04-09 01:15)

git****.com (測試時間為2014-04-09 01:20)

feng*****.com (測試時間為2014-04-09 01:30)

獲取回來的相關信息情況如下:

圖 1 測試網站1

通過漏洞利用工具發送數據后,返回的數據中可以看到有內網IP地址、路徑等信息。

圖 2 測試網站2

通過漏洞利用工具發送數據后,返回的數據中可以看到有APP信息、cookie信息和用戶名信息等。

圖 3 測試網站3

通過漏洞利用工具發送數據后,返回的數據中可以看到有手機號碼等。

圖 4 測試網站4

通過漏洞利用工具發送數據后,返回的數據中可以看到有信箱和密碼等信息。

通過上面的幾個網站的分析測試,發現該漏洞確實可以獲取到帶有敏感信息的內存內容。例如:用戶的cookie信息、內網IP地址、用戶名、密碼、手機號、信箱等。如攻擊者利用此漏洞對網絡交易、證券、銀行等網絡進行攻擊,那么將會獲取到用戶名、密碼、銀行賬號等敏感信息。再次提醒網站管理員和使用SSL協議連接網站的用戶請盡快按照我們的處置建議進行操作。

網絡檢測相關方法

通用Snort規則檢測

由于眾所周知的SSL協議是加密的,我們目前沒有找到提取可匹配規則的方法,我們嘗試編寫了一條基于返回數據大小的檢測規則,其有效性我們會繼續驗證,如果有問題歡迎反饋。

alert tcp $EXTERNAL_NET any -> $HOME_NET 443 (msg:"openssl Heartbleed attack";flow:to_server,established; content:"|18 03|"; depth: 3; byte_test:2, >, 200, 3, big; byte_test:2, <, 16385, 3, big; threshold:type limit, track by_src, count 1, seconds 600; reference:cve,2014-0160; classtype:bad-unknown; sid:20140160; rev:2;)

Snort規則說明:此次漏洞主要針對的SSL協議。是針對心跳數據包前4個字節中包含\x18\x03,而在數據包第5個字節和第6個字節的數值按大尾模式轉化成數值在200和16385之間,在后面則是一些報警和過濾功能,日志記錄里,每10分鐘記錄一次。

行為檢測

從公共網絡管理者的角度,可以從同一IP短時間探測多個443端口的網絡連接角度進行檢測。這樣可以發現攻擊者或肉雞的大面積掃描行為。

另外由于攻擊者可能定期性的進行數據持續獲取,也可以從連接持續規律的時間性和首發數據數量的對比的角度進行檢測。

其他

是否相關攻擊的主機痕跡和取證方式,我們正在驗證。

IT168:http://www.techweb.com.cn/ucweb/news/id/2025856

轉載于:https://www.cnblogs.com/websilva/p/3656340.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273791.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273791.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273791.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SharePoint 自定義WebPart之間的連接

1、創建SharePoint解決方案&#xff0c;添加兩個WebPart分別用來發送和接收&#xff1b; 2、發送值的WebPart需要繼承自IWebPartField(當然&#xff0c;根據需要還可以選擇IWebPartField,IWebPartParameters,IWebPartRow,IWebPartTable&#xff0c;具體參見msdn)&#xff0c;原…

[python 進階] 9. 符合Python風格的對象

文章目錄9.1 對象表示形式9.2 再談向量類9.3 備選構造方法9.4 classmethod與staticmethod9.5 格式化顯示9.6 可散列的Vector2d什么是可散列的數據類型9.6 可散列的Vector9.7 Python的私有屬性和“受保護的”屬性9.8 使用 __slots__ 類屬性節省空間本章包含以下話題&#xff1a;…

android軟件獲取系統簽名

有時候有的功能必須要有系統簽名才能使用&#xff0c;例如調用系統自帶的Surface.screenShot方法時&#xff0c;就必須在androidManifest.xml里聲明android:sharedUserId"android.uid.system" 但是這個時候在編譯生成的apk很有可能無法安裝的情況 并且報這個錯誤&…

Python3中的可變與不可變類型

在描述變量是否是可變類型時&#xff0c;可變與否實際上說的是對變量進行“修改”時變量的內存地址是否會發生變化&#xff0c;而非值是否可變。在Python中&#xff0c;對不可變的變量進行“修改”實際上是重新賦值&#xff0c;對可變的變量進行修改才是真正的修改&#xff0c;…

python中帶*(單星號)的變量和**(雙星號)的變量

一、*args的使用方法 *args 用來將參數打包成tuple給函數體調用二、**kwargs的使用方法 **kwargs 打包關鍵字參數成dict給函數體調用注意點&#xff1a;參數arg、*args、**kwargs三個參數的位置必須是一定的。必須是(arg,*args,**kwargs)這個順序&#xff0c;否則程序會報錯。單…

百度知道回答的依賴注入

oC 或者 DI 或者 ...一大堆的縮寫詞不管是面向對象&#xff0c;還是面向過程&#xff0c;都需要分成許多的塊&#xff0c;然后由這些部件協同工作完成任務 要協同工作就會產生依賴&#xff0c;一個方法調用另一個方法&#xff0c;一個對象包含另一個對象 如果對象A包含對象B的話…

Django model中的 class Meta 詳解

參考 (1) https://www.cnblogs.com/tongchengbin/p/7670927.html

C\C++ 獲取當前路徑

C\C 獲取當前路徑 獲取當前工作目錄是使用函數&#xff1a;getcwd。cwd指的是“current working directory”&#xff0c;這樣就好記憶了。 函數說明&#xff1a; 函數原型&#xff1a;char* getcwd(char* buffer, int len); 參數&#xff1a;buffer是指將當前工作…

[python進階]11接口:從協議到抽象基類

本章討論的話題是接口&#xff1a;從鴨子類型的代表特征動態協議&#xff0c;到使接口更明確、能驗證實現是否符合規定的抽象基類&#xff08;Abstract Base Class&#xff0c;ABC&#xff09;。 首先&#xff0c;本章說明抽象基類的常見用途&#xff1a;實現接口時作為**超類(…

ie11瀏覽器不能顯示最新修改的程序,調試出現代碼邏輯錯誤卻依舊執行

1、問題&#xff1a;ie11瀏覽器不能顯示最新修改的程序&#xff0c;調試也不能&#xff0c;出現代碼邏輯錯誤卻依舊執行 2、百度解決方案&#xff1a;http://blog.163.com/wang_hj138126/blog/static/1408001062012631508444/ FireFox每次訪問頁面時檢查最新版本 2012-07-31 …

C# 基礎備忘錄

1. decimal 類型調用ToString()方法后沒把末尾的0去掉的解決辦法: 例子&#xff1a;decimal? money Convert.ToDecimal(10.8950);string moneyStrmoney.Value.ToString(); 結果在同一臺機子&#xff0c;兩個項目里面會出現兩個不同的結果。結果一&#xff1a;moneyStr"1…

[python進階]12.繼承的優缺點

本章探討繼承和子類化&#xff0c;重點是說明對 Python 而言尤為重要的兩個細節&#xff1a; 子類化內置類型的缺點多重繼承和方法解析順序 12.1 子類化內置類型很 12.2 多重繼承和方法解析

Android中用GridView實現九宮格的兩種方法(轉)

Android中用GridView實現九宮格的兩種方法http://blog.csdn.net/shakespeare001/article/details/7768455 1.傳統辦法&#xff1a;實現一個繼承BaseAdapter的 ImageAdapter package com.test; import android.app.Activity; import android.content.Context; import andro…

django框架中的模型

文章目錄關聯關系Many-to-one relationshipsMany-to-many relationshipsdjango學習——model中的get和filter方法的區別模型模型是您的數據唯一而且準確的信息來源。它包含您正在儲存的數據的重要字段和行為。一般來說&#xff0c;每一個模型都映射一個數據庫表。基礎&#xff…

虛擬主機TOMCAT配置

在tomcat中添加虛擬主機&#xff1a;   編輯"tomcat\conf\server.xml"&#xff0c;在"<Engine></Engine>"元素中新加子元素"<Host></Host>"&#xff0c;如下&#xff1a;  </Host>     <Host name&quo…

django框架中表單

參考官方文檔,太詳細了 (https://docs.djangoproject.com/zh-hans/2.1/topics/forms/)

鳥哥學習筆記六(基礎篇第十一章)

type:查看指令是否是bash內建指令 變量的設定規則 1. 變量與變量內容以一個等號『』來連結&#xff0c;如下所示&#xff1a; 『mynameVBird』 2. 等號兩邊不能直接接空格符&#xff0c;如下所示為錯誤&#xff1a; 『myname VBird』或『mynameVBird Tsai』3. 變量名稱只能…

django-models類索引外鍵時候的related_name屬性作用

其實可以就理解為,一對多關系拿對象的解決 可以把引用理解為主從關系 主引用從,即一對多 , 注意外鍵字段是放在多的一端的,比如一個班級class 有很多同學 students,那么就在students類里面設置class字段值是外鍵類型 從students拿class數據很好拿, studet.class就拿到了 但是從…

查找算法分析

參考&#xff1a; https://www.cnblogs.com/maybe2030/p/4715035.html#_label0