ニュース
「Google Chrome 92」はフィッシングの検出が50倍高速化、バッテリー消耗も少なく
総CPU時間は約1.2%削減。5秒以上かかったリクエストの割合は16.25%から1.6%未満に
2021年7月30日 06:45
「Google Chrome 92」ではフィッシング検出アルゴリズムが改良され、処理速度が50倍に向上し、バッテリーの消費量も少なくなっているとのこと。米Googleは7月20日(現地時間)、公式ブログ「Chromium Blog」の記事でその詳細を解説している。
「Chrome」では新しいWebページへ遷移するたびにその「特徴」を評価し、それがフィッシングサイトのものと一致するかどうかをチェックしている。具体的には閲覧したページで使われている色とその頻度(カラープロファイル)を算出しているようだ。カラープロファイルが既知のフィッシングサイトと一致すると、「Chrome」は個人情報を保護し、認証情報を公開しないように警告する。
ここで問題となるのが、この負荷の高いイメージ解析処理をどのように効率化するかだ。「セーフ ブラウジング」機能が有効になっている場合、「Chrome」はプライバシー保護のためWebブラウザーのイメージを外部に送出できない。そのためすべての画像解析処理をローカルで完結させる必要がある。しかし、最近のモニターは高解像度化が著しく、イメージ解析処理の負荷は高まる一方だ。
「Chrome」はイメージを解析する際、いわゆる「ピクセルループ」と呼ばれるループ処理で各ピクセルを評価する。最近のモニターでは1,400万個以上のピクセルを持つものもあり、この単純な操作だけでもかなりのCPUパワーを消費する。また、各ピクセルのRGB値(赤・緑・青の三原色)をカウントし、3つの異なるハッシュマップ(連想配列、ここではデータベースのようなもの)のうちの1つに格納する処理にも無駄があった。
そこで「Chrome 92」では、3つのハッシュアップを管理するのを止め、1つにまとめて色のインデックスを作成する方法に改められた。また、連続したピクセルはハッシュマップでカウントされる前に合計されるようになった。背景色が統一されているサイトではハッシュマップのオーバーヘッドはほぼゼロになる。
こうした改善により、「Chrome 92」のイメージベースのフィッシング分類処理は、50パーセンタイルでは最大50倍、99パーセンタイルでは2.5倍高速になった。平均すると、これまで1.8秒ほどかかっていたイメージ解析処理が、たったの100ミリ秒に短縮されるという。
アルゴリズムの変更はわずかだが、「Chrome」のレンダラープロセスとユーティリティプロセスすべてで使用される総CPU時間は約1.2%削減。全体的なパフォーマンスの向上、バッテリー消費の削減、冷却ファンのノイズ低減というメリットが得られた、また、フィッシング判定にかかる時間も大幅に削減。5秒以上かかったリクエストの割合は16.25%から1.6%未満となり、「Chrome」はユーザーが悪意のあるWebサイトにパスワードを入力してしまう前にそれをブロックできるようになった。