IoT時代のセキュリティを守るARMの「TrustZone」とは何か

小山安博

July 28, 2016 09:00
by 小山安博

7月18日、ソフトバンクグループが英ARMの買収を発表した。243億ポンド(約3.3兆円)という、英国としても、日本企業の買収額としても最大となった買収劇で、今後株主や規制当局の承認を経て、数週間で買収が完了する予定だ。同社の孫正義社長は会見で、今後拡大するIoT(モノのインターネット)市場でARMの果たす役割の大きさをあげたが、その中で強調されたのがARMの持つ「TrustZone」と呼ばれる技術だ。

ARMは、CPUなどの半導体チップのアーキテクチャ設計を行う企業だ。自ら工場は持たないファブレスというだけでなく、チップの製造も販売も行わない。あくまでコアとなるアーキテクチャの設計を行い、それをIP(知的財産)として半導体メーカーなどにライセンスするだけで、実際のチップの開発、製造はメーカーが行う。

スマートフォンの大部分に搭載されている米Qualcommのチップセットである「Snapdragon」にもARMの技術が使われているし、AndroidスマートフォンだけでなくiPhoneでもARMの技術は利用されている。孫社長は「昨年販売されたスマートフォンの95%以上に入っている」と発言、ARMベースのチップは、昨年148億個出荷された。

逆にARMを使わない半導体メーカーではインテルが代表格だが、PC向けを除くとARMベースのチップの方が多く、「あらゆるものがインターネットに繋がる」IoT時代において、ARMの技術はさらに広まると孫社長はアピールしている。それに加えて孫社長は、こうしたIoT時代においては、セキュリティがさらに重要になると指摘。攻撃者によって「世界中の車が一斉に停止させられたり、飛行機が落ちたり」と煽りつつ、インターネット経由の大規模攻撃の危険にさらされると話した。

ARMのセキュリティ技術「TrustZone」

セキュリティ面でも、ARMの技術が重要になると孫社長は考えており、それが「TrustZone」の存在だ。

TrustZoneは、ARMの設計に含まれるセキュリティ技術だ。ARMのCortex-Aシリーズに搭載されており、ARMコアを採用したデバイスのセキュリティを向上させることができる、とされている。

TrustZoneでは、実行環境が2つに分かれている。1つは通常の実行環境である「Normal World」というパートで、ここにAndroidなどのOSが動作する。ここでは、アプリのインストールやデータの読み書き、インターネットへの接続など、通常の動作が可能となる。もう1つの環境がキモで、TrustZoneでは「Secure World」と呼ばれる。

このSecure WorldではセキュアOSが動いており、通常の環境とは仮想的に分離されている。一種の仮想環境であり、通常の環境からSecure Worldへのアクセスは制限され、セキュアモニターを経由しなければならないため、悪意のあるアプリがSecure World内のデータを盗むといったことはできない。

このSecure Worldでの実行環境とAPI群を標準化したのが、ICカード関連の国際標準化団体であるGlobalPlatformによる「TEE(Trusted Execution Environment)」だ。TEE自体はTrustZoneだけのためのものではないが、TrustZoneではTEE仕様に基づく環境が一般的に使われる。このTEE仕様に基づくAPIを経由してSecure Worldにアクセスが行われる。

Cortex-A向けのTrustZoneのアーキテクチャ(出典:ARM)

このSecure Worldには、例えば指紋センサー用の指紋データを保管する、DRMのための暗号化キーを保存する、といった用途が考えられる。Android PayのようなNFCを使った決済サービスでも、このTrustZone技術が活用されている。

IoTデバイスのセキュリティとしてのTrustZone

ただし、このARMのハードウェア拡張によるTrustZoneの実装は、通常スマートフォンのようなリッチな機器に向けて設計されている。一定のコストやパフォーマンスが必要となるため、いわゆるIoT製品向けには採用が難しい。

そこでARMが設計しているのがCortex-Mだ。最新版は「ARMv8-M」。マイコンや低消費電力SoC向けとされているが、ここにもTrustZoneが搭載されている。名称としては同じTrustZoneだが、Cortex-A向けとは異なるアプローチで機能を実現している。

実際には、メモリマップ上にセキュア領域を割り当て、Secure WorldとNormal Worldを分離するのがこのTrustZoneだ。Secure Worldへのアクセスには、所定のAPIを経由しなければならない。このAPIは認められたセキュアサービスからのアクセスかどうかを認証する仕組みを備える。これにより、もしアプリ側の脆弱性を悪用され、Secure World側に不正にアクセスしても許可されない。

メモリマップの例(出典:ARM)

Cortex-M向けのTrustZoneでは、Secure WorldとNormal Worldの分離を「状態(State)」という形で制御している。プロセッサは、メモリ上に構築されたセキュア領域(セキュアメモリ)上でコードが実行されているときはセキュアステートで動作し、セキュアメモリからの命令コードを実行する。こうしたアクセスの制御はSecure Attribution Unit(SAU)が担当する。

新たなハードウェア実装が不要なことや、メモリ占有量を削減できることなどのメリットがあり、消費電力も従来のARMv6-M、ARMv7-Mと同等だということで、IoTデバイス向けのセキュリティ実装となっている。孫社長が言及したTrustZoneは、このCortex-M向けのTrustZoneだろう。コンセプトは同じだが、Cortex-A向けのいわば仮想化技術によるものとは、正確には実現方法が異なっている。

IoT時代の必須のセキュリティ技術となるか

IoTは、エアコンや冷蔵庫、電球といった家庭内の家電製品から、自動車、腕時計、オフィスのプリンタ、コピー機、産業用機械にいたるまで、さまざまな製品にインターネットアクセス可能なチップを搭載して、デバイス同士が 有機的に連携した世界を作り上げようというものだ。

あらゆるものがインターネットに接続されることで、ネットワーク経由の攻撃はさらに激化する可能性も指摘されており、セキュリティの重要性がさらに増している。TrustZoneは、そうした攻撃のすべてを守れるわけではないが、認証や暗号、外部機器との接続といった重要な領域を保護するために大きな役割を果たす機能となる。

孫社長は、ARMを非上場化しイギリスの開発陣を2倍に増強するなど、開発を強化する方針で、IoTでのARMのシェアをさらに拡大したい考えている。IoTのセキュリティは、これから重要になってくるのは間違いなく、ARMのTrustZoneには今後さらなる注目が集まるだろう。

IoT向けにTrustZoneが提供するセキュリティ機能の例。致命的なリソースに信頼されていないアプリがアクセスするのを防いだり、認証された場合にのみイメージの書き込みを許可する、リバースエンジニアリングからファームウェアを防護する、といった例が挙げられている(出典:ARM)

BugBounty.jp

システムに内在するリスクをチェックセキュリティ診断(脆弱性診断)

提供会社:スプラウト

企業や組織のWebアプリケーション、各種サーバー、スマートフォンアプリケーション、IoTデバイスなどの特定の対象について、内外の攻撃の糸口となる脆弱性の有無を技術的に診断します。外部に公開す るシステムを安心かつ安全に維持するためには、定期的なセキュリティ診断が欠かせません。

BugBounty.jp

サイバー空間の最新動向を分析脅威リサーチ

提供会社:スプラウト

サイバー攻撃に関連した機密情報や個人情報が漏洩していないかをダークウェブも含めて調査し、もし重要な情報が発見された場合は、その対応策についてもサポートします。また、サイバー攻撃者のコミ ュニティ動向を分析し、特定の業種や企業を狙った攻撃ツールやターゲットリストが出回っていないかなどの特殊な脅威調査も請け負っています。

中国でライドシェア殺人事件が発生

May 22, 2018 08:00

by 牧野武文

5月6日早朝、中国版ウーバーの「滴滴出行」(ディディチューシン)のライドシェアを利用した女性が、運転手に殺害されるという痛ましい事件が起きた。ほぼすべてのメディアが連日報道する大事件となった。各交通警察は、中国人民公安大学が制作した「ライドシェアを利用する女性のための安全防犯ガイドブック」を配布して…

アリペイの盲点を突いた男に懲役5年

May 15, 2018 08:00

by 牧野武文

アリババが運営するQRコードスマホ決済「アリペイ(支付宝)」のシステムは、かなり堅牢だ。 アリババは、どのようなセキュリティ対策をしているかは一切公表していない。ただ、ネットではよく「10段構えの防御システムになっている」と言われる。最も外の防御システムが突破されるとアラートが発せられて、緊急チーム…