阿碼外傳-阿碼科技非官方中文 Blog: 2008/10/17

2008年10月17日

HackAlert Enterprise - 企業級掛馬監控方案

Hi 大家好,兩個月前我在「網頁掛馬檢查服務--全網監控功能啟動!」這篇 blog 中介紹了當時我們正在開發的產品 - HackAlert Enterprise,隨後我們的 CEO Wayne 也抽空幫忙補上了一篇「HackAlert 的架構與技術 」,對當年發表在 WWW2003 WAVES 研究計畫做個概觀介紹。

上一篇發文時,UI 因為時程的關係許多功能還沒完成,但隨後我們從國內外的 beta user 收到了不少回應,激發了HackAlert 開發團隊不少新的想法,做了很多討論,也當然寫了相當多的程式碼、加上測試、系統整合,最後完成了新版的 HackAlert Enterprise,就是此篇的主角:


上圖是簡潔的登入頁面,在1年前掛馬還沒自動化到今天這樣的局面時,若你有 HackAlert SaaS 服務的帳號,你可以鎖定幾個網址,讓服務自動替你監控,出了事就會收到 email 通報,另一方面,可使用 On-Demand(立即掃描)來做即時檢驗,這邊說的 "即時" 是指當你填選完網址之後,HackAlert SaaS 的引擎就會立即替你瀏覽該網址,並將結果回報在下方的檢測結果,就拿10月15在大砲兄的開講網站上被公告的台灣咖啡網做為測試範例,首先看10月17號的On-demand掃描結果,我們可以看到這個網站的首頁仍掛著惡意程式:



西方有一句話說得很好 "A Picture Worth More Than Words Can Say"(一圖勝過千言萬語),隨著技術與文明的演進,古老的諺語也會跟著改變,我想 "A Picture" 可以直接換成 "A Video", 因為現在在 Youtube 上就可以看到今天(10月17號)台灣咖啡網的紀錄片:



影片外部連結

這是一般惡意程式常見癱瘓系統的方式,瘋狂似的開啟大量的視窗、破壞系統的重要檔案,但也可能會自動地關閉防毒軟體,靜悄悄的安裝可遠端遙控的後門以及鍵盤側錄器,而這些都在瀏覽網站中不小心植入惡意程式,目前Google會將含有惡意程式的網址加一個 "這個網站可能會損害您的電腦" 標籤,並阻止進一步的瀏覽,但上榜就一定不是好事, 因為那表示這個網站的有程式設計漏洞、 管理缺失等問題,也影響了大家再回來光臨這個網站的意願,而因為駭客通常都是先拿完資料才種惡意連結,所以對於有販售商品的網站,這類事件等於個資與信用卡交易都已經被盜光,主機也可能已經被裝了 Rootkit。

在影片中,眼尖的人會發現不只一頁被掛馬,那是因為從今年開始出現大規模SQL攻擊之後,從入侵網站到掛馬就都是全自動了,有興趣的人可以 Google 一下相關工具。由於這幾年高互動的網頁把廣大網民的胃口養壞了,現在的商業網站都要做得夠動態、美工夠光鮮亮麗才有人要看,一個小站隨便就數百隻程式碼,但常看到一個狀況就是趕程式加上沒經驗,看過許多直接延用書上範例程式的例子,所以當然直接被自動攻擊打穿,而較深處頁面被掛馬就不容易被發現,所以後續清除時,惡意IFRAME可能也就沒有移除。

若網站太過於動態,用HackAlert SaaS 的話在管理上就不夠充足,若需要節省逐一更新鎖定URL的時間,HackAlert Enterprise 的全站監控就派得上用場,只需指定初始頁 URL,其他的就交給自動化頁面爬取功能(crawler)解決。登入後可以看到下列畫面:


企業版照我們一貫的設計風格,提供 Ajax 設定精靈,全站監控採用一個 project (掃描專案)來管理一個 Website 起始網址,我們點選 "Add Website Monitor" 後會出現下列3步驟,第一步驟為替專案命名與設定起始網址,在 UI 上稱做 Main URL:

第二步驟為選擇掃描類型,企業版提供 Malware 掛馬監控之外、還具有偵測網頁竄改(Defacement Monitoring)的功能,目前還在開發中,下次再介紹,我們選擇 Malware Detection:

第三步為設定要自動爬取(crawl)的範圍,才能避免從首頁開始自動找相關頁面的過程一直發散、使得程式無法停止,在這邊我們預設深度為 5 表示從首頁開始最多爬取 5 層,最大URL限制設為 400 指定爬取到 400 頁之後就停止,接下來是指定要納入的外部網址,假設起始網址為 http://www.example.com.tw,若要支援 http://shop.example.com.tw 就必須將http://shop.example.com.tw的這個 subdomain 加到到個欄位,最後一個是選擇間隔時間。


點選 Finish 之後,可以看到專案已經建立並被排入掃描引擎當中,但仍未開始掃描:

設定精靈幫專案建立了主要的項目,如果要變更選項, 在右手邊還有一些選項可以進行微調設定,這邊可以點進 "Edit Configuration" 這個圖示會出現下列畫面:


我們把監控時間改成每40分鐘一次,接著前往另一個設定頁面 "Notification Rules" (通知規則),這邊可以細分為 Email 以及 SMS 簡訊兩部分,首先在 Email 通知設定內,我指定只要出現任何異常狀況都通知我:


接著設定企業版才有的 SMS 簡訊通知,我指定只要惡意程式確定存在我監控的網頁,就送簡訊到我設定的門號 (有預設數量限制,使用完畢會收到 Email 通知):


不等排程啟動,我們直接點選開始鍵,接著會出現下列掃描狀態對話框,我們可以看到在掃描專案啟動的14秒內,掃描引擎發現了6個網址且全部都有惡意程式 ( URLs with malware 的值為 6 ),下方視窗可看到引擎的執行狀態:

7 分鐘過後,達到了 URL 上限的設定值 400 頁,掃描結果呈現出從首頁開始有 394 頁面被掛了惡意程式,另外一個頁面具有可疑連結,但不會觸發惡意程式,點選 "Malware" 分頁可以看到惡意程式的詳細資訊,清楚的說明從哪邊下載、以及自動載入到哪個目錄:


許多動態頁面發現被打穿了且掛了惡意程式,有時間的話我們的研究員可以利用 HackAlert Enterprise 研究一下自動掛馬器可以掛多深︰



透過上面內容的介紹,大家可以發現與前一版的差異已經相當大,可見大家相當辛苦!

這次利用台灣咖啡網作為說明並不是針對這個案例,而是直接就最近被報導的網站做說明,提醒大家網站攻擊的變化越來越快。在網頁掛馬的影響上,我在意的是個資,因為不論是主機被打穿導致資料被撈光、或是透過掛馬植入個人電腦上蒐集的惡意程式,都會衍伸出經濟、社會安全等等問題。最近看到一些消息,發現個資在國外黑市的販售價格有下降的趨勢,那其實表示資料越來越多、且容易取得,我個人的看法為這件事情跟自動化攻擊絕對有關,站在網路使用者的立場,除了一方面提升大家對於掛馬的認知,也希望從風險的角度,讓企業能有工具做網站災難管理,這在目前甚麼都 2.0、3.0、3.5 的時代,絕對會比過去來得重要。

作者 Walter Tsai 為阿碼科技 CTO

繼續閱讀全文...