用Firesheep教你怎樣應對會話劫持(附下載)
Firesheep是西雅圖的一位軟件開發人員Eric Butler編寫的一個火狐瀏覽器插件。他說,他編寫這個擴展功能是為了展示在某些網站(如Twitter、Facebook、Flickr、Tumblr和Yelp)中的安全漏洞。這個擴展功能允許人們以Cookie的方式查看在公共網絡上交換的信息。當人們登錄Firesheep數據庫中存儲的26個網站的時候,他們的信息就容易被竊取。
在隱私保護人士憤怒之前,這個黑客工具還不是那樣壞。因為Firesheep使用從Cookie中收集的信息,它不會向任何探聽者泄露密碼,僅僅是一個人的用戶名和進程編號ID。因此,雖然人們也許會看到敏感的信息(如這個人的Facebook賬戶),但是,他們不能做需要密碼的任何事情(例如,在亞馬遜網站,他們不能購買任何商品或者訪問信用卡信息)。
而且,Firesheep僅限于破解在同一個網絡上的人。因此,如果你在一個有密碼保護的網絡上,只有在那個網絡上的人才能夠得到你的信息。當然,這意味著當你在一個開放的或者公共WiFi網絡上的時候,你應該格外小心。
下載鏈接:http://down.51cto.com/data/169547
黑客可以用Firesheep竊聽沒有加密的無線網絡上的數據,并可以竊取那些登錄到流行站點上的其它用戶的會話。黑客用這個工具就可以訪問用戶訪問流行網站時所使用的賬戶,如大名鼎鼎的Facebook賬戶等。其實,該工具就是利用了一個業內人士都熟知的一個漏洞:會話支持。因為到目前為止,還沒有完全解決這個漏洞。
在本文中,筆者將探討Web認證背后的機制,因為正是這種認證使得會話劫持可以成功。還要討論Firesheep如何利用這些漏洞,最后文章還要討論網站管理員、網站開發人員、終端用戶可以采取的保護措施。
WEB認證基礎知識
1、用戶訪問需要認證的網站。
2、用戶提供一個用戶名和口令進行驗證。
3、網站驗證用戶口令,如果通過,則準許用戶登錄進入,并將一個cookie提供給用戶的瀏覽器。此cookie用于唯一的標識會話。
4、用戶繼續訪問網站。在用戶請求一個新網頁時,瀏覽器都會發送cookie和用戶請求,提醒Web服務器:該請求是前面的認證連接的一部分。
在多數情況下,Web開發人員和網站管理員都會使用HTTPS加密來保護這個過程的第二步,他們都知道如果其它人員能夠訪問其他用戶的用戶名和口令,就可以輕易地獲得訪問權。在許多情況下,他們會轉而使用一個不加密的HTTP連接,以便于實現Web通信的其余部分,其中也包括cookie的交換。
會話劫持攻擊和Firesheep
下面談談會話劫持攻擊。如果竊聽者成功地截獲了發生在第四步的任何通信,他就可以輕易地訪問cookie。一旦知道了cookie的內容,竊聽者就可以偽造一個HTTP請求,使用cookie訪問用戶的賬戶。
許多大名鼎鼎的網站(包括Facebook等社交網站)都易于受到這種攻擊的危害。但網絡銀行及一些電子商務站點會加密其所有的通信。劫持社交網絡站點的會話對一般人而言根本沒有什么實際意義。
希望竊取他人會話的家伙首先都需要連接到一個開放的無線網絡,再啟動Firesheep,然后等著有漏洞的用戶出現在屏幕上。如果出現了一個有吸引力的目標,攻擊只需單擊他的名字,就可以完全訪問該用戶的會話。
防御Firesheep等會話劫持攻擊
防御Firesheep及其它會話劫持攻擊的最佳防線在于WEB開發人員和WEB服務器的管理人員。如果你開發的WEB應用程序依賴于cookie來實現會話管理,就要確保以一種安全方式來管理會話。下面介紹幾個方法:
1、僅通過SSL來發送cookie。如果你要求瀏覽器在傳輸之前加密cookie,在傳輸中就不易遭受攻擊。
2、要限制能夠利用cookie的應用程序。你還應當設置cookie,要盡可能地限制其使用。至少,要將cookie設置為僅對可信域中的系統可用。理想情況下,還應僅允許可信域中的特定服務器訪問這些cookie,還有設置路徑(path)選項,僅準許特定的應用程序可以訪問cookie。
3、限制cookies僅能使用HTTPS。你還可以使用httponly標記,要求瀏覽器僅能通過HTTP/HTTPS直接將cookie提交給服務器。這會防止攻擊者通過JavaScript攻擊訪問cookie。
如果你是一位終端用戶,你可能無法控制cookies的配置方法,但你可選擇下面的一些措施:
1、限制不提供HTTPS連接的網站的使用。
2、通過VPN建立連接。如果你在一個有風險的地方上網,并且擔心竊聽者會執行會話劫持攻擊,可以試著連接到工作場所的VPN(虛擬私有網絡),并使用此連接來加密你的網絡通信。
結束語
Firesheep所代表的絕不僅僅是一種軟件威脅。它以一種WEB應用程序執行會話管理的方式突顯了一種底層漏洞。雖然有一些臨時的解決方案可以幫助企業限制這種工具所造成的短期損害,但WEB應用程序社團應當緊密協作,并開發可以解決會話劫持攻擊的長期解決方案。否則,在下一個黑客工具出現之后,我們依舊容易遭受攻擊。