標籤:

Apache爆「OptionsBleed」出血漏洞,設置不當可導致內存信息泄漏

近日,Apache伺服器被爆出伺服器內存信息被泄露。經調查是Apache伺服器的HTTP請求方法OPTIONS出現了漏洞,該漏洞被命名為出血漏洞(OptionsBleed),漏洞編號為CVE-2017-9798。根據目前掌握的信息該漏洞與OpenSSL心臟出血漏洞存在著許多的相似之處。

出血漏洞介紹

如果網站管理員嘗試對無效的HTTP方法實施 "Limit" 指令, 則會導致該漏洞被利用,如果漏洞被利用,則會導致伺服器敏感內存的泄漏。

目前Apache的開發商確認了這個漏洞,並將這個漏洞的危害性評為中危。漏洞利用條件和方式屬於遠程利用,漏洞影響範圍是Apache httpd 2.2.34/2.4.27之前的版本,建議普通的運行Apache Web伺服器的用戶升級至最新版本並安裝補丁。

針對2.4.27之前的版本更新

針對2.2.34之前的版本更新

出血漏洞的運行原理

Optionsbleed在危險性上遠遠不如此前OpenSSL導致的心臟出血漏洞。當管理員在伺服器配置的.htaccess文件中應用「Limit」選項時。如果.htaccess文件的規則與放置在上層目錄或普通伺服器配置中的.htaccess文件中的限制規則不符時,Apache運行就會出現混亂。此時,當攻擊者向脆弱的Apache伺服器發送無身份驗證的HTTP請求時,伺服器會根據請求泄露內存數據。以上就是出現出血漏洞的全過程,其實,從技術角度來看,這是一個use-after-free的漏洞,數據泄露就好像是堆溢出。

下面顯示了攻擊者是如何對脆弱的Apache HTTP伺服器的OPTIONS請求進行響應,注意看內存部分的信息泄露。

目前許多網站的伺服器都支持Apache伺服器的OPTIONS請求,經過測試許多主機響應的內容都極其相似,都是以 "Allow" 開頭的亂碼:

Allow: ,GET,,,POST,OPTIONS,HEAD,, nAllow: POST,OPTIONS,,HEAD,:09:44 GMT nAllow: GET,HEAD,OPTIONS,,HEAD,,HEAD,,HEAD,, HEAD,,HEAD,,HEAD,,HEAD,POST,,HEAD,, HEAD,!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" nAllow: GET,HEAD,OPTIONS,=write HTTP/1.0,HEAD,,HEAD,POST,,HEAD,TRACEn

經過進行進一步測試,研究人員注意到不需要使用OPTIONS方法就能觸發該漏洞,任何迫使伺服器發送響應以 "Allow" 開頭的HTTP請求都可以用來觸發該漏洞。

其中一個常見的例子是HTTP 501 錯誤(HTTP 501-未執行),它沒有使用未知的HTTP方法來響應請求。如下圖所示,當一個非脆弱的Apache HTTP伺服器接收到一個帶有未知的HTTP請求時,它的HTTP響應狀態代碼就是501,此時該響應將出現以 "Allow" 開頭的包含伺服器支持的HTTP方法列表。

此時,如果伺服器配置的.htaccess文件發生錯我,再加上攻擊者向脆弱的Apache伺服器發送無身份驗證的HTTP請求時,以 "Allow" 開頭的響應就會從進程內存泄漏部分數據,如下所示。

怎樣發現該漏洞

最簡單的測試方法是在循環中使用Curl發送OPTIONS請求:

for i in {1..100}; do curl -sI -X OPTIONS https://www.google.com/|grep -i "allow:"; donen

需要注意的是,由於伺服器配置不同,對於OPTION請求的響應也就不同,點此查看用Python編寫的PoC。

影響範圍

經HannoB?ck測試,在Alexa排名前100萬網站中,有466台主機的響應都是以"Allow" 開頭,這些網站的分散在世界各地。目前Apache的開發商確認了這個漏洞,不過負責人表示目前該漏洞只存在於2.2.34/2.4.27之前版本,所以影響的範圍有限。

不過我不這麼認為,由於各種原因,目前很多人並不會及時對自己的系統進行升級。另一方面,在共享的託管環境中,此漏洞不僅僅限於單個虛擬主機,每個共享宿主提供程序的客戶都可能會故意創建一個.htaccess 文件, 從而導致漏洞發生,進而從同一系統上的其他主機提取敏感數據。

高級用戶的防禦方法

除了開頭所講的升級到最新版本的方法外,資深安全用戶可以使用下面的DPI規則在其環境中配置Allow HTTP方法,並通過使用未知HTTP方法的請求限制數據泄漏。

1002593—Allow HTTP(包括WebDAV)方法

系統管理員應該升級他們安裝的Apache HTTP伺服器版本,並禁用使用.htaccess文件。如果可能的話,網站的管理者最好不要直接訪問這些使用OPTION請求的網站並且建議他們的互聯網服務提供商提供升級服務。

目前TTippingPoint已經發布了一個Customer Shield Writer (CSW)文件,以供客戶在TMC上下載。適用的規則如下:

C1000002:HTTP:Apache伺服器選項信息公開漏洞

本文翻譯自blog.trendmicro.com/tre,如若轉載,請註明原文地址: 4hou.com/vulnerable/779 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

TAG:信息安全 |