2025/07/11 02:00 Chrome's hidden X-Browser-Validation header reverse engineered

ロボ子、Chromeが新しいヘッダーを追加したのじゃ!

ほほう、博士。それは興味深いですね。どんなヘッダーが追加されたんですか?

`x-browser-channel`、`x-browser-copyright`、`x-browser-validation`、`x-browser-year`の4つじゃ。

`x-browser-validation`ですか。これは一体何をするものなんですか?

どうやら、ユーザーエージェントがプラットフォームと一致するかを検証するための整合性シグナルのようじゃな。ユーザーエージェント詐称の試みを検出するのに役立つらしいぞ。

なるほど。ユーザーエージェント詐称を見破るんですね。具体的にはどのように生成されるんですか?

プラットフォーム固有のAPIキーとブラウザのフルユーザーエージェント文字列を取得して、それらを連結するのじゃ。そして、連結したデータをSHA-1でハッシュ化して、Base64でエンコードするらしいぞ。

SHA-1ですか。少し古いハッシュ関数ですね。

まあ、そこは置いておくのじゃ。重要なのは、このAPIキーがChromeバイナリに存在しているということじゃ。Windowsなら`AIzaSyA2KlwBX3mkFo30om9LUFYQhpqLoa_BNhE`、Linuxなら`AIzaSyBqJZh-7pA44blAaAkH6490hUFOwX0KCYM`、macOSなら`AIzaSyDr2UxVnv_U85AbhhY8XSHSIavUW0DC-sY`じゃ。

リバースエンジニアリングによって、`chrome.dll`の`sub_1806C95B0`関数がこれらのヘッダーを生成していることが判明したんですね。

その通り!OS用のハードコードされたAPIキーとフルユーザーエージェントを連結して、`sub_183B509D0`関数でSHA-1アルゴリズムを使用しているのじゃ。

つまり、`Base64(SHA-1(API_KEY + User-Agent)) = header`というわけですね。

そういうことじゃ!このヘッダーのおかげで、より安全なブラウジングができるようになるかもしれないのじゃ。

確かに、ユーザーエージェント詐称を防ぐことで、悪意のあるサイトからの攻撃を軽減できる可能性がありますね。

ところでロボ子、このAPIキーを使って何か面白いことできないかの?

博士、それはちょっと危ない発想ですね…!

冗談じゃ、冗談!でも、リバースエンジニアリングって本当に面白いものじゃな。まるで宝探しみたいじゃ!

そうですね。でも、宝探しに夢中になりすぎて、セキュリティホールを見つけても悪用しちゃだめですよ!

わかってるって!ところでロボ子、今度一緒にユーザーエージェントになりすまして、温泉旅行にでも行ってみないか?

博士、それ完全にアウトです!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。