業務安全通用解決方案——WAF數據風控

「大家安全不要阻礙業務發展」、「這個安全策略下降用戶體驗,影響轉化率」——這是甲方企業安所有門常常聽到合做團隊抱怨。但安全從業者加入公司的初衷絕對不是「阻礙業務發展」,那麼安全解決方案可否成爲「業務促進者」,而非「業務阻礙者」呢?答案是確定。前端

安全和業務接耦,對客戶透明的安全產品,如防火牆、IDS、WAF等就不多遭受到相似的吐槽。web

但迴歸到互聯網業務安全場景,如今業務安全防控常見場景每每以下:shell

場景一:後端

安全:「登錄流量報警了,有人在刷庫" 瀏覽器

業務:「我看下,這是個登陸入口是給哪一個業務開放的,已經好久沒人維護過了」安全

BOSS:「有什麼方法能夠快速止血嗎?」​ 服務器

安全、業務:「這個小入口以前都沒有接入過風控系統,只能帳號回撈過後處置了」 網絡

BOSS:……機器學習

場景二: 工具

安全:「這個安全策略須要大家把用戶登陸的IP發給我。」業務開發改造N天上線。 

安全:「這裏有一部分IP不對啊,是否是取的網關的內網IP。」 

業務開發:…… 

場景三: 

業務開發:「安全讓咱們紀錄user-agent、瀏覽記錄,如今業務的響應時間不少都消耗在打日誌上了。作這些有業務價值嗎?」 

安全:……

這些場景核心問題都在於業務安全解決方案一般嵌入業務邏輯中。那互聯網業務安全有沒有如同防火牆同樣通用的解決方案呢?要解答這個問題咱們先探究業務安全的「通用安全風險」。

0x01 業務安全通用安全風險

要找到業務安全的通用風險,首先得定義什麼狀態纔算業務「安全」。當安全工程師被客戶問到「這個產品是否安全?」,他每每會考慮各類安全細節問題,業務類的是否會被撞庫、是否存在信息泄漏,系統類的是否有注入、水平權限控制等問題。但這些安全細節問題,每每並不是問題「是否安全」的答案。

客戶所須要的「安全」是一個平衡。沒有絕對安全的系統,再健壯的系統也有可能由於安全問題而遭受資損,同時爲系統提升安全性也並不是零成本。 因此客戶須要的「安全」是安全成本和安全資損的平衡。爲一個DMZ區的博客服務器專門配備一個安全工程師不是客戶須要的「安全」。節約安全成本卻致使大規模的撞庫事件也不是客戶但願的「安全」。

迴歸到業務安全場景,會發現一個共同特徵。只有達到必定規模,批量利用,業務安全漏洞纔會形成業務影響。一次Web攻擊可能就寫入webshell致使機器淪陷,但有限次的撞庫、垃圾註冊、垃圾消息、刷單形成的威脅是企業能夠承受的。而攻擊者要達到大規模,批量性的目的,都要經過機器來自動化實現。能夠得出結論——大規模、批量性的機器風險是業務安全領域面臨的通用風險。

0x02 通用解決方案需求分析

上節已經得出大規模、批量性的機器風險是業務安全領域面臨的最大痛點,那麼要實現通用的「解決機器風險方案」有哪些需求。針對機器風險業界防護手段已經很成熟——針對人類知識(驗證碼)、針對人類固有特徵(行爲識別)、消耗機器成本(POW)等。但業界仍無整合這些防護手段提供通用普適的業務安全解決方案,問題主要有兩點——沒法作到業務透明和快速部署。

業務透明:

現有的人機識別方案,客戶須要前端、後端的改造進行接入,甚至於業務須要配合安全方案進行業務邏輯的調整。安全侵入業務主邏輯,有時候安全甚至成爲業務的負擔。

快速部署:

機器風險防護手段過於複雜,沒法快速部署,進而致使業務系統沒法經過配置簡單的實現全站部署防控。而業務系統每每有無數的小流量入口,這些未進行部署的入口每每成爲漏洞。

0x03 通用解決方案具體實現

如何實現「業務透明」、「快速部署」的通用機器風險解決方案呢?核心是可以以中間人的方式介入瀏覽器和業務服務器之間,實現以下需求:

  1. 在頁面注入相應的Javascript腳本;
  2. Javascript腳本採集數據並hook用戶全部觸發提交操做的事件,將數據在用戶發起請求時注入請求中;
  3. 可以代理轉發瀏覽器與業務服務器的請求,並解析請求內容;

如今中間人攻擊工具(MITMf)已經至關成熟,而逆向應用中間人攻擊工具的思路彷佛能夠達成這些需求。在業務服務器與瀏覽器之間部署WAF服務,用戶在瀏覽網站時由WAF注入前端須要數據採集的JS,同時JS在前端hook用戶的請求事件,用戶發起請求時將採集的風險識別數據注入,請求再次到達反向代理時,由反向代理提取相應風險識別數據提交風控大腦進行綜合決策判斷是阻斷用戶請求仍是發起二次校驗挑戰。

WAF數據風控服務在業務服務器與瀏覽器之間的交互流程以下圖:

關鍵的業務風險防控採用三層漏斗模型進行層層過濾,達到透明阻斷業務風險的目標。這三層漏斗模型分別是:阻斷機器從而杜絕攻擊者批量攻擊的風險,異常流量分析識別部分漏網的機器行爲及行爲軌跡異常的不良用戶,徵信模型基於對於用戶的信譽評分拒毫不良用戶,最終達到將服務推送給目標用戶的目的。

阻斷機器:

  1. 針對人類固有特徵進行機器識別,基於JS實現的可信前端採集用戶行爲數據,經過線上實時模型來發現機器行爲進行阻斷;
  2. 消耗機器攻擊成本從而讓攻擊得不償失,基於POW(proof of work)原理,經過服務端下發問題消耗前端的計算量。對於有足夠空餘CPU資源的普通用戶少許的計算並不消耗成本,而攻擊者須要達到批量攻擊的效果則會佔用極大的計算資源,讓攻擊得不償失。

流量分析:

經過機器學習對網絡流量中的異常流量進行識別,從而攔截一些行爲軌跡異常的不良用戶,常見思路以下:

  1. 瀏覽軌跡,好比在互聯網金融場景,正經常使用戶會在註冊後對比多款理財產品最後進行下單,而「羊毛黨」每每在羣裏獲得活動信息就會直奔活動頁面薅羊毛;
  2. URL聚類,在網絡購物場景,正經常使用戶購買某款商品以前通常會在同類目商品中進行選擇;
  3. 瀏覽頻率,在UGC網站上,用戶瀏覽和評論的通常是有必定時間間隔,頻繁秒回的用戶極有多是在發垃圾消息。

徵信模型:

伴隨互聯網誕生有一句經典的論斷「在互聯網上,沒人知道你是一條狗」。然而業務安全場景,識別用戶身份、評估用戶信譽是業務風控的重要依據。
借鑑現實社會成熟的徵信系統,且如今互聯網已是一個成熟的生態閉環。經過設備指紋標示用戶,基於用戶在互聯網的活動記錄進行信譽評分,並輔以失信用戶名單,從而對bypass前兩層的高風險用戶進行攔截。

0x04 WAF數據風控服務的價值

迴歸到文章開始的問題,業務安全防控如何成爲「業務促進者」,WAF數據風控服務可否達成這個目標?答案是確定的。

WAF數據風控服務有兩大優點,而這兩大優點在保障企業業務安全同時也達到了促進業務發展提速的目標。

第一,業務透明,業務開發資源能夠專一的投入在業務代碼上,下降企業達成安全需求的成本。

第二,快速部署,WAF數據風控服務能夠快速進行全站部署,快速實現對網站業務風險的保障。如同安全帶的發明保障駕駛員的安全性同時進而讓汽車可以更安全的以更高的速度行駛,對全站進行業務風險防控後也可讓企業真正把業務推送給目標用戶,從而讓企業的業務發展提速。

相關文章
相關標籤/搜索