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