對(duì)于可能遭遇撞庫攻擊的組織來說,有效緩解這些隱患不僅需要具備妥善的爬蟲管理解決方案,網(wǎng)站本身的架構(gòu)和設(shè)計(jì)也在其中扮演了重要角色。
為什么這么說?我們都知道,在撞庫攻擊中,攻擊者會(huì)借助僵尸網(wǎng)絡(luò),使用盜取或者購買的憑據(jù)在你的應(yīng)用程序或網(wǎng)站上嘗試著進(jìn)行登錄。
為了應(yīng)對(duì)這種攻擊,我們必須能準(zhǔn)確區(qū)分自動(dòng)化爬蟲登錄以及普通用戶的正常登錄操作,因此目前的大部分爬蟲檢測(cè)技術(shù)會(huì)使用JavaScript注入的方式保護(hù)網(wǎng)頁和移動(dòng)應(yīng)用所使用的API。然而網(wǎng)站的實(shí)際架構(gòu),以及訪問網(wǎng)站的客戶端具體類型,可能會(huì)使攻擊面產(chǎn)生變化,從而對(duì)防范此類攻擊帶來較大的難度。
本文我們一起看看在實(shí)現(xiàn)有效的爬蟲管理策略過程中,我們都需要注意哪些方面的問題。
爬蟲檢測(cè)技術(shù)的工作原理
首先需要明確爬蟲檢測(cè)解決方案到底是如何準(zhǔn)確檢測(cè)出爬蟲的。這需要判斷某個(gè)請(qǐng)求的發(fā)起者到底是人類還是計(jì)算機(jī)程序。
一般來說,簡(jiǎn)單的爬蟲檢測(cè)技術(shù)會(huì)檢查請(qǐng)求本身的內(nèi)容,例如查看數(shù)據(jù)包的包頭,但這種方式已經(jīng)無法檢測(cè)出能夠偽造包頭的復(fù)雜爬蟲。因此,更高級(jí)的爬蟲檢測(cè)技術(shù)往往會(huì)結(jié)合使用JavaScript challenge、瀏覽器指紋、異常行為分析等多種技術(shù)。
了解你的網(wǎng)站架構(gòu)
現(xiàn)代化網(wǎng)站很復(fù)雜,往往包含數(shù)百甚至上千個(gè)頁面,支持不同類型的客戶端和流量。此外,網(wǎng)站上不同內(nèi)容的負(fù)責(zé)人通常分屬于不同的業(yè)務(wù)或職能部門。因此,必須了解網(wǎng)站的整體架構(gòu)以及客戶端如何從不同頁面流向登錄端點(diǎn),這樣才能更好地緩解撞庫攻擊,并真正了解自己所面臨的風(fēng)險(xiǎn)級(jí)別。
當(dāng)然,在規(guī)劃任何爬蟲管理解決方案時(shí)的第一步,始終需要對(duì)需要保護(hù)的所有內(nèi)容創(chuàng)建清單,這樣才能有的放矢,構(gòu)建出完善的解決方案。
為不同類型的客戶端提供保護(hù)
取決于具體需求,網(wǎng)站可能需要與不同類型的客戶端進(jìn)行交互。例如,用戶會(huì)使用臺(tái)式機(jī)、筆記本、手機(jī)、平板上的瀏覽器,或原生的移動(dòng)客戶端進(jìn)行交互;自動(dòng)化的第三方服務(wù)(例如財(cái)務(wù)信息聚合、經(jīng)銷商合作伙伴、預(yù)定和分銷合作伙伴)可能需要通過各種API與網(wǎng)站進(jìn)行交互。妥善設(shè)計(jì)的爬蟲管理解決方案必須能為恰當(dāng)?shù)目蛻舳颂峁┣‘?dāng)?shù)脑L問,絲毫不能多,也絲毫不能少。
另外還要注意,上文提到的瀏覽器指紋、異常行為分析等高級(jí)檢測(cè)技術(shù),雖然可以有效區(qū)分真實(shí)人類用戶和爬蟲,但并不能有效區(qū)分善意和惡意爬蟲。所以在解決方案的選型方面也需要注意這方面問題。
權(quán)衡
撞庫攻擊是一種復(fù)雜問題,這不僅是因?yàn)榕老x本身比較復(fù)雜,同時(shí)也是因?yàn)榫W(wǎng)站架構(gòu)可能會(huì)對(duì)保護(hù)措施造成一定的阻礙。
取決于組織本身以及網(wǎng)站的實(shí)際需求,100%完全有效的解決方案理論上雖然可行,但實(shí)際上也許并不現(xiàn)實(shí),因此我們的緩解措施可能需要在安全風(fēng)險(xiǎn)和影響、成本、時(shí)間等不同方面進(jìn)行權(quán)衡。
了解端點(diǎn)的架構(gòu)、風(fēng)險(xiǎn)和選項(xiàng)
如果組織沒有為每個(gè)類型的客戶端(Web瀏覽器、原生移動(dòng)應(yīng)用、自動(dòng)化的第三方服務(wù))使用專用URL,那么就必須仔細(xì)審查自己的Web架構(gòu)。
首先需要了解當(dāng)前攻擊面、所面臨的風(fēng)險(xiǎn)等級(jí)以及可用的各類選項(xiàng)。Akamai技術(shù)嫻熟的撞庫攻擊安全專家可以幫助用戶全面分析并制定撞庫緩解策略,幫助用戶了解自己的Web架構(gòu)以及爬蟲檢測(cè)解決方案對(duì)這些系統(tǒng)所造成的影響,例如:
·充分了解網(wǎng)站架構(gòu)和不同終端訪問登錄端點(diǎn)的工作流,確認(rèn)隱藏的端點(diǎn),不留任何遺漏
·全面掌握登錄端點(diǎn)的多方調(diào)用情況,根據(jù)使用者類型對(duì)所有URL進(jìn)行分類。
·發(fā)現(xiàn)需要加以保護(hù),防范撞庫攻擊的交易型URL,以及所有需要向這些URL發(fā)送請(qǐng)求的HTML表單入口點(diǎn)。
·識(shí)別并評(píng)估已知的技術(shù)“并發(fā)癥”。
·匹配目標(biāo)和策略結(jié)構(gòu),以根據(jù)URL客戶端類型確定適當(dāng)?shù)谋Wo(hù)策略。
·圍繞撞庫攻擊的攻擊面制定應(yīng)對(duì)策略,并確定爬蟲檢測(cè)方案的下一個(gè)步驟。
而基于上述因素,Akamai Bot Manager通過先進(jìn)的架構(gòu)以及全面的功能為用戶提供了一套完整的爬蟲治理流程,幫助用戶:
通過這一套流程,即可有效區(qū)分不同類型的爬蟲行為,并進(jìn)行有針對(duì)性的處理,在保護(hù)用戶數(shù)據(jù)和隱私的同時(shí)確保業(yè)務(wù)流暢運(yùn)轉(zhuǎn)。
為了規(guī)避檢測(cè)技術(shù),爬蟲程序也在不斷發(fā)展進(jìn)化,這導(dǎo)致組織面臨的風(fēng)險(xiǎn)和成本正在呈爆炸式增長(zhǎng)。組織需要通過創(chuàng)新的方法檢測(cè)并防御復(fù)雜的爬蟲以及隨之而來的撞庫攻擊。歡迎點(diǎn)擊閱讀原文,了解Akamai為此提供的Bot Manager爬蟲管理解決方案如何幫助組織控制網(wǎng)絡(luò)流量,在最大限度減少Web欺詐影響的同時(shí)維持競(jìng)爭(zhēng)優(yōu)勢(shì)。