Inception bar:一種新的釣魚方法
歡迎來到世界第七大銀行滙豐銀行!是的,上面圖片中的網站並不是hsbc.com,而是我自己開發的網站jameshfisher.com。但是,當你用Chrome移動版瀏覽器上下滑動瀏覽這個網站時,會發現除了頁面內容不合理,其餘都很像hsbc.com,尤其是地址欄,明顯就是hsbc.com。本文將介紹這種釣魚網站是如何產生的以及針對這類釣魚網站的防禦措施。
在移動版Chrome瀏覽器中,當用戶向下滾動時,瀏覽器會自動隱藏URL欄,將URL欄佔用的屏幕空間還給網頁。而對於大多數用戶來說,URL欄的這個位置可以說是瀏覽器中最可信的部位,如果用戶想要判斷你正訪問網站的網址是什麼,大多數人第一時間看看URL欄。因此,瀏覽器的URL欄也成了釣魚攻擊的重點部位,研究人員發現了一種偽造「URL欄」的方法——利用inception bar。
一般,當用戶在Chrome瀏覽器中下滑時,Chrome會重新顯示真實的URL欄,而非一直隱藏。但是可以通過一種方式來欺騙Chrome,讓瀏覽器永遠不會顯示真實的URL欄!一旦Chrome隱藏了URL欄,就可以整個頁面內容移動到「scroll jail」中——這裡研究人員利用了overflow:scroll。當用戶用手指上下滑動時,會誤以為認為他們是在當前頁面中向上滾動,但事實上用戶只是研究人員設置的「scroll jail」中滑動!就像是做夢中一樣,用戶以為他們在瀏覽器中,但實際上是在瀏覽器中的一個區塊中。
POC視頻如下:https://d33wubrfki0l68.cloudfront.net/783bd862c3df19b6fb4eac0b4f687d598c957891/a3915/assets/2019-04-27/demo.webm
從POC視頻中,還有一個問題沒有解決,那就是一旦用戶滾動到「scroll jail」的頂部,Chrome就會重新顯示URL欄。為了解決這個問題,研究人員在「scroll jail」的頂部插入了一個填充元素。如果用戶嘗試滾動到所填充的元素,就自動向下滾動到釣魚頁面的開頭!這一套操作看起來很像頁面刷新。
在POC中,研究人員截取了HSBC網站的chrome瀏覽器的URL欄,然後插入到該web頁面中。因為頁面可以檢測使用的瀏覽器,因此可以為對應的瀏覽器偽造一個inception bar。而且該inception bar還可以是交互的,即使用戶沒有被當前頁面所欺騙,仍然可以在用戶在inception bar輸入gmail.com之後嘗試進行下一次欺騙。
這是一個非常嚴重的安全漏洞嗎?是的,因為作為inception bar的創建者,研究人員發現自己也被欺騙了。所以研究人員猜測該技術可以欺騙更多的用戶。用戶驗證真實URL的唯一機會在滑動頁面前的頁面載入中。
如何應對此類攻擊呢?
研究人員目前也沒有應對的方法。對於Chrome瀏覽器的這個安全漏洞,研究人員認為補丁是一個最大化屏幕空間利用和保留可信屏幕空間之間的一個平衡。其中一個解決方案是在仍然沿用之前的小屏幕空間方法。最好的解決方法就是在Chrome隱藏URL欄時,做出提示,讓用戶意識到「URL欄當前已隱藏」。
TAG:嘶吼RoarTalk |