黑灰產攻防對抗——中睿天下代理秒撥IP防護研究

中睿天下發表於2022-03-15

01 網路攻擊代理現狀



隨著攻擊者防溯源和繞過防護意識的加強,攻擊者進行網路攻擊時常使用代理IP進行攻擊,防止非法攻擊時被追蹤到身份資訊。目前常見的代理方式有socks代理、HTTP/HTTPS代理、VPN、秒撥等。


對於企業來說,透過SOAR類平臺可實現無人值守自動攔截,傳統的代理方式在節點有限的情況下無法突破防禦。所以秒撥、商業代理、自建IP池等技術越來越受攻擊者青睞,此類技術一般基於大量IP的代理池透過socks、HTTP、HTTPS方式頻繁的切換代理IP,IP資源可謂取之不盡用之不竭。即使被攻擊單位能夠對攻擊IP進行自動封禁,但是面對海量IP的攻擊,該防護方式依舊會顯得十分被動;在秒撥技術的加持下,對攻擊者來說,被攻擊目標單位的攔截阻斷策略相當於“失效”


目前代理技術可達到


1、 代理ip無法訪問目標ip時自動切換ip;(對抗自動封禁);

2、 完成一次HTTP會話後自動切換ip;(對抗閾值類安全策略);

3、 產生定量的TCP會話後自動切換ip;(對抗閾值類安全策略);

4、 自定義時間週期切換ip;(對抗摸索到安全策略閾值的防護);

5、 根據目標ip/域名/url 的不同使用不同ip代理池和切換策略;(用精細化的方式對抗集中管控類安全防護策略,如api閘道器。


02 安全防護現狀



針對網路攻擊的防護一般是透過WAF和防火牆等串聯裝置對攻擊IP進行封禁,WAF透過應用層資料檢測,發現攻擊行為,從而對此次攻擊行為進行單次TCP會話阻斷或對攻擊IP進行封禁;傳統的防火牆透過錄入IP的方式從網路層對IP進行封禁,目前安全建設做的較好的單位可以透過其他安全檢測裝置聯動防火牆對攻擊IP進行自動封禁。


無論是WAF還是防火牆,對於封禁IP的數量是有一定限制的,因為封禁IP數量越多對裝置造成的效能壓力會越大。該防護情況下,如果攻擊者使用秒撥技術進行攻擊,每攻擊一次換一個IP,攔截裝置不停的對IP進行封禁,很快就會到達效能瓶頸,失去防護能力。


0傳統代理攻擊防護



針對代理攻擊,目前市面上常見的防護手法為透過驗證碼、瀏覽器使用者行為、User-Agent頭、訪問頻次、IP黑名單等方式,基本為黑白名單加真人/機器人識別的組合方式,策略的最終落腳點目標為IP,具體防護方法如下:


01 驗證碼識別真人使用者


透過圖片驗證碼對使用者進行真人校驗。該方式可有效拒絕非真人使用者的訪問,但是對於簡單的圖片驗證碼,可透過指令碼實現自動化的識別進行繞過,而複雜驗證碼則會影響使用者體驗。並且驗證碼是基於IP判斷的,對於能頻繁更換IP的秒撥無效。


02 使用者行為分析


在前端和後端對使用者訪問行為進行建模分析,發現異常訪問行為並警示或阻斷。例如透過判斷客戶端是否載入執行JavaScript程式碼判斷是否為人為瀏覽器訪問;特定頁面需要某個入口才能訪問,如果使用者沒有經過入口直接訪問該頁面,則判定訪問行為異常。該方式需要針對業務系統進行定製化的分析建模,且有一定的開發量,對於業務系統較多且複雜的單位來說實現難度較大。


03 基於IP屬性和情報研判


透過原IP屬性和情報,定位訪問使用者的身份。例如原IP近期被標記為殭屍網路IP,原IP為IDC機房固定IP,則判斷為代理IP訪問。該方式對IP的屬性和情報的時效性和可信度有較高的要求,容易出現誤判。


04 訪問者身份標識


傳統的身份識別方式多數是基於賬號或者IP識別的。由於IP的動態性和共用性,導致透過IP識別身份極為不準確;賬號識別雖然相較於IP識別準確度較高,但是對於無需登陸的訪問行為則無法識別訪問者身份。


透過瀏覽器指紋追蹤技術,基於訪問者客戶端資訊對訪問者進行身份鎖定,則可以很好的識別訪問者身份。


04 

新型代理攻擊防護



對於具備團隊作案和程式設計能力的攻擊者組織來說,結合業務防護的特性編寫定製化切換代理的駭客工具,可有效繞過上述的防護措施,所以如何高價效比的提高攻擊者成本,是對抗代理ip攻擊的核心目標。


透過客戶端資訊生成使用者瀏覽器指紋繫結使用者身份的方式,非IP或者賬號繫結,進行使用者身份鎖定,即使使用者更換IP後,依舊可以透過客戶端資訊識別到使用者身份,從而針對有威脅行為的使用者進行訪問控制。


對於無法識別身份的使用者,定性為非真人使用者,異常訪問,則可以進行訪問控制。


01

通用指紋鎖定使用者ID身份進行無感攔截

02

概述


網際網路絕大多數服務都是web服務,使用者訪問web服務都是透過瀏覽器進行訪問。可透過javascript採集使用者瀏覽器資訊(包括無頭瀏覽器)、作業系統資訊、硬體資訊、網路資訊等,包括瀏覽器型別、瀏覽器版本、瀏覽器外掛資訊、作業系統版本、硬體供應商、螢幕解析度、螢幕亮度、cpu型號、硬碟大小、網際網路IP、時區等。


每個使用者的上述資訊不盡相同,結合這些資訊透過一定演算法可生成唯一使用者ID對使用者身份進行鎖定。

03

防護方式


JavaScript是所有網站都會使用的開發語言,該語言可以在使用者的瀏覽器執行,利用JavaScript執行在客戶端的特性,可以使用該語言對使用者的瀏覽器資訊、作業系統資訊和硬體資訊進行採集,然後根據採集的資訊進行運算,得到一個使用者標識,該標識會一直對其對應的使用者進行繫結。即使攻擊者使用秒撥技術不停的更換IP、瀏覽器頭,甚至更換指令碼語言,只要攻擊者無法破解生成使用者ID的演算法(或者破解該演算法的成本過高), 即可以鎖定該攻擊者身份。


採集指紋的JavaScript可以配合應用層waf、負載均衡、api安全閘道器或者Envoyproxy之類的技術進行無感嵌入,該技術同樣適用於嵌入CDN服務商作為增值服務,直接透過業務網站返回到使用者的瀏覽器,也可透過反向代理的方式。


採集指紋的JavaScript到達使用者瀏覽器後會自動執行,將採集的資訊回傳至服務端,此時服務端根據採集到的資訊進行運算生成唯一使用者ID,然後和當前已有的唯一身份ID對比,如果命中,則說明此次訪問的使用者以前訪問過該業務系統;否則將其當作新使用者訪問,生成新的唯一身份ID,供後續該使用者訪問時進行身份識別。此時就實現了使用者身份繫結。


實現使用者身份繫結後,可以結合網路攻擊行為檢測,對有攻擊行為的使用者ID進行標識,此時即使攻擊者更換IP依舊可識別其攻擊者身份,配合串聯的應用層代理裝置進行應用層的阻斷攔截,從而達到攻擊者無限更換IP也無法繼續訪問的效果。

04

實踐案例


在公網伺服器搭建使用者身份追蹤系統,分別切換代理IP、瀏覽器User-Agent和瀏覽器無痕模式進行訪問,最終得到的身份ID是固定不變的。


序號

切換客戶端資訊

身份ID

1

IP:36.xx.xx.43

72CCXQOEPFhe5yed2K7S

2

IP:34.xx.xx.71

72CCXQOEPFhe5yed2K7S

3

瀏覽器UA:Chrome

72CCXQOEPFhe5yed2K7S

4

瀏覽器UA:IE 10

72CCXQOEPFhe5yed2K7S

5

瀏覽器UA:WP 8

72CCXQOEPFhe5yed2K7S

6

無痕模式

72CCXQOEPFhe5yed2K7S

 表 測試結果


圖片

圖 實踐案例演示

05 其他同型別技術解決方案



01

遠端瀏覽器隔離技術(RBI)


RBI 系統的核心功能是將瀏覽器資料從遠端瀏覽器流式傳輸到使用者的本地端點,RBI 系統需要處理使用者事件(擊鍵、滾動、滑鼠點選等),將它們與相應的網頁元素匹配,檢測開啟的標籤頁的變化,並以影片或經過消毒的網頁的形式傳送給使用者,目前市面對應用常用於防止企業內部人員點選惡意連結類(如釣魚網站、水坑攻擊),同時也可以反向用於對外服務網站的保護,在原有的遠端瀏覽器流式傳輸的基礎上加上JavaScript的重新渲染,從根本上解決可互動引數引發的漏洞、爬蟲、越權等問題。但由於該技術導致的服務端效能成本高、可擴充套件性差和使用者體驗下降等問題尚未較好解決,目前還未有成熟的大規模推廣。


02

利用JavaScript進行真人識別


利用JavaScript的反爬蟲技術判斷請求是由真實的瀏覽器發起,還是由指令碼或者bot發起,目前主流的有三種方式:


基於User-Agent:最簡單的檢測爬蟲方法是檢測請求HEADER中的User-Agent,防禦方需要收集所有的爬蟲,指令碼語言,掃描器對應的User-Agent指紋,這種方法非常容易被繞過,幾乎沒有增加攻擊成本。 


基於JS-Injection:稍微進階的爬蟲檢測方法,就是注入js,這個方法也是目前業界廣泛使用的,在第一次訪問請求時,返回注入的js,js執行一些計算邏輯,並將其放入cookie,再次發起請求驗證,驗證成功後,server向client發放一個token放在cookie裡,以後的所有請求都需要攜帶該cookie標識已認證為非bot身份,同時也可以結合驗證碼認證。這種檢測方法基於大部分非瀏覽器爬蟲無法執行js指令碼這個前提,攻擊者如果分析注入的js的執行邏輯,然後用指令碼去實現該邏輯運算,透過這種方法可以提供攻擊成本,過濾很多不專業的工具/指令碼攻擊者。


基於Machine-Learning:透過機器學習,對訪問請求進行建模,根據訪問頻率,訪問路徑,判斷是否是爬蟲行為,這種檢測方法延遲較高,無法及時去主動防禦,多數結合安全運營進行階段性告警回溯。


上述的方法從技術原理來說和本次討論的透過javascript收集使用者資訊透過演算法進行唯一性指紋運算基本一致。

不同點

分為三點


是對於身份唯一id的生成在服務端執行,對攻擊者來說演算法不可見,繞過和破解難度更大;


未來收集一定量訪問的客戶端資訊後,可結合人工智慧最佳化精確唯一身份的演算法,更大程度提高了攻擊成本,形成攻防不對等的局面;


在安全開發階段,可利用此技術將Web使用者身份管理形成標準,嵌入開發流程,實現可跨系統,可分業務的使用者畫像追蹤,解決收費賬戶共享、使用者訪問追蹤的問題,也可以為後續的業務安全大資料計算提供資料支撐。


相關文章