Akamai的形成與風(fēng)控分析:聚焦Akamai 3.0
## Akamai的形成與發(fā)展
Akamai Technologies成立于25年前,最初是為了解決互聯(lián)網(wǎng)擁塞問題而創(chuàng)建的。公司通過創(chuàng)新性的數(shù)學(xué)調(diào)度算法,提前將用戶流量部署到最近的節(jié)點(diǎn),從而改變了內(nèi)容交付格局,有效緩解了互聯(lián)網(wǎng)擁塞問題 <mcreference link="https://www.365master.com/show-11-12444-1.html" index="1">1</mcreference>。經(jīng)過多年發(fā)展,Akamai已經(jīng)構(gòu)建了全球最大的內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN),擁有:
- 1000Tbps的容量
- 4000+邊緣入網(wǎng)點(diǎn)
- 1200+網(wǎng)絡(luò)
- 750+個(gè)城市
- 130個(gè)國家/地區(qū)的覆蓋
Akamai的業(yè)務(wù)范圍從最初的內(nèi)容交付網(wǎng)絡(luò)(CDN)逐步擴(kuò)展到網(wǎng)絡(luò)安全領(lǐng)域。十多年前,Akamai進(jìn)入安全領(lǐng)域,建立了全球最廣泛的分布式DDoS防護(hù)平臺(tái),并逐步拓展到應(yīng)用層防護(hù)、API防護(hù)和Bot爬蟲欺詐管理
近年來,隨著云計(jì)算場景的發(fā)展,Akamai又積極進(jìn)軍云計(jì)算市場,推出了Akamai Connected Cloud,提供簡單、開發(fā)人員友好、透明價(jià)格的公有云方案。
## Akamai的風(fēng)控系統(tǒng)
Akamai的風(fēng)控系統(tǒng)是其核心競爭力之一,特別是其反爬蟲系統(tǒng),被廣泛應(yīng)用于保護(hù)網(wǎng)站避免遭受攻擊以及保障API數(shù)據(jù)安全 。
### Akamai風(fēng)控的防護(hù)手段
Akamai的防護(hù)主要有兩個(gè)方面:
1. **HTTPS請求層面的防護(hù)**:通過檢測ja3指紋等技術(shù)識(shí)別非正常瀏覽器請求
2. **瀏覽器信息收集與風(fēng)控?cái)r截**:收集當(dāng)前瀏覽器信息,進(jìn)行風(fēng)控分析和攔截
### Akamai 3.0版本的風(fēng)控特點(diǎn)
Akamai 3.0是其反爬蟲系統(tǒng)的最新版本,相比之前的版本有顯著的升級(jí):
1. **數(shù)據(jù)采集機(jī)制優(yōu)化**:sensor_data的鍵值表示方式由原先的數(shù)字標(biāo)識(shí)轉(zhuǎn)變?yōu)楦鼮殪`活的字符鍵
2. **用戶體驗(yàn)優(yōu)化**:移除了原有的canvas驗(yàn)證步驟,提升用戶體驗(yàn)
3. **數(shù)據(jù)處理增強(qiáng)**:系統(tǒng)成功采集了兩組龐大的數(shù)據(jù)數(shù)組,長度分別為23位和30位,增強(qiáng)了數(shù)據(jù)處理的準(zhǔn)確性和效率
4. **Cookie集成**:v3版本明確使用cookie數(shù)據(jù)進(jìn)行加密,增強(qiáng)了每個(gè)payload的安全性和唯一性
5. **腳本依賴哈希**:與v2不同,v3加密嚴(yán)重依賴實(shí)時(shí)JavaScript文件哈希,使靜態(tài)逆向工程更加復(fù)雜
6. **復(fù)雜性和安全性**:整體加密復(fù)雜性大幅提高,提供了更強(qiáng)的自動(dòng)化攻擊防護(hù)
### Akamai 3.0的加密與解密流程
Akamai 3.0采用了復(fù)雜的兩步加密算法:
1. **元素洗牌**:
- JSON負(fù)載數(shù)據(jù)首先轉(zhuǎn)換為冒號(hào)分隔的字符串
- 字符串中的元素使用偽隨機(jī)數(shù)生成器(PRNG)進(jìn)行洗牌,該生成器使用從Akamai JavaScript中提取的唯一文件哈希進(jìn)行初始化
2. **字符替換**:
- 洗牌后,字符串中的每個(gè)字符都會(huì)被替換為另一個(gè)字符
- 這種替換使用另一個(gè)PRNG,該P(yáng)RNG使用cookie派生的哈希(通常來自bm_sz cookie)作為種子
### sensor_data參數(shù)分析
Akamai 3.0的核心是sensor_data參數(shù),這是一個(gè)包含瀏覽器環(huán)境信息的加密參數(shù)。通過分析,sensor_data參數(shù)是由58長度的數(shù)組進(jìn)行拼接加密生成的。
主要包含的信息有:
```json
{"ver":"hYLXImDOnRR5eDAgk63ANnTyi5pMbcxsxh3tyRozcUc=", "fpt":"-1","fpc":"94", "ajr":"45921|31341", "din":[{"wow":2560},{"nap":"Gecko"},{"nal":"zh-CN"},{"ucs":"8102"},{"ran":"0.476463975238"},{"she":1440},{"ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"},{"swi":2560},...]} <mcreference link="https://blog.csdn.net/wh00011/article/details/145028737" index="1">1</mcreference>
```
其中,canvas指紋和運(yùn)動(dòng)軌跡是最重要的參數(shù),特別是canvas指紋不能隨機(jī)偽造,需要收集真實(shí)瀏覽器的指紋進(jìn)行替換 <mcreference link="http://www.rzrgm.cn/xiaoweigege/p/17455532.html" index="2">2</mcreference>。
### Akamai風(fēng)控驗(yàn)證流程
Akamai的風(fēng)控驗(yàn)證主要通過_abck這個(gè)cookie值來進(jìn)行校驗(yàn):
1. 請求HTML文檔會(huì)返回一段JS鏈接,使用GET請求獲取實(shí)時(shí)的JavaScript代碼
2. 使用獲取到的代碼生成加密參數(shù)sensor_data
3. 使用POST請求提交sensor_data到JS鏈接
4. 如果參數(shù)正確,返回的set-cookie中的_abck值中間為0,表示獲取到正確的cookie
5. 如果參數(shù)錯(cuò)誤,返回的是-1
獲取到有效的_abck后,就可以請求網(wǎng)站的內(nèi)容,但_abck是有時(shí)效的,被403攔截后需要重新請求生成。
## Akamai的反機(jī)器人工具
Akamai提供了專業(yè)的反機(jī)器人工具,用于區(qū)分好機(jī)器人和惡意機(jī)器人:
- **好機(jī)器人**:執(zhí)行有用任務(wù)的機(jī)器人,如聊天機(jī)器人、監(jiān)控機(jī)器人、搜索引擎機(jī)器人等
- **惡意機(jī)器人**:用于惡意目的的機(jī)器人,如社交媒體機(jī)器人、下載機(jī)器人、庫存囤積機(jī)器人、票務(wù)機(jī)器人、垃圾郵件機(jī)器人等
Akamai Bot Manager是其主要的反機(jī)器人解決方案,它可以在惡意機(jī)器人和僵尸網(wǎng)絡(luò)流量對客戶信任造成侵蝕之前阻止它們,同時(shí)允許好機(jī)器人執(zhí)行必要的任務(wù)
## 應(yīng)對Akamai風(fēng)控的挑戰(zhàn)
對于需要繞過Akamai風(fēng)控的場景,主要面臨以下挑戰(zhàn):
1. **TLS檢測**:需要通過TLS檢測,否則并發(fā)時(shí)會(huì)出現(xiàn)問題
2. **真實(shí)瀏覽器環(huán)境**:需要使用真實(shí)的瀏覽器環(huán)境,不能簡單隨機(jī),包括canvas、ua、webgl數(shù)據(jù)等
3. **行為數(shù)據(jù)模擬**:必須帶上行為數(shù)據(jù),PC端需要模擬鼠標(biāo)軌跡和鍵盤事件,移動(dòng)端需要螺旋儀、觸摸事件等
4. **風(fēng)控級(jí)別差異**:不同網(wǎng)站的風(fēng)控級(jí)別不同,可以通過某些站點(diǎn)不代表可以通過所有站點(diǎn)
5. **經(jīng)驗(yàn)積累**:風(fēng)控是在長久對抗中才能摸清門路的,主要靠經(jīng)驗(yàn)
## 總結(jié)
Akamai從內(nèi)容交付創(chuàng)新到安全防護(hù),再到云計(jì)算多云化和邊緣化創(chuàng)新,已經(jīng)形成了一個(gè)基于云的三位一體方案,涵蓋內(nèi)容產(chǎn)生、計(jì)算、存儲(chǔ)、交付和保護(hù),為用戶提供全方位的數(shù)字化運(yùn)營支持
Akamai 3.0作為其最新的反爬蟲系統(tǒng)版本,通過更復(fù)雜的加密算法、更全面的瀏覽器信息收集和更智能的風(fēng)控策略,為網(wǎng)站提供了強(qiáng)大的安全保障。對于需要與Akamai系統(tǒng)交互的開發(fā)者來說,理解其工作原理和應(yīng)對策略至關(guān)重要。

浙公網(wǎng)安備 33010602011771號(hào)