アドレス空間 くうかん のランダム化 か は、攻撃 こうげき 者 しゃ が標的 ひょうてき のアドレスを予測 よそく することをより困難 こんなん にすることによって、ある種 しゅ のセキュリティ攻撃 こうげき を妨害 ぼうがい する。たとえば、return-to-libc攻撃 こうげき で実行 じっこう を試 こころ みる攻撃 こうげき 者 しゃ は実行 じっこう されるコードの位置 いち を特定 とくてい しなければならず、スタック上 じょう に注入 ちゅうにゅう されたシェルコード の実行 じっこう を試 こころ みる他 ほか の攻撃 こうげき 者 しゃ はまずスタックを見 み つけなければならない。どちらの場合 ばあい も、関連 かんれん するメモリアドレスは攻撃 こうげき 者 しゃ から隠 かく されている。攻撃 こうげき 者 しゃ はこれらの値 ね を推測 すいそく しなくてはならず推測 すいそく が失敗 しっぱい すると通常 つうじょう アプリケーションはクラッシュするため、回復 かいふく は不可能 ふかのう である。
アドレス空間 くうかん 配置 はいち のランダム化 か はランダムに置 お かれた領域 りょういき を攻撃 こうげき 者 しゃ が探 さが し出 だ すことを困難 こんなん にすることを狙 ねら ったものである。探索 たんさく 空間 くうかん が増大 ぞうだい すれば、その分 ぶん セキュリティも向上 こうじょう する。したがって、アドレス空間 くうかん のランダム化 か は無作為 むさくい なオフセット内 ない に存在 そんざい するエントロピー が大 おお きくなるほど効果 こうか 的 てき である。エントロピーを大 おお きくするにはランダム化 か が行 おこな われる仮想 かそう 記憶 きおく 領域 りょういき 空間 くうかん の量 りょう を増 ふ やすか、ランダム化 か を行 おこな う時間 じかん 間隔 かんかく を短縮 たんしゅく する。時間 じかん 間隔 かんかく は通常 つうじょう は可能 かのう な限 かぎ り小 ちい さくなるよう実装 じっそう されるので、ほとんどのシステムは仮想 かそう 記憶 きおく 領域 りょういき の量 りょう を増 ふ やさねばならない。
攻撃 こうげき 者 しゃ はランダム化 か に対抗 たいこう するために、攻撃 こうげき を加 くわ えようとする全 すべ ての領域 りょういき の位置 いち の推測 すいそく に成功 せいこう しなければならない。攻撃 こうげき 用 よう のコードや役 やく に立 た つデータを乗 の せるためのスタックやヒープのようなデータ領域 りょういき については、コードならばNOPスライド の使用 しよう 、データならばコピーの繰 く り返 かえ しによって、攻撃 こうげき 可能 かのう な状態 じょうたい を増 ふ やすことができる。領域 りょういき がランダム化 か された結果 けっか それらの状態 じょうたい のどれか1つになれば攻撃 こうげき は成功 せいこう する。一方 いっぽう 、基本 きほん ライブラリやメイン実行 じっこう ファイルのようなコード領域 りょういき はその位置 いち を正確 せいかく に知 し る必要 ひつよう がある。しばしばこれらの領域 りょういき は混合 こんごう される。たとえばスタックフレーム はスタック上 じょう に注入 ちゅうにゅう され、ライブラリはそこを戻 もど り先 さき にされる。
まず、以下 いか の変数 へんすう を宣言 せんげん する:
E
s
=
entropy bits of stack top
{\displaystyle E_{s}={\mbox{entropy bits of stack top}}\,}
E
m
=
entropy bits of mmap() base
{\displaystyle E_{m}={\mbox{entropy bits of mmap() base}}\,}
E
x
=
entropy bits of main executable base
{\displaystyle E_{x}={\mbox{entropy bits of main executable base}}\,}
E
h
=
entropy bits of heap base
{\displaystyle E_{h}={\mbox{entropy bits of heap base}}\,}
A
s
=
attacked bits per attempt of stack entropy
{\displaystyle A_{s}={\mbox{attacked bits per attempt of stack entropy}}\,}
A
m
=
attacked bits per attempt of mmap() base entropy
{\displaystyle A_{m}={\mbox{attacked bits per attempt of mmap() base entropy}}\,}
A
x
=
attacked bits per attempt of main executable entropy
{\displaystyle A_{x}={\mbox{attacked bits per attempt of main executable entropy}}\,}
A
h
=
attacked bits per attempt of heap base entropy
{\displaystyle A_{h}={\mbox{attacked bits per attempt of heap base entropy}}\,}
α あるふぁ
=
attempts made
{\displaystyle \alpha ={\mbox{attempts made}}\,}
N
=
E
s
−
A
s
+
E
m
−
A
m
+
E
x
−
A
x
+
E
h
−
A
h
{\displaystyle N=E_{s}-A_{s}+E_{m}-A_{m}+E_{x}-A_{x}+E_{h}-A_{h}\,}
攻撃 こうげき 者 しゃ が成功 せいこう する確 かく 率 りつ を計算 けいさん するために、試行 しこう 回数 かいすう
α あるふぁ
{\displaystyle \alpha }
はシグネチャベースのIPS、法的 ほうてき 規制 きせい 、その他 た の要因 よういん によって中断 ちゅうだん されることなく実行 じっこう されると仮定 かてい する。ブルートフォースの場合 ばあい 、デーモンを再 さい 起動 きどう することはできない。さらにどれだけ多 おお くのビットが関係 かんけい し、どれだけ多 おお くのビットが1回 かい あたりの試行 しこう で攻撃 こうげき され、どれだけ多 おお くのビット攻撃 こうげき しなければならないビットが残 のこ るかも算出 さんしゅつ しなければならない。
以下 いか の式 しき は
N
{\displaystyle N}
ビットのエントロピーに対 たい する
α あるふぁ
{\displaystyle \alpha \,}
回 かい の試行 しこう が与 あた えられたとき、攻撃 こうげき が成功 せいこう する確 かく 率 りつ を表 あらわ す。
g
(
α あるふぁ
)
=
isolated guessing; address space is re-randomized after each attempt
{\displaystyle g\left(\alpha \,\right)={\mbox{isolated guessing; address space is re-randomized after each attempt}}\,}
g
(
α あるふぁ
)
=
1
−
(
1
−
2
−
N
)
α あるふぁ
:
0
≤
α あるふぁ
{\displaystyle g\left(\alpha \,\right)=1-{\left(1-{2^{-N}}\right)^{\alpha }\,}:0\leq \,\alpha \,}
b
(
α あるふぁ
)
=
systematic brute forcing on copies of the program with the same address space
{\displaystyle b\left(\alpha \,\right)={\mbox{systematic brute forcing on copies of the program with the same address space}}}
b
(
α あるふぁ
)
=
α あるふぁ
2
N
:
0
≤
α あるふぁ
≤
2
N
{\displaystyle b\left(\alpha \,\right)={\frac {\alpha \,}{2^{N}}}:0\leq \,\alpha \,\leq \,{2^{N}}}
多 おお くのシステムで、
2
N
{\displaystyle 2^{N}}
は数 すう 千 せん から数 すう 百 ひゃく 万 まん の範囲 はんい になりうる。現代 げんだい の[update] 64ビット システム上 じょう では、これらの数値 すうち は少 すく なくとも数 すう 百 ひゃく 万 まん に達 たっ する。アドレスのランダム化 か に16ビットを使用 しよう する2004年 ねん 時点 じてん の32ビットシステムについて、Shachamと共同 きょうどう 研究 けんきゅう 者 しゃ は以下 いか のように述 の べている。「…16ビットのアドレスランダム化 か はブルートフォース攻撃 こうげき により数 すう 分 ふん で破 わ れる」[1] この研究 けんきゅう 者 しゃ の主張 しゅちょう は攻撃 こうげき 者 しゃ が同 おな じアプリケーションに対 たい していかなる遅延 ちえん もなく複 ふく 数 すう 回 かい 攻撃 こうげき できる能力 のうりょく に依存 いぞん していることに注意 ちゅうい されたい。grsecurity に含 ふく まれているような、ASLRの適切 てきせつ な実装 じっそう は、このようなブルートフォース攻撃 こうげき を不可能 ふかのう にするいくつかの手法 しゅほう を提供 ていきょう している。ひとつの方法 ほうほう は、ある一定 いってい の時間 じかん 内 ない に設定 せってい された回数 かいすう 以上 いじょう クラッシュした実行 じっこう ファイルの実行 じっこう を妨 さまた げることである。
一部 いちぶ のシステムはライブラリロード順序 じゅんじょ のランダム化 か を実装 じっそう する。これはライブラリがロードされる順序 じゅんじょ をランダム化 か する、ASLRの一 いち 形態 けいたい である。これにより供給 きょうきゅう されるエントロピーはほとんどない。必要 ひつよう なライブラリ1つごとに供給 きょうきゅう されるエントロピーのビット数 すう の見積 みつも りを以下 いか に示 しめ す。これは可変 かへん のライブラリサイズを考慮 こうりょ に入 い れていないため、実際 じっさい に得 え られるエントロピーはもう少 すこ し大 おお きくなる。攻撃 こうげき 者 しゃ は通常 つうじょう 1つのライブラリしか必要 ひつよう としないことに注意 ちゅうい されたい。複数 ふくすう ライブラリの場合 ばあい の計算 けいさん 式 しき はより複雑 ふくざつ になるがこれも以下 いか に示 しめ す。攻撃 こうげき 者 しゃ が1つのライブラリしか使用 しよう しない場合 ばあい は、複雑 ふくざつ な式 しき を
l
=
1
{\displaystyle l=1}
として単純 たんじゅん 化 か したものであることに注意 ちゅうい 。
l
=
number of libraries loaded
{\displaystyle l={\mbox{number of libraries loaded}}}
β べーた
=
number of libraries used by the attacker
{\displaystyle \beta \,={\mbox{number of libraries used by the attacker}}}
E
m
=
log
2
(
l
)
:
β べーた
=
1
,
l
≥
1
{\displaystyle E_{m}=\log _{2}\left(l\right):\beta \,=1,l\geq \,1}
E
m
=
∑
i
=
l
l
−
(
β べーた
−
1
)
log
2
(
i
)
:
β べーた
≥
1
,
l
≥
1
{\displaystyle E_{m}=\sum _{i=l}^{l-\left(\beta \,-1\right)}\log _{2}\left(i\right):\beta \,\geq \,1,l\geq \,1}
これらの値 ね は
l
{\displaystyle l}
が大 おお きな値 ね でも、低 ひく くなる傾向 けいこう にある。もっとも重要 じゅうよう な点 てん は、攻撃 こうげき 者 しゃ は通常 つうじょう C標準 ひょうじゅん ライブラリ しか使 つか えず、そのためしばしば
β べーた
=
1
{\displaystyle \beta \,=1}
と仮定 かてい できるということである。しかし、興味深 きょうみぶか いことにライブラリの数 かず が少 すく なくともここで数 すう ビットのエントロピーが得 え られる。このようにライブラリロード順序 じゅんじょ のランダム化 か を仮想 かそう メモリ領域 りょういき アドレスのランダム化 か と組 く み合 あ わせることにより、数 すう ビットの追加 ついか エントロピーを得 え られる可能 かのう 性 せい がある。これらの追加 ついか ビットはライブラリのみに適用 てきよう され、他 た のmmap()セグメントなどには適用 てきよう されないことに注意 ちゅうい 。
攻撃 こうげき 者 しゃ は単純 たんじゅん な情報 じょうほう 漏洩 ろうえい から、攻撃 こうげき 1回 かい あたりの複数 ふくすう ビットエントロピー攻撃 こうげき (heap spraying による攻撃 こうげき など)まで、いくつかの方法 ほうほう を使 つか ってランダム化 か されたアドレス空間 くうかん に現 あらわ れるエントロピーを削減 さくげん できる。これに対抗 たいこう する手段 しゅだん はほとんどない。
書式 しょしき 文字 もじ 列 れつ 攻撃 こうげき を使用 しよう したメモリレイアウトに関 かん する情報 じょうほう の漏洩 ろうえい がありうる。printf ()のような書式 しょしき 文字 もじ 列 れつ 関数 かんすう は可変長 かへんちょう 引数 ひきすう リスト を使用 しよう して作業 さぎょう を行 おこな う。書式 しょしき 指定 してい 子 こ は引数 ひきすう リストがどのように見 み えるかを記述 きじゅつ する。引数 ひきすう が渡 わた される通常 つうじょう の方法 ほうほう のために、各種 かくしゅ 書式 しょしき 指定 してい 子 こ はスタックフレームの先頭 せんとう 近 ちか くに移動 いどう する。最終 さいしゅう 的 てき に、戻 もど り先 さき のポインタとスタックフレームポインタの抽出 ちゅうしゅつ が可能 かのう であり、脆弱 ぜいじゃく なライブラリのアドレスと既知 きち のスタックフレームのアドレスが現 あらわ れる。これにより攻撃 こうげき 者 しゃ に対 たい する障害 しょうがい としてのライブラリとスタックのランダム化 か の効果 こうか はまったくなくなる。
スタックやヒープのエントロピーを減 へ らすこともできる。スタックは通常 つうじょう 16バイトの倍数 ばいすう 境界 きょうかい に配置 はいち されなければならないので、ランダム化 か の間隔 かんかく もそれより小 ちい さくはできない。さらにヒープはページ(通常 つうじょう 4096バイト)境界 きょうかい に配置 はいち されなければならない。攻撃 こうげき を試 こころ みるとき、重複 じゅうふく した攻撃 こうげき をこれらの境界 きょうかい に合 あ わせることが可能 かのう である。NOPスライド をシェルコードの注入 ちゅうにゅう に使 つか うことができ、system() への戻 もど りを試 こころ みるときは文字 もじ 列 れつ '/bin/sh' を任意 にんい 個数 こすう のスラッシュの '////////bin/sh' に置 お き換 か えることができる。削減 さくげん されるビット数 すう は間隔 かんかく
n
{\displaystyle n}
の攻撃 こうげき に対 たい して、ちょうど
l
o
g
2
(
n
)
{\displaystyle log_{2}\left(n\right)}
である。
このような減少 げんしょう はスタックやヒープのデータ量 りょう のために制限 せいげん される。たとえば、スタックは通常 つうじょう 8MB [2] に制限 せいげん され、それよりも伸 の びて使 つか われることは、めったにない。これにより削減 さくげん が可能 かのう なのは最大 さいだい 19ビットであるが、より保守 ほしゅ 的 てき な見積 みつ もりでは4-16KB [2] のスタックの詰 つ め物 もの に対 たい しておよそ 8-10ビットである。一方 いっぽう ヒープはメモリアロケータの振 ふ る舞 ま いに制限 せいげん される。glibc の場合 ばあい 、128KBを超 こ える割 わ り当 あ てはmmap ()を使 つか って作 つく られ、攻撃 こうげき 者 しゃ のビット削減 さくげん を5ビットに制限 せいげん する。これはブルートフォースに対 たい する制限 せいげん 要因 よういん でもある。行 おこな われる攻撃 こうげき の回数 かいすう を削減 さくげん することはできるが、攻撃 こうげき のサイズが十分 じゅうぶん 大 おお きくなると一部 いちぶ の環境 かんきょう での振 ふ る舞 ま いは侵入 しんにゅう 検知 けんち システム と似 に たものになりうる。
PaX プロジェクトが最初 さいしょ に「ASLR」という造語 ぞうご を発明 はつめい した。PaXはASLRの最初 さいしょ の設計 せっけい と実装 じっそう を 2001年 ねん 7月 がつ に発行 はっこう した。これは現在 げんざい でも最 もっと も完全 かんぜん な実装 じっそう であり、2002年 ねん 10月 がつ からはカーネルスタックのランダム化 か も提供 ていきょう している。PaXは他 た の実装 じっそう と比 くら べて、各 かく ランダム化 か されたレイアウトごとに最大 さいだい のエントロピーを与 あた える実装 じっそう であり続 つづ けている[3] 。
いくつかの主流 しゅりゅう の、汎用 はんよう 目的 もくてき のオペレーティングシステムがASLRを実装 じっそう している。
OpenBSD はASLRをサポートした(そしてデフォルトで有効 ゆうこう にした)、最初 さいしょ の主流 しゅりゅう のオペレーティングシステムの1つとなった[4] 。
Linux は弱 よわ い[5] 形 かたち のASLRを、カーネルバージョン2.6.12からデフォルトで有効 ゆうこう にした。PaX とExec Shield のLinuxカーネルに対 たい するパッチ集 しゅう はより完全 かんぜん な実装 じっそう を提供 ていきょう する。Adamantix、Alpine Linux 、Hardened Gentoo 、およびHardened Linux From Scratchを含 ふく む各種 かくしゅ のLinuxディストリビューションはPaXのASLR実装 じっそう をデフォルトで備 そな えている。
Linux用 よう のExec Shield パッチは16バイトの間隔 かんかく 上 じょう で19ビットのスタックエントロピーを供給 きょうきゅう する。そして4096バイトの1ページ間隔 かんかく 上 じょう で8ビットのmmap()エントロピーを供給 きょうきゅう する。これは524288通 とお りの位置 いち がありうる8MBの広 ひろ さの領域 りょういき にスタック基底 きてい を置 お く。そして256通 とお りの位置 いち がありうる1MBの広 ひろ さの領域 りょういき にmmap()基底 きてい を置 お く。
位置 いち 独立 どくりつ 実行 じっこう ファイル (PIE) の機能 きのう はメイン実行 じっこう ファイルバイナリのランダムな基底 きてい アドレスを2003年 ねん から実装 じっそう する。これはメイン実行 じっこう ファイルに対 たい して、共有 きょうゆう ライブラリで使 つか われるものと同 おな じアドレスのランダム性 せい を提供 ていきょう する。PIEの機能 きのう はネットワークに直接 ちょくせつ 向 む き合 あ うデーモンにのみ使 つか われている - PIE機能 きのう は同 おな じ実行 じっこう ファイルでprelink の機能 きのう と同時 どうじ に使 つか うことができない。
prelink ツールは実行 じっこう 時 じ ではなくprelink時 じ にランダム化 か を実装 じっそう する。なぜならば仕様 しよう によりprelink は、動的 どうてき リンカが行 おこな わなければならなくなる前 まえ にライブラリの再 さい 配置 はいち を行 おこな うことで、プログラムを何 なん 度 ど も走 はし らせても再 さい 配置 はいち が1回 かい しか行 おこな われないようにすることが目的 もくてき だからである。結果 けっか として、真 しん のアドレス空間 くうかん ランダム化 か はprelinkの目的 もくてき を打 う ち消 け してしまう。
マイクロソフトのWindows Vista (後述 こうじゅつ の通 とお り2008年 ねん 3月 がつ リリースのSP1から)、Windows Server 2008 、Windows 7 、およびWindows Server 2008 R2 は、ASLRが有効 ゆうこう となるよう特別 とくべつ にリンクされた実行 じっこう ファイルとダイナミックリンクライブラリ についてのみではあるが、デフォルトでASLRを有効 ゆうこう にしている[6] 。これにはService Pack 1より前 まえ のWindows Vista上 じょう のInternet Explorer 7 が含 ふく まれていなかった。ASLRとDEP は両方 りょうほう がアプリケーション互換 ごかん 性 せい の目的 もくてき で無効 むこう にされていた[7] 。Internet Explorer 8 を含 ふく む、より新 あたら しいバージョンはこれらの保護 ほご を有効 ゆうこう にした。すべての実行 じっこう ファイルとライブラリで強制 きょうせい 的 てき にASLRを有効 ゆうこう または無効 むこう にするレジストリ設定 せってい が存在 そんざい する。レジストリキー "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages" である[8] 。
ヒープ 、スタック 、プロセス環境 かんきょう ブロック、およびスレッド情報 じょうほう ブロック の位置 いち もランダム化 か される。シマンテックのセキュリティホワイトペーパーは、32ビットのWindows VistaにおけるASLRは期待 きたい されるほど堅牢 けんろう ではない可能 かのう 性 せい があると注意 ちゅうい しており、マイクロソフトはその実装 じっそう の弱点 じゃくてん を認 みと めている[9] 。
WehnTrust[10] やOzone[11] のようなホストベースの侵入 しんにゅう 検知 けんち システム も、ASLRをWindows XP とWindows Server 2003 オペレーティングシステムに提供 ていきょう している。しかし、これらの実装 じっそう の完全 かんぜん な詳細 しょうさい は公開 こうかい されていない[12] 。
Solaris 11.1 よりサポートされた[13] 。
Apple は、Mac OS X v10.5 (2007年 ねん 10月 がつ リリース)で、一部 いちぶ のライブラリオフセットのランダム化 か を導入 どうにゅう した[14] 。この実装 じっそう は、ASLRが防 ふせ ぐことを目的 もくてき とした攻撃 こうげき に対 たい する完全 かんぜん な保護 ほご を提供 ていきょう しない[15] [16] [17] [18] 。
Mac OS X Lion 10.7 (2011年 ねん 7月 がつ リリース)では、AppleはASLR実装 じっそう をすべてのアプリケーションに拡大 かくだい した。32ビットアプリケーションでも利用 りよう できるようになり(ヒープメモリ保護 ほご も同様 どうよう )、64ビットと32ビットアプリケーションの攻撃 こうげき に対 たい する耐 たい 性 せい が向上 こうじょう した[19] 。
OS X Mountain Lion 10.8 (2012年 ねん 7月 がつ リリース)以降 いこう では、システム起動 きどう 時 じ にカーネルだけでなく、kextやzoneを含 ふく むシステム全体 ぜんたい がランダムに再 さい 配置 はいち される[20] 。
iOS (iPhone, iPod touch, iPad)
編集 へんしゅう
Appleは、iOS 4.3(2011年 ねん 4月 がつ リリース)でASLRを導入 どうにゅう した[21] 。
Android 4.0 Ice Cream Sandwichはシステムとサードパーティーのアプリケーションをメモリ管理 かんり の問題 もんだい に起因 きいん する脆弱 ぜいじゃく 性 せい 攻撃 こうげき から保護 ほご するためのASLRを提供 ていきょう する。また、4.1においては位置 いち 独立 どくりつ 実行 じっこう ファイル (PIE) への対応 たいおう が追加 ついか された[22] 。
^ On the Effectiveness of Address-Space Randomization,Shacham, H. and Page, M. and Pfaff, B. and Goh, E.J. and Modadugu, N. and Boneh, D,Proceedings of the 11th ACM conference on Computer and communications security,pp 298--307, 2004
^ a b RAM、ROM、フラッシュメモリなどのトランジスタメモリとキャッシュサイズおよびファイルサイズはK (10241 )、M (10242 )、G (10243 )、…を2進 しん 接頭 せっとう 辞 じ として使 つか う。
^ Comparison of PaX to ExecShield and W^X
^ Theo De Raadt (2005年 ねん ). “Exploit Mitigation Techniques (updated to include random malloc and mmap) at OpenCON 2005 ”. 2009年 ねん 8月 がつ 26日 にち 閲覧 えつらん 。
^ http://www.tomshardware.com/reviews/pwn2own-mac-hack,2254-4.html
^ http://msdn.microsoft.com/en-us/library/bb430720.aspx
^ “MS08-078 and the SDL ”. The Security Development Lifecycle . Microsoft (2008年 ねん 12月18日 にち ). 2009年 ねん 3月 がつ 21日 にち 閲覧 えつらん 。
^ Windows® Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (PRO-Developer) ISBN 978-0-735-62530-3
^ Ollie Whitehouse (2007年 ねん 2月 がつ ). “An Analysis of Address Space Layout Randomization on Windows Vista ” (PDF). 2010年 ねん 7月 がつ 24日 にち 閲覧 えつらん 。
^ WehnTrust
^ Security Architects' Ozone
^ Address-Space Randomization for Windows Systems
^ アドレス空間 くうかん 配置 はいち のランダム化 か (ASLR)
^ Apple - Mac OS X - Security - Keeps safe from viruses and malware Archived 2011年 ねん 5月 がつ 25日 にち , at the Wayback Machine .
^ Quick Leopard Update | securosis.com
^ Matasano Chargen » A Roundup Of Leopard Security Features
^ Matasano Chargen » What We’ve Since Learned About Leopard Security Features
^ TippingPoint | DVLabs | New Leopard Security Features - Part I: ASLR
^ “Apple - OS X Lion - Over 250 new features. Read about all of them. ”. web.archive.org (2011年 ねん 6月 がつ 6日 にち ). 2023年 ねん 3月 がつ 11日 にち 閲覧 えつらん 。
^ “OS X Mountain Lion Core Technologies Overview June 2012 ”. Apple. 2023年 ねん 3月 がつ 11日 にち 閲覧 えつらん 。
^ Pwn2Own day 2: iPhone, BlackBerry beaten; Chrome, Firefox no-shows , Ars Technica , 11 March 2011
^ “Android Security ”. Android Developers. 2012年 ねん 7月 がつ 7日 にち 閲覧 えつらん 。