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

 

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であるといったようにこのセキュリティモデルに対応していないリソースへのアクセスは規制できないし、ベンダやユーザの設定ミスで発生した脆弱性を防ぐことはできない。

関連キーワード


転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

さんま、SMAP解散の真相は報道通り?「ほぼ間違いないと思う」
[00:23 8/28] エンタメ
小柳歩、"舐め"オンパレードで「セクシーというよりはエロい」
[00:00 8/28] エンタメ
Fカップ松嶋えいみ、2人の男性からマッサージ「私生活でもやって欲しい」
[00:00 8/28] エンタメ
さんま『さんまのまんま』終了理由「制作費」と明かすも、 実は別に理由が?
[23:55 8/27] エンタメ
「PINコード」とは - いまさら聞けないスマートフォン用語
[23:04 8/27] スマホとデジタル家電

求人情報