2021-08-06 11:07:39

API安全性:該如何保護您的API?


    儘管我們對API安全性的認識不斷地提高,但漏洞仍在繼續發生。API管理和Web應用防火牆供應商以及新的初創公司正在解決這個問題。但是應用程式領導者必須獨立設計和執行有效的API安全策略來保護自己的APIAPI是使用在應用程式之間的集成,支援現代Web和移動體驗,並在合作夥伴生態系統中以公用API的形式提供新的數位業務。API允許開發人員使用熟悉的Web技術,例如HTTPJSONXML等訪問應用程式功能並發送和接收資料,從而實現所有這些優勢。API帶來的開放資料訪問和應用程式功能的好處也帶來了安全問題。目前已經發生許多API安全事件,大多都是資料洩漏的安全問題居多,因此提高了人們對API漏洞的認識。

 

API安全的分類

API安全可以分為兩大方面,分別是API威脅防護和API訪問控制。API威脅防護意味著檢測和阻止對API的攻擊,而API訪問控制意味著控制那些應用程式和用戶可以訪問API,這兩者都是特別需要的,如下方列表使用關鍵技術和適用於每種情況的類別:

 


API威脅防護

API訪問控制

關鍵功能

內容驗證、威脅檢測、流量節流

驗證、授權、身分傳播

使用的關鍵技術

攻擊簽屬、基於聲譽的控制、異常檢測、OAS消息驗證

OAuth 2.0OpenID連接、

JSON Web Tokens

產品類別

網路應用程式防火牆、應用程式交付控制器、API管理

API管理、訪問管理軟體、身份即服務

 

    如上表所示的產品類別,API安全初創公司也開始湧現出專門的API威脅防護和API訪問控制的產品。API安全性現在由於提高的意識和產品功能覆蓋範圍,但應用程式領導者必須創建和實施有效的API安全策略才行。

 

比攻擊者還要早發現漏洞

    許多API洩漏事件都有一個共同點:那就是被洩漏的企業組織發現到他們的API不安全時已經為時已晚。這就是為什麼API安全的第一步是發現您的企業組織正在交付或第三方使用的API、移動和Web應用程式是一個很好的出發點,因為API通常用做現代Web應用程式或使用AugularReact等框架構建的移動應用程式的一部分。其中包括使用API的單頁應用程式(SPA)。而API的另一個來源是應用程式集成,越來越多涉及企業服務匯流排(ESB)和整合平台即服務(iPaaS)等集成產品使用的API,提供對應用程式和資料的訪問。另外正在開發中尚未發布的API也仍然需要安全性。有些企業組織可能還有一個開放的API程式,如果API提供者遭到安全漏洞,那麼這也會影響作為API使用者的安全性。

 

   不幸的是,目前沒有任何工具可以自動發現您的所有API漏洞,除了某些容器環境和雲端平台中建構的API等狹義情況外。但是如果有一些企業組織已經有API平台團隊或是其他類似的API治理小組管理API組合。這樣您的團隊就更必須與他們接觸,因為他們其中的一個重要職責是使用API管理平台和組織的API組合。而常見的API漏洞途徑有:

(1)   資料庫和儲存中不安全的API密鑰,例如SSH密鑰或SSL/TLS私鑰。

 

(2)   應用程式中的硬編碼API密鑰:API密鑰或其他憑證可能在Web移動應用程式中硬編碼並受到反編譯攻擊、物聯網API漏洞或移動應用程式逆向工程。

 

(3)API邏輯缺陷:API可能存在可被利用的錯誤或其他邏輯缺陷

 

利用身份基礎設施,結合使用API管理和Web應用程式防火牆來保護API

    你的企業組織可能已經擁有一些可以幫助解決API安全問題的基礎設施,這包含:API管理、Web應用程式防火牆、訪問管理、應用內保護、專業的API安全工具等。如果現有的基礎架構沒有強大的API安全功能,可以考慮透過API安全專家提供商來增強你的安全功能。許多人使用人工智慧和機器學習來識別威脅,例如42Crunch包含的OpenAPI定義的漏洞評估以及API防火牆、使用CloudVector將插件模型用於現有API閘道器(Gateway)和負載平衡器、利用IMvision應用自然語言處理(NLP)方法來分析API流量等。

 

採用持續API安全方法

    在整個API生命週期中應用API安全性,包括在設計和時現實的應用程式安全測試(AST),但必須主義的是對API安全測試的支援因應用程式安全測試(AST)供應商而有所差異。API安全測試應納入API的持續質量測試,因此要確保安全利益相關者參與API質量測試過程。

 

    良好的API安全性還需要在整個應用程式生命週期中進行變更控制。例如只要在開發過程中進行API更改,就會執行應用程式安全測試。而未紀錄的API更改也可能對整個系統的可用性和安全性產生嚴重的影響。例如造成停止某些保護的預期工作。

 

    在運行時,將策略應用於API,避免每個API具有唯一安全策略的情況。相反的,利用一組可重用的策略,這些策略根據API的安全分類應用於API。從策略本身中提取任何特定的API特徵,例如URL路徑。在DevOps設置中允許採用連續方法將策略應用於開發或使用的新API

 

不光只是外圍,使用分布式執行模型來保護整個架構中的API

    API閘道器(Gateway)傳統上用於保護API,最近Web應用程式防火牆(WAF)供應商增加了一些對API威脅防護的支援。即便如此,純粹基於邊界的API閘道器(Gateway)Web應用程式防火牆(WAF)防禦策略不足以保護API,其中是由以下幾個因素造成的:

●內部API的廣泛使用增加了保護內部使用的要求以及保護來自企業組織外部的使用的要求

●透過移動應用程式提供對API訪問的移動設備,這些應用程式可以被篡改或逆向工程來攻擊API

API的雲端交付,尤其是當API是使用AWS LambdaMicrosoft Azure Functions等服務構建時,代表著API安全性還要保護這些雲端服務

 


Loading...