业务安全通用解决方案——WAF数据风控
業(yè)務(wù)安全通用解決方案——WAF數(shù)據(jù)風(fēng)控
?
作者:南潯@阿里云安全
?
“你們安全不要阻礙業(yè)務(wù)發(fā)展”、“這個安全策略降低用戶體驗(yàn),影響轉(zhuǎn)化率”——這是甲方企業(yè)安全部門經(jīng)常聽到合作團(tuán)隊(duì)抱怨。但安全從業(yè)者加入公司的初衷絕對不是“阻礙業(yè)務(wù)發(fā)展”,那么安全解決方案能否成為“業(yè)務(wù)促進(jìn)者”,而非“業(yè)務(wù)阻礙者”呢?答案是肯定。
安全和業(yè)務(wù)接耦,對客戶透明的安全產(chǎn)品,如防火墻、IDS、WAF等就很少遭受到類似的吐槽。
但回歸到互聯(lián)網(wǎng)業(yè)務(wù)安全場景,現(xiàn)在業(yè)務(wù)安全防控常見場景往往如下:
場景一:
安全:“登陸流量報(bào)警了,有人在刷庫"?
業(yè)務(wù):“我看下,這是個登錄入口是給哪個業(yè)務(wù)開放的,已經(jīng)很久沒人維護(hù)過了”
BOSS:“有什么方法可以快速止血嗎?”??
安全、業(yè)務(wù):“這個小入口之前都沒有接入過風(fēng)控系統(tǒng),只能賬號回?fù)剖潞筇幹昧恕?
BOSS:……
場景二:?
安全:“這個安全策略需要你們把用戶登錄的IP發(fā)給我。”業(yè)務(wù)開發(fā)改造N天上線。?
安全:“這里有一部分IP不對啊,是不是取的網(wǎng)關(guān)的內(nèi)網(wǎng)IP。”?
業(yè)務(wù)開發(fā):……?
場景三:?
業(yè)務(wù)開發(fā):“安全讓我們紀(jì)錄user-agent、瀏覽記錄,現(xiàn)在業(yè)務(wù)的響應(yīng)時(shí)間很多都消耗在打日志上了。做這些有業(yè)務(wù)價(jià)值嗎?”?
安全:……
這些場景核心問題都在于業(yè)務(wù)安全解決方案通常嵌入業(yè)務(wù)邏輯中。那互聯(lián)網(wǎng)業(yè)務(wù)安全有沒有如同防火墻一樣通用的解決方案呢?要解答這個問題我們先探究業(yè)務(wù)安全的“通用安全風(fēng)險(xiǎn)”。
0x01 業(yè)務(wù)安全通用安全風(fēng)險(xiǎn)
要找到業(yè)務(wù)安全的通用風(fēng)險(xiǎn),首先得定義什么狀態(tài)才算業(yè)務(wù)“安全”。當(dāng)安全工程師被客戶問到“這個產(chǎn)品是否安全?”,他往往會考慮各種安全細(xì)節(jié)問題,業(yè)務(wù)類的是否會被撞庫、是否存在信息泄漏,系統(tǒng)類的是否有注入、水平權(quán)限控制等問題。但這些安全細(xì)節(jié)問題,往往并非問題“是否安全”的答案。
客戶所需要的“安全”是一個平衡。沒有絕對安全的系統(tǒng),再健壯的系統(tǒng)也有可能因?yàn)榘踩珕栴}而遭受資損,同時(shí)為系統(tǒng)提高安全性也并非零成本。?所以客戶需要的“安全”是安全成本和安全資損的平衡。為一個DMZ區(qū)的博客服務(wù)器專門配備一個安全工程師不是客戶需要的“安全”。節(jié)約安全成本卻導(dǎo)致大規(guī)模的撞庫事件也不是客戶希望的“安全”。
回歸到業(yè)務(wù)安全場景,會發(fā)現(xiàn)一個共同特征。只有達(dá)到一定規(guī)模,批量利用,業(yè)務(wù)安全漏洞才會造成業(yè)務(wù)影響。一次Web攻擊可能就寫入webshell導(dǎo)致機(jī)器淪陷,但有限次的撞庫、垃圾注冊、垃圾消息、刷單造成的威脅是企業(yè)可以承受的。而攻擊者要達(dá)到大規(guī)模,批量性的目的,都要通過機(jī)器來自動化實(shí)現(xiàn)。可以得出結(jié)論——大規(guī)模、批量性的機(jī)器風(fēng)險(xiǎn)是業(yè)務(wù)安全領(lǐng)域面臨的通用風(fēng)險(xiǎn)。
0x02 通用解決方案需求分析
上節(jié)已經(jīng)得出大規(guī)模、批量性的機(jī)器風(fēng)險(xiǎn)是業(yè)務(wù)安全領(lǐng)域面臨的最大痛點(diǎn),那么要實(shí)現(xiàn)通用的“解決機(jī)器風(fēng)險(xiǎn)方案”有哪些需求。針對機(jī)器風(fēng)險(xiǎn)業(yè)界防御手段已經(jīng)很成熟——針對人類知識(驗(yàn)證碼)、針對人類固有特征(行為識別)、消耗機(jī)器成本(POW)等。但業(yè)界仍無整合這些防御手段提供通用普適的業(yè)務(wù)安全解決方案,問題主要有兩點(diǎn)——無法做到業(yè)務(wù)透明和快速部署。
業(yè)務(wù)透明:
現(xiàn)有的人機(jī)識別方案,客戶需要前端、后端的改造進(jìn)行接入,甚至于業(yè)務(wù)需要配合安全方案進(jìn)行業(yè)務(wù)邏輯的調(diào)整。安全侵入業(yè)務(wù)主邏輯,有時(shí)候安全甚至成為業(yè)務(wù)的負(fù)擔(dān)。
快速部署:
機(jī)器風(fēng)險(xiǎn)防御手段過于復(fù)雜,無法快速部署,進(jìn)而導(dǎo)致業(yè)務(wù)系統(tǒng)無法通過配置簡單的實(shí)現(xiàn)全站部署防控。而業(yè)務(wù)系統(tǒng)往往有無數(shù)的小流量入口,這些未進(jìn)行部署的入口往往成為漏洞。
0x03 通用解決方案具體實(shí)現(xiàn)
如何實(shí)現(xiàn)“業(yè)務(wù)透明”、“快速部署”的通用機(jī)器風(fēng)險(xiǎn)解決方案呢?核心是能夠以中間人的方式介入瀏覽器和業(yè)務(wù)服務(wù)器之間,實(shí)現(xiàn)如下需求:
現(xiàn)在中間人攻擊工具(MITMf)已經(jīng)相當(dāng)成熟,而逆向應(yīng)用中間人攻擊工具的思路似乎可以達(dá)成這些需求。在業(yè)務(wù)服務(wù)器與瀏覽器之間部署WAF服務(wù),用戶在瀏覽網(wǎng)站時(shí)由WAF注入前端需要數(shù)據(jù)采集的JS,同時(shí)JS在前端hook用戶的請求事件,用戶發(fā)起請求時(shí)將采集的風(fēng)險(xiǎn)識別數(shù)據(jù)注入,請求再次到達(dá)反向代理時(shí),由反向代理提取相應(yīng)風(fēng)險(xiǎn)識別數(shù)據(jù)提交風(fēng)控大腦進(jìn)行綜合決策判斷是阻斷用戶請求還是發(fā)起二次校驗(yàn)挑戰(zhàn)。
WAF數(shù)據(jù)風(fēng)控服務(wù)在業(yè)務(wù)服務(wù)器與瀏覽器之間的交互流程如下圖:
關(guān)鍵的業(yè)務(wù)風(fēng)險(xiǎn)防控采用三層漏斗模型進(jìn)行層層過濾,達(dá)到透明阻斷業(yè)務(wù)風(fēng)險(xiǎn)的目標(biāo)。這三層漏斗模型分別是:阻斷機(jī)器從而杜絕攻擊者批量攻擊的風(fēng)險(xiǎn),異常流量分析識別部分漏網(wǎng)的機(jī)器行為及行為軌跡異常的不良用戶,征信模型基于對于用戶的信譽(yù)評分拒絕不良用戶,最終達(dá)到將服務(wù)推送給目標(biāo)用戶的目的。
阻斷機(jī)器:
流量分析:
通過機(jī)器學(xué)習(xí)對網(wǎng)絡(luò)流量中的異常流量進(jìn)行識別,從而攔截一些行為軌跡異常的不良用戶,常見思路如下:
征信模型:
伴隨互聯(lián)網(wǎng)誕生有一句經(jīng)典的論斷“在互聯(lián)網(wǎng)上,沒人知道你是一條狗”。然而業(yè)務(wù)安全場景,識別用戶身份、評估用戶信譽(yù)是業(yè)務(wù)風(fēng)控的重要依據(jù)。
借鑒現(xiàn)實(shí)社會成熟的征信系統(tǒng),且現(xiàn)在互聯(lián)網(wǎng)已經(jīng)是一個成熟的生態(tài)閉環(huán)。通過設(shè)備指紋標(biāo)示用戶,基于用戶在互聯(lián)網(wǎng)的活動記錄進(jìn)行信譽(yù)評分,并輔以失信用戶名單,從而對bypass前兩層的高風(fēng)險(xiǎn)用戶進(jìn)行攔截。
0x04 WAF數(shù)據(jù)風(fēng)控服務(wù)的價(jià)值
回歸到文章開始的問題,業(yè)務(wù)安全防控如何成為“業(yè)務(wù)促進(jìn)者”,WAF數(shù)據(jù)風(fēng)控服務(wù)能否達(dá)成這個目標(biāo)?答案是肯定的。
WAF數(shù)據(jù)風(fēng)控服務(wù)有兩大優(yōu)勢,而這兩大優(yōu)勢在保障企業(yè)業(yè)務(wù)安全同時(shí)也達(dá)到了促進(jìn)業(yè)務(wù)發(fā)展提速的目標(biāo)。
第一,業(yè)務(wù)透明,業(yè)務(wù)開發(fā)資源可以專注的投入在業(yè)務(wù)代碼上,降低企業(yè)達(dá)成安全需求的成本。
第二,快速部署,WAF數(shù)據(jù)風(fēng)控服務(wù)可以快速進(jìn)行全站部署,快速實(shí)現(xiàn)對網(wǎng)站業(yè)務(wù)風(fēng)險(xiǎn)的保障。如同安全帶的發(fā)明保障駕駛員的安全性同時(shí)進(jìn)而讓汽車能夠更安全的以更高的速度行駛,對全站進(jìn)行業(yè)務(wù)風(fēng)險(xiǎn)防控后也可以讓企業(yè)真正把業(yè)務(wù)推送給目標(biāo)用戶,從而讓企業(yè)的業(yè)務(wù)發(fā)展提速。
?
作者:南潯@阿里云安全,更多安全類文章,請?jiān)L問阿里聚安全博客
總結(jié)
以上是生活随笔為你收集整理的业务安全通用解决方案——WAF数据风控的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (42) Aeroo 模板实战
- 下一篇: Java中sleep,wait,yiel