1.序言
自2010年起,整個互聯網進入到了全新的時代,尤其是隨著移動互聯網快速發展,在給用戶帶來了隨時隨地享受金融服務便利的同時,也給一些不法分子有了可乘之機,隨著“黑灰產”產業鏈的發展和成熟,網絡黑灰產已不再局限于半公開化的純攻擊模式,而是悄然轉化為斂財工具和商業競爭的不良手段,利用網絡機器人(網絡程序或者自動化工具)進行網絡數據爬取,成為了比較普遍的手段。更有甚者,利用網絡機器人進行撞庫、刷單、惡意注冊等行為也逐步盛行。
圖1
2.互聯網應用的攻與防
2.1 互聯網應用安全防御
隨著業務規模迅猛發展,同時也伴隨著金融與科技的深度融合,使得銀行各類互聯網應用也持續增長。在提升效率、為客戶帶來便利的同時,也不斷考驗銀行的安全防御體系。從傳統的安全領域到業務層安全防范也在不斷更迭演進。
- 傳統安全防御:從抗DDoS、網絡防火墻、IDS (入侵檢測系統)、全流量檢測到WAF(應用防火墻),傳統安全體系提供了基于網絡協議棧的全方位防護。
- 業務層安全防御:一些業務密集型的場景,例如對支付欺詐的甄別、貸款平臺對申請欺詐的甄別,業務方需要建立完善的業務層防御體系。
隨著安全防御手段的不斷更迭,新的問題也不斷涌現。而面對新問題的出現,傳統的防御體系顯得應對不足。
- 網絡機器人的行為并非傳統安全體系的防御對象。網絡機器人的訪問行為,在傳統安全體系的視角下和正常人的訪問無異,無法進行有效應對。
- 旨在解決業務安全的業務層安全防御也無法透視網絡機器人的行為特征。業務層安全防御面向業務層用戶行為,不能從網絡層捕捉到網絡機器人的完整訪問脈絡,無法有效應對網絡機器人的暴力訪問。
2.2 網絡機器人(Bots)現狀與影響
網絡機器人,是一種按照一定的規則,自動地抓取網絡信息的程序或者腳本。隨著互聯網的快速發展,網絡機器人也越來越普遍。50%的網絡流量來自網絡機器人,遍布各類網站,如票務類、電商類、招聘類、金融類、政府類、社交類等。
網絡機器人帶來種種負面影響:網絡機器人,是一種按照一定的規則,自動地抓取網絡信息的程序或者腳本。隨著互聯網的快速發展,網絡機器人也越來越普遍。50%的網絡流量來自網絡機器人,遍布各類網站,如票務類、電商類、招聘類、金融類、政府類、社交類等。網絡機器人帶來種種負面影響:
圖2
- 虛耗網絡資源,無效益轉化;
- 暴力流量,降低系統穩定性;
- 影響正常客戶訪問,增加運營成本;
- 未經授權,二次利用網站數據,影響數據發布權威性;
- 爬取產品信息、價格信息,不正當競爭;
- 混淆用戶生態,影響營銷分析。
2.3 網絡機網絡機器人(Bots)應對與防范
應對網絡機器人,必須了解網絡機器人。根據網絡機器人的原理,可以分為普通網絡機器人和智能網絡機器人。普通網絡機器人通過模擬網絡請求直接獲取網頁資源,智能網絡機器人通過瀏覽器方式獲取網站資源。智能網絡機器人更加類似正常人的訪問行為,識別防范難度更高。
圖3
受到網絡機器人侵害的網站也試圖采取應對措施,卻往往達不到預期效果。
- 依托于傳統安全體系,基于防火墻攔截,無法奏效。
這種應對方式需要持續投入人力分析日志,應對速度不足;
規則簡單,容易被繞開;
簡單粗暴的IP攔截誤傷嚴重。
- 業務層關鍵節點嵌入驗證碼,無法奏效。
業務層缺乏網絡機器人訪問的全量信息,不足以解決問題;
業務層解決網絡機器人問題成本高,與業務層耦合性強,難維護;
對用戶無差異的驗證碼,用戶體驗差。
圖4
應對網絡機器人的暴力訪問,一套行之有效的解決方案,必須能夠同時兼顧多方面。
- 基于網絡全流量,大數據量,長周期行為分析做決策;
- 對業務系統低影響,與業務層松耦合;
- 對網絡機器人的行為能即時識別、即時控制;動態防范、持續有效。
3.構建基于設備指紋的網絡安全防御系統
從成本、效率和收益的平衡點出發,結合設備指紋、人機識別和機器學習等技術構建機器防御系統,計算各類行為指標;實時決策引擎將行為指標與反Bots模型匹配,得出決策結果,與訪問者信息和設備指紋一并存入緩存;業務鏈路中的管控組件(如WAF或其他風控組件)讀取緩存信息,以決定放行或攔截。
圖5
3.1 機器防御系統工作流
- 訪問者發起對銀行官網站的訪問。
- 機器防御流量鏡像組件將網絡請求復制一份送給流立方(流式大數據平臺)計算各類行為指標。
- 實時決策引擎將行為指標與反爬蟲模型匹配,得出決策結果并存入緩存。
- 可以通過串聯在主訪問鏈路上的管控組件(如WAF或其他風控組件),根據訪問者的信息和設備指紋從緩存中讀取決策結果,來決定是放行還是采用何種攔截措施。
3.2設備指紋技術
設備指紋是網絡自動化攻擊防御方案中非常重要的技術。無論是普通網絡機器人或智能網絡機器人,都必須依托于相關設備運行。
設備指紋技術,可采集設備(如PC或移動設備)的諸多屬性,按照一定的算法生成該設備唯一的“指紋”。通過識別唯一的設備,結合一定的行為分析規則,來識別網絡機器人。
圖6
設備指紋采集方式主要有以下三種:
- 主動采集技術可保證高精準性,但防篡改能力較弱,穩定性較差;
- 被動采集技術通過較強的防篡改能力,可保證高穩定性,但準確性較差。
- 主、被動采集技術相結合,通過采集瀏覽器、設備、網絡協議、程序等四重維度的采集要素,通過大數據運維不斷優化各采集要素的置信度區間,并基于條件概率、聯合概率、置信度傳播等數學理論,將計算得出的最終置信度與信任臨界值匹配,確保極高精準性的同時,顯著提升穩定性。
3.2.1 精準性
使用JS腳本、移動端SDK、小程序組件,通過主動采集要素與OSI網絡協議全棧被動采集要素相結合,能夠準確識別設備;通過多重要素采集,結合條件概率、聯合概率以及置信度算法,能夠唯一辨識設備。在滿足大多數場景下,能夠為每臺移動設備生成唯一的設備指紋;能夠為每一種PC瀏覽器內核生成同一設備指紋;能夠保證同一指紋能穩定對應同一臺設備。
3.2.2 穩定性
設備指紋穩定性指同一設備唯一識別,不會隨著空間、時間變化而改變, 指紋識別采用多維度,多數據的比較,通過多要素置信度綜合決策算法,有效的減少了因為部分維度篡改或獲取異常對設備指紋精度的影響,可靠保證設備指紋在刷機、升級、甚至通過黑產軟件修改后,設備指紋保持不變。
3.2.3 安全性
設備指紋網絡傳輸使用外碼加密,加密算法動態變更,過期時間靈活可配,有效保障設備指紋安全性。
設備指紋服務在前后端全方位提供了安全性的保護。
- SDK端:包括IOS/Android/Web/Wap
SDK代碼防護代碼
動態混淆:動態語義級混淆、符號混淆相結合
靜態庫集成
- 采集要素報文加密,確保設備要素安全傳輸
Get請求參數加密
Post請求體加密
接口調用的驗簽算法動態更新,報文防篡改
- 設備指紋服務端:
內/外碼相結合,外碼用于互聯網傳輸,內碼用于業務系統使用及可信服務傳輸
外碼具有動態的過期時間,有效防止重發、盜用
支持安全傳輸層協議
設備指紋服務具有動態反欺詐功能和內置簡單規則
圖7
作為設備指紋兩個重要的衡量標準,準確性和穩定性是兩個極致的標準。精準性和穩定性是衡量設備指紋生成技術先進性的核心標準,其中準確性更是設備指紋技術產品的使用前提。在真實業務場景中,往往采用在準確性優先為基礎的情況下,以能夠最大穩定識別設備作為最優選擇。
3.3 人機識別技術
人機識別通過點擊行為分析判處,識別出程序或者自動化工具點擊行為,是應對智能網絡機器人的重要技術。
3.4 機器學習
基于時間窗口移動的動態數據快速處理技術,它可支持計數、求和、平均、最大、最小、方差、標準差、K階中心矩、遞增/遞減、最大連續遞增/遞減、唯一性判別、采集、過濾等多種分布式實時計算模型。
圖8
3.5 規則平臺
網絡自動化攻擊防御的全部策略均可以通過規則平臺實現。利用規則平臺,可制定的規則類型包括:設備信息類規則、代理IP類規則、行為異常類規則、黑白名單規則及UA識別規則等。
圖9
4.總結
通過在網站頁面或移動端APP中集成設備指紋腳本,收集物理設備和終端環境的多重信息,快速生成設備唯一識別碼,并對于常見黑產所使用的改機框架、改機軟件、偽裝軟件,以及虛擬機、模擬器、代理偵測等都能做到有針對性的識別,構建客戶身份和所使用設備對應關系,判斷交易可信度,實現互聯網風險防范自動化,從而準確的定位風險、控制風險,降低可能的損失。
為解決不同業務場景下網絡機器人未授權訪問和信息爬取等問題,采用高效流式大數據處理引擎,實時處理海量業務請求,結合不同業務場景特點,定制不同業務異常行為檢測規則,并輔以設備指紋技術、代理偵測技術、人機識別技術,實現多層次多維度的網絡機器人識別與防范。為各業務部門提供支撐與服務,實時無感知地進行機器訪問行為識別與攔截,對于保護我行業務與用戶的敏感信息不泄露、維護銀行商業利益與信譽、提升用戶服務質量和滿意度等方面,具有重大的意義。