技術宅
大家知道瀏覽器地址欄是我們訪問網(wǎng)絡的入口,一旦其安全性存在紕漏,無疑會給我們的上網(wǎng)安全帶來極大的威脅。那么瀏覽器廠商是如何幫助用戶在上網(wǎng)時做出正確和安全的決策?簡單的地址欄背后又隱藏著多少安全秘密?了解背后的原理,就可以讓我們上網(wǎng)更安全。
網(wǎng)站怎么打開——了解瀏覽器訪問網(wǎng)站流程
一般情況下如果我們要訪問某網(wǎng)址,常規(guī)的方式都是通過在地址欄輸入網(wǎng)站的域名進行訪問,顯然如果地址欄上出現(xiàn)了安全問題,后續(xù)所訪問的Web頁面,可信任的體系將全部崩塌。那么從地址欄開始直到打開訪問頁面,在瀏覽器的背后又經(jīng)歷了什么?下面以訪問百度頁面為例。
當我們在地址欄輸入www. baidu.com后,瀏覽器會查找域名對應的服務器IP地址。首先在瀏覽器緩存查找,如果緩存里沒有則查找系統(tǒng)目錄下的Hosts文件,根據(jù)其中的表名查找對應的IP。如果上面都沒有找到,那么就向本地DNS服務器查詢,還沒有的話本地DNS會請求ROOT DNS Server(根域名服務器)查詢,最終找到www.baidu. com所對應的IP。
找到IP地址后瀏覽器會根據(jù)IP地址給目標服務器發(fā)送HTTP請求,請求被百度服務器響應后會建立Socket連接,然后瀏覽器根據(jù)HTTP解析響應的內容,進行解析、布局和渲染。比如加載網(wǎng)站首頁圖片、相應的代碼等內容,加載完成后就會完整顯示百度首頁內容了(圖1)。
安全背后——地址欄常見安全防護手段
通過上面的描述,大家了解了瀏覽器是怎么通過地址欄訪問一個頁面的。那么瀏覽器在整個訪問過程中,在地址欄會出現(xiàn)什么安全隱患?瀏覽器廠商又采用什么樣的防護手段來保障我們的上網(wǎng)安全?
從上述網(wǎng)站訪問流程中我們知道,在地址欄輸入網(wǎng)址后瀏覽器會從本地緩存和Hosts文件中查找IP地址。因為緩存會被清空,我們在訪問一個新的頁面的時候大多是從Hosts文件開始查找,Hosts文件則是從表名查找對應的IP。因此我們訪問網(wǎng)站第一個威脅就來自Hosts文件,一些黑客或者木馬會通過更改表名和對應的IP,從而實現(xiàn)域名轉向。比如添加一個“173.252.193.47 www.taobao.com”語句,這樣即使在地址欄輸入淘寶域名,但是打開的卻是其他網(wǎng)站頁面(圖2)。
這類劫持的大多是我們常用的域名如淘寶、網(wǎng)銀,網(wǎng)站則主要用來釣魚。為了避免這類威脅,現(xiàn)在瀏覽器廠商大多通過內置釣魚插件、服務器收集常見釣魚網(wǎng)站、網(wǎng)友上傳舉報收集等來進行防范。比如QQ瀏覽器在訪問這類網(wǎng)站的時候會進行攔截,提示網(wǎng)站安全性有問題(圖3)。
如果DNS解析沒有問題,那么在地址欄輸入正確域名后,瀏覽器又會通過什么手段來保護我們的上網(wǎng)安全?
對于大家經(jīng)常需要訪問的重要網(wǎng)站,如在線支付、網(wǎng)銀這類網(wǎng)站,現(xiàn)在主流的瀏覽器大多使用安全指示符來進行標示。比如網(wǎng)銀大多使用“https://”加密形式,在地址欄輸入這類網(wǎng)站時,在網(wǎng)址的左側就會出現(xiàn)一個小鎖標記,表明該網(wǎng)站使用了證書加密,點擊小鎖可以看到網(wǎng)站使用的證書。這樣對于網(wǎng)銀等網(wǎng)站,我們只要通過查看是否有小鎖標記就可以很方便地確認真?zhèn)危▓D4)。
不過因為證書需要向特定的證書頒發(fā)機構認證,并且需要支付一定的證書費用,因此一些使用https://加密的網(wǎng)站如果使用自己的證書加密,那么也有可能被瀏覽器認為是危險網(wǎng)站。典型網(wǎng)站如12306的在線售票頁面https://kyfw.12306.cn/ otn/,因為其使用的證書默認沒有被瀏覽器信任,所以在Edge瀏覽器打開后會顯示為不安全網(wǎng)站(圖5)。
為了避免此類情況的發(fā)生,現(xiàn)在很多主流瀏覽器如搜狗瀏覽器、QQ瀏覽器等則引入了云網(wǎng)址安全檢測服務,對于用戶經(jīng)常訪問(當然包括那些沒有使用Https加密的網(wǎng)站)或者社會知名的網(wǎng)站(如12306售票網(wǎng)站),瀏覽器廠商會預先對這類網(wǎng)站進行檢測,并將檢測結果放置于云服務器上。這樣用戶在瀏覽器地址欄輸入這類網(wǎng)址時,瀏覽器就會連接到云服務器進行檢測,如果服務器有該網(wǎng)站的數(shù)據(jù),那么則會在地址欄出現(xiàn)一個綠色字符標記,點擊后可以展開詳細信息,查看訪問網(wǎng)站的安全信息(圖6)。
訪問安全——不能僅靠瀏覽器廠商
如上所述,瀏覽器主要通過防釣魚和安全網(wǎng)址標示的方法來保護我們訪問網(wǎng)站的安全。顯然要更好地保護訪問安全,僅靠廠商們這些防護措施遠遠不夠。因為現(xiàn)在釣魚網(wǎng)站層出不窮,瀏覽器主要是通過釣魚網(wǎng)站數(shù)據(jù)庫和網(wǎng)友舉報進行甑別,這樣難免有漏網(wǎng)之魚。特別是對一些不知名網(wǎng)站的仿冒,瀏覽器基本無法識別。
因此對于常用網(wǎng)站的訪問,建議在首次訪問確認是正確官網(wǎng),將其添加到收藏夾備用,下次直接在收藏夾打開訪問,打開頁面時可以參考瀏覽器標示進一步確認。如果發(fā)現(xiàn)訪問被劫持,則應檢查Hosts文件是否被篡改。
對于一些不知名或者小網(wǎng)站的訪問,如訪問一些地方性小銀行,則應該確認網(wǎng)址后再按回車鍵訪問,如網(wǎng)址應該是根據(jù)網(wǎng)點官方宣傳資料上的地址輸入。如果通過百度搜索,則應該只訪問查詢網(wǎng)站后面有“官網(wǎng)”標記的網(wǎng)頁。當然還要養(yǎng)成良好的上網(wǎng)習慣,如不隨意打開QQ傳輸網(wǎng)址、瀏覽不明網(wǎng)站等。