用 AVG 進行 DoS 是可行的

很久沒看 Slashdot 了,稍為瀏覽一下就找到有趣的事:原來 AVG antivirus 會假扮 IE 6 來掃描網站。乍看好像沒甚麼問題,但致命的地方在於它做法粗暴,造成不少人反感,像某些大陸 search engine 一樣。
再看看 Slashdot 裏的鏈結,原來 The Register 接近兩個月前已經在罵了。AVG 8.0 吸納了一套稱為 LinkScanner 的軟件,當用家在 search engine 搜尋任何東西時,LinkScanner 就會出動掃描所有搜尋結果,再報告哪個網站懷疑有 malware。問題正是出在這個 LinkScanner 身上。
我從 download.com 下載的 8.0.1 版本,用預設選項安裝好後,不進行升級 (用來避免任何升級或 virus definition update 帶來的作用),結果是:它會直接用 HTTP 下載所有 search engine 的結果,包括主頁和鏈結本身,例如搜尋我自己的網站時,它會向我的網站提交如下 HTTP 內容:
GET / HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;1813) Host: me.abelcheung.org Cache-Control: no-cache
除此之外更會下載所有主頁中使用過的 JavaScript 和一兩個主站下的 subpage。其實 AVG watch 已經將整個來龍去脈都闡釋清楚了,不過我還是忍不住要用中文解釋一下:
- 它是假扮 IE 來存取網頁的,即是說所有做網站流量分析統計的人以後可以轉行了,因為任何分析結果一定是錯的。雖然有方法偵測,但只是權宜之計,也不一定很準確能封禁 AVG。當然,一眾 webmaster 不將 AVG 罵個狗血淋頭才出奇。尤其是 AVG 的 CTO 出來辯護的說話更是火上加油:
“I don’t want to sound flip about this, but if you want to make omelettes, you have to break some eggs.”
意指做大事必有犧牲,當然這裏的犧牲品就是網站管理員和分析員囉。
-
它存取網站的目的,是為了在 search engine 中「預先」提示用戶哪個站「可能」有問題:

試想想我在 Google 中搜尋 “site:me.abelcheung.org”,就等於有十個人同一秒立即到我的網站下載這個下載那個了,如果多幾個人做同一種事呢?一個人開多幾頁搜尋呢?這已經等於一個小型的 DoS 了。這不是說笑的,我拿某個 forum 「小試牛刀」,結果那個 forum 就這樣被我這樣拖垮了一陣子。
之後的發展,AVG Watch 末段已經說清楚了,我也用 sniffer 確認過 7 月 5 日後的更新已經不再直接存取任何網站;真想知道那個 CTO 的面子如何放得下。
但如許多人所說,AVG 8 開始有變成 bloatware 的趨勢,怪不得近來看到不少的建議勸人改用 Avast。