SAP安全性縱覽:服務(wù)器端請(qǐng)求偽造(SSRF)攻擊緩解方法
SAP AG是世界上最大的軟件公司之一,在全球各地有超過183,000個(gè)客戶在使用其應(yīng)用和服務(wù)。知名產(chǎn)品包括SAP ERP、SAP Business Warehouse和SAP Business Objects等,一些全球最大的企業(yè)都在使用這些產(chǎn)品。
坐擁如此龐大的用戶群,不可避免地使SAP的軟件成為攻擊者“垂涎”的目標(biāo),原因顯而易見:有價(jià)值的數(shù)據(jù)存儲(chǔ)在同一個(gè)地方,由成千上萬用戶使用的軟件來處理,并且能夠通過互聯(lián)網(wǎng)訪問。網(wǎng)絡(luò)犯罪分子愿意花費(fèi)大量時(shí)間和資源來開發(fā)針對(duì)SAP部署的惡意軟件,因?yàn)闈撛诘幕貓?bào)將是值得的。
在2012年黑帽大會(huì)上,ERPScan研究人員Alexander Polyakov使用被稱為服務(wù)器端請(qǐng)求偽造(SSRF)的攻擊技術(shù)來啟動(dòng)一系列漏洞,導(dǎo)致SAP軟件堆棧的核心SAP Kerne出現(xiàn)緩沖區(qū)溢出?;赟SRF的攻擊通過將惡意代碼隱藏在看似合法的應(yīng)用數(shù)據(jù)包內(nèi)來躲避檢測,使其能夠繞過防火墻和內(nèi)部SAP安全配置。研究人員演示的這個(gè)攻擊是在單個(gè)請(qǐng)求中,這使基于簽名的入侵檢測系統(tǒng)(IDS)幾乎不可能將其識(shí)別為惡意軟件。
在這篇文章中,筆者將為擔(dān)心其SAP部署安全性的企業(yè)提供SAP安全縱覽,以及抵御服務(wù)器端請(qǐng)求偽造攻擊的一些技巧。
SAP安全性縱覽
隨著時(shí)間的推移,主要軟件供應(yīng)商(包括SAP)已經(jīng)顯著提高了其軟件安全水平。安全要求是SAP開發(fā)模式的組成部分,其開發(fā)模式被稱為產(chǎn)品創(chuàng)新生命周期(Product Innovation Lifecycle,PLL)。PLL側(cè)重于合法合規(guī)、降低所有權(quán)總成本以及避免潛在安全漏洞。SAP不僅對(duì)其產(chǎn)品執(zhí)行內(nèi)部安全評(píng)估,并允許外部機(jī)構(gòu)和獨(dú)立人士對(duì)其產(chǎn)品進(jìn)行評(píng)估,以確保遵循其安全開發(fā)準(zhǔn)則。(Polyakov的攻擊針對(duì)的是以卡通人物Dilbert命名的SAP測試服務(wù),雖然這有點(diǎn)令人擔(dān)心。)
當(dāng)然,沒有軟件能夠永遠(yuǎn)不出現(xiàn)錯(cuò)誤和漏洞。Java虛擬機(jī)中同樣發(fā)現(xiàn)了與Polyakov曝光的類似的問題,因此,基于J2EE且使用XML傳輸數(shù)據(jù)的PeopleSoft和Oracle E-Business套件等業(yè)務(wù)系統(tǒng)很容易遭受SSRF式的攻擊。這些不斷涌現(xiàn)出的問題強(qiáng)調(diào)了正確配置企業(yè)軟件以及硬化運(yùn)行這些軟件的機(jī)器的重要性。SAP已經(jīng)修復(fù)了Polyakov攻擊所利用的漏洞,但是,管理員必須一如既往的訂閱其供應(yīng)商的警報(bào)信息,以隨時(shí)了解最新威脅和修復(fù)補(bǔ)丁信息,從而打擊攻擊。
很多企業(yè)沒有修復(fù)關(guān)鍵任務(wù)型系統(tǒng),因?yàn)楦逻@些復(fù)雜和自定義的部署非常困難。對(duì)于零日漏洞TNS Poison,Oracle公司僅僅發(fā)布了一個(gè)安全警報(bào),而不是一個(gè)補(bǔ)丁,其理由是這個(gè)補(bǔ)丁將非常復(fù)雜,并且 “向后遷移(backport)”存在危險(xiǎn)。企業(yè)軟件復(fù)雜性的問題意味著很多系統(tǒng)存在很多已知安全漏洞,而純粹地依賴于防火墻和DMZ來進(jìn)行保護(hù)??紤]到不斷被發(fā)現(xiàn)的新漏洞,關(guān)鍵任務(wù)型軟件程序應(yīng)該放置在受良好保護(hù)的網(wǎng)段,同時(shí),部署防火墻監(jiān)測傳入和傳出流量。
保護(hù)SAP部署
如果攻擊來自值得信賴的來源,例如Polyakov的SSRF式攻擊,入站防火墻規(guī)則不可能阻止這種攻擊。在某些時(shí)候,攻擊者還會(huì)提取目標(biāo)數(shù)據(jù),因此企業(yè)應(yīng)該監(jiān)測出站網(wǎng)絡(luò)流量來檢查流量是否使用預(yù)期協(xié)議和端口傳送到合法目的地。并且,所有機(jī)器都應(yīng)該被硬化,數(shù)據(jù)庫的配置與處理數(shù)據(jù)的軟件必須根據(jù)供應(yīng)商的規(guī)范進(jìn)行配置,以確保設(shè)置的安全性。由于業(yè)務(wù)關(guān)鍵型應(yīng)用不會(huì)處理隔離的數(shù)據(jù),連接到這些機(jī)器和來自這些機(jī)器的數(shù)據(jù)也應(yīng)該被加密。
廣泛的日志記錄對(duì)于發(fā)現(xiàn)和跟蹤攻擊是非常重要的。例如,用于破壞系統(tǒng)的零日攻擊可能不會(huì)被發(fā)現(xiàn),但是通過部署網(wǎng)絡(luò)傳感器日志記錄和分析內(nèi)部網(wǎng)絡(luò)流量以發(fā)現(xiàn)不尋常活動(dòng),將能夠觸發(fā)警報(bào),而這將可能發(fā)現(xiàn)攻擊行為,如果沒有日志記錄,攻擊可能被忽略。另一個(gè)重要的安全控制是滲透測試,它可以評(píng)估防火墻、入侵檢測系統(tǒng)和防病毒網(wǎng)關(guān)是否按預(yù)期執(zhí)行以及是否有效地保護(hù)網(wǎng)絡(luò)。
滲透測試將幫助評(píng)估與所有未發(fā)現(xiàn)漏洞相關(guān)的風(fēng)險(xiǎn)以及降低風(fēng)險(xiǎn)的最佳做法。它還能夠評(píng)估服務(wù)之間的關(guān)系,確定到這些數(shù)據(jù)的接入點(diǎn)能否抵御試圖利用它們的攻擊,以及測量網(wǎng)絡(luò)防御的能力,以成功地檢測和響應(yīng)測試。滲透測試模擬了潛在攻擊者的角色,這是企業(yè)能夠執(zhí)行的最現(xiàn)實(shí)的安全測試。ERPS發(fā)布了一個(gè)新的滲透工具,叫做SAP ERPScan安全掃描器,專門用于發(fā)現(xiàn)容易遭受攻擊的SAP部署。
保護(hù)SAP 別無他選
在未來幾年內(nèi),SAP軟件將仍然是很多世界上最大的企業(yè)的運(yùn)營中的一個(gè)重要元素,攻擊者也將繼續(xù)攻擊SAP。簡單地說,企業(yè)別無選擇,必須嚴(yán)格地保護(hù)其SAP部署。Polyakov演示的服務(wù)器端請(qǐng)求偽造攻擊是一個(gè)警鐘,他向我們展示了SAP攻擊的現(xiàn)實(shí)及其危害。幸運(yùn)的是,只要企業(yè)采取正確的預(yù)防措施,全面的SAP安全性是可以實(shí)現(xiàn)的。