真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP遠(yuǎn)程DoS漏洞深入分析及防護(hù)方案

5月14日,國內(nèi)爆出php遠(yuǎn)程DoS漏洞,官方編號69364。利用該漏洞構(gòu)造poc發(fā)起鏈接,很容易導(dǎo)致目標(biāo)主機(jī)cpu的占用率100%,涉及PHP多個(gè)版本。綠盟科技威脅響應(yīng)中心隨即啟動應(yīng)急機(jī)制, 應(yīng)急響應(yīng)工作隨即啟動。

創(chuàng)新互聯(lián)建站長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為密云企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè),密云網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

  1. 15日夜,啟動漏洞分析工作,同步將分析結(jié)果發(fā)送產(chǎn)品團(tuán)隊(duì);

  2. 16日,發(fā)布產(chǎn)品規(guī)則升級通告,綠盟科技RSAS產(chǎn)品升級相繼就緒,客戶通過在線及離線升級的方法,即可獲得漏洞的檢測能力;同時(shí),在線漏洞檢測引擎就緒;

  3. 17日,漏洞深入分析進(jìn)行中。綠盟科技NIPS產(chǎn)品升級就緒,客戶通過在線及離線升級的方法,即可獲得漏洞的防護(hù)能力;

  4. 18日,我們回顧此次PHP漏洞的信息要點(diǎn),從PHP漏洞防護(hù)的角度進(jìn)行總結(jié),為大家制定防御方案提供補(bǔ)充信息。

PHP遠(yuǎn)程DoS漏洞

4月3日,有人在PHP官網(wǎng)提交PHP 遠(yuǎn)程DoS漏洞(PHP Multipart/form-data remote dos Vulnerability),代號69364。由于該漏洞涉及PHP的所有版本,故其影響面較大,一經(jīng)發(fā)布迅速引發(fā)多方面關(guān)注。14日,各種PoC已經(jīng)在網(wǎng)絡(luò)上流傳。此次漏洞具備如下特性:

  1. 一旦被利用成功,可以在迅速消耗被***主機(jī)的CPU資源,從而達(dá)到DoS的目的;

  2. PHP在全球的部署量相當(dāng)大,為***者提供了相當(dāng)多可以***的目標(biāo);

  3. PHP官方目前僅給出了5.4及5.5版本的補(bǔ)丁受此漏洞影響的軟件及系統(tǒng)包括PHP的如下版本。
    PHP 5.0.0 – 5.0.5
    PHP 5.1.0 – 5.1.6
    PHP 5.2.0 – 5.2.17
    PHP 5.3.0 – 5.3.29
    PHP 5.4.0 – 5.4.40
    PHP 5.5.0 – 5.5.24
    PHP 5.6.0 – 5.6.8

綠盟科技常年密切關(guān)注PHP的安全問題。綠盟科技威脅響應(yīng)中心在獲知相關(guān)信息后,隨即啟動應(yīng)急機(jī)制,相關(guān)工作隨即啟動。本文章將會深入分析該漏洞,并給出應(yīng)對方案。

PHP遠(yuǎn)程DoS漏洞分析

2015年5月15日夜,綠盟科技威脅響應(yīng)中心在獲取PHP漏洞傳播情況的同時(shí),也在進(jìn)行漏洞的分析工作,通過重現(xiàn)漏洞的***過程,分析其工作原理,得以清晰識別及檢測該漏洞方法。

Boundary中的鍵值對分隔

PHP是一種流行的Web服務(wù)器端編程語言,它功能強(qiáng)大,簡單易用,利用它編寫網(wǎng)絡(luò)應(yīng)用程序,可以應(yīng)對大規(guī)模的Http請求,所以很多業(yè)務(wù)環(huán)境中都部署了PHP。考慮規(guī)范性,PHP在設(shè)計(jì)之初就遵循rfc規(guī)范,進(jìn)行各個(gè)協(xié)議模塊的封裝及過程處理。PHP與其他同樣遵循rfc規(guī)范的語言及環(huán)境相比,不過是處理方式不同。

而從rfc1867開始,http協(xié)議開始支持”multipart/form-data”請求,以便接受多種數(shù)據(jù)格式,包括多種變量甚至是文件上傳。multipart/form-data中可以包含多個(gè)報(bào)文,每一個(gè)報(bào)文boundary(分隔符)分隔開來,而每個(gè)報(bào)文中都包含了多行鍵值對,鍵值對用冒號分隔,這樣的設(shè)計(jì)是為了讓程序可以清晰的區(qū)分這些數(shù)據(jù)。

PHP遠(yuǎn)程DoS漏洞深入分析及防護(hù)方案

但如果由于某種原因,鍵值中間缺少了那個(gè)冒號,PHP函數(shù)會將下一對鍵值合并到了上一行,形成這樣的鍵值對,“鍵1:值1鍵2值2”。由于PHP進(jìn)行鍵值合并的算法不夠優(yōu)化,這樣的事情發(fā)生幾次還沒什么,如果數(shù)以百萬記,就變成了一種災(zāi)難。

在下面的例子中,當(dāng)a的部分達(dá)到一定數(shù)量的時(shí)候(幾十萬行or上百萬行),由于每行鍵與值之間并沒有冒號分隔,函數(shù)就自動將下一行的鍵值對合并,這樣數(shù)據(jù)越來越大,越來越長,函數(shù)針對這些數(shù)據(jù)不斷執(zhí)行內(nèi)存的分配和釋放,最終被***目標(biāo)主機(jī)的CPU資源被耗盡。

PHP遠(yuǎn)程DoS漏洞深入分析及防護(hù)方案

*注:PHP中,Boundary是可以自定義的,比如“—–WebKitFormBoundarypE33TmSNWwsMphqz”

這樣的代碼,在抓包時(shí)顯示情況如下

PHP遠(yuǎn)程DoS漏洞深入分析及防護(hù)方案

Boundary報(bào)文解析過程

PHP在main/rfc1867.c中,有兩個(gè)函數(shù)都涉及boundary的解析,包括SAPI_API SAPI_POST_HANDLER_FUNC及multipart_buffer_headers函數(shù)。DoS漏洞出現(xiàn)在main/rfc46675pxultipart_buffer_headers函數(shù)。

PHP先解析解析multipart/form-data http請求, http請求體的入口函數(shù)在SAPI_POST_HANDLER_FUNC(rfc1867.c中的函數(shù)),SAPI_POST_HANDLER_FUNC函數(shù)首先解析請求的boundary,也就是POST請求中第一次定義時(shí)的boundary;并且在其內(nèi)部調(diào)用了multipart_buffer_headers,該函數(shù)先找到boundary(也就是一次引用的boundary),會和定義時(shí)的boundary比較。如果相等即找到第一次引用的boundary,接下來會逐行讀取請求的輸入以解析body port header(也就是解析第一次引用boundary后面的內(nèi)容)。

SAPI_API SAPI_POST_HANDLER_FUNC

multipart_buffer_headers

出現(xiàn)問題的函數(shù)處理邏輯

multipart_buffer_headers函數(shù)在解析HTTP請求中的multipart頭部數(shù)據(jù)時(shí),每次解析由get_line得到的一行鍵值對。當(dāng)被解析的行是以空白字符開始,或者出現(xiàn)一個(gè)不包含 ‘ : ‘ 的行,該行將被當(dāng)作是上一行鍵值對的延續(xù)來處理,將當(dāng)前的值拼接到上一個(gè)鍵值對里,并且在拼接的過程里,該函數(shù)進(jìn)行如下動作:

一次內(nèi)存分配

entry.value = emalloc(prev_len + cur_len + 1);

兩次內(nèi)存復(fù)制

memcpy(entry.value, prev_entry.value, prev_len);
memcpy(entry.value + prev_len, line, cur_len);

一次內(nèi)存釋放

zend_llist_remove_tail(header);

當(dāng)出現(xiàn)多個(gè)不包含 ‘ : ‘ 的行時(shí),PHP就會進(jìn)行大量內(nèi)存分配釋放的操作,并且分配的空間與拷貝的長度將越來越大。當(dāng)行的數(shù)目足夠多時(shí),拷貝的操作將顯著的消耗服務(wù)器的CPU。實(shí)際測試中,包含近一百萬行的頭字段可以使服務(wù)器的CPU保持100%幾秒或者數(shù)十秒。如果并發(fā)多個(gè)***請求,可能造成更長時(shí)間的資源占用。

漏洞利用原理

***者可通過發(fā)送一個(gè)2M左右的包含多行multipart頭部數(shù)據(jù)的HTTP請求來發(fā)起***,無需認(rèn)證,也不依賴PHP程序本身的內(nèi)容。例如,通過發(fā)送畸形請求,每隔若干秒,同時(shí)并發(fā)多個(gè)這樣的請求,就會耗盡目標(biāo)主機(jī)的CPU資源

PHP遠(yuǎn)程DoS漏洞檢測

面對如此簡單的漏洞利用,以及較低的***門檻,分析人員迅速將經(jīng)過安全驗(yàn)證后的檢測方法向云端、產(chǎn)品端及服務(wù)端傳遞,并建議用戶盡快對其業(yè)務(wù)環(huán)境進(jìn)行一次全面的漏洞檢測,以便可以盡快拿到第一手?jǐn)?shù)據(jù),為后續(xù)制定漏洞防護(hù)方案及執(zhí)行措施提供數(shù)據(jù)支撐及決策依據(jù)。

云端檢測

5月16日晚,綠盟科技客戶自助門戶系統(tǒng)Portal發(fā)布PHP遠(yuǎn)程DoS漏洞檢測引擎,為PHP Multipart/form-data遠(yuǎn)程DoS漏洞(PHP-69364)提供掃描支持。

PHP遠(yuǎn)程DoS漏洞深入分析及防護(hù)方案

現(xiàn)在您隨時(shí)可以使用這個(gè)自助系統(tǒng),對業(yè)務(wù)環(huán)境進(jìn)行掃描,以便確認(rèn)是否存在該漏洞,掃描請點(diǎn)擊:https://portal.nsfocus.com/vulnerability/list/

漏洞確認(rèn) 當(dāng)掃描結(jié)果信息中出現(xiàn)信息“您的檢測目標(biāo)存在此漏洞”,即可確認(rèn)當(dāng)前業(yè)務(wù)環(huán)境中存在該漏洞,建議您盡快制定防護(hù)計(jì)劃,以避免系統(tǒng)在獲得加固前遭受***。

產(chǎn)品檢測

通過部署綠盟遠(yuǎn)程安全評估系統(tǒng)(Remote Security Assessment System),可以在您的業(yè)務(wù)環(huán)境中快速掃描及獲取此次漏洞情況,同時(shí)支持1實(shí)現(xiàn)漏洞的安全閉環(huán)管理,包括預(yù)警、檢測、分析管理、修補(bǔ)、審計(jì)等幾個(gè)環(huán)節(jié);2獲取豐富的漏洞和配置知識庫支持,該知識庫是國內(nèi)領(lǐng)先的安全漏洞庫,目前累計(jì)接近3萬條;3靈活部署,并獲得綠盟企業(yè)安全中心(NSFOCUS ESPC)進(jìn)行集中管理,可以有效實(shí)現(xiàn)大型網(wǎng)絡(luò)的統(tǒng)一漏洞管理。4享有Gartner推薦的信譽(yù)保障。

PHP遠(yuǎn)程DoS漏洞深入分析及防護(hù)方案

針對此次PHP遠(yuǎn)程DoS漏洞,綠盟科技漏洞掃描系列產(chǎn)品已經(jīng)就緒,用戶請盡快升級到如下版本,以便為您定制自己的防護(hù)措施提供第一手?jǐn)?shù)據(jù)支撐。

PHP遠(yuǎn)程DoS漏洞深入分析及防護(hù)方案

PHP遠(yuǎn)程DoS漏洞防護(hù)

知道了漏洞利用方法,也知道了***檢測方法,那么漏洞的防護(hù)也就知道該如何做了。如果確認(rèn)您的業(yè)務(wù)環(huán)境中存在這個(gè)漏洞,那么就需要參考上面的信息,盡快制定并啟動加固方案,這些加固從漏洞補(bǔ)丁開始,到產(chǎn)品防護(hù),到整體防護(hù),逐步推進(jìn)。

漏洞加固 PHP官方已經(jīng)針對PHP 5.4 及PHP 5.5版本給出了補(bǔ)丁,請使用這些版本的用戶,盡快到官方網(wǎng)站下載并安裝補(bǔ)丁,補(bǔ)丁的下載地址如下:

http://php.net/ChangeLog-5.php#5.4.41

http://php.net/ChangeLog-5.php#5.5.25

PHP遠(yuǎn)程DoS漏洞深入分析及防護(hù)方案

如果您使用了PHP的其它版本,請隨時(shí)關(guān)注PHP官方的最新通告。

產(chǎn)品防護(hù)

只是只是安裝了漏洞補(bǔ)丁是不夠的,整體安全等級的提升以及應(yīng)對未來的***,安全產(chǎn)品是必不可少的一環(huán),將Web系統(tǒng)置于DMZ區(qū)域并加以多產(chǎn)品的整體防護(hù),是我們推薦的做法。在如下部署環(huán)境中,以綠盟網(wǎng)絡(luò)***防護(hù)系統(tǒng)(Network Intrusion Prevention System,簡稱NIPS)為例,對業(yè)務(wù)系統(tǒng)部署NIPS,可以提供PHP遠(yuǎn)程DoS漏洞***防護(hù)。

PHP遠(yuǎn)程DoS漏洞深入分析及防護(hù)方案

目前相關(guān)產(chǎn)品的升級信息如下:

PHP遠(yuǎn)程DoS漏洞深入分析及防護(hù)方案

請所有使用綠盟產(chǎn)品的用戶盡快升級產(chǎn)品規(guī)則。綠盟科技已在軟件升級公告中提供規(guī)則升級包,規(guī)則可以通過產(chǎn)品界面的在線升級進(jìn)行。如果您的業(yè)務(wù)系統(tǒng)暫時(shí)還無法升級規(guī)則包,那么可以在軟件升級頁面中,找到對應(yīng)的產(chǎn)品,通過下載升級包,以離線方式進(jìn)行升級。 相關(guān)信息請?jiān)L問:

安全產(chǎn)品介紹:http://www.nsfocus.com.cn/1_solution/1_2_1.html
產(chǎn)品升級公告:http://update.nsfocus.com/

業(yè)務(wù)安全加固

在一些大型的企業(yè)或組織中,PHP遠(yuǎn)程DoS漏洞的防護(hù)或許并不能快速執(zhí)行,其原因在于:1需要考慮業(yè)務(wù)系統(tǒng)的可用性;2需要考慮整體實(shí)施方案制定;3需要盡可能降低加固動作對業(yè)務(wù)環(huán)境的二次傷害。這就需要企業(yè)自身、漏洞相關(guān)廠商、安全廠商一起協(xié)作才能形成快速、安全、有效的行動方案,避免業(yè)務(wù)系統(tǒng)在獲得安全加固之前遭受***。在此次應(yīng)急響應(yīng)過程中,綠盟科技的服務(wù)人員向客戶建議行動方案應(yīng)該且至少包含如下環(huán)節(jié):

1、首先,應(yīng)該第一時(shí)間獲取漏洞通告及相關(guān)信息,了解此次漏洞的影響范圍及深度。

2、再者,需要將通告和解讀與自身實(shí)際IT業(yè)務(wù)系統(tǒng)狀況相結(jié)合,全面判斷出影響范圍和程度(這包括對自身業(yè)務(wù)及對其客戶的影響程度),這個(gè)判斷過程,需要數(shù)據(jù)作為準(zhǔn)確方案制定的事實(shí)依據(jù),建議用戶使用安全可靠的漏洞掃描工具,升級最新發(fā)布的插件或規(guī)則庫,對全網(wǎng)進(jìn)行安全掃描,拿到第一手?jǐn)?shù)據(jù)后以便作為決策依據(jù);

3、再次,IT人員需要從業(yè)務(wù)穩(wěn)定性、危害程度和范圍及重要性等多個(gè)維度綜合考慮,制定整改時(shí)間計(jì)劃表,權(quán)重由高到低依次對局部網(wǎng)絡(luò)及主機(jī)設(shè)備或某業(yè)務(wù)系統(tǒng)設(shè)備展開整改和加固工作(建議邀請漏洞相關(guān)廠商及安全廠商一同參與)。然后,在加固階段性或整體完成后,需要再次進(jìn)行完整掃描和人工驗(yàn)證整改加固結(jié)果,在技術(shù)投入允許的條件下,建議您再次進(jìn)行各方面日志分析,觀察整改加固期間有沒有成功的***到其系統(tǒng)造成其他損失;

3.1、這個(gè)階段需要安全廠商提供專業(yè)技術(shù)協(xié)助,比如漏洞加固咨詢、驗(yàn)證加固是否成功;同時(shí)需要了解安全廠商的哪些設(shè)備已經(jīng)發(fā)布或即將發(fā)布防護(hù)規(guī)則,升級后即可進(jìn)行防護(hù);

3.2、如果還沒有采用任何一款安全設(shè)備,就需要采取臨時(shí)防護(hù)措施,包括采用漏洞相關(guān)廠商及安全廠商的相關(guān)方案,為整體加固爭取時(shí)間,避免在未加固整改成功之前這個(gè)窗口時(shí)間遭到***并受到損失,這樣的情況在相當(dāng)多的0day事件中屢見不鮮;

3.3、另外,還需要漏洞相關(guān)廠商與安全廠商通力協(xié)作,互相溝通漏洞原理和利用過程,進(jìn)行較深層次的解讀,才能夠促進(jìn)漏洞相關(guān)廠商的開發(fā)人員深入了解這個(gè)漏洞并根據(jù)其自身情況進(jìn)行代碼層面的整改;

4、最后,在整體響應(yīng)工作完成后,進(jìn)行總結(jié)和備案記錄。



分享題目:PHP遠(yuǎn)程DoS漏洞深入分析及防護(hù)方案
網(wǎng)頁鏈接:http://weahome.cn/article/gghece.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部