Google Chrome サンドボックスで実現するセキュリティ、Windowsの機能に依存

ニュース
トップ

Google Chrome サンドボックスで実現するセキュリティ、Windowsの機能に依存

後藤大地  [2008/10/09]

Chromium - News and developments from the open source browser project

Google Chromeではサンドボックスが採用されセキュリティ上のリスクを軽減しているというが、実際にどういった仕組みをサンドボックスと呼んでいるのだろうか。Google, Software Engineer, Nicolas Sylvain氏がA new approach to browser security: the Google Chrome Sandboxにおいて概要を説明している。

Google Chromeをセキュアなブラウザに仕上げるというのは開発チームがもっとも力を注いでいる部分だ。しかしながらWebブラウザクラスのプロダクトになってくるとコードの完璧さを追い求めてセキュリティを確保することは実際問題として難しくなってくる。しかも絶えず信用ならないデータを相手にしてレンダリングやJavaScriptの実行をおこなうというWebブラウザ特有の状況が一層安全性の実現を難しいものにしている。このためコードの完璧さに信頼性を求めるモデルから、問題が発生して場合でも影響が他に飛び火しない構造をベースにしようというのがGoogle Chromeの発想だ。

これを実現する要がマルチプロセスアーキテクチャであることはこれまで何度も説明されてきた(マルチプロセスアーキテクチャはシンプルで効果的だがメモリを大量に消費する問題を構造的に抱えていることも説明されている)。どうもGoogle ChromeではマルチプロセスアーキテクチャでレンダリングエンジンやJavaScriptエンジンをそれぞれシステムプロセスとして分離することと、プロセスごとにリソースへのアクセスに規制を設けることをサンドボックスと呼んでいるようだ。

リソースへのアクセス制御はWindowsの提供している機能に依存している。Windowsではプロセスはアクセストークンと呼ばれるプロセス情報やグループ情報、特権情報などを含んだデータを持っている。OSはこのトークンの情報をチェックしてリソースへのアクセスを許可したり拒否したりする。Google Chromeではまず何の特権もないトークンを生成してから新しくプロセスを生成し、次にプロセスのクラスに応じた特権を付与して動作を開始させる。

ただしWindowsではキーボード、マウス、スクリーン、ユーザオブジェクト、アイコン、ウィンドウなどのリソースはこのアクセス制限の対象になっていない。このためChromeではさらにJob Objectsとログインスクリーンのような別のデスクトップも併用することでアクセス規制を実施している。これがサンドボックスとアクセス制御だ。

このようにマルチプロセスアーキテクチャの発想や構造はシンプルなもので、Google Chromeに限らずほかのプロダクトにも適用できる内容になっている。アクセス制御もOSの提供している機能をそのまま使うなど、特徴的なことはなにもしていない。ただしわかりやすい半面、FAT32であるといったようにこのセキュリティモデルに対応していないリソースへのアクセスは規制できないし、ベンダやユーザの設定ミスで発生した脆弱性を防ぐことはできない。

関連したタグ
    

    マイナビニュースのセミナー情報

    オススメ記事

    マイナビニュースの集合特集

    関連記事

    関連サイト

    新着記事

    転職ノウハウ

    あなたの仕事適性診断
    あなたの仕事適性診断

    4つの診断で、自分の適性を見つめなおそう!

    Heroes File ~挑戦者たち~
    Heroes File ~挑戦者たち~

    働くこと・挑戦し続けることへの思いを綴ったインタビュー

    はじめての転職診断
    はじめての転職診断

    あなたにピッタリのアドバイスを読むことができます。

    転職Q&A
    転職Q&A

    転職に必要な情報が収集できます

    ドS美人面接官 vs モテたいエンジニア
    ドS美人面接官 vs モテたいエンジニア

    入室しようとしたら、マサカリ投げられちゃいました!?

    特別企画

    一覧

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      一覧

        求人情報