エンドポイントの管理(Windows)
内容
capamsc141
Privileged Access Manager
は、オペレーティング システムと動的に連携し、アクティブで統合的なセキュリティ ソリューションをオープン システムに提供するソフトウェアです。ファイルのオープン、ユーザ ID の変更、ネットワーク サービスの取得など、セキュリティ保護が必要な操作をユーザが要求するたびに、Privileged Access Manager
はイベントをリアルタイムでインターセプトできます。製品はその妥当性を検証してから、オペレーティング システム(OS)標準機能に制御を渡します。Privileged Access Manager とは(Windows の場合)
Privileged Access Manager
とは(Windows の場合)Privileged Access Manager
は、ネイティブ プラットフォームのセキュリティ管理を行うための強力なツールを提供し、企業のセキュリティ要件に合わせて完全にカスタマイズできるセキュリティ ポリシーの実装を可能にします。Privileged Access Manager
を使用すると、ネイティブのオペレーティング システムでは実現できない強力なセキュリティをユーザ、グループ、およびリソースに対して提供できます。また、組織全体のセキュリティを集中管理し、マルチプラットフォーム環境において Windows と UNIX のセキュリティ ポリシーを統合できます。保護の対象(Windows の場合)
Privileged Access Manager
は、以下のエンティティを保護します。- ファイル特定のファイルにアクセスする権限があるか?Privileged Access Managerはファイルにアクセスするユーザの機能を制限します。ユーザに対して、READ、WRITE、EXECUTE、DELETE、RENAME などのアクセス権限を 1 種類以上与えることができます。アクセス権限は、個々のファイルに対して、または類似した名前を持つファイルの集合に対して指定できます。
- 端末特定の端末を使用する権限があるか?このチェックは、ログイン プロセスで行われます。Privileged Access Managerデータベースに個々の端末または端末グループを定義し、アクセス ルールにより、その端末または端末グループの使用を許可されているユーザまたはユーザ グループを指定できます。端末を保護することによって、強力な権限を持つユーザ アカウントのログインに未許可の端末が使用されることを確実に防止します。
- サインオン時間ユーザには、特定の曜日の特定の時間にログインする権限があるか?通常、エンド ユーザは平日の勤務時間帯にのみ端末を使用します。そのため、平日の曜日と時間帯によるログイン制限、および休日のアクセス制限を行うことによって、ハッカーやその他の無許可のアクセサから端末を保護できます。
- TCP/IP別のステーションがローカル コンピュータから TCP/IP サービスを受信するように許可されていますか? 別のステーションがローカル コンピュータに TCP/IP サービスを提供するように許可されていますか? 別のステーションがローカル ステーションのすべてのユーザからサービスを受信できますか?オープン システムは、コンピュータとネットワークの両方がオープンであるシステムです。オープン システムの長所は、同時に短所でもあります。コンピュータがいったん外部に接続されると、故意にしろ過失にしろ、外部ユーザがシステムに侵入したり、そのユーザが行った行為が損害をもたらしたりする危険が発生します。Privileged Access Managerには、「ファイアウォール」が用意されており、ローカルの端末やサーバが不特定の端末へサービスを提供することを防止します。
- 複数ログイン権限ユーザは他の端末からログインできるか?同時ログインとは、ユーザが複数の端末からシステムにログインできることを意味します。Privileged Access Managerでは、1 人のユーザが複数の端末から同時にログインすることを防止できます。これによって、すでにログインしているユーザのアカウントに侵入者がログインすることを防止できます。
- ユーザ定義エンティティ標準エンティティ(TCP/IP サービスや端末など)および機能エンティティ(トランザクションの実行やデータベース内のレコードへのアクセスなどの抽象オブジェクト)の両方を定義して保護できます。
- 管理者権限Privileged Access Managerには、管理者権限をオペレータに委任する方法、および管理者権限自体を制限する方法が用意されています。
- レジストリ キーユーザには、特定のレジストリ キーにアクセスする権限があるか?Privileged Access Managerはレジストリ キーにアクセスするユーザの機能を制限します。ユーザに対して、READ、WRITE、DELETE などのアクセス権限を 1 種類以上与えることができます。アクセス権限は、個々のレジストリ キーに対して、または類似した名前を持つレジストリ キーの集合に対して指定できます。
- プログラム特定のプログラムを信頼できますか? ユーザには、このプログラムを実行する権限がありますか? ユーザはプログラムを使用して特定のリソースにアクセスできますか?セキュリティ管理者は、プログラムをテストして、これらのプログラムに、アクセス権の不正取得に利用される可能性があるセキュリティ ホールがないことを確認できます。テストで安全とみなされたプログラムは、trusted プログラムとして定義されます。Privileged Access Managerの自己防衛機能モジュール(Watchdogともいう)は、ある特定の時点で制御の対象になっているプログラムを認識し、そのプログラムが、trusted と分類された後に変更または移動されたかどうかをチェックします。trusted プログラムが変更または移動された場合、その時点で trusted とはみなされなくなり、Privileged Access Managerはそのプログラムの実行を許可しません。
さらに、
Privileged Access Manager
は、以下のような作為的または偶発的な脅威に対して防御を行います。- 強制終了Privileged Access Managerでは、重要なサーバやサービス、またはデーモンを強制終了から保護できます。
- パスワード攻撃Privileged Access Managerはさまざまなタイプのパスワード攻撃からパスワードを保護します。サイトのパスワード定義ポリシーを適用し、パスワードの盗用による侵入を検知します。
- 不適切なパスワードPrivileged Access Managerのポリシーでは、十分な品質のパスワードを作成して使用することをユーザに強制するルールが定義されます。ユーザが作成して使用するパスワードが確実に基準に適合した状態にするために、Privileged Access Managerでは、最長および最短のパスワード有効期限の設定、特定の語句の使用制限、文字の繰り返しの禁止、およびその他の制限事項の適用を行うことができます。パスワードを長期間継続して使用することは認められません。
- アカウント管理Privileged Access Managerのポリシーによって、休止状態のアカウントの適切な処理が保証されます。
保護の方法(Windows の場合)
Privileged Access Manager
は、オペレーティング システムの初期化が終了するとただちに開始されます。この製品によって、保護の必要なシステム サービスにフックが設定されます。このようにして、サービスが実行される前に Privileged Access Manager
に制御が渡されます。Privileged Access Manager
によって、サービスの使用をユーザに許可するかどうかが決定されます。たとえば、
Privileged Access Manager
によって保護されているリソースにユーザがアクセスしようとするとします。このアクセス要求によって、カーネルに対してリソースのオープンを指示するシステム コールが生成されます。Privileged Access Manager
そのシステム コールは によってインターセプトされ、アクセスを許可するかどうかが決定されます。アクセスが許可された場合は、Privileged Access Manager
によって通常のシステム サービスに制御が渡されます。 Privileged Access Manager
がアクセスを許可しない場合は、システム コールをアクティブにしたプログラムに、permission-denied 標準エラー コードが返され、システム コールの処理が終了します。 これは、データベースに定義されたアクセス ルールとポリシーに基づいて決定されます。データベースには、アクセサとリソースという 2 種類のオブジェクトが定義されています。
アクセサ
とは、ユーザおよびグループのことです。リソース
とは、ファイルやサービスなど、保護対象のオブジェクトのことです。データベース内の各レコードには、アクセサまたはリソースが定義されています。各オブジェクトはクラスに属します。クラスは、同じタイプのオブジェクトの集合です。たとえば、TERMINAL は、
Privileged Access Manager
によって保護されている端末(ワークステーション)であるオブジェクトを含むクラスです。クラスのアクティブ化(Windows)
CLASS ステータスに関する(そのクラスがアクティブか非アクティブかを示す)情報は、データベースに格納されています。リソースに対するアクセス試行はすべて
Privileged Access Manager
によってインターセプトされ、データベース内のステータスがチェックされます。クラスがアクティブでない場合は、それ以上の権限チェックは行われずにアクセスが許可されます。Privileged Access Manager
は、エンジンの起動時、およびユーザによる CLASS のアクティビティ ステータスの変更時に、アクティブ クラスの一覧を発行します。クラスがアクティブでない場合、リソースへのアクセスはインターセプトされないので、オーバーヘッドが軽減されます。アクセサ エレメント(Windows)
各ユーザは、
アクセサ エレメント
(ACEE)として表されます。ACEE は、データベースに格納されているユーザのレコードをメモリ内に反映したものです。Privileged Access Manager
は、ログイン プロセス時にアクセサ エレメントを作成します。アクセサ エレメントは、ユーザのプロセスと関連付けられます。Privileged Access Manager
によって保護されているシステム サービスをプロセスが要求するたびに、またはプロセスがリソースにアクセスするために暗黙的な要求を発行するたびに、製品はそのリソースのレコードにアクセスします。そして次に、以前に作成されたアクセサ エレメントの情報(ユーザのセキュリティ レベル、モード、グループなど)から、ユーザがリソースへのアクセスを許可されているかどうかを判断します。インストルメンテーションの仕組み
インストルメンテーション
は、Privileged Access Manager
がアプリケーションの実行フローを監視、追跡、変更できるようにする手法です。インストルメンテーションにより、Privileged Access Manager
はシステム プロセスを監視し、アプリケーションのアドレス空間で独自のモジュールをインターセプトおよび実装します。インストルメンテーション プロセスは、
カーネル インストルメンテーション
フェーズとユーザ モード インストルメンテーション
フェーズの 2 つのフェーズで構成されます。 カーネル インターセプトおよびユーザ モード インターセプトの詳細については、「別のユーザとしての実行の保護」の章を参照してください。
以下の図は、インストルメンテーション プロセスを示しています。
Instrumentation_Process

カーネル インストルメンテーション フェーズでは、
Privileged Access Manager
は以下のアクションを実行します。- Privileged Access Managerは、システム起動時にインストルメンテーション ドライバ(cainstrm.sys)をロードします。
- ユーザまたはプログラムのアクションの結果、新しいプロセス イベントが作成されます。
- インストルメンテーション ドライバは一定の時間間隔でレジストリ ハイブをスキャンし、インストルメンテーション承認済みプロセスを探します。インストルメンテーションの ApplyonProcesses レジストリ キーを使用して、インストルメンテーション承認済みプロセスのリストを指定します。
- Privileged Access Managerは、新しいプロセス イベントを識別すると、承認済みプロセスのリストからプロセス名を検索します。プロセス名が見つかったら、ドライバはそのプロセスのアドレス空間にインストルメンテーション DLL を挿入します。
ユーザ モード インストルメンテーション フェーズでは、
Privileged Access Manager
は以下を実行します。- インストルメンテーション DLL は、インストルメンテーション レジストリ ハイブをスキャンしてプロセスのアドレス空間にロードするプラグインを識別し、以下のいずれかの手順を実行します。
- 見つかったすべてのプラグインを、プロセス メモリ アドレスにロードします。手順 2 に進みます。
- プラグインが見つからない場合、インストルメンテーション DLL は自身をアンロードします。
- Privileged Access Managerは、Microsoft Detours ライブラリを使用して各プラグインに含まれている特定の関数に基づいてフック プロシージャを実行します。Microsoft Detours は、Win32 関数のインストルメンテーションを実行するためのライブラリです。Microsoft Detours の詳細については、Microsoft Detours Web サイトを参照してください。