三位一体のセキュリティソリューション構造

Azure sphere は、3つのコンポーネントで構成されています。


デバイスの中心となるハードウェアチップ「Azure Sphere MCU」
そこで動作するLinux ベースのセキュアOS「Azure Sphere OS」
クラウドベースのセキュリティサービス「Azure Sphere Security Service」


これら3つが有機的に連係し、セキュリティを担保します。

Azure Sphere MCU

Azure Sphereのチップには、マイクロソフトが設計したセキュリティサブシステム、Plutonが組み込まれています。このMCUはCortex-A クラス プロセッサの汎用性と処理能力を、Cortex-M クラス プロセッサの低オーバーヘッドとリアルタイム性保証を兼ね備えています。


またこのMCUには家庭用ゲーム機 「Xbox」で 15 年以上培った、マイクロソフトのセキュリティ テクノロジも反映されています。

懸念される攻撃ポイント Azure Sphereによる防御
低エントロピー
デバイスが動作で使用するエントロピー量を低下させることで、攻撃者は、機密に関する暗号化動作のリバース エンジニアリングを行える程度に、暗号化動作の結果を予測可能なものにできます。
Azure Sphere による防御: セキュリティで保護された MCU
Azure Sphere のシリコンベースのセキュリティ サブシステムでは、真性乱数ジェネレーターを使用して乱数を生成する前にエントロピーを積極的に測定し、低エントロピー攻撃から防御します。Azure Sphere MCU では、エントロピーの高さが十分でない場合には乱数を生成しません。
中間者 (Man-in-the-Middle)
中間者攻撃では、攻撃者はエンドポイントを装い、ネットワーク トラフィックを書き換える場合があります。たとえば、攻撃者はオンライン サービスのふりをして、リクエストに応答する一方で、デバイスが送受信するすべてのデータを解析する可能性があります。
Azure Sphere による防御: クラウド セキュリティ
中間者攻撃に対する防御には、認証済み通信と非公開通信の両方が必要です。Azure Sphere では TLS を使用して通信を確実に非公開にし、証明書ベースの相互認証を使用して通信相手のエンドポイントが本物であることを確認します。
サプライチェーンの破壊
攻撃者がサプライチェーン内に入り込み、デバイスの非公開キーを取得したり、デバイスがユーザーに届く前に (たとえば工場内で) デバイスにマルウェアを読み込ませたりする場合があります。
Azure Sphere による防御: クラウド セキュリティ
Azure Sphere MCU の公開/非公開キーはシリコンで生成されます。非公開キーがソフトウェアに公開されることはなく、チップを破壊せずにアクセスするのは不可能です。これによりそれらのキーを、リモート検証や計測済みの起動のようなプロトコルの一部として確実に使用できます。
ロールバック攻撃
ソフトウェアにバグはつきものです。ソフトウェア アップデートでバグが公表されると、まだアップデートされていないすべてのデバイスが攻撃に対して脆弱となります。ロールバック攻撃でハッカーは、ソフトウェアに既知のバグがあるバージョンにデバイスを強制的にダウングレードして、攻撃に対して脆弱にしようと試みます。
Azure Sphere による防御: セキュリティで保護された MCU
Azure Sphere はシリコンベースのリモート検証プロトコルを実装しており、クラウド セキュリティ サービスで、デバイスが正規のソフトウェアを実行していることだけでなく、そのソフトウェアの適切なバージョンを実行していることも検出でき、必要に応じてデバイスの古いソフトウェアをアップデートします。
クロック グリッチ
デバイスの時計 (すなわちクロック ドライバー) を不安定にすることで、ハッカーは 1 つ 1 つの命令がいつ実行されるかを制御し、重要な命令 (セキュア ブートを実装するものなど) をスキップでき、それによりデバイスで任意のソフトウェアを実行できます。
Azure Sphere による防御: セキュリティで保護された MCU
Azure Sphere では、起動中に特定の動作がスキップされたかどうかを検出し、スキップされている場合はデバイスをリセットできます。また、Azure Sphere では、コード実行の初期にランダム度を挿入して、クロック グリッチ攻撃の実行を困難にしています。
DPA 攻撃
DPA (差分電力解析) 攻撃は、暗号化動作中のチップの電力消費の差を測定することで実行され、キーそのものにアクセスせずに、非公開キーを抽出することが可能となります。
Azure Sphere による防御: セキュリティで保護された MCU
Azure Sphere のシリコンベースのセキュリティでは、機密情報の暗号化動作を実行するにあたって対抗策を用意し、DPS を使用して実行中に非公開キーを抽出することを困難にしています。
マルウェア
マルウェアおよび偽造ソフトウェアによる攻撃では、元のソフトウェアが悪意のあるソフトウェアに置き換えられます。偽のソフトウェアは元のソフトウェアと似たような動作をしますが、デバイスを侵害したり、攻撃者のためにバックドアを仕掛けたりするなど、微細な変更が加わっています。
Azure Sphere による防御: セキュリティで保護された MCU
マイクロソフトでは、Azure Sphere デバイスで実行するすべてのソフトウェアに署名を行い、セキュア ブートを使用して、正規のソフトウェアのみがデバイスで実行されることを保証します。署名の検証では承認済みのソフトウェアのリストを作成し、リモート検証ではデバイスが最新のソフトウェアを実行していることを保証します。/td>
脱獄化
デバイスの脱獄化では、ソフトウェアの一連の脆弱性を利用して、デバイスで許可されない権限のロックを解除します。これによりデバイスでは、たとえば、未署名/非正規のソフトウェアを実行できます。
Azure Sphere による防御: セキュリティで保護された MCU
Azure Sphere では、ソフトウェアの最下層にある最も信頼性の高い層が侵害されていないかぎり、侵害されたソフトウェアで未承認の機能のロックを解除することはできません。これにより、攻撃者にとって Azure Sphere デバイスの脱獄化はさらに困難になります。
NOP Sled
NOP とは “no-op” (何もしない) のことで、文字通り「何もしない」ことを CPU に命じる、一見無害なアセンブリ言語の命令です。NOP sled 攻撃では、攻撃者は NOPS を連続して使用して、エクスプロイトの探索の一環として実行可能コードを探します。
Azure Sphere による防御: セキュリティで保護された MCU
Azure Sphere MCU では、物理アドレス空間で無効なアドレスにアクセスすると、NOP ではなく、無効な命令を返すことができます。したがって、攻撃者が NOP sled 経由で無効なメモリを通じて実行を試みた場合、無効な命令の例外が発生することになります。

Azure Sphere OS

Azure Sphere OS は、セキュアな堅牢性とスピードとの両立を目的として構築されています。カスタムLinuxカーネルをベースにWindows で開拓したセキュリティ イノベーションを MCU に対応する小型の HLOS に組み込み、アプリケーションをコンテナ化し、隔離して実行します。

懸念される攻撃ポイント Azure Sphereによる防御
Inputs of Death
Input of Death は、巧妙に作り上げられた入力で、ソフトウェアをクラッシュさせたり、予期しない動作を引き起こしたりします。入力を巧妙に作り上げることにより、攻撃者はそのデータを読み取ったソフトウェアを支配下に置くことができる可能性があります。
Azure Sphere による防御: セキュリティで保護された OS
Azure Sphere のエンジニアリング チームでは、ファジー テスト ツールを使用し、多数の入力を生成して Inputs of Death の入力を検出し、最終的にはその入力に対処します。静的分析ツールを使用して、解析コードのエラーを特定し、さらには攻撃対象領域を強化します。
Return Oriented Programming (ROP)
Return Oriented Programming (ROP) は、stack-smash 攻撃の一種で、実行中のプログラムとそのメモリのコンテンツから、一意の実行可能プログラムを効果的に作成するための、小さな命令シーケンスを探します。
Azure Sphere による防御: セキュリティで保護された OS
Azure Sphere のエンジニアリング チームでは静的分析を使用し、社外の侵入テスト チームと連携して、stack-smash 攻撃に対して脆弱なコードを探します。スタックおよびヒープ インスタンスを No-Execute としてマークして、ROP 攻撃の実行を困難にします。
バッファー オーバーフロー
バッファー オーバーフロー攻撃は、ソフトウェアを侵害する、最もよく知られた攻撃の一つです。ソフトウェアのバッファーの長さを超えて記述することで、攻撃者はプログラムをクラッシュさせ、場合によっては制御を奪い、ソフトウェアに意図しない動作を実行させることができます。
Azure Sphere による防御: セキュリティで保護された OS
Azure Sphere では、スタック ガードを使用して、バッファー オーバーフロー攻撃から保護します。さらに、マイクロソフトのアプリケーション サンドボックスと多層防御により、攻撃が成功した場合でも、侵害されるのはデバイス全体ではなく 1 つのコンポーネントのみとなります。
マルウェア
マルウェアおよび偽造ソフトウェアによる攻撃では、元のソフトウェアが悪意のあるソフトウェアに置き換えられます。偽のソフトウェアは元のソフトウェアと似たような動作をしますが、デバイスを侵害したり、攻撃者のためにバックドアを仕掛けたりするなど、微細な変更が加わっています。
Azure Sphere による防御: セキュリティで保護された MCU
マイクロソフトでは、Azure Sphere デバイスで実行するすべてのソフトウェアに署名を行い、セキュア ブートを使用して、正規のソフトウェアのみがデバイスで実行されることを保証します。署名の検証では承認済みのソフトウェアのリストを作成し、リモート検証ではデバイスが最新のソフトウェアを実行していることを保証します。
アプリの脆弱性
アプリケーションは、ソフトウェア内のエラーに対して脆弱です。それがソフトウェア制作者が記述したコードの脆弱性であっても、リンクするライブラリの未知の脆弱性であっても同じです。
Azure Sphere による防御: セキュリティで保護された OS
Azure Sphere のアプリケーション サンドボックスは、脆弱性の発見後に攻撃者が実行できることを制限するよう設計されています。マイクロソフトのクラウド セキュリティ サービスでは、ソフトウェア アップデートで脆弱性に迅速に対処できます。
ボットネット
ボットネットとは、ハッカーに乗っ取られたデバイスのことで、特定の目的を果たすために協調して動作します。デバイスは何度も攻撃されて侵害されます。ボットネットは DDOS 攻撃、ビットコインのマイニング、スパム広告ネットワークなどに使われます。
Azure Sphere による防御: セキュリティで保護された OS
Azure Sphere MCU では、ファイアウォールを使用して、アプリケーションの接続先を制限します。リモート検証では、どのソフトウェアがデバイス上で実行されているかを検証し、脆弱なデバイスや侵害されたデバイスを隔離して、デバイスのソフトウェアがアップデートされるまで、インターネット上の許可された場所にそのデバイスが接続するのを防ぎます。
デフォルト パスワード
デバイスのメーカーでは、すべてのデバイスに同じ “デフォルト (既定)” パスワードを割り当てることがよくあります。デバイスを家に持ち帰った時点で、こうしたデフォルト パスワードをそのまま使用することは一般的ですが、このパスワードを使用してデバイスを支配するハッカーに対して脆弱なままとなります。
Azure Sphere による防御: セキュリティで保護された OS
Azure Sphere の IoT オペレーティング システムでは、パスワードをまったく使用しません。パスワードも、コンソールも、ユーザー アカウントもありません。したがって、Azure Sphere には単純に攻撃対象領域がないので、すべての人の生活が少しだけシンプルに、安全になります。

Azure Sphere Security Service

Azure Sphereのセキュリティ サービスは、信頼のクラウドサービス、Azureによって提供されます。

IoT機器すべての通信について証明書ベースの認証を行うほか、デバイスの信頼性を保証し、お客様の正規のソフトウェアだけが実行されるようにします。また、デバイスとアプリケーションの障害に対する分析情報を提供し、新しく発生するセキュリティ脅威を可視化します。さらにソフトウェア更新プログラムをAzureから自動オンライン更新することで、将来の脅威にも対応します。

懸念される攻撃ポイント Azure Sphereによる防御
辞書
辞書攻撃は、一般的または脆弱なパスワードを破るために使用されます。辞書攻撃では、ハッカーは既知のパスワードの膨大なリストを調べ、一般的なパスワードの組み合わせを探します。
Azure Sphere による防御: クラウド セキュリティ
Azure Sphere では、パスワードやユーザー アカウントは使用しません。代わりに、証明書ベースの相互認証を利用します。これにより、この攻撃の対象となる領域がなくなります。
中間者 (Man-in-the-Middle)
中間者攻撃では、攻撃者はエンドポイントを装い、ネットワーク トラフィックを書き換える場合があります。たとえば、攻撃者はオンライン サービスのふりをして、リクエストに応答する一方で、デバイスが送受信するすべてのデータを解析する可能性があります。
Azure Sphere による防御: クラウド セキュリティ
中間者攻撃に対する防御には、認証済み通信と非公開通信の両方が必要です。Azure Sphere では TLS を使用して通信を確実に非公開にし、証明書ベースの相互認証を使用して通信相手のエンドポイントが本物であることを確認します。
サプライチェーンの破壊
攻撃者がサプライチェーン内に入り込み、デバイスの非公開キーを取得したり、デバイスがユーザーに届く前に (たとえば工場内で) デバイスにマルウェアを読み込ませたりする場合があります。
Azure Sphere による防御: クラウド セキュリティ
Azure Sphere MCU の公開/非公開キーはシリコンで生成されます。非公開キーがソフトウェアに公開されることはなく、チップを破壊せずにアクセスするのは不可能です。これによりそれらのキーを、リモート検証や計測済みの起動のようなプロトコルの一部として確実に使用できます。
ロールバック攻撃
ソフトウェアにバグはつきものです。ソフトウェア アップデートでバグが公表されると、まだアップデートされていないすべてのデバイスが攻撃に対して脆弱となります。ロールバック攻撃でハッカーは、ソフトウェアに既知のバグがあるバージョンにデバイスを強制的にダウングレードして、攻撃に対して脆弱にしようと試みます。
Azure Sphere による防御: セキュリティで保護された MCU
Azure Sphere はシリコンベースのリモート検証プロトコルを実装しており、クラウド セキュリティ サービスで、デバイスが正規のソフトウェアを実行していることだけでなく、そのソフトウェアの適切なバージョンを実行していることも検出でき、必要に応じてデバイスの古いソフトウェアをアップデートします。
アプリの脆弱性
アプリケーションは、ソフトウェア内のエラーに対して脆弱です。それがソフトウェア制作者が記述したコードの脆弱性であっても、リンクするライブラリの未知の脆弱性であっても同じです。
Azure Sphere による防御: セキュリティで保護された OS
Azure Sphere のアプリケーション サンドボックスは、脆弱性の発見後に攻撃者が実行できることを制限するよう設計されています。マイクロソフトのクラウド セキュリティ サービスでは、ソフトウェア アップデートで脆弱性に迅速に対処できます。
脱獄化
デバイスの脱獄化では、ソフトウェアの一連の脆弱性を利用して、デバイスで許可されない権限のロックを解除します。これによりデバイスでは、たとえば、未署名/非正規のソフトウェアを実行できます。
Azure Sphere による防御: セキュリティで保護された MCU
Azure Sphere では、ソフトウェアの最下層にある最も信頼性の高い層が侵害されていないかぎり、侵害されたソフトウェアで未承認の機能のロックを解除することはできません。これにより、攻撃者にとって Azure Sphere デバイスの脱獄化はさらに困難になります。
ボットネット
ボットネットとは、ハッカーに乗っ取られたデバイスのことで、特定の目的を果たすために協調して動作します。デバイスは何度も攻撃されて侵害されます。ボットネットは DDOS 攻撃、ビットコインのマイニング、スパム広告ネットワークなどに使われます。
Azure Sphere による防御: セキュリティで保護された OS
Azure Sphere MCU では、ファイアウォールを使用して、アプリケーションの接続先を制限します。リモート検証では、どのソフトウェアがデバイス上で実行されているかを検証し、脆弱なデバイスや侵害されたデバイスを隔離して、デバイスのソフトウェアがアップデートされるまで、インターネット上の許可された場所にそのデバイスが接続するのを防ぎます。

製品のお問い合わせ

製品の購入や仕様に関するお問い合わせはこちらから。

お問い合わせ