検索
連載

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. 増える標的型ランサムウェア被害、現場支援から見えてきた実態と、脆弱性対応が「限界」の理由
  2. 日本人の約半数が「1年前より危険」と考えるオンライン詐欺とは マカフィーがホリデーショッピング詐欺に関して調査
  3. 「DX推進」がサイバー攻撃を増加させている? Akamaiがセキュリティレポートを公開
  4. 米国/英国政府が勧告する25の脆弱性、活発に悪用されている9件のCVEとは、その対処法は? GreyNoise Intelligence調査
  5. ランサムウェア攻撃を受けた企業、約6割が「サプライチェーンのパートナー経由で影響を受けた」 OpenText調査
  6. 6年間でAndroidにおけるメモリ安全性の脆弱性を76%から24%まで低減 Googleが語る「Safe Coding」のアプローチと教訓とは
  7. CISOが失敗を許容する組織を構築するために注目すべきは生成AIと何か? ガートナーが提言
  8. ゼロトラストの理想と現実を立命館大学 上原教授が語る――本当に運用できるか? 最後は“人”を信用できるかどうか
  9. インサイダーが原因の情報漏えいを経験した国内企業が約3割の今、対策における「責任の所在」の誤解とは
  10. 「ゼロトラスト」提唱者、ジョン・キンダーバーグ氏が語る誤解と本質――「ゼロトラストの第一歩は『何を守るべきか』を明確にすること」
ページトップに戻る