HAProxy是一個(gè)受歡迎的開(kāi)源負(fù)載均衡器和代理服務(wù)器,目前披露了一個(gè)嚴(yán)重的安全漏洞,該漏洞可能被攻擊者濫用,可能會(huì)走私HTTP請(qǐng)求,導(dǎo)致未經(jīng)授權(quán)的訪問(wèn)敏感數(shù)據(jù)和執(zhí)行任意命令,進(jìn)行一系列攻擊。
該整數(shù)溢出漏洞在CVSS評(píng)分系統(tǒng)上的嚴(yán)重級(jí)別為8.6,已在HAProxy 2.0.25、2.2.17、2.3.14和2.4.4版本中修復(fù)。
HTTP請(qǐng)求走私,顧名思義,是一種web應(yīng)用程序攻擊,篡改網(wǎng)站處理從多個(gè)用戶收到的HTTP請(qǐng)求序列的方式。這種技術(shù)也稱為HTTP去同步,它利用了對(duì)前端服務(wù)器和后端服務(wù)器處理發(fā)送方請(qǐng)求方式不一致的解析。
前端服務(wù)器通常是負(fù)載均衡器或反向代理,網(wǎng)站使用它們來(lái)管理通過(guò)單個(gè)連接的入站 HTTP請(qǐng)求鏈,并將它們轉(zhuǎn)發(fā)到一個(gè)或多個(gè)后端服務(wù)器。因此,在兩端正確處理請(qǐng)求至關(guān)重要,這樣服務(wù)器才能確定一個(gè)請(qǐng)求在哪里結(jié)束,下一個(gè)請(qǐng)求從哪里開(kāi)始,處理請(qǐng)求失敗可能導(dǎo)致附加到一個(gè)請(qǐng)求的惡意內(nèi)容被添加到下一個(gè)請(qǐng)求的開(kāi)始的場(chǎng)景中。
換句話說(shuō),由于前端和后端服務(wù)器如何使用Content-Length和Transfer-Encoding標(biāo)頭計(jì)算每個(gè)請(qǐng)求的開(kāi)始和結(jié)束所產(chǎn)生的問(wèn)題,導(dǎo)致惡意HTTP請(qǐng)求的結(jié)束計(jì)算錯(cuò)誤,將惡意內(nèi)容置于鏈中下一個(gè)入站請(qǐng)求的開(kāi)頭,而不被服務(wù)器處理。
JFrog安全公司的研究人員在一份報(bào)告中說(shuō):“這次攻擊是利用了一個(gè)整數(shù)溢出漏洞,該漏洞允許在HAProxy解析HTTP請(qǐng)求時(shí)達(dá)到一個(gè)意想不到的狀態(tài),特別是在處理內(nèi)容長(zhǎng)度頭的邏輯中?!敝档靡惶岬氖牵谲浖_(kāi)發(fā)過(guò)程中通過(guò)靜態(tài)代碼檢測(cè)可以有效降低安全漏洞數(shù),加強(qiáng)抗攻擊能力。
在潛在的實(shí)際攻擊場(chǎng)景中,該漏洞可用于觸發(fā)HTTP請(qǐng)求偷襲攻擊,目的是繞過(guò)HAProxy定義的ACL(又名訪問(wèn)控制列表)規(guī)則,該規(guī)則允許用戶定義自定義規(guī)則來(lái)阻止惡意請(qǐng)求。
在披露之后,HAProxy 通過(guò)添加名稱和值長(zhǎng)度的大小檢查來(lái)修復(fù)該弱點(diǎn)?!白鳛橐环N緩解措施,只要驗(yàn)證任何消息中不超過(guò)一個(gè)這樣的[content-length]標(biāo)頭就足夠了,”HAProxy 的創(chuàng)建者和首席開(kāi)發(fā)人員Willy Tarreau在9月3日推送的GitHub提交中指出。
對(duì)于無(wú)法升級(jí)到上述版本的客戶,建議將以下代碼片段添加到代理的配置中,以減少攻擊:
Http-request request if {req.hdr_cnt(content-length) gt 1}
Http-response deny if {res.hdr_cnt(content-length) gt 1}
安全漏洞為網(wǎng)絡(luò)系統(tǒng)遭到攻擊提供了廣泛的攻擊面,尤其隨著軟件的使用滲透到生活的方方面面,發(fā)動(dòng)一次網(wǎng)絡(luò)攻擊造成的影響將不可估計(jì)。減少安全漏洞提高軟件安全,已經(jīng)成為殺毒軟件、防火墻等傳統(tǒng)防御手段之外的網(wǎng)絡(luò)安全重要防護(hù)方式。尤其在OWASP TOP 10安全漏洞中,60-70%的安全漏洞類(lèi)型均可通過(guò)源代碼靜態(tài)分析技術(shù)檢測(cè)出來(lái),因此在軟件開(kāi)發(fā)期間,不斷用靜態(tài)代碼檢測(cè)工具查找代碼缺陷及安全漏洞,提高代碼質(zhì)量,可以有效降低企業(yè)遭到網(wǎng)絡(luò)攻擊的風(fēng)險(xiǎn)。
5G時(shí)代,網(wǎng)絡(luò)安全威脅無(wú)處不在,殺病毒、防火墻、入侵檢測(cè)的傳統(tǒng)”老三樣“難以應(yīng)對(duì)不斷進(jìn)化的網(wǎng)絡(luò)攻擊,在軟件開(kāi)發(fā)階段實(shí)時(shí)檢測(cè)、修復(fù)代碼漏洞,提升軟件本身的安全屬性,降低網(wǎng)絡(luò)安全風(fēng)險(xiǎn),已經(jīng)成為國(guó)際共識(shí)。Wukong(悟空)靜態(tài)代碼檢測(cè)工具,從源碼開(kāi)始,為您的軟件安全保駕護(hù)航!
參讀鏈接:
www.woocoom.com/b021.html?i…
thehackernews.com/2021/09/hap…