検索
連載

Androidマルウェアによるシステム改ざんを検知する技術「セキュアブート」「dm_verity」とはAndroidセキュリティ技術の最前線(6)(2/3 ページ)

Androidセキュリティをめぐる最新の状況を、各界のエキスパートたちが解説する本連載。今回はシステム改ざんを行うようなAndroidマルウェアを検知する技術を紹介する。

Share
Tweet
LINE
Hatena

セキュアブート

 「セキュアブート」とは、ROM上のソフトウェアが端末ベンダー(もしくは利用者)の意図したソフトウェアと同一であるかを確認するために、ソフトウェアを実行する前に、暗号技術を使ってソフトウェアの改ざんを検出する技術のことである。

 より具体的に説明すると、セキュアブートでは、改ざんすることが物理的に難しいハードウェアなどの「信頼の基点(Root of Trust)」を開始点として、次に起動するソフトウェアを“正しさが検証されたソフトウェア”に限定することにより、「信頼の連鎖(Chain of Trust)」を形成していく。そして、システム全体を端末ベンダー(もしくは利用者)が意図した状態で起動させる。Android端末が搭載するプロセッサを設計しているARMは、セキュアブートの構成や運用の指針を開発者向けガイドに示しており、次のような準備と起動の手順を推奨している(図3、関連リンク)。

  • 製造時
  1. 端末ベンダーは、準備として公開鍵ペア(公開鍵PuKと秘密鍵PrK)を生成する
  2. 端末ベンダーは、RSA-PSSなどの公開鍵暗号を使った署名アルゴリズムを用いて、開発したソフトウェアの署名を秘密鍵PrKで生成する
  3. 端末ベンダーは、端末の製造時にROMにソフトウェアとその署名の両方を書き込むとともに、公開鍵PuKをプロセッサ内に確保したOTP(One Time Programmable)メモリに書き込む。OTPメモリは一度しか書き込むことができず、改ざんが困難であるため、これを端末における信頼の基点(Root of Trust)とする
  • 端末起動時
  1. Android端末の起動プログラムは、SoC(System on a Chip)内蔵メモリ上で署名検証アルゴリズムを使い、ソフトウェアの署名をOTPメモリの公開鍵PuKで検証する
  2. この署名が正当であれば、改ざんされていないと見なしてソフトウェアを実行する
図3 ARM社開発者向けガイドにおけるセキュアブート
図3 ARM社開発者向けガイドにおけるセキュアブート

 セキュアブートは、端末ベンダーの意図したシステムを起動するためのものであるが、ハードウェアのサポートが必要であるため、実質的にはQualcommやSamsungなどのプロセッサベンダーがそれぞれのセキュアブート仕様を設計している。詳細な仕様は公開されていないが、各ベンダーのカタログスペックにはチップのセキュリティ機能としてセキュアブートの記載がある。

 このセキュアブートを、Android起動時にuserdata.imgを除く3つのイメージ(bootloader.img、boot.img、system.img)に適用することで、システム領域が改ざんされていないことを検出できる(図4)。userdata.imgは先に説明した通りユーザーによって追加されたデータなどが格納される場所であり、頻繁に更新されることや、システムに比べて重要性の低いデータが格納されることなどの理由から、セキュアブートの対象外とするのが一般的である。

図4 Androidにおけるセキュアブート
図4 Androidにおけるセキュアブート

 ところが、前述のセキュアブート対象とすべき3つのイメージのうち、system.imgについてはほとんどの端末でセキュアブートされていないのが実情である。これには2つの理由がある。1つ目は、イメージサイズが大きい(boot.imgの約100倍、数ギガバイトになる場合もある)ために、セキュアブート方式で検証しようとすると、メモリリソースが大きく消費され、起動が著しく遅くなってしまうこと。そして2つ目が、小規模更新パッチであるOTA(Over The Air)アップデートがファイルレベルで行われるために、更新後のsystem.imgがビットレベルでの同一性を保持できず(ファイルの内容は同じでもメタデータなどが異なってしまう場合がある)、完全な同一性が求められるセキュアブートが実施できなくなってしまうことである。

Copyright © ITmedia, Inc. All Rights Reserved.

Security & Trust 記事ランキング

  1. セキュリティ担当者の54%が「脅威検知ツールのせいで仕事が増える」と回答、懸念の正体とは? Vectra AI調査
  2. 米国/英国政府が勧告する25の脆弱性、活発に悪用されている9件のCVEとは、その対処法は? GreyNoise Intelligence調査
  3. セキュリティ専門家も「何かがおかしいけれど、攻撃とは言い切れない」と判断に迷う現象が急増 EGセキュアソリューションズ
  4. OpenAIの生成AIを悪用していた脅威アクターとは? OpenAIが脅威レポートの最新版を公開
  5. インサイダーが原因の情報漏えいを経験した国内企業が約3割の今、対策における「責任の所在」の誤解とは
  6. 約9割の経営層が「ランサムウェアは危ない」と認識、だが約4割は「問題解決は自分の役割ではない」と考えている Vade調査
  7. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  8. 人命を盾にする医療機関へのランサムウェア攻撃、身代金の平均支払額や損失額は? 主な手口と有効な対策とは? Microsoftがレポート
  9. MicrosoftがAD認証情報を盗むサイバー攻撃「Kerberoasting」を警告 検知/防御方法は?
  10. AIチャットを全社活用している竹中工務店は生成AIの「ブレーキにはならない」インシデント対策を何からどう進めたのか
ページトップに戻る