アップデートバイナリが、さらに小さく
Chromeがバイナリ差分で新アルゴリズム実装
2009/07/17
グーグルのChromeチームは7月16日、Chromeの自動アップデートで使われるバイナリアップデートに新たなアルゴリズムを実装したことを明らかにした。実際の例として、実行形式のフルアップデートで10MBの容量が必要だったものが、従来の差分方式で704KB、今回発表した新方式では78KBにまで縮小したという。
Chromeには自動アップデートの仕組みが組み込まれており、脆弱性の報告などがあると、これに対応するパッチを当てたバージョンをChromeユーザーにプッシュすることができる。これにより攻撃者が脆弱性を利用する時間が短くなるため、安全性が高まる。
グーグルが公開している各ブラウザのバージョンアップ適用率の時系列での推移(出典)セキュリティパッチなどは、ソースコードレベルで数行の変更であることも多いため、新バージョンの実行バイナリを丸ごとユーザーに送りつける代わりに、差分だけ送ることで転送量を抑えることができる。これまでChromeチームではbsdiffと呼ばれるバイナリ向け差分ツールを使っていたが、今回これを「Courgette」(ズッキーニ)と呼ぶ新アルゴリズム採用のものに置き換えたという。
コンパイル済みの実行バイナリは、ソースコードを数行変更するだけで大きく変化してしまうという問題があったという。これはコンパイラがバッファオーバーランを防止するために挿入するコードによって命令列が大きく移動してオフセットがずれるため。これを解決するためCourgetteでは、コンパイル後のバイナリ間で差分を取るのではなく、いったん原始的なディスアセンブルを行って、内部ポインタをシンボルに戻して、それをベースに差分を取るという。
Chromeチームでは、ユーザー側にプッシュする差分データがより小さくなることで、脆弱性の存続時間を短くできるとともに、帯域の限られた接続環境のユーザーには、よりよいユーザー体験をもたらすことができるとしている。
関連リンク
関連記事
情報をお寄せください:
- クラウド利用の根本にある1つの“問い” (2010/9/6)
いまだ定石のないクラウドセキュリティ。このコラムでは、さまざまな立場のプレイヤーがリレー形式で“クラウドセキュリティ”を語ります - Webを見るだけで――ここまできたiPhoneの脅威 (2010/8/26)
スマートフォンも常にアップデートを――iPhoneだって例外ではありません。iOSへの攻撃例を動画で解説します - 日本的なリスク回避策と、それに代わる技術 (2010/8/20)
持ち運べるデバイスには、さまざまなリスクがある。そのリスク回避の歴史と、回避のための技術動向を3回にわたり解説する - “感染後をケアするエンジン”の必要性 (2010/8/11)
ウイルスを検知する4つのエンジンの裏で、ひっそりと働くエンジンがある。エンジニアはなぜ、その製作に取り組んだのか
|
|
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報








