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