Ars Technicaは2022年1月、Googleが10年以上にわたって有効だった種類の攻撃に対処していると報じた。それはブラウザを足がかりにして、訪問者のネットワーク上のルーターやその他のデバイスに侵入する攻撃である。ブラウザはデフォルトでローカルネットワーク内のほぼあらゆるリソースに接続できるため、クロスサイトリクエストフォージェリ攻撃が生じてきた。2014年のある事件では、ハッカーが30万台以上のルーターのDNS設定を変更した。2016年にはDNSChangerマルウェアが同じ経路を使ってNetgear、D-Link、Comtrend、Pirelliのルーターを攻撃した。

修正策はprivate network accessと呼ばれる仕様である。公開サイトがプライベートネットワーク内のエンドポイントを求める際、Chromeは新しいヘッダーAccess-Control-Request-Private-Network: trueを付けたプリフライトリクエストを送信し、デバイスがAccess-Control-Allow-Private-Network: trueで応答した場合にのみリクエストが通る。これはCORSプロトコルを基盤としている。

展開は段階的に行われる。Chrome 98からブラウザはプリフライトを送信するが、失敗してもDevToolsの問題パネルに警告が記録されるだけで、リクエストは依然として実行される。Chrome 101前後で、試験で重大な破損が示されなければ、許可が必須となる。Googleのエンジニアは、その時点で失敗したプリフライトはフェッチの失敗につながり、記録された警告によってサイト所有者が事前にサイトをテストできると述べた。

CORSを再利用する。公開サイトにプリフライトを送信させ、リクエストが通る前に内部デバイスが明示的に許可を与えるようにする。

ブラウザは多くのサービスに到達する必要があるため、デフォルトでローカルネットワーク内のあらゆるものに到達でき、攻撃者に悪用される。

ルーターやプリンターはしばしば厳重に保護されているため、攻撃者は代わりにブラウザを経由する。

CORSを再利用することで、馴染みのある仕組みと小さな仕様変更で済む。

ログ記録のみの警告により、Googleは強制適用前に何が壊れるかを確認できる。

長く開いていた穴を段階的に塞ぐ。まずログ記録のみにして、ルールを必須にする前に何が壊れるかを確認できるようにする。

当時の計画は、Chrome 98で警告を出し、Chrome 101前後で許可を必須とすることであり、その結果がインターネットの大部分が壊れることを示さない場合に限られていた。Arsはその後何が起きたかを報じていない。

出典をたどる

出典

  1. New Chrome security measure aims to curtail an entire class of Web attack Ars Technica · arstechnica.com ·