アップデートバイナリが、さらに小さく
Chromeがバイナリ差分で新アルゴリズム実装
2009/07/17
グーグルのChromeチームは7月16日、Chromeの自動アップデートで使われるバイナリアップデートに新たなアルゴリズムを実装したことを明らかにした。実際の例として、実行形式のフルアップデートで10MBの容量が必要だったものが、従来の差分方式で704KB、今回発表した新方式では78KBにまで縮小したという。
Chromeには自動アップデートの仕組みが組み込まれており、脆弱性の報告などがあると、これに対応するパッチを当てたバージョンをChromeユーザーにプッシュすることができる。これにより攻撃者が脆弱性を利用する時間が短くなるため、安全性が高まる。
グーグルが公開している各ブラウザのバージョンアップ適用率の時系列での推移(出典)セキュリティパッチなどは、ソースコードレベルで数行の変更であることも多いため、新バージョンの実行バイナリを丸ごとユーザーに送りつける代わりに、差分だけ送ることで転送量を抑えることができる。これまでChromeチームではbsdiffと呼ばれるバイナリ向け差分ツールを使っていたが、今回これを「Courgette」(ズッキーニ)と呼ぶ新アルゴリズム採用のものに置き換えたという。
コンパイル済みの実行バイナリは、ソースコードを数行変更するだけで大きく変化してしまうという問題があったという。これはコンパイラがバッファオーバーランを防止するために挿入するコードによって命令列が大きく移動してオフセットがずれるため。これを解決するためCourgetteでは、コンパイル後のバイナリ間で差分を取るのではなく、いったん原始的なディスアセンブルを行って、内部ポインタをシンボルに戻して、それをベースに差分を取るという。
Chromeチームでは、ユーザー側にプッシュする差分データがより小さくなることで、脆弱性の存続時間を短くできるとともに、帯域の限られた接続環境のユーザーには、よりよいユーザー体験をもたらすことができるとしている。
関連リンク
関連記事
情報をお寄せください:
TechTargetジャパン
- 無料サービスなら通信内容を記録してもいいの? (2012/1/13)
無料の公衆無線LANサービスが、ユーザーに無断で通信履歴を記録していたことが判明し、話題に - 攻撃はまるでレーザービーム (2011/12/26)
2011年に話題となった標的型攻撃は「人」という弱点ををねらい打ちにしました。では、人に教育さえしておけば防げるものなのでしょうか? - 見せたくないなら「持たせない」が鉄則! (2011/12/15)
逆コンパイル対策で難読化したのに、大事なデータが解析されちゃった? Androidアプリのセキュリティの道は深い - イベントの秋と盛り上がったプライバシー問題 (2011/12/13)
イベントが各所で開催され、賑わう一方で、プライバシー関連の話題が引き続き議論の焦点に
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
