[目次]
非セキュアコンテキストなWebサイトからプライベートアドレスへのHTTPリクエストをブロックする「Secure context restriction for external requests」の導入が進められています。
概要
インターネットに公開されているWebサイトから、プライベートアドレスに対するCSRF攻撃が問題になっています。ネットワーク機器やプリンタの管理画面で使われるプライベートアドレスにリクエストを行わせることで、攻撃が行われます。
例えば下記のリンクを埋め込むことで、プライベートネットワークを指すrouter.local にHTTPリクエストを行わせます。
<iframe href="https://admin:admin@router.local/set_dns?server1=123.123.123.123"> </iframe>
具体的には下記のドキュメントを御覧ください
そういった攻撃を防ぐ仕組みが現在検討されています。
- CORS-RFC1918
- Secure context restriction for external requests
現在、最初のステップとして後者の「Secure context restriction for external requests」が Chromeで導入が進められているので簡単に見ていく。
Secure context restriction for external requests
CORS-RFC1918に先んじて、「Secure context restriction for external requests」がChrome 87のdev/canary/beta版で導入が予定されています。
これは、非セキュアコンテキストのサイト(http://なサイト)から、プライベートアドレス, ループバックアドレスに対するリクエストをブロックする機能です。
Chrome Canaryではabout:flagsから「Block insecure private network requests.」を有効にすることで動作を確認できます。
実際に、http://example.comで、デベロッパーツールからプライベートアドレスに対してリクエストを送信させています。
このように ERR_INSECURE_PRIVATE_NETWORK_REQUEST になってリクエストがブロックされている事が確認できます。
CORS-RFC1918
なおCORS-RFC1918 については、以前書いたとおりです
asnokaze.hatenablog.com
W3Cのミーティングでは、Chromeで実装が進められている事が書かれています
https://github.com/w3c/webappsec/blob/master/meetings/2020/2020-09-15-minutes.md#cors-rfc1918
動作確認できるようになったらまた記事を書ければと思います。