搜尋此網誌

2009年9月15日 星期二

[技術分享] 網頁掛馬攻擊 (Drive-by Downloads) 介紹

雖然有越來越多的廠商與產品試著去解決惡意程式所帶來的問題,但是不可否認惡意程式的威脅與影響依舊越來越大。除此之外,惡意程式也越來越有”創意”,讓這場官兵與強盜之間的遊戲更加精采。儘管惡意程式變化之多,我們仍舊可以將大多數惡意程式的行為(至少)分為兩個階段,第一個階段是感染 (Infection) 階段,第二個階段則是攻擊 (Attack) 階段。

在感染階段中,最重要的事項就是如何避免被發現。在此前提下,其次才是感染的速度與數量。而實際感染的途徑,也從早期的實體方式 (如磁碟片、光碟片等)演進到透過網路的方式。在網路的感染方式中,News Group、Email、IM、Web則陸陸續續被有心人士所利用。今天我們要談的是一種稱之為 Drive-by Downloads 的方式,簡單說來就是讓使用者在瀏覽網頁(或是閱讀HTML格式的信件)時,不知不覺地下載惡意程式並因而遭受感染。也許 Drive-by Downloads 這個名詞對許多人有些陌生,換個說法或許大家就比較清楚,這個說法就是網頁掛馬攻擊。聽起來也許很神奇,但是基本上所謂的”不知不覺”都還是得利用應用程式的漏洞加以遂行。只是跟傳統上利用作業系統漏洞加以感染相比較,現在會被加以利用的則包含了各式各樣的應用程式,尤其是像 Flash 、 PDF 、 影像播放器這類大量被應用在網際網路服務的相關軟體。此外,瀏覽器本身當然也是一個會遭受攻擊的明顯目標。

為什麼 Drive-by Downloads 會漸漸獲得流行呢?在 Drive-by Downloads 之前,Email 附件是主要的感染途徑之一。這些 Email 將惡意程式以附件方式加以夾帶,不但容易被郵件伺服器的防毒軟體偵測到,也會引起教育良好的使用者之疑心而加以忽略。所以,有心分子將腦筋動到了網站瀏覽的行為上。因為網站瀏覽的行為跟收取 Email 有一個本質上的差異,那就是大多網站瀏覽的行為是主動的,而不像收取 Email 是被動的,也因此大多數人在瀏覽網站時不會像收到 Email 一般持有戒心。如果再加上這些瀏覽的網站是”合法”的網站,我相信幾乎沒有人會加以懷疑,事實上也很難加以懷疑。

 

Web 與 IM 成為惡意程式的主要感染途徑

delivery method

Drive-by Downloads有下列幾種做法。首先有心分子可以想辦法先感染所謂的合法網站,然後利用 Drive-by Downloads 的方式讓這些網站的使用者在毫無警戒的情況下受到感染。在網站類型的選擇上,流量越大的網站,像是新聞網站以及 SNS 網站,對有心分子而言越是有利的目標。這種方式漸漸受到有心分子的重視,因為除了防範較為困難外,使用者在使用時幾乎不會有任何的警覺。使用的技巧則可能是 SQL Injection、Cross-Site Scripting (XSS) 等方式,目的就是讓使用者在觀看網站的同時連結或重導向到特定的(惡意)網址以進行感染的動作。而最新的技巧則為利用在合法網站刊登廣告,已達到相同的目的。

除了感染合法網站外,也可以搭配 Email 使用,讓使用者在開啟 Email 的同時連結到特定的(惡意)網址以便進行感染。雖然這個方式可能會引發使用者的戒心,但是對於傳統的防毒軟體(不管是伺服器端或用戶端)而言,要有效地加以偵測仍是力有未逮,也因此效果依舊比附件夾檔的方式來的更為有效些。

而另外一種誘使使用者連到特定網站的技巧就是利用搜尋引擎的結果,如果再搭配 Google Trend 的服務,效果將會更加明顯。在這種方式中,有心分子利用 Google Trend 服務找出熱門的搜尋關鍵字,然後自動產生特定的網站,並且讓這些網站(網址)出現在這些熱門關鍵字的搜尋結果中,以誘使使用者加以點擊並感染之。想當然爾,如何讓這些網站(網址)排在搜尋結果的前面,是有心分子要達成的目標。

一旦電腦被感染後,除了電腦上的資料可能被竊取外,更有可能因為成為僵屍網路的一員而產生危害他人的行為。身為網路的使用者,我們該如何避免遭受 Drive-by Downloads 的攻擊呢?有以下幾點是建議的做法:

  1. 第一法則依舊是維持系統在”最新”的狀態,也就是必須即時的更新。這裡的更新除了指作業系統外,更重要的是必須更新瀏覽器以及相關的外掛 (如 Flash 或 PDF 的 plugin)。因為要不知不覺得感染電腦,扣除設定不良的問題,幾乎還是要利用應用程式的漏洞才能達到目的。事實上,Flash 已經成為目前最容易被攻擊的外掛之一。也因為目前沒有一個機制可以同時更新這些項目,所以我們必須透過一些工具來達到目地,相關工具可以參考我之前的文章
  2. 使用具備偵測/攔阻惡意網址功能的瀏覽器。以目前各種瀏覽器的最新版而言,基本上都具備了這樣的能力,差別只在能力的高低。不過如果你還在使用 IE6 ,很可惜它並不具備這樣的能力。
  3. 使用防火牆、防毒軟體等對抗惡意程式的軟體,而維持這些軟體在最新的狀態,同樣是需要注意的重要事項。畢竟 Drive-by Downloads 雖然可以利用應用程式的漏洞而不知不覺地進行感染,但是感染後安裝/執行的惡意程式碼還是有可能被其他安全軟體偵測出。
  4. 減少使用管理者帳號的時機。對於企業用戶而言,僅開放一般權限給使用者可以大幅減少遭受攻擊後所造成的危害。
  5. 相較於傳統的攻擊手法,小心謹慎對於應付 Drive-by Downloads 的效用將會呈現遞減的現象。因為透過感染合法網站的方式,使用者幾乎是沒有任何加以質疑的機會。所以透過工具將會是比較可行的方式。

對於企業而言,除了上述事項外,還有其他的控制措施可以用來幫助對抗這類攻擊。有興趣的讀者可以參考 Twenty Critical Controls for Effective Cyber Defense: Consensus Audit Guidelines 這份文件。

 

相關連結:

About