API已成為企業內部數據泄露的罪魁禍首
一、引言
大部分企業的數據泄露都來自于內鬼,而通過API竊取企業內部數據的比例越來越高。最近和一些甲方企業信息安全部門溝通,發現企業一些內部系統API相互調用并沒有采取認證、鑒權等安全措施,企業內部人員非常方便通過API接口竊取數據進行牟利。在他們安全觀點里面,認為只需要管好數據庫就行了,部署數據庫審計、保壘機等相關安全產品就行了,但是隨著業務系統復雜化和技術更迭,實際上相應的暴露面也會增加,因此安全防護手段也必須與時俱進。如果要做好企業數據安全,API安全問題也不能忽視。
二、什么是API?
API是“應用程序編程接口”(Application Programming Interface)的縮寫,它是一套規則、協議和工具,用于構建軟件應用。 API定義了不同軟件組件之間如何交互,允許開發者更容易地使用某些功能,而無需了解其內部實現細節。
API的作用和重要性在于它提供了一種標準化的方式,使得不同的軟件或系統之間可以進行數據和指令的傳輸,從而實現集成和共享。通過API,應用程序可以相互通信,執行特定的任務,而不需要深入了解對方的內部工作機制。這使得軟件開發更加高效,降低了不同系統之間的耦合度,提高了系統的可擴展性和可維護性。
了解API安全,必須要了解API和URL,這兩者容易弄混淆。URL是統一資源定位符,是對資源的位置和訪問方法的一種簡單表示,用于訪問特定的網頁、圖像或文件。API則包括請求地址(URL)、請求方法、請求參數、響應結果、時間戳、密鑰、Hash算法和API網關等多個部分。
三、API資產是什么?
API也是網絡空間資產的一部分,并不是只有傳統的終端、網絡設備、安全設備、容器等,隨著業務場景、網絡架構、新興技術的發展,網絡空間資產類別會越來越豐富,越來越細粒度,只有把網絡空間的資產摸清摸細,才能更好地保護網絡空間安全。API資產除了每條基礎信息外,還應當包括部署IP、API訪問源、通信次數、功能標簽、責任人等,刻畫得越細致就越能弄清API資產的風險,必須做好API資產的畫像。
API有很多類型,按照不同協議和風格劃分,包括RESTful API、GraphQL API、SOAP API、gRPC API等,其中RESTful API應用得最為廣泛。
四、如何識別API資產?
高效和精準識別API資產非常重要,識別API資產的方法很多,但是都不能完全解決相應問題,必須依靠多種識別方法共同作用才能達到非常好的效果。下面列舉一些識別方法。
綜合來說,如果要做好API資產識別,必須結合多種方法和技術,結合不同的應用場景,在不影響業務情況下,做好API資產的識別,在現實情況中,還是會存在將URL識別為API的情況,也可以結合機器學習等相關技術作為輔助來做API資產識別。
五、如何保護API安全?
業務系統非常多的企業,API安全至關重要,很多情況下存在監管的真空地帶,研發人員為了省事方便,并沒有嚴格遵循安全原則。以下列舉一些API安全保護的方法。
1.認證和授權
使用Oauth2.0、JWT等標準協議來驗證用戶身份,限制資源訪問,做好API密鑰管理和訪問控制策略。
2.加密和脫敏
使用 HTTPS來保護數據在傳輸過程中的安全,防止中間人攻擊,使用AES、SM4等加密方法對數據庫中敏感信息進行加密,或使用動態脫敏方法對數據進行脫敏。
3.API監測和分析
將API進行集中管理,詳細記錄API接口調用日志,基于UEBA技術,當發現異常調用時進行告警和處置。
4.加強代碼審計和安全驗證
企業信息安全部門應對業務系統的代碼進行專門審計,加強API的統一管理,持續針對API進行安全驗證。
保護API安全的方法很多,最重要的一點是從管理做起、從安全開發做起,不能忽視API導致數據泄露的現象和問題。
六、總結
在企業內部通過API竊取公司內部數據的情況還是很多的,大部分企業默認內部是安全的,沒有認識到即使都是內部系統也應當注重API安全,通過API竊取數據通常難以發現和溯源,如果本身沒有日志記錄,追溯更是難上加難,正好成為企業內鬼可利用的弱點。