你的網站被惡搞了嗎? 談惡意網路機器人防範

Bat Bot 一詞在現今網路服務中指的是惡意機器人、網頁爬蟲。網路詐欺防範服務公司 Distil Networks 的 Bad Bot Report 2017《2017 年惡意機器人報告》指出絕大多數包含重要顧客及價格資訊的網站都曾被惡意機器人造訪或惡搞。2016 年惡意機器人造成的流量,占整體網路流量的比例高達 19.9%;在電子商務網站上的流量有 15.6% 來自惡意機器人。另外,多達 97% 含有價格及內容資訊的網站,以及 96% 的登入網站都曾受惡意機器人造訪,伺機擷取帳戶資料或盜用帳戶登入憑證等;Bot 也能被用於做為同業競爭者的工具,擷取定價策略以傷害對手。據統計,大多數機器人流量來自美國,且主要託管於 AWS 上,但實際上除了明顯的 DDoS 以及個資、信用卡資料竊取外,網路機器人的攻擊在法律上處於灰色的模糊地帶。

*何謂善意的機器人 Good Bot : 例如搜尋引擎如Google、Bing 等爬蟲,是為了收錄你的網站內容;以及漏洞偵測程式,用以合理的檢測網站弱點,此類流量易於識別也不會造成損失

Bad Bot對網站可能造成的危害

1. 內容剽竊

例如將電商網站商品價格全部爬走、偷爬對手的新聞內容、取得競爭對手的機票價格資訊等。

取得競爭網站價格與內容資訊後,除了可以擬定自身內容與定價策略外,另一方面甚至可以複製對手網頁,誤導搜尋引擎,降低對手 SEO 排序或劫持網頁,進而影響對手營收。

2. 利用機器人拜訪,影響網站非人為流量

有 94% 的電子商務網站因被惡意機器人攻擊,讓這些網站產出的 GA 等資料分析被扭曲,讓決策者做出嚴重的錯誤決定。此外非人為的流量也讓網站經營者付出額外網路成本。

3. DoS 或 DDoS

阻斷對手網路服務,造成營運損失:相對容易預防或應付。

4. 用戶帳戶資料、信用卡或憑證竊取

利用破解方式侵入使用者帳戶,取得相關資訊再進行網路金融犯罪

5. 無效網頁瀏覽與廣告點擊

偷刷對手頁面或點擊廣告內容,無效點擊不能給網站帶來有效用戶,但會增加廣告成本,也會降低對手廣告客戶的信賴,一樣造成營運損失

6. FOOTPRINTING / FINGERPRINTING

被爬取網站服務技術,包含網站商業邏輯、演算法即相關配置、網路架構等

7. 垃圾留言

有 31% 網站的顧客評論或留言頁面,被競爭者的垃圾內容機器人(Spammer Bots)入侵,留下負面評論或廣告連結等。除了影響真正用戶的觀感外,相關垃圾內容也可能一併被搜尋引擎收錄,進而影響 SEO 排名或造成網頁被劫持。

現今惡搞的方法技術

過去的網站開發守則建議了一些防治惡意機器人的方法,例如使用加密 Javascript 等方式,只有用戶真的用瀏覽器開啟網頁時,才能看到網站內容。

但有別於傳統的網路爬蟲,「進階持續型機器人」(Advanced Persistent Bots / APBs)的比例顯著增長,目前已占所有惡意機器人流量的 88%。APBs 是能夠模仿人類行為和執行一系列技術操作的機器人,它們能夠加上 header、載入與執行 JavaScript、外部資源、篡改 cookies、執行瀏覽器自動化、動態變更 IP 位址以躲避檢測,甚至藉助匿名網路工具或 Proxy 服務,此外當然也可以爬出網站使用的 API 進行大量存取。根據 Distil Networks 收集到的數據,53% 的機器人現已能夠加載 JavaScript、36% 能夠變更 Proxy、39% 能夠模仿人類與網頁的互動行為、還有 73% 能夠轉換 IP 以隱藏真實來源

(AWS 雲端服務有最多與最方便的 IP 取得方式,而攻擊的主要趨勢之一是在數千個 IP 地址上傳播攻擊)

如何防範惡意機器人

1. 設定 robots.txt 擋掉特定 user agent,以及設定允許的爬取延遲時間與網頁目錄。

但有些爬蟲,例如惡名昭彰的 YisouSpider (神馬搜索引擎),爬取網站時會以每秒上百次的頻率發出 request,並且不遵守 robots 協議,因此甚至會讓管理者誤以為遭受 DDoS。

2. 設定驗證碼通過才能瀏覽

許多圖片式的驗證碼都有破解程式庫,而Google CAPTCHAs (我不是機器人) 等方式雖然可靠方便,但根據經驗,在訂票或活動網頁使用該驗證,只要同用戶短時間內用幾次,就會開始出現一堆圖片的驗證,例如點選是湯或三明治的圖片,但有些照片會讓用戶遲疑湯麵是不是湯,或是漢堡是不是三明治等,會嚴重影響使用者體驗

3. WAF

通過 IP 訪問頻率來限制存取,缺點是需設定規則,而且容易誤判。例如設定一分鐘內同一個 IP 不得存取超過 100 次,但許多公司只有有限的對外 IP,若同時間許多員工同時訪問該網站,就會被誤判為攻擊,此時就需要搭配 user-agent、瀏覽器指紋等方式來識別是否是真人。此外有些行動裝置瀏覽器,例如 Opera Mobile,用他們自己的伺服器做代理來加速用戶載入網頁時間,也可能造成誤判。

4. AWS Shield

只能防 DDoS

5. 使用 Distil Networks、Fox-IT 等網路防欺詐服務

這些服務可以檢測超越基於 IP 的在線欺詐方式,利用機器學習進行使用行為分析,瀏覽器驗證,設備指紋識別和社群威脅情報等技術來檢測惡意流量,協助客戶進行監控與阻止惡意機器人,也就是主動式機器人檢測和緩解,用以防止暴力登錄攻擊,API 非法存取、中間人攻擊,帳戶劫持,點擊欺詐和網路詐騙。

此類服務也可建立機制,偽裝成有利用價值的網站資料,並故意設置了 bug,用來吸引機器人攻擊,進而標定惡意機器人

網路防欺詐服務和 WAF 的差異

– WAF 是針對 OSWAP Top 10、CVE numbers 等進行防禦,而且是人為設定規則,因此 WAF 較適於阻擋應用程式層面的漏洞、設定錯誤等

– 即時網路防欺詐服務可根據瀏覽行為是否合理,例如點擊間隔、瀏覽路徑、或是是否只固定存取某些頁面,來判斷是真人或機器人

Reference

一篇文章瞭解爬蟲技術現狀
https://juejin.im/post/58c92135b123db0053157b0e

2017 Bad Bot Report
https://resources.distilnetworks.com/white-paper-reports/2017-bad-bot-report

2021-05-28T10:47:59+00:00 2019/12/31 |商業洞悉, 資訊安全, 雲講堂|