Cybersec Wednesday|API的不安全使用
應用程序編程接口(API)已經成為軟件開發和數據交換不可或缺的一部分,而同時API的不安全使用亦成為了一個嚴重的網絡安全問題。API的不安全使用可分為多個類別,例如反序列化問題、某些類型的非同步攻擊等,共同之處在於後端服務在接受API上的使用者控制輸入時過於寬鬆,有時甚至在沒有應用任何適當的驗證下盲目地使用它們。
API的不安全使用通常涉及整合問題,包括將第三方服務或功能嵌入到API實作或其支援的後端服務中。雖然這涉及到資料消耗問題,但更深層次的問題是整合的濫用,這在現代系統設計中非常普遍。這些整合通常是由第三方編寫的,包含大量難以理解的程式碼庫,只需要一些點擊或幾行程式碼即可集成到應用程序中。當網絡服務包含大量未經驗證的第三方程式碼時,攻擊者可以嘗試利用此漏洞訪問敏感信息,因此確保整合的安全性和可信度是確保API安全使用的關鍵。
當出現API的不安全使用,可能會導致敏感資料、使用者憑證或專有信息的外洩,造成嚴重的安全漏洞。攻擊者可以利用API使用中的漏洞來獲得未經授權的存取、執行任意程式碼或在系統內執行未經授權的操作;被篡改的API請求可能會導致未經授權的資料修改或敏感資訊的外洩,還可能導致資料處理效率低下、API資源過度利用和性能下降。
由於開發人員通常更傾向於信任來自第三方API的數據,尤其是來自知名公司的API,因此可能會採用較弱的安全標準,特別是在輸入驗證和清理方面。這種信任或可能會導致API容易受到攻擊的情況。
此外,透過未加密的通道與其他API互動也是一個潛在的風險,因為未加密的通訊可能會被竊取或竊聽,導致數據泄露的風險。在處理從其他API收集的資料或將其傳遞給下游元件之前,沒有正確驗證和清理從其他API收集的資料也是一個危險的實踐。如果不驗證和清理資料,可能會引入各種攻擊,包括SQL注入等。盲目跟隨重定向是一個潛在的風險,因為它可能會導致用戶被引導到惡意網站,從而受到釣魚攻擊或其他不當行為的影響。再者,不限制可用於處理第三方服務回應的資源數量可能會使系統容易受到過載攻擊,或可能會影響系統的性能和可用性。最後,不為與第三方服務的互動實作逾時可能會導致長時間的等待,而影響用戶體驗。因此實施適當的互動逾時是保持系統反應靈敏性的重要部分。
為預防API的不安全使用,在評估服務提供者時,應該仔細評估他們的API安全狀況,以確保他們有適當的安全措施,而互動亦要透過安全通訊通道(如TLS)進行,以防止數據在傳輸過程中被截取或竊聽。在使用來自其他API的資料之前,先進行驗證並正確清理資料,以防止各種攻擊,包括SQL注入等。最後,在維護整合的API時,應確保將位置限制為已知且受信任的位置,不要盲目遵循重定向,以減少潛在的風險。以上的建議均有助於確保API的安全使用,並保護數據和系統免受潛在的風險和攻擊。
網絡安全在很多方面還需要注意,如有任何疑問歡迎加入我們的 Cybersec Infohub 計劃,讓行業裏的網絡安全專家為你解決,如果你懷疑自己或公司的電腦被駭或有可疑的行為,亦請盡快聯絡網絡安全專家求助。