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