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