企業(yè)網(wǎng)絡(luò)安全團(tuán)隊(duì)已將重點(diǎn)轉(zhuǎn)向API安全,這是勢(shì)在必行的。在數(shù)字經(jīng)濟(jì)中,API是業(yè)務(wù)的前門(mén),是物聯(lián)網(wǎng)設(shè)備、Web和移動(dòng)應(yīng)用以及業(yè)務(wù)合作伙伴流程的入口點(diǎn)。不幸的是,API也是犯罪分子的前門(mén),其中許多人依靠Bot來(lái)發(fā)動(dòng)攻擊。因此,對(duì)于安全團(tuán)隊(duì)來(lái)說(shuō),保護(hù)API并緩解Bot攻擊至關(guān)重要。
審視OWASP十大API安全漏洞,可以清楚地看到Bot在API攻擊中的核心地位。十大API漏洞中有三個(gè)與Bot有直接明顯的關(guān)聯(lián)。
-身份驗(yàn)證失?。簷C(jī)器人通過(guò)暴力破解、字典攻擊和撞庫(kù)攻擊破壞身份驗(yàn)證,導(dǎo)致賬戶被接管、欺詐、經(jīng)濟(jì)損失和客戶不滿。
-無(wú)限制的資源消耗:Bot會(huì)利用無(wú)限制的資源消耗,耗盡API的內(nèi)存和處理能力。當(dāng)Bot攻擊為交互式應(yīng)用程序(即人類使用的網(wǎng)頁(yè)和移動(dòng)應(yīng)用程序)設(shè)計(jì)的API時(shí),對(duì)性能的影響可能是災(zāi)難性的。
-無(wú)限制訪問(wèn)敏感業(yè)務(wù)流程:過(guò)度訪問(wèn)某些業(yè)務(wù)流程可能會(huì)損害業(yè)務(wù)。未經(jīng)授權(quán)的轉(zhuǎn)售商可以買(mǎi)斷商品庫(kù)存,然后以更高的價(jià)格轉(zhuǎn)售。垃圾郵件發(fā)送者可以利用評(píng)論/發(fā)布流程。攻擊者可以利用預(yù)訂系統(tǒng)預(yù)訂所有可用的時(shí)間段。在這些情況下,都是Bot造成了損害。還記得泰勒-斯威夫特(Taylor Swift)演唱會(huì)門(mén)票售罄的速度有多快嗎?這導(dǎo)致了Ticketmaster應(yīng)用崩潰,無(wú)數(shù)真正的歌迷沒(méi)有搶到票。這正是Bot攻擊引發(fā)的局面。
OWASP API十大漏洞列表中的其他七項(xiàng)—如安全配置錯(cuò)誤、庫(kù)存管理不善、授權(quán)失效等漏洞—與Bot的關(guān)系并沒(méi)有那么明顯,但攻擊者卻依靠Bot來(lái)有效發(fā)現(xiàn)并迅速利用這些漏洞。Corey J.Ball在其著作《黑客API》中介紹了幾種用于API發(fā)現(xiàn)(OWASP ZAP、Gobuster、Kiterunner)和模糊處理(Postman、Wfuzz和Burp Suite)的自動(dòng)化工具的使用方法。利用這些工具,攻擊者會(huì)向API發(fā)送數(shù)千次請(qǐng)求以找出漏洞。為了深入了解這種窺探行為并降低其成功幾率,就需要一個(gè)有效的Bot攻擊緩解系統(tǒng)。
Bot對(duì)不同API的影響方式并不相同。那些用于機(jī)器到機(jī)器通信并由自動(dòng)化流程訪問(wèn)的API(通常是內(nèi)部流程或合作伙伴的流程)通常通過(guò)雙向TLS進(jìn)行保護(hù),在這種情況下,身份驗(yàn)證失效的風(fēng)險(xiǎn)較低,并且可以根據(jù)已驗(yàn)證的客戶端實(shí)施速率限制。相反,最容易受到Bot攻擊的是那些只用于從交互式應(yīng)用程序(即人類使用的網(wǎng)頁(yè)和移動(dòng)應(yīng)用程序)獲得流量的API。
對(duì)于期望由人類發(fā)起流量的API來(lái)說(shuō),抵御Bot攻擊變得越來(lái)越困難。開(kāi)源庫(kù)使通過(guò)頭部指紋識(shí)別來(lái)避免監(jiān)測(cè)變得輕而易舉,而B(niǎo)ot運(yùn)營(yíng)商也可以利用廣泛可用的服務(wù)來(lái)破解驗(yàn)證碼,并通過(guò)包含數(shù)千萬(wàn)個(gè)住宅IP地址的網(wǎng)絡(luò)驗(yàn)證碼和代理請(qǐng)求。由于頭分析、IP拒絕列表和驗(yàn)證碼等舊技術(shù)不再有效,應(yīng)用程序安全團(tuán)隊(duì)必須依靠豐富的客戶端信號(hào)收集、JavaScript和移動(dòng)SDK以及復(fù)雜的機(jī)器學(xué)習(xí)來(lái)區(qū)分攻擊工具和Bot行為,從而減少Bot攻擊的出現(xiàn)。
貴企業(yè)的哪些API容易受到Bot的攻擊?收到影響的可能性和成本是多少?如何設(shè)計(jì)安全控制以確保必要的Bot防護(hù)措施?這些問(wèn)題都是在威脅建模中需要解決的關(guān)鍵問(wèn)題。