【WP for IT Pros】Windows Phone のセキュリティモデル 4 ~ マルウェアからの保護

これまでの投稿は以下の通りです。 【WP for IT Pros】Windows Phone のセキュリティモデル 1 ~「チャンバー」という考え方(1) 【WP for IT Pros】Windows Phone のセキュリティモデル 2 ~「チャンバー」という考え方(2) 【WP for IT Pros】Windows Phone のセキュリティモデル 3 ~ データの保護 今回はマルウェアからの保護について。かなり概念的な内容であまり面白味のある話ではないかもしれませんが、おつきあいいただければ。 モバイルデバイスのウィルスやマルウェアによる脅威が増えつつあります。今後企業レベルでスマートフォンの導入が進むと、IT Pro にとっては大きな脅威となりえます。 マイクロソフトはデータ保護において「多層的な縦深防御」というアプローチをとっているということを解説しましたが、本件に関しても同様のアプローチをとっています。このアプローチは大きく以下の2点に分けられます。 Windows Phone OS 自身のアーキテクチャによりアタック面を最小限に抑える アプリケーションの配布プロセスにより Windows Phone からマルウェアの脅威を遠ざける 上記を踏まえ、具体的に解説します。 ■ アプリケーションプラットフォームとしてのアプローチ IT Pro の方にはなじみが薄いかもしれませんが、マイクロソフトが提供するアプリケーションの開発環境は「.NET Framework」と呼ばれています。これは同時に、アプリケーションの実行環境でもあります。 Windows Phone のアプリケーションプラットフォームは Silverlight と XNA ですが、いずれも .NET 環境で広く使われているテクノロジーであり、これらはマネージコード(Managed…

4

【WP for IT Pros】Windows Phone のセキュリティモデル 3 ~ データの保護

前回までの投稿は以下の通りです。 【WP for IT Pros】Windows Phone のセキュリティモデルについて~「チャンバー」という考え方(1) 【WP for IT Pros】Windows Phone のセキュリティモデルについて~「チャンバー」という考え方(2) 今回は Windows Phone のデータ保護について解説します。 社内や社外に与える影響の大きさに関わらず、社内データの保護や、データの整合性を維持することは企業にとって重要です。Windows Phone には、社内データを外部に流出するリスクを最小限に抑えるための手段が用意されています。 Windows Phone は「多層的な(multi-layered)縦深防御(Defense in Depth)」というアプローチを用いて、データの保護を実現しています。縦深防御とは複数の防御ラインを用意することで目的のデータに到達することを困難にすることで、仮に1つの防御ラインが突破されても他に用意された防御ラインによってデータは保護され続けます。 さらに、Windows Phone のあらかじめ決められている仕様により、ハードウェアベンダーを問わず全ての Windows Phone が同じ管理機構、セキュリティ制御機構を持っており、組織内の一貫したモバイルデバイス管理を可能にしています。 デバイス アクセス ポリシー 最初の防御ラインとしてロックスクリーンが用意されています。スクリーンロックを解除するには、PIN または複雑なパスワードを使用しなければなりません。スクリーンロックを解除するためのセキュリティコードは、EAS(Exchange ActiveSync)パスワードポリシーと関連付けることができます。EAS パスワードポリシーが構成されると、Exchange Server に接続されている全ての Windows Phone に、このポリシーが強制的に適用されます。 現在、世界中の多くの企業が Exchange Server を採用しています。マイクロソフトはブロードキャスト的にデバイスにリーチできるこのインフラストラクチャを、デバイス管理を簡素化する方法として使用することにしました。EAS は長年使われてきたテクノロジーであり、堅牢なコミュニケーションプロトコルです。Windows Phone 7.5 には EAS 14.1 が実装されており、email、カレンダー、タスクそしてコンタクト情報の同期がサポートされています。 *…

1

【WP for IT Pros】Windows Phone のセキュリティモデル 2 ~「チャンバー」という考え方(2)

前回は「チャンバー」の概念についてお話ししました。 【WP for IT Pros】Windows Phone のセキュリティモデルについて~「チャンバー」という考え方(1) 今回は、その補足的な内容となるのですが、「機能ベースの権限モデル」と「サンドボックス」について書きます。 ■ 機能(Capabilities)ベースの権限モデル 「機能」とは別の言い方をすれば「リソース」です。Windows Phone にはさまざまな機能が実装されており、「位置情報」「カメラ」「マイク」「ネットワーク」「センサー」などが「機能」に該当します。これらの機能は、Windows Phone の使い方と密接に関連していることは言うまでもありませんが、機能こそが「ユーザープライバシー」「セキュリティ」「コスト」「ビジネスに関する考慮事項念」などに影響を与えることになります。 既に述べたように、LPC(Least Privileged Chamber)には規定で必要最小限のアクセス権限が与えられています。しかし、だからといって LPC 内のアプリケーションがそれ以上の機能を使用できないわけではありません。例えば LPC 内のアプリケーションが「カメラ」機能を使用する必要がある場合には、アプリケーションのインストール中に「カメラ」へのアクセスがユーザーに打診されます。ユーザーがそれを承認すれば、アプリケーションはカメラ機能を使用することができるようになります。ただし、こうした権限の昇格はアプリケーションの実行中に与えられることは無く、かならずアプリケーションを使い始める前に承認される必要があります。 このようにして、LPC はダイナミックに「機能」によってによって権限が拡張されます。これを「機能ベースの権限モデル」と呼びます。 機能ベースの権限モデルには、以下のような利点が挙げられます。 – アタック面の最小化 それぞれのアプリケーションは、その動作に必要最小限の「機能」のみを使用する。攻撃の対象はそれらの機能に付随することになるが、逆に言えばその範囲に留まるということでもある。 – ユーザーの承諾と制御 それぞれのアプリケーションが利用者に対して、どのような機能を使用するのかを提示する義務を負う。規定では、以下に示す場所とタイミングで使用する機能を提示しなければならない。 Windows Phone Marketplace 内のアプリケーション詳細説明ページ アプリケーションの購入画面 アプリケーションを最初に使用するとき アプリケーションの開発者は、Windows Phone の開発ツールを使用して、機能リストを作成する必要があります。機能リストはアプリケーションパッケージの WMAppManifest.xml ファイルに格納されます。 ■ サンドボックス Windows phone の全てのアプリケーションが、それぞれの分離したチャンバーの中で事前に定義された機能とともに動作することは既に述べたとおりです。 このとき、必要最小限の権限が全てのアプリケーションに与えられますが、その中には「分離ストレージ」へのアクセス権も含まれています。アプリケーション間には、クラウド等の外部デバイスを除き、いかなる通信チャネルも存在していません。アプリケーションは互いに完全に分離されており、当然のことながら互いのメモリやデータにアクセスすることもきません。これにはキーボードのキャッシュも含まれています。 加えて、Windows Phone はバックグラウンドで動作することも許されていません。これにより、意図的に隠されたアプリケーションや、いわゆるスパイウェアから利用者のデータを守っています。利用者が別のアプリケーションに切り替えたときには、これまで使用していたアプリケーションは休止状態となり、それまでの動作状態が保存されます。こうしたアプローチにより、アプリケーションがリソースを食いつぶしたり、裏で勝手にインターネットにアクセスするといったことを抑止しているのです。 本来参照する権限を持たないユーザーに対して社内情報を流出してしまうなど、スマートフォンにありがちな一般的なリスクを軽減するには、堅牢なセキュリティで守られたデバイス上にアプリケーションを展開する必要があります。 Windows Phone はデバイス自身がこのようなセキュリティで守られている他、Exchange…

0

【WP for IT Pros】Windows Phone のセキュリティモデル 1 ~「チャンバー」という考え方(1)

Windows Phone のセキュリティモデルについて断片ばかりで系統的に語ったことが無かったので、あらためて。 参考:Download: Windows Phone 7.5 IT Papers – Microsoft Download Center – Download Details 以下の図は、Windows Phone のセキュリティモデルを模式的に表したものです。 Windows Phone のセキュリティモデルは「分離の原則」と「最小限の権限」という思想のもとに設計されており、「チャンバー」と呼ばれるコンセプトに沿って実装されています。 ここで言う「チャンバー」とは、心室や心房などのように仕切られた部屋を意味しています。Windows Phone 上で動作するアプリケーションやドライバーは、必ずいずれかのチャンバーに隔離され、チャンバーごとに定義されたアクセス権限のみを行使することができます。これにより Windows Phone で動作するアプリケーションの独立性と必要最小限のパーミッションによる動作が保障されています。 チャンバーはセキュリティポリシーの定義によって以下の4つのタイプに分けられています。 TCB(Trusted Computing Base)チャンバー 最も高度な権限を持ったチャンバー。Windows Phone 内のリソースの大部分に無制限にアクセスすることができる。TCB チャンバーはポリシーを変更したり、セキュリティモデルを強制することができる。カーネルとカーネルモードドライバーは TCB チャンバー内で動作する。TCBチャンバー内で動作するアプリケーションを最小限に抑えることが Windows Phone へのアタック面を最小限に減らすことになる重要な要素である。マイクロソフトだけがTCBチャンバーにアプリケーションを追加できる。 ERC(Elevated Rights Chamber) セキュリティポリシーを除く全てのリソースにアクセス可能なチャンバー。ERC は、他の Windows Phone アプリが使用する機能を提供するサービスやユーザーモードドライバを対象にしている。マイクロソフトだけが ERC にソフトウェアを追加することができる。 SRC(Standard Rights Chamber) SRCはプリインストールアプリケーションに与えられる既定のチャンバーである。デバイス全体に影響するサービスを提供するアプリを除き、すべてのプリインストールアプリケーションはSRCで動作する。マイクロソフトの…

0

【WP for IT Pros】AD FS 接続テストツール(ADFSClient)を公開しました

非常にニッチな Windows Phone アプリを公開しました。 その名も、AD FS 接続テストツール です。 社内の AD FS から SAML トークンが正しく受け取れるかどうかを検証するためのツールです。 まだマーケットプレースの検索にはヒットしないようですが、以下からダウンロードすることができます。 http://www.windowsphone.com/ja-JP/apps/6396423a-d26e-4ef7-a03e-9e695f87d52b 画面は以下の1画面だけ(笑)。「ログオン」をタップして正常に認証/認可されると、右のような画面が表示されます。これだけです。    こんなアプリも公開可能なので、ITPROの方にも是非チャレンジしていただきたいですねl このアプリのソースコードは以下で公開しています。是非もっと便利にアレンジして使ってください! 2011/11/28 セミナー資料 Windows Phone アプリケーションに認証機能を実装する

1

【WP for ITPro】Windows Phone から直接 Active Directory 認証を行うには ~その4(完結編)

※この投稿は Windows Phone Advent Calender 2011 に参加しています ※こちらもお勧め Windows Phone Advent Calendar "ひとり" 2011 : ATND Windows Phone + Active Directory の 4 回目です。過去の投稿は以下より。 2011年11月28日 Tech Fielders セミナー 「Windows Phone に認証機能を実装する」で使用した資料、ソースコードは以下からどうぞ。当日の収録動画もあります。 2011/11/28 セミナー資料 Windows Phone アプリケーションに認証機能を実装する 前回までの作業で準備が整いました(かなり時間が空いてしまいましたが)。ここからは、実際に Active Directory Federation Service からセキュリティトークンを受け取ってみましょう。 極力シンプルなコードにするために、各パラメタはハードコーディングしますのでご容赦ください。 はじめに新しい Windows Phone のプロジェクトを作成します。選択するテンプレートは「Windows Phone アプリケーション」でよいでしょう。 プロジェクトが開いたら、前回作成したライブラリ(IdentityModel.WP7.dll)を「参照設定」に追加します。 MainPage.xaml ファイルをダブルクリックして開いてください。ここに、ボタンを2つ追加しておきます。1つは SSL 証明書をインストールするためのボタン、もう1つはログオンしてセキュリティトークンを受け取るためのボタンです。今回は極力シンプルにするためにユーザー名やパスワードなどは、すべてハードコーディングしてしまいます。なのでテキストボックスは使いません。 はじめに、AD…

0

【WP/Azure for ITPro】Windows Phone から Windows Azure AppFabric ACS を使用する

※この投稿は Windows Azure Advent Calender に参加しています Windows Phone で Windows Azure AppFabric Access Control Service からセキュリティトークンを受け取るにはためには、面倒なコードを書く必要があります。でも安心してください。うってつけのライブラリがあります。 必要なソフトウェアは以下の2つです。 Windows Phone SDK 7.1 Windows Auzre Platform Trainig Kit 2011 Novenver Update(英語版) Windows Phone SDK は Windows Phone アプリの開発環境なので、ここでの説明はよいでしょう。 ■Windows Phone 用 ACS コントロールの準備 重要なのは、Windows Azure Platform Training Kit(WAPTK) です。WAPTK を解凍すると、C:\WAPTK 配下に自習用のラボファイルが作成されます。この中に、Windows Phone 用のライブラリが用意されてます。 以下のフォルダが、Windows Phone 用の ACS用ライブラリです。…

0

【WP for ITPro】Windows Phone から直接 Active Directory 認証を行うには ~その3

Windows Phone + Active Directory の3回目です。過去の投稿は以下より。 2011年11月28日 Tech Fielders セミナー 「Windows Phone に認証機能を実装する」で使用した資料、ソースコードは以下からどうぞ。当日の収録動画もあります。 2011/11/28 セミナー資料 Windows Phone アプリケーションに認証機能を実装する 前回までの投稿で AD FS を含めたテスト環境は整ったかと思います。今回はWPアプリへの認証機能の実装について振れるわけですが、その前にやらなければいけないことがあります。それは、AD FS と通信するためのライブラリの準備です。 前回までの投稿で書いたとおり、Windows Phone には System.DirectoryService が実装されていません。そのため、AD DS(Active Directory Domain Service)に対して直接認証を依頼することができません。そのために、Windows Phone と AD DS の間に AD FS を挟むわけです。 しかし、AD FS と通信するためには、WS-Trust というプロトコルを使用する必要があり、これを一からコーディングしていたのでは日が暮れてしまいます。そこで、既存のライブラリを使えないだろうか…と調べたところ、以下のようなすばらしい事例がありました。 aXelerate Blog | Using Active Directory authentication from Windows Phone…

1

【WP for ITPro】Windows Phone から直接 Active Directory 認証を行うには ~その2

2011年11月28日 Tech Fielders セミナー 「Windows Phone に認証機能を実装する」で使用した資料、ソースコードは以下からどうぞ。当日の収録動画もあります。 2011/11/28 セミナー資料 Windows Phone アプリケーションに認証機能を実装する 前回の続きです。 【WP for ITPro】Windows Phone から直接 Active Directory 認証を行うには ~その1 今回は、Windows Phone から AD FS を介して AD DS に認証を受けるためのアプリケーションを開発するための手順について解説します。 1. 必要な環境について これから紹介する仕組みを実装するには、少なくとも以下の環境が必要です。ちょっと面倒ですが頑張ってください。 Widnows Server 2008 R2 または 2008 – Active Directory Domain Service – Active Directory Federation Service Windows 7(仮想環境はダメ!) – Windows Phone…

0

【WP for ITPro】Windows Phone とルート証明書の関係、自己署名証明書のインストール方法

ちょっと面倒な証明書のお話し。 ■標準で実装されているルート証明書 Windows Phone に標準で実装されているルート証明書は以下の通りです。 ※詳細は SSL Root Certificates for Windows Phone AOL (United States) RSA Security (United States) Comodo (United States) SECOM Trust Systems Co. Ltd (Japan) DigiCert (United States) Taiwan-CA Inc. (Taiwan) Entrust (Canada) TrustCenter (Germany) GlobalSign (United Kingdom) Trustwave (United States) GoDaddy (United States) VeriSign (United States) Keynectis (France) VeriSign Business (United…

0