近日,Akamai發布了《應用程序和API安全研究報告》,揭示了新興的應用程序和API攻擊形勢,以更好地評估不斷發展的TTP,并討論了最新的保護技術。

漏洞之年

像Log4Shell和Spring4Shell這樣的關鍵漏洞揭示了web應用程序和API存在的嚴重風險,以及它們作為威脅表面的重要性。隨著組織繼續采用更多的web應用程序來增強整體業務運營,每家公司平均使用1061個應用程序,這種攻擊面還在繼續擴大。隨著新興的零日漏洞數量在現有的安全漏洞之上進一步加速,組織比以往任何時候都更需要應用程序安全性來保護他們的機密數據和邊界。

2022年是應用程序和API攻擊創紀錄的一年。2021年底,在Log4Shell漏洞爆發之后,組織發現自己還處于其他重大漏洞威脅之下,包括Atlassian Confluence漏洞(CVE-2022-26134)、 ProxyNotShell漏洞(CVE-2022-41040)以及Spring4Shell/SpringShell(CVE-202222965)等等。API漏洞利用的數量正在上升,即將發布的OWASP API安全性Top 10版本中也包含了API漏洞,這表明人們的關注點轉向了更多的API安全風險。除了攻擊的頻率激增之外,它們的復雜性也在增長——攻擊對手正在不斷進化,尋找創新的方法來利用這一不斷增長的攻擊面。例如,攻擊者組織使用web shell針對美國國防和教育部門等特定目標發起高度針對性的攻擊。

此外,服務器端模板注入(SSTIs)和服務器端代碼注入也會造成嚴重的業務威脅,因為它們可能導致遠程代碼執行(RCE)和數據泄露。最近的一個例子是在VMware Workspace ONE Access and Identity Manager中發現的RCE漏洞(CVE-2022-22954)。由于各種原因,從挑戰到檢測再到影響(攻擊可能導致攻擊者訪問敏感數據),破損的對象級授權(BOLA)是API威脅領域中最受關注的問題。隨著非傳統媒介使用量的增加,組織必須在應用程序和API領域加強防御。

在本期的互聯網/安全狀況(SOTI)報告中,我們繼續研究在web應用程序和API中觀察到的一系列攻擊,它們對組織的影響,以及漏洞在API環境中的表現。我們的目標是證明web應用程序和API攻擊所帶來的危險,并就如何成功地保護組織網絡免受此類攻擊提出建議。

重點發現

服務器端請求偽造(SSRF)攻擊是一種新興的攻擊媒介,對組織構成嚴重威脅。在2022年,Akamai觀察到每天平均有1400萬次針對客戶web應用程序和API的SSRF嘗試,這些嘗試可以訪問內部資源;

像Log4Shell這樣的開源軟件中的漏洞變得越來越普遍,允許RCE的SSTI技術也是如此。我們預計這些攻擊在未來幾年將繼續增長,并建議組織對其進行保護;

由于物聯網(IoT)連接的激增以及從該行業設備收集的大量數據,2022年針對制造業的攻擊中位數增長了76%。針對該行業運營技術(OT)的成功網絡攻擊會對供應鏈等現實世界問題產生影響;

醫療行業加速采用醫療物聯網(IoM)擴大了這一垂直領域的攻擊面,并可能通過其漏洞導致攻擊。2022年,針對該行業的攻擊中位數增長了82%;

最新版OWASP API安全性TOP 10強調了web應用程序和API之間攻擊向量的差異;

針對API業務邏輯的API攻擊很難檢測和緩解,并且無法在單個請求級別確定。需要既存的知識,例如特定的業務邏輯和每個用戶可訪問的資源。

Web應用程序和API流量分析

Web應用程序憑借其可訪問性、效率和可擴展性已經成為業務的一個關鍵方面,為企業帶來了更多的收入。而對于網絡犯罪分子來說,他們總是跟蹤資金的流向,尋找可以利用的機會來實現他們的最終目標。Akamai監測到這些攻擊的大規模增長態勢。

【Web應用程序攻擊呈現上升趨勢,其間有幾個峰值,可能表明零星的攻擊活動】

然而,這并非Akamai第一次看到web應用程序和API攻擊的激增。Web應用程序和API攻擊的激增可以追溯到Log4Shell和Spring4Shell等關鍵漏洞出現之前,這些漏洞導致了全球各行各業爆發大規模數據泄露事件。此外,這些漏洞進一步說明了應用程序安全性的重要性,因為它們增加了組織的風險暴露。

這一增長可歸因于兩個重要因素。首先,隨著越來越多的組織依賴于應用程序和API來增強客戶體驗并推動業務,應用程序開發生命周期需要在生產環境中創建和部署這些應用程序的更快周轉,這可能導致缺乏安全代碼。在ESG的調查中,48%的組織表示,由于時間限制,他們將易受攻擊的應用程序發布到生產環境中,從而使他們的網絡處于危險之中。

其次,漏洞的數量正在上升,在面向互聯網的應用程序中,有十分之一的漏洞屬于高危或關鍵類別。此外,在2018-2020年期間,Log4Shell等開源漏洞的數量翻了一番。我們的金融服務報告《門口的敵人:對金融服務的攻擊分析》強調,在信息披露后的24小時內,我們開始看到針對新披露漏洞的利用嘗試。

而推動Web應用程序和API攻擊增長最快的媒介是本地文件包含(Local File Inclusion,LFI)漏洞,攻擊者主要使用它來偵察或掃描易受攻擊的目標。在某些情況下,利用LFI漏洞可能會暴露有關任何應用程序的信息,并導致目錄遍歷攻擊,使攻擊者能夠獲取日志文件數據,從而幫助他們破壞網絡的更深層部分。

面對不斷加速和增強的攻擊,在完成內部分段和修補之余,擁有邊緣能力來阻止它們同樣至關重要。面對如此多的應用程序,組織也需要一份完善的清單,了解企業的攻擊面以及映射到它們的安全控制是至關重要的。許多組織現在正在構建“軟件材料清單”(SBOM),以準確分析任何零日漏洞的潛在影響。接下來,組織還需要像Web應用程序和API保護(WAAP)之類的工具,以便在新的攻擊變體發布時,它們能夠實時更新以應對新的威脅。最后,組織需要流程來驗證部署的防御機制,包括滲透測試和日志分析。

2023年需要注意的攻擊媒介

檢查任何可能影響組織的新媒介也是至關重要的。了解這些新的載體可以更好地為未來的攻擊面做好準備。

【當攻擊者尋找滲透目標的方法時,LFI仍然是最主要的攻擊媒介】

上圖顯示,LFI攻擊呈大幅上升趨勢,同比增長193%,比2021年增長了3倍,超過了之前的主要攻擊媒介——跨站腳本(XSS)和SQL注入(SQLi)。LFI攻擊的影響可能對組織有害——攻擊者利用LFI在目標網絡中獲得立足點,或通過RCE向web服務器注入惡意代碼,從而危及其安全性。在最壞的情況下,LFI攻擊可能會將敏感信息暴露給攻擊者。注意:LFI的增加意味著攻擊者已經成功地使用了它,所以組織應該優先考慮測試,看看自己是否容易受到攻擊。

當文件訪問驗證或處理中的漏洞被利用時,就會發生LFI攻擊。基于PHP的網站通常被發現有LFI漏洞,10個網站中有8個在服務器端運行這種編程語言。我們年復一年地看到攻擊事件的爆發,這也就不足為奇了。

類似地,XSS允許攻擊者在目標的網絡中獲得立足點,而非訪問數據庫。幾年前,SQLi是Web應用程序和API攻擊的主要攻擊向量,并且是2021年OWASP列表中排名前三的Web應用程序攻擊之一。成功的SQLi攻擊通常會導致攻擊者訪問公司的機密信息,如客戶數據。

組織需要警惕這些流行攻擊媒介的可能后果,以及攻擊者如何使用它們。檢查任何即將出現的攻擊媒介及其對組織的潛在影響至關重要。建議組織使用諸如零信任分段這樣的框架來最小化成功獲得訪問的LFI攻擊的影響,并結合MITRE ATT&CK的網絡殺傷鏈來分析和衡量程序的成熟度。

隨著漏洞被越來越頻繁地利用,攻擊者正在不斷發展他們的戰術、技術和程序(TTPs),以提高其影響力。研究人員分析了過去一年中遇到的一些新穎的、即將出現的、高度危險的攻擊技術。這些攻擊越來越流行,組織在為未來的安全做好準備時,必須意識到這一點。希望組織提高對下述媒介的認識,以便及時制定緩解策略,并為下一個Log4Shell或下一個突出的攻擊媒介做好準備。這些攻擊技術包括:

  • 服務器端請求偽造(SSRF);
  • 服務器端模板注入(SSTI);
  • 服務器端代碼注入;

警惕安全缺口:對API攻擊的研究強調了風險

在OWASP候選發行版(草案)中包含API攻擊,這是向API特定方向邁出的一步,擺脫了對應用程序的嚴重關注,并強調了API威脅的獨特性質。關于API的本質,需要記住的一件重要事情是,保護它們具有挑戰性,針對它們的攻擊可能很復雜。充分的保護需要理解API內部的業務邏輯,因為它們是特定于客戶的,而安全解決方案可能需要更高的計算產品。

【新提出的十大攻擊包括更多特定于API的攻擊,并強調授權問題(前五大攻擊中的四個)】

OWASP強調了API安全性的幾個關鍵思想,包括第三方和內部服務不應該被信任;云環境、容器和Kubernetes是API安全的一部分(在較高級別),并在url傳遞的高風險(SSRF)中發揮作用。

破損對象級別授權(BOLA)

BOLA是OWASP API安全性top10中排名第一的API漏洞。BOLA被認為是一種高風險攻擊。當被成功利用時,它允許訪問其他用戶的信息,例如存儲的個人身份信息。這種攻擊與應用程序邏輯中的缺陷有關,不像破解加密或設置自動/編程攻擊(如分布式拒絕服務和憑證填充)等技術性更強的攻擊。

盡管利用起來相對簡單,但檢測起來卻很困難。BOLA請求類似于合法流量,因此很難將其與惡意請求區分開來。檢測BOLA攻擊需要預先了解應用程序的業務邏輯和每個用戶可訪問的資源。檢測邏輯必須區分資源和用戶之間的1對1連接和1對多連接。事件后的BOLA攻擊很難被發現,因為它沒有顯示出任何行為異常的強烈跡象,例如注入或拒絕服務。

保護組織免遭API風險 

編碼中的一個簡單錯誤可能成為攻擊者在企業網絡中立足的途徑。應用程序和API中的漏洞為攻擊者提供了入侵的機會,這些攻擊者正在尋找突破組織邊界、在組織網絡中傳播并獲取機密信息的方法。由于web應用程序和API仍然是組織必須防御的關鍵威脅表面,及時修補安全漏洞對于降低風險至關重要。

Web應用程序和API解決方案可以通過阻止請求或流量到達目標應用程序來阻止攻擊。確保安全措施到位,例如更新的web應用程序防火墻規則。了解應用程序和API攻擊的工作原理,包括LFI、SQLi和XSS之外的趨勢向量,可以為防御者提供所需的知識,以保護組織免受類似Log4Shell的攻擊。

對于特定于API的風險,以下是一些建議:

  • 在使用令牌之前使用預定義的算法驗證令牌;
  • 為每個身份驗證環境(和不同的應用程序)使用單獨的私鑰;
  • 使用非對稱算法(如果計算合理),使用長且高熵的私鑰;
  • 為kid參數(如果正在使用)使用一個生成的唯一標識符;
  • 避免泄露有效載荷上的敏感數據,將其保存在數據庫中;
  • 記錄和監控JWT違規行為,以備以后檢查;

為了降低BOLA攻擊帶來的風險,以下是一些最佳實踐:

  • 實現API的授權檢查,使用客戶端輸入來檢查當前用戶是否可以訪問請求的資源;
  • 對資源ID使用通用唯一標識符(uuid);
  • 編寫并運行測試來評估API端點是否存在BOLA漏洞。

跨行業的web應用程序和API攻擊的急劇增加表明,隨著企業繼續接受更多的“左移”并開發更多的應用程序,每個人都會在或將在某些時候受到這些攻擊的影響。