隨著對企業網絡的攻擊愈趨復雜,公司企業紛紛購入最新防火墻技術、數據及終端防護、入侵預防技術等強化升級自身邊界安全。但道高一尺魔高一丈,黑客們也邁向了新的弱點,找尋新的漏洞利用途徑。很多安全專家認為,下一波企業黑客攻擊事件將會通過應用程序編程接口(API)利用來進行。
事實上,網絡罪犯們早已開始盤算利用API執行攻擊了。Panera Bread 數據泄露事件就是其中一個案例。這家烘焙連鎖店的網站上開放了一個未經驗證的API終端,任何人都可以通過該API查看其客戶信息,比如用戶名、郵箱地址、電話號碼、信用卡后四位、生日等等。最終,8個月的時間里,該公司3700萬客戶數據被泄。由此,如何在不影響敏捷開發與功能擴展效益的情況下最小化API相關網絡安全風險的問題,引起了業界注意與討論。
應用程序開發中的API使用已成為新的實際標準,通過集成第三方服務的功能,開發人員不用再從無到有自己構建所有功能。這么做可以加快新產品及服務的開發過程。消費研究公司 One Poll 的一項調查表明,公司企業平均管理著363個API,其中69%的公司會向公眾及其合作伙伴開放這些API。開發人員可以通過搜索API庫來增強其代碼,比如 API Hound 庫就使用機器掃描器收納了5萬多個API,ProgrammableWeb則維護著全球最大的人工收錄的API目錄(內含1.7萬個以上API)。
盡管API支撐著用戶早已習慣的互動式數字體驗,是公司數字化轉型的基礎,但它們同時也為惡意黑客提供了訪問公司數據的多種途徑,甚至能被用于引發大范圍業務中斷。利用API的常見攻擊方式包括:
API參數篡改——黑客常用該技術逆向工程API或獲得敏感數據的訪問權。
會話cookie篡改——此類攻擊試圖利用cookie繞過安全機制或向應用服務器發送虛假數據。
中間人攻擊——通過監聽API客戶端和服務器之間未經加密的連接,黑客可獲取到敏感數據。
內容篡改——通過注入惡意內容(比如往 JSON Web 標記中下毒),攻擊者能在后臺部署并執行漏洞利用程序。
DDoS攻擊——攻擊者可利用編寫糟糕的代碼通過發送無效輸入參數來消耗計算機資源,造成基于API的Web應用服務中斷。
公司企業可采取以下預防措施來減少API威脅風險:
1. 安全思維貫徹開發過程始終
一個很不幸的現狀是,軟件開發過程中DevSecOps(敏捷開發運維安全)往往被忽視,甚至面向公網的API安全也被忽視。開發人員需在整個開發過程中考慮API使用的安全影響,多想想API會在哪些方面被用于惡意目的。
API安全的基礎在于實現可靠的身份驗證和授權原則。開發人員常會使用來自外部過程(例如注冊API時)的訪問憑證,或通過單獨的機制(例如OAuth)來訪問API。憑證隨每次訪問請求發送給API,API在處理請求之前先驗證憑證的有效性。
2. 應用行業安全最佳實踐和標準
應用編碼最佳實踐并密切關注常見API漏洞(例如SQL/腳本注入和身份驗證漏洞),應成為開發人員和DevSecOps人員的核心最佳操作。編碼最佳實踐和常見API漏洞信息可在開放Web應用安全計劃(OWASP)中找到。
3. 通過API網關進行監視
將獨立的API集中存儲到應用代碼庫中,就可用API網關來監視、分析和限制流量,最小化DDoS風險,實現預設的安全策略(例如身份驗證規則)。One Poll 數據顯示,80%的公司企業使用公共云服務保護他們API背后的數據,大多數公司綜合使用API網關(63.2%)和Web應用防火墻(63.2%)。
采用這些DevSecOps建議可以最小化與API暴露相關的安全風險,讓應用程序免受網絡安全事件侵害。