ADVERTISEMENT
Google正在測試一項新功能,以防止惡意的公共網站透過使用者的瀏覽器轉向攻擊內部、私人網路上的裝置和服務。
更簡單地說,Google計劃防止網際網路上的惡意網站攻擊造訪者的裝置(如印表機或路由器)或是使用者家中的電腦。人們一般認為這些裝置是安全的,因為它們沒有直接連接到網路並且受到路由器的保護。
「為了防止惡意網站透過使用者代理的網路位置進行攻擊,攻擊裝置和伺服器,由於位於使用者的本地內部網路或使用者裝置上,因此可以合理地認為它們從整個網路上是無法造訪的。」Google在支持文件中描述了這個想法。
ADVERTISEMENT
阻擋對內部網路的不安全請求
所提出的「私有網路存取保護」功能,(在Chrome 123中處於「只有警告」模式),將在公共網站(稱為「網站A」)指示瀏覽器存取使用者私有網路內的另一個網站(稱為「網站B」)之前進行檢查。
檢查包括驗證請求是否來自安全上下文,並發送初步請求以查看網站B(例如在回送地址上運行的HTTP伺服器或路由器的網路介面的設定)是否允許通過特定稱為 CORS 預檢請求的公共網站進行存取。
與現有的子資源和工作人員保護不同,此功能專門關注導航請求。其主要目的是保護使用者的私有網路免受潛在威脅。
ADVERTISEMENT
在Google提供的一個例子中,開發人員展示了公共網站上的HTML iframe執行CSRF攻擊,該攻擊會更改造訪者本地網路上路由器的 DNS 配置。
<iframe href="https://admin:admin@router.local/set_dns?server1=123.123.123.123">
</iframe>
在這項新提議下,當瀏覽器檢測到公共網站試圖連接到內部裝置時,瀏覽器將首先向該裝置發送預檢請求。
ADVERTISEMENT
如果沒有回應,連接將被阻止。 但是,如果內部裝置做出回應,它可以使用 「Access-Control-Request-Private-Network」標題告訴瀏覽器是否應該允許該請求。
這允許自動阻止對內部網路上的裝置的請求,除非裝置明確允許來自公共網站的連接。
在警告階段,即使檢查失敗,功能也不會阻止請求。相反,開發人員將在DevTools控制台中看到一個警告,給他們時間在更嚴格的執行開始之前進行調整。
ADVERTISEMENT
但是,Google警告說,即使請求被阻止,瀏覽器的自動重新載入將會允許請求通過,因為它將被視為內部=>內部連接。
「在這種情況下,私有網路造訪保護將不適用,因為該功能旨在保護使用者的私有網路免受更公共的網頁頁面的侵害,」Google警告說。
為了防止這種情況,Google建議如果之前由於私有網路造訪功能而阻止了某個頁面,則阻止該頁面的自動重新載入。
當這種情況發生時,瀏覽器將顯示一條錯誤訊息,指出使用者可以透過手動重新載入頁面允許請求通過,如下所示。
這個頁面將包括一條新的Google Chrome錯誤消息,「BLOCKED_BY_PRIVATE_NETWORK_ACCESS_CHECKS」,告訴使用者「該頁面因為沒有通過私有網路存取安全檢查而無法載入」。
這項安全升級背後的想法
這項發展背後的動機是防止網際網路上的惡意網站利用使用者內部網路上的裝置和伺服器的漏洞,這些裝置和伺服器以前被認為是安全的,不會受到來自網際網路的威脅。
這包括防止未經授權存取使用者的路由器和在本地裝置上執行的軟體介面——隨著越來越多的應用程式部署假設不存在保護的網路介面,這是一個日益增長的擔憂。
根據說明文件,Google從2021年開始探索這個想法,目的是防止外部網站對私人網路(本地主機或私人 IP 位址)內的資源發出有害請求。
雖然直接目標是減輕像「SOHO Pharming」攻擊和CSRF(跨站請求偽造)漏洞這樣的風險, 但該規範並沒有將目標設置為保護本機服務的 HTTPS 連接——這是安全整合公共和非公共資源的必要步驟,但超出了規範的目前範圍。
ADVERTISEMENT