スマートデバイスの 堅 牢 化 ガイド β 版 2012 年 6 月 5 日 日 本 スマートフォンセキュリティ 協 会 技 術 部 会 デバイスワークグループ デバイス 堅 牢 化 タスクフォース 本 書 では OS の 設 計 方 針 に 反 する 不 正 なアプリケーションが 実 行 された 場 合 において も OS やアプリケーションが 設 計 意 図 通 りに 動 作 するために 配 慮 すべき 事 項 を 提 示 す る これは ユーザの 故 意 や 不 注 意 によって 引 き 起 こされる 事 故 による 影 響 を 抑 止 する 狙 いがあり デバイスの 堅 牢 化 において 注 目 すべきポイントを 示 すものである 文 書 管 理 番 号 : JSSEC-TECD-DS-GD20120518β
製 作 技 術 部 会 デバイスワークグループ デバイス 堅 牢 化 タスクフォース リーダ 重 田 大 助 シャープ 株 式 会 社 メンバ 竹 森 敬 祐 KDDI 株 式 会 社 川 上 稔 彦 ソニーモバイルコミニュケーションズ 株 式 会 社 北 島 真 理 子 ソニーモバイルコミュニケーションズ 株 式 会 社 倉 林 俊 介 トヨタ 自 動 車 株 式 会 社 八 津 川 直 伸 日 本 ユニシス 株 式 会 社 二 村 廉 太 株 式 会 社 ネクストジェン 松 崎 なつめ パナソニック 株 式 会 社 JSSEC-TECD-DS-GD20120518β Page 1
目 次 1. はじめに... 3 1.1. 本 ガイドの 利 用 にあたって... 3 1.2. 本 ガイドの 対 象 デバイス... 3 1.3. 本 ガイドの 目 的... 3 1.4. 本 ガイドが 対 象 とする 読 者... 3 1.5. 本 ガイドの 対 象 とする 範 囲... 4 2. デバイスの 堅 牢 化 とは... 5 2.1. スマートデバイスの OS におけるセキュリティモデルとリスク... 5 2.2. デバイスの 堅 牢 化 のために 対 策 すべきこと... 6 3. デバイス 堅 牢 化 のための 対 策... 8 3.1. 脆 弱 性 を 解 消 する... 8 3.2. ROM 領 域 内 の OS の 書 き 換 えを 禁 止 する... 9 3.3. 想 定 している OS 以 外 の 独 自 バイナリからの 起 動 を 禁 止 する... 9 3.4. RAM に 展 開 した OS の 書 き 換 えを 禁 止 する... 10 4. おわりに... 11 JSSEC-TECD-DS-GD20120518β Page 2
1. はじめに 1.1. 本 ガイドの 利 用 にあたって 近 年 スマートフォンやタブレットといったスマートデバイスはその 自 由 度 の 高 さか らさまざまな 用 途 に 利 用 されている 一 方 で 自 由 度 が 高 いために デバイスの 設 計 者 ソフトウエアの 開 発 者 が 意 図 しない( 悪 意 ある) 動 作 をさせることが 容 易 なデバイスで もある Android OS で 例 えるならば 通 常 利 用 では 書 き 換 えられることのない/system 領 域 にマルウェアが 組 み 込 まれることで システム 権 限 による 端 末 の 踏 み 台 化 が 懸 念 さ れる これに 対 して /system 領 域 を 保 護 するなど スマートデバイス 側 で 一 定 の 配 慮 を 施 すことで デバイスの 悪 用 をある 程 度 低 減 することが 可 能 である 本 ガイドではこ うした 考 え 方 にもとづいて デバイスの 堅 牢 化 に 関 するポイントを 整 理 する なお 本 ガイドは 2011 年 12 月 31 日 現 在 のβ 版 であり 記 載 された 内 容 は 今 後 変 更 の 可 能 性 がある また 本 稿 に 記 載 の 内 容 に 従 って 対 策 を 施 した 際 に 生 じる 事 故 に 対 して いかなる 責 任 も JSSEC が 負 うものではない 1.2. 本 ガイドの 対 象 デバイス Android などの OS を 搭 載 したスマートフォン および タブレット 1.3. 本 ガイドの 目 的 本 ガイドは 情 報 がオープンで 汎 用 的 であり 更 新 頻 度 の 高 い OS を 搭 載 したデ バイスを いかに 堅 牢 化 するかについて デバイスの 開 発 者 運 用 管 理 者 向 けに 指 針 を 提 示 することを 目 的 とする このため 本 ガイドに 記 載 されている 項 目 を 全 て 実 装 することを 求 めるものではな い また デバイスの 堅 牢 度 は 増 すものの 攻 撃 と 対 策 の 繰 り 返 しで 進 む 技 術 分 野 であ ることから 将 来 に 渡 って 保 証 できるものでもない 1.4. 本 ガイドが 対 象 とする 読 者 スマートデバイスを 開 発 するデバイスメーカ スマートデバイスの 利 用 を 検 討 している 法 人 JSSEC-TECD-DS-GD20120518β Page 3
1.5. 本 ガイドの 対 象 とする 範 囲 OS が 設 計 通 りに 動 作 すれば アプリケーションも 設 計 通 りに 動 作 することにつな がり その 上 で 実 現 されるさまざまなサービスが 安 全 に 実 行 できるようになる こうし たデバイスを 実 装 する 上 で 考 えるべき 点 について 本 ガイドに 記 載 する 尚 アプリケーションや Mobile Device Management(MDM)によるデバイスの セキュリティ 確 保 に 関 する 手 法 については 本 ガイドの 範 囲 には 含 めない 図 1 本 ガイドの 対 象 とする 範 囲 JSSEC-TECD-DS-GD20120518β Page 4
2. デバイスの 堅 牢 化 とは 2.1. スマートデバイスの OS におけるセキュリティモデルとリスク スマートデバイスに 搭 載 された OS には 各 アプリケーションに 対 して 必 要 以 上 に 実 行 権 限 を 与 えない 仕 組 み(サンドボックスと 呼 ばれる)が 実 装 されている サンドボッ クスが 機 能 し 続 ける 限 りにおいてはデバイス 上 で 動 作 するアプリケーションは OS の 設 計 通 りに 実 行 され 安 全 であると 言 える 逆 にこのサンドボックスの 仕 組 みが 崩 されて しまえばデバイスの 安 全 性 は 低 下 してしまうことになる サンドボックスを 無 効 化 でき るようなソフトウエアの 不 具 合 は 脆 弱 性 と 呼 ばれ こうした 不 具 合 を 少 なくすることで デバイスを 堅 牢 化 することができる 脆 弱 性 のないデバイスであれば OS やその 上 で 動 作 するアプリケーションは 安 全 に 実 行 することが 可 能 であり 脆 弱 性 は 発 見 次 第 速 やか に 対 応 するべきである 脆 弱 性 の 対 策 ができていないデバイスでどのようなことが 実 現 可 能 となるのか 具 体 的 な 例 を 以 下 に 示 す 図 2 脆 弱 性 の 残 留 により 生 じるリスクの 例 JSSEC-TECD-DS-GD20120518β Page 5
秘 密 にしたい 情 報 が 秘 密 ではなくなり デバイスの 動 作 を 変 更 することができるよ うになってしまうため 脆 弱 性 をつぶすことは 重 要 な 対 策 であると 考 えられる 2.2. デバイスの 堅 牢 化 のために 対 策 すべきこと 現 実 問 題 として 脆 弱 性 が 全 く 存 在 しないデバイスを 実 現 することは 極 めて 困 難 であ る 顕 在 化 した 脆 弱 性 への 対 応 を 迅 速 に 行 うことはもちろん 潜 在 する 脆 弱 性 に 対 して も 何 らかの 配 慮 が 必 要 となる ここで 考 えるべきは 仮 にデバイスに 脆 弱 性 が 存 在 した としても サンドボックスを 無 効 化 されてしまわないようにするための 対 策 である 脆 弱 性 を 利 用 してサンドボックスを 無 効 化 する 際 には 必 ず OS そのもののコード もしく は データを 書 き 換 えるという 手 順 を 踏 む 必 要 がある では OS が 書 き 換 えられるとするならそれはどこで 行 われるのか 考 えてみる 通 常 デバイスに 格 納 されているプログラムはデバイスの 電 源 を 落 としたとしてもその 内 容 を 失 われることのない 不 揮 発 メモリに 保 存 される 不 揮 発 メモリにはデバイスの 出 荷 時 から 通 常 書 き 換 えられることのない OS などを 格 納 する ROM 領 域 と ユーザの 操 作 によって 値 を 書 き 換 えられる 可 能 性 のあるユーザデータ 領 域 とが 存 在 する これらの 不 揮 発 メモリに 保 存 されているプログラムはそのまま 実 行 されることもあるが 一 度 RAM に 展 開 してから 実 行 されることが 多 い OS に 限 定 して 言 うならば 書 き 換 えら れる 可 能 性 があるのは ROM 領 域 に 保 存 されている OS もしくは RAM 上 に 展 開 さ れた OS のいずれかであると 言 える 図 3 スマートデバイスの 記 憶 領 域 と OS 改 ざんのリスク OS が 動 作 する 環 境 として 堅 牢 なデバイスを 実 現 するために 考 えるべきことは 上 記 の 中 で 説 明 したが そもそもデバイスに 搭 載 された OS 以 外 のものがデバイス 上 で 動 作 JSSEC-TECD-DS-GD20120518β Page 6
した 場 合 のことを 考 える 必 要 がある デバイスに 搭 載 された OS でいくら 保 護 していた としても この OS を 使 用 せずにプログラムが 動 作 してしまえば ROM 領 域 内 のバイ ナリを 書 き 換 えることが 可 能 になり OS そのものを 書 き 換 えてしまうことが 可 能 とな る このため 独 自 バイナリからデバイスが 起 動 できるということは OS の 動 作 を 変 更 し てしまう 程 のリスクを 持 つということになる こうした 機 能 はそもそも 端 末 に 安 易 に 搭 載 すべきではない このうち 最 も 優 先 して 対 策 すべきは 脆 弱 性 を 解 消 することそのものである 脆 弱 性 が 存 在 しなければ OS の 動 作 を 保 証 することが 可 能 である 次 に 対 応 すべきは ROM 領 域 内 の OS の 書 き 換 えを 禁 止 することである ROM 領 域 内 の OS の 書 き 換 えができて しまえばサンドボックスを 継 続 して 無 効 化 することが 可 能 になる 一 方 で RAM に 展 開 した OS の 書 き 換 えができてしまったとしても 毎 回 脆 弱 性 を 利 用 しなければサンドボ ックスを 無 効 化 することができず 事 後 的 であっても 脆 弱 性 を 解 消 すればサンドボック スを 機 能 させることが 可 能 となる このため RAM に 展 開 した OS の 書 き 換 えを 禁 止 す る 対 応 は ROM 領 域 内 の OS の 書 き 換 えの 禁 止 よりも 重 要 度 が 低 いと 言 える デバイス 設 計 において 想 定 していない 方 法 により デバイスに 搭 載 された OS とは 別 の OS を 起 動 することが 可 能 である 場 合 ROM 領 域 内 の OS の 書 き 換 えのリスクが 発 生 する このため 想 定 している OS 以 外 の 独 自 バイナリからの 起 動 を 禁 止 する 対 応 の 重 要 度 は RAM に 展 開 した OS の 書 き 換 えよりも 高 いと 考 えられる とはいえ OS の 一 部 の 書 き 換 えではなく デバイス 上 で 動 作 する 独 自 バイナリを 一 部 ではなく 一 式 準 備 するという 必 要 があるため ROM 領 域 内 の OS の 書 き 換 えを 禁 止 するという 対 策 よ りは 重 要 度 は 低 いと 考 えられる これらを 整 理 するとデバイス 堅 牢 化 のための 対 策 としては 以 下 の 順 序 で 重 きを 置 く べきである 1. 脆 弱 性 を 解 消 する 2. ROM 領 域 内 の OS の 書 き 換 えを 禁 止 する 3. 想 定 している OS 以 外 の 独 自 バイナリからの 起 動 を 禁 止 する 4. RAM に 展 開 した OS の 書 き 換 えを 禁 止 する JSSEC-TECD-DS-GD20120518β Page 7
3. デバイス 堅 牢 化 のための 対 策 先 に 挙 げた 合 計 4 点 の 対 策 について 重 要 度 順 に 以 下 に 詳 しく 説 明 する 3.1. 脆 弱 性 を 解 消 する 一 般 的 に OS の 管 理 者 権 限 (root 権 限 と 呼 ぶ)を 利 用 することで 本 来 OS がアプリ ケーションに 利 用 を 認 めている 範 囲 の 権 限 を 超 えてソフトウエアを 動 作 させることが できる 通 常 管 理 者 権 限 は 特 定 の 処 理 でしか 利 用 できないように 設 計 されているが 脆 弱 性 を 利 用 することで 一 般 のアプリケーションからも root 権 限 を 利 用 できるように なる 場 合 が 存 在 する この 脆 弱 性 をデバイスの 出 荷 前 に 既 知 のものについては 事 前 に 対 策 を 行 い 出 荷 後 のデバイスであったとしてもソフトウエアのアップデートを 行 って 悪 意 のあるアプリケーションが root 権 限 を 利 用 できないようにするべきである 脆 弱 性 対 策 を 考 える 上 で 注 意 すべきポイントとしては 以 下 の 4 つが 考 えられる 最 新 OS の 搭 載 最 新 OS では 既 知 の 脆 弱 性 に 対 する 対 策 が 入 っているが 古 い OS を 利 用 する 場 合 にはその 限 りではない 古 い OS を 利 用 する 場 合 にはセキュリティパッチを 独 自 で 反 映 する 必 要 があるケースが 存 在 する 脆 弱 性 情 報 の 入 手 CVE(http://cve.mitre.org/)や JVN(http://jvn.jp/)などの 脆 弱 性 情 報 や 一 般 のユ ーザの 動 向 などからスマートデバイスの 脆 弱 性 情 報 を 入 手 し 各 デバイスの 対 応 状 況 を 確 認 することでいち 早 く 脆 弱 性 への 対 策 を 行 うことが 可 能 となる セキュリティパッチの 反 映 OS ベンダからのセキュリティパッチのリリースや 脆 弱 性 情 報 とともに 配 布 さ れるセキュリティパッチのリリースをデバイスの 上 で 動 作 するソフトウエアに 反 映 させる もしくは まだパッチの 用 意 されていない 脆 弱 性 に 対 するセキュ リティパッチを 自 前 で 用 意 するなどして セキュリティパッチをあてたソフト ウエアを 作 成 することで 対 策 ソフトウエアを 市 場 のデバイスに 配 布 すること が 可 能 となる また セキュリティパッチは 標 準 状 態 の OS に 対 して 適 用 可 能 な 形 でリリース される 事 にも 注 意 が 必 要 である デバイスに 対 して 独 自 の 作 り 込 みを 行 ってい る 場 合 には セキュリティパッチと 作 り 込 みの 内 容 が 競 合 する 可 能 性 がある 競 合 が 発 生 した 場 合 には それを 解 決 するためにセキュリティパッチを 変 更 す る 必 要 がある このように 独 自 の 作 り 込 みは 時 としてセキュリティパッチの 反 映 に 時 間 を 要 する 可 能 性 があるため 注 意 が 必 要 である JSSEC-TECD-DS-GD20120518β Page 8
対 策 ソフトウエアの 配 布 脆 弱 性 への 対 策 はそのソフトウエアがユーザの 手 元 で 動 作 する 状 態 になって 初 めて 完 了 したと 言 える そのためには 対 策 ソフトウエアを 配 布 できる 状 態 にし 配 布 できるようになったことをユーザに 告 知 するところまで 対 応 するべきであ る 3.2. ROM 領 域 内 の OS の 書 き 換 えを 禁 止 する 脆 弱 性 の 利 用 を 抑 止 するために ROM 領 域 内 の OS の 書 き 換 えを 禁 止 する 方 法 が 効 果 的 であるということは 既 に 説 明 済 であるが ROM 領 域 内 の OS の 書 き 換 えを 禁 止 し ない 場 合 には 禁 止 している 場 合 と 比 較 して さらなる 被 害 が 出 る 可 能 性 が 存 在 する こ れも 例 を 挙 げて 説 明 する ブラウザが 利 用 するルート 証 明 書 が 書 き 換 えられる デバイスのソフトウエアをアップデートするための 仕 組 みを 無 効 化 できる OS が 書 き 換 えられないことを 前 提 にしている 仕 組 みが 意 味 をなさなくなってしま うという 意 味 で ROM 領 域 内 の OS の 書 き 換 えは 禁 止 するべきであると 考 えられる 3.3. 想 定 している OS 以 外 の 独 自 バイナリからの 起 動 を 禁 止 する 想 定 している OS 以 外 の 独 自 バイナリからの 起 動 ができたとしても 動 作 すること そのものは 問 題 となるわけではない あくまで 本 来 デバイス 上 で 動 作 する OS を 書 き 換 えられる 可 能 性 があるという 観 点 で 配 慮 すべき 項 目 である そもそもユーザが 用 意 した 独 自 バイナリの 起 動 を 行 うためには ブートローダが 独 自 バイナリからの 起 動 に 対 応 し ていることが 必 要 となるため そうした 起 動 を 機 能 として 搭 載 している 場 合 にのみ 問 題 となる また デバイス 上 で 動 作 する 独 自 バイナリを 別 途 構 築 する 必 要 があるために この 方 法 を 実 現 することは 単 純 に 脆 弱 性 を 利 用 したり ROM 領 域 内 の OS の 一 部 を 書 き 換 えたりするよりは 困 難 であると 考 えられる また ブートローダのアンロックという 機 能 が 搭 載 されているスマートデバイスも 存 在 する これは OS の 起 動 前 に 実 行 されるブートローダ 内 に 存 在 する 機 能 であり こ の 機 能 を 利 用 すれば ROM 領 域 内 の OS を 独 自 バイナリに 変 更 して 起 動 することが 可 能 となるため 一 般 ユーザから 容 易 に 利 用 されないように 保 護 するべきである JSSEC-TECD-DS-GD20120518β Page 9
3.4. RAM に 展 開 した OS の 書 き 換 えを 禁 止 する 脆 弱 性 対 策 が 必 ずしも 完 璧 にできるわけではないという 前 提 に 立 った 場 合 に RAM に 展 開 した OS の 書 き 換 えが 可 能 であった 時 に 存 在 するリスクは 脆 弱 性 対 策 の 次 善 の 策 が 講 じられない 以 上 のリスクが 存 在 するわけではない また RAM に 書 き 込 まれた 内 容 はデバイスを 再 起 動 することでリセットすることが 可 能 であるため ユーザが 意 図 し てデバイスの 電 源 を 一 度 OFF することで 脆 弱 性 を 利 用 されていない 状 態 に RAM を 復 元 することが 可 能 である このため OS をアップデートすることでデバイスに 存 在 する 脆 弱 性 対 策 を 行 い ユーザにデバイスの 電 源 の OFF を 促 すことで 脆 弱 性 を 利 用 できない 状 態 にすることが 可 能 である このため RAM に 展 開 した OS の 書 き 換 えの 禁 止 を 行 うことは デバイスの 脆 弱 性 対 策 を 補 う 用 途 にのみ 貢 献 できる 対 策 項 目 であると 言 える JSSEC-TECD-DS-GD20120518β Page 10
4. おわりに これらの 対 策 をデバイス 上 で 実 現 するためにはさまざまな 手 法 が 考 えられるが ど の 手 法 が 優 れているということを 単 純 に 比 較 することは 非 常 に 難 しい 本 来 守 るべきも のはデバイスの 動 作 そのものであり 個 別 でいくら 強 固 な 対 策 を 講 じていたとしても 横 にその 対 策 をすり 抜 ける 問 題 が 残 っていればデバイスそのものが 堅 牢 であると 言 える わけではないからである このためデバイスとして 全 体 でどういった 対 策 が 行 われてい るべきであるかというバランスを 考 えることは 重 要 である また デバイスを 堅 牢 化 するためにはソフトウエアの 変 更 のコストであったり 動 作 速 度 への 影 響 であったり 対 策 のない 状 態 よりも 多 くメモリを 消 費 したりすることが ある セキュリティ 対 策 を 行 うためにはそうした 犠 牲 が 伴 うものであり どのような 対 策 であっても 無 闇 に 行 うことが 必 要 なのではなく 過 剰 な 対 策 については 行 わないとい う 判 断 も 実 運 用 上 では 必 要 になってくる こうした 判 断 をするための 情 報 として 本 ガイドが 貢 献 できれば 幸 いである JSSEC-TECD-DS-GD20120518β Page 11