企業借助電子郵件推廣Web內容時存在的安全隱患
隨著郵件系統的廣泛使用,越來越多的企業喜歡將Email系統與Web服務器結合起來使用。如會向用戶發送帶有Web連接的郵件,向用戶推廣自己的網站。筆者以前的一家客戶就在采取這樣的操作。他們為了配合廣告宣傳,在自己的網站上做了一個市場有獎調研活動。他們通過郵件的形式,將這個活動的信息發給客戶。客戶只要通過點擊郵件中的鏈接(如被設計成一個按鈕),就可以直接打開企業的網站參加活動。這個看起來很簡單的需求,其實隱藏著比較大的安全隱患。一不小心,企業的這種行為,就會成為替罪羊。
一、安全隱患舉例
當用戶接收到帶有鏈接的郵件時,一般都會比較小心。如果郵件的發送者是陌生人的話,可能不怎么會去點。即使沒有意識到可能有安全陷阱,也會認為這是一封垃圾郵件,而將其刪除。但是,如果這個郵件是認識的人發過來的,如是自己的客戶或者供應商,那么情況就另當別論了。用戶往往會去點擊,以查看是否有重要的信息。
此時用戶一點擊這個鏈接,災難就可能降臨了。如果這個用戶的安全意識比較強,在客戶端上安裝了防火墻或者殺毒軟件并已經升級到了最新版本,那么系統就會提示你打開的Web網頁可能有木馬。如果沒有安裝,那么在打開網頁的同時,木馬、病毒等也會悄無聲息的在用戶的后臺運行。
此時用戶就可能會打電話給合作伙伴投訴。其實此時這個合作伙伴也可能還蒙在鼓里。這個活動確實是有的,但是他們當然不會自己砸自己的招牌,在自己的網站中掛載木馬或者病毒,來引起客戶或者供應商的不滿。
二、安全隱患分析
其實這是一種比較典型的通過Web與郵件結合使用來傳播木馬與病毒的一種手段。此時網頁還是原來的網頁,有家還是原來的郵件。只是攻擊者在這里加入了一點“調料”。如下圖所示:
在用戶的郵件中有一個按鈕。只要用戶點擊這個按鈕,就可以打開企業的Web網站。其實這個按鈕就是一個網絡連接。現在攻擊者點擊這個鏈接后,其實第一次打開的并不是企業的網頁,而是其偽造的一個網頁。同時在這個網頁代碼中,會再去打開企業搞活動的網頁,而將自己偽造的網頁隱藏起來。注意,在這個過程中,偽造的網頁就會像用戶的主機中下載各種各樣的木馬與病毒。從安全的角度講,這封郵件本身是沒有病毒的。所以不會被企業的防火墻攔截。只有當用戶點擊郵件中的鏈接,從偽造的網頁中下載木馬時,防火墻才能夠發覺并提醒用戶。在這種情況下,用戶就覺得是企業的網頁在作怪。其實這是一個天大的冤枉。大部分情況是因為郵件中的URL鏈接被篡改所導致的。
另外一種可能就是攻擊者直接在企業的網站上開刀。如攻擊者通過各種攻擊手段獲得網站的管理員權限之后,就可以在企業的Web頁面中添加惡意代碼。如從其他網站上下載木馬或者直接使一個木馬代碼。當用戶通過鏈接打開這個活動業面時就會中招。此時就會辜負其他用戶對企業的信任,從而成為了一只無辜的替罪羊。
三、安全隱患的防護
這種Email與Web系統結合使用而導致的安全隱患,防護起來具有一定難度。主要是因為安全人員很難通過自查的方式來發現這個安全隱患。從以上的分析中可以看出,其攻擊點只要有兩個。一是郵件中的URL鏈接,另外一個就是企業的Web網頁。只要其中有一個被攻擊了,就會造成上面所分析的后果。既然這存在這么大的安全隱患,那么企業能否放棄這種方式呢?其實這也不現實。因為根據企業的反饋來看,通過這種形式來推廣企業的品牌形象是一個非常有效的方法。不僅成本便宜,而且比價具有針對性。這就給安全人員一個新的挑戰,如何來解決這個安全問題呢?對此筆者有如下幾個安全建議。
一是不要使用按鈕,而直接使用鏈接。如果使用按鈕,那么即使攻擊者更改了URL鏈接,管理員也很難發掘這個中更改的行為。如故直接使用URL鏈接地址,而不是按鈕,那么這種情況就可能有所改觀。如用戶在發送郵件的時候,也同時發送給自己。查看自己收到的URL鏈接,可以初步判斷這個鏈接有沒有被更改過。這是一個比較初級的方法,但是也是一個行之有效的手段。
二是需要追蹤。這種攻擊有一個顯著的特點,就是攻擊的直接受害者并不是企業自己,而是信賴企業的合作伙伴,包括供應商、客戶等合作伙伴。當其他用戶發現這個網站有問題時,企業的Web管理員很有可能還一無所知。由于Web管理員后之后決,就導致了受害用戶的增加。筆者建議,對有這些具有推廣Web網站性質的郵件,安全管理人員應該給與特殊的關注,如需要加強后續的追蹤。其實這個追逐也比較簡單,只需要管理員在后續的工作中,自己去點擊一下,看看有沒有問題。當然前提是客戶端安裝了殺毒軟件并已經將其升級至最新版本的情況下。
三是完善網頁代碼的編寫。以上這種攻擊,又被稱之為XSS攻擊。XSS攻擊其主要采用的是頁面文件編寫不完善所造成的。為此一般很難通過現有的安全產品(如防火墻等等)來解決。其最直接的方式就是對企業現有的Web頁面文件進行完善。筆者這里建議,在編寫Web頁面文間時,最好采用多層式的編碼結構。這可以在很大程度上完善頁面文件,以提到防范XSS攻擊的目的。筆者再強調一下,針對這種攻擊,通常情況下的安全防護工具并不能夠起到很大的效果。
四是需要仔細分析日志。從企業的網站日志中,一般會詳細記錄訪問的相關信息。如用戶的訪問地址等等。在上面的攻擊原理中,我們會發現,當超鏈接被更改后,攻擊者會利用一個假冒的網頁去打開目標網頁。現在如果通過日志發現,很多訪問者都是來自相同的地址(仿冒的訪問者),那么就可以判斷這些訪問存在著異常的情況。此時Web安全人員就需要仔細核對相關的內容,判斷是哪里存在問題。
五是選擇一跨好的網頁開發工具。上面筆者談到過,發生這種工具很多情況下是由于Web頁面自身的漏洞所造成的。對于一個比較復雜的網頁,要通過手工檢查來發現這些漏洞,具有一定的難度。其實在選擇網頁開發工具時,我們可以有意識的選擇一些安全性比較高的開發平臺。如VS2010等等。這些平臺往往會帶有一些安全自檢工具。通過這些工具,可以發現網頁頁面中存在的已知漏洞。在發布之前就做好相關的安全自檢工具,就能夠將這種攻擊檔在門外。
其實上面的這些安全措施主要體現了兩個原理。一是攘外必先安內。要避免外部的工具,就需要先保障自身的安全。俗話說,蒼蠅不叮無縫的雞蛋。如果頁面文間本身不存在安全問題,這種攻擊也只能夠望洋興嘆了。二是要最后追蹤與分析工作。任何攻擊都有跡象可循。及早發現攻擊的跡象,并將其扼殺在萌芽狀態,可以減少受影響的用戶。亡羊補牢,為時未晚。
【編輯推薦】