人類發明網際網路,原先是希望透過由電腦所形成的網路可以幫助人類彼此之間可以聯絡通訊。然而發展至今,雲端運算與物聯網 (IoT) 的興起,透過網際網路進行連接的主體,往往是另一組程式或機器系統。不同的連接主體帶來了不同的需求,也考驗了傳統的網際網路架構。
這種會彼此聯絡通訊的程式或系統,我們稱之為 Bot(機器人),其中最為人熟知的 Bot 莫過於搜尋引擎,如 Google 、 Bing 、百度等,無時無刻派出專屬的機器人(通常稱之為 Spider),去搜刮疏爬所有網站的資料,提供給使用者搜尋內容;另一種則是非法機器人,透過自動化程式機制,試圖不斷入侵並感染在網路上所能接觸到的主機,甚至是利用無辜的電腦主機發送垃圾信件等。

當然還有一種遊走在灰色地帶的機器人,如某些比價網站,常不顧網站的宣告拼命抓取商品資料,雖然沒有實際的攻擊行為,但也的確干擾了商業活動。
本文目錄
Bot 機器人是否吃掉了你的企業獲利?
由此可見,Bot 對網站來說造成了兩方面的影響。從基礎建設面來看,為了要因應,網站主必須要增加網站頻寬與伺服器以應付網路上眾多機器人的傳輸需求導致增加的流量;從企業營運來說,機器人非法取得網站資料,企業無法控制該資料將如何被使用,甚至可能被競爭對手拿來進行惡意競爭。

Akamai 日本暨亞太地區企業安全首席架構師 James Tin 表示,Bot 的確會直接影響企業的獲利,「當使用者在航空公司或旅行社網站搜尋機票時,網站背後會連接全球訂位系統 (Amadeus) 以取得最新的航班訂位資料,Amadeus 則對該網站收取 3 美分的費用。若航空公司或旅行社網站被第三方 Bot 大量爬取資料,將導致網站付出大量的無謂成本。」
James Tin 透露曾有某航空公司因為遭到 Bot 非法爬取資料,導致訂位資料連接服務超支 50 萬美元。另一種更惡意競爭的行為,是惡意 Bot 用假信用卡資料到網站購買機票,雖然最後刷卡一定會失敗,但根據行規,該機票與機位會自動鎖定保留 30 分鐘;若惡意 Bot 持續攻擊某特定航班,很有可能造成合法使用者無法訂票,導致航空公司造成空機損失。
更棘手的是,Bot 程式有好有壞,商業網站根本不可能大手一揮盡擋 Bot,等於將各個合作網站推出門外,自然也會降低衍生利潤。「對內容網站而言,一方面要顧及搜尋引擎和新聞聚合 (news aggregator) 網站,一方面又要阻擋那些層出不窮又盜連圖文的內容農場;若 IT 人員只採取傳統封鎖流量的方法,只是不斷鼓勵盜連網站持續和內容網站鬥智而已。」
Bot 機器人有好有壞 分類管理才是王道
因此,面對 Bot,Akamai 認為堵不如疏,推出了 Bot Manager 服務,確實管理並控制每天流入網站的 Bot 流量,才能夠降低 Bot 對商業網站造成的影響。「一般人可能會忽視 Bot 流量究竟消耗掉網站多少資源,根據客戶資料,某些 Akamai 客戶網站的 Bot 流量可達 40%,最高甚至有 70% 的案例,幾乎可說客戶的網站頻寬預算都拿來餵了 Bot 流量。」

James Tin 表示 Akamai Bot Manager 內建 1300 餘個已知的 Bot 程式特徵,可快速分辨出合法與非法 Bot 程式,並每天不斷累積 Bot 的分析資料。「Akamai Bot Manager 由我們的以色列團隊開發,每天儲存將近 20TB 的攻擊紀錄,累計到目前為止,已儲存了 2PB 的資料量。一般的企業或是安全廠商根本不可能累積如此大量的攻擊資料來分析 Bot 流量。」James Tin 說道。
如前所述,Bot Manager 的目標是管理,而不是阻擋,因此 Akamai 為 Bot Manager 提供 4 大管理策略:
- 降低機器人流量的頻寬:不論是合法或是惡意的 Bot,不能影響客戶體驗的標準是最基本的要求。
- 提供欺騙資料使其退走:對於來自惡意競爭者的 Bot 流量,Bot Manager 可以提供虛假資料欺騙 Bot,使其拿了資料就走,不與自家網站多加糾纏,藉此節省網路頻寬與運算資源。
- 即時偵測機器人流量並做出反應:當 Bot Manager 辨識出未知的 Bot 流量後,可以選擇不做任何激烈的阻擋行動,避免刺激 Bot 背後的伺服器導致改變爬站手法。
- 提供視覺化報表:儘管 Bot Manager 提供多項自動工具,但最終仍然需要安全人員進行檢視,因此 Bot Manager 提供視覺化報表供 IT 人員使用。
但是,Bot 程式的天命就是在模仿一般使用者,Akamai Bot Manager 該如何處理 Bot 自我宣告假冒的問題呢?
James Tin 解釋道:「首先我們會先檢查該 Bot 發出查詢要求 (request) 的頻率,以及封包標頭 (header) 的內容,來分類該 Bot 是否合法。接著再使用兩種技術去辨識 Bot 特徵。首先,Bot Manager 主動發送封包至 Bot 流量來源,取得更多伺服器資料來形成 Bot 流量特徵,也因此 Akamai 每小時更新數次 Bot 流量特徵,同時 Bot Manager 也會被動分析 Bot 流量內隱藏的資訊如螢幕尺寸、作業系統等,作為辨識 Bot 流量的輔助資料。」

Bot Manager 並不是安全服務
James Tin 也釐清 Akamai Bot Manager 並不算是一種網路安全服務,「在預設值設定下,Bot Manager 並不會完全阻斷非法或未知 Bot 的流量,而是設法降低這些 Bot 流量對網站的影響至最低,平均每 3 天到 7 天,客戶需要檢視 Bot Manager 的流量報告,決定該如何處理未知 Bot 流量的政策。」
換言之,Bot Manager 並不擅自決定未知 Bot 流量的好壞,而是交給使用者決定。對客戶網站來說,有效降低 Bot 流量,等於立即降低 CDN 服務的流量與費用,但也有可能降低自家網站在網路上的可見率,該如何處理這些 Bot 流量,自然要看使用者心中的那把尺。
