要說清楚Chrome測試的這個內部網絡保護功能我們得先舉個例子(簡要說明,不是完整流程,具體可以參考CSRF即跨站請求偽造)幫助大傢理解,比如說藍點網使用的內網環境中有一臺存在漏洞路由器,這個漏洞可以通過本地代碼執行(比如註入之類的),但我長期沒有升級固件修復這個漏洞。
黑客要想利用這個漏洞入侵的話並不容易,但可以通過瀏覽器進行中轉,比如在某個網站上嵌入一段執行這段惡意代碼的內容,當我瀏覽這個網頁時,這段惡意代碼就可以執行。
以此類推,黑客可以尋找大量的已知漏洞並制作惡意代碼然後放在一些熱門網站上,這樣在大傢瀏覽時,總有一定的概率碰到內網中恰巧有受漏洞影響的設備,進而被入侵。
內部網絡保護功能:
Chrome 新推出的內部網絡功能就是用來攔截此類攻擊的,谷歌給出的說明是:為防止惡意網站通過用戶代理的網絡位置來攻擊設備和服務,這些設備和服務合理地架設它們駐留在用戶的本地內聯網或用戶計算機上,無法從整個互聯網訪問。
為此谷歌推出內部網絡保護功能,禁止從公網訪問的跨站點訪問專用網絡地址,例如 127.0.0.1 或 192.168.1.1 這類地址。
Chrome 將在加載網頁時進行預檢查驗證請求是否來自安全的上下文以及發送初步請求檢測要訪問的站點是否為內部地址 (例如內網搭建的 HTTP 服務器,路由器這類可以通過本地 IP 訪問的都算)。
比如下面這個嵌入的 iframe 框架可以用來執行 CSRF 攻擊從而修改本地網絡上的路由器 DNS:
<iframe href="https://admin:[email protected]/set_dns?server1=123.123.123.123">
新的錯誤消息:
對於此類訪問請求被攔截時,Chrome 將會顯示錯誤消息:BLOCKED_BY_PRIVATE_NETWORK_ACCESS_CHECKS
這就代表當前訪問的網站嘗試訪問內部地址,當用戶看到此類提示的時候就應該提高警惕,當心這個網站本身就存在某些問題。
最後,此功能目前尚未正式推出,接下來會在 Chrome 各個通道中逐漸測試。