[基礎解説]
Windowsセキュリティ・メカニズム入門(後編)―― Windows OSのセキュリティ・チェックの仕組みを知る ――1.管理者権限でログオンするとは?畑中 哲2006/06/16 |
|
|
前編では、Windows OSにおけるセキュリティの仕組みについて、プロセスとそこに割り当てられているトークンや特権について解説した。後編では、管理者権限とトークンの関係や、実際にトークンの内容を書き換えた場合の挙動の変化などについて解説する。
「管理者権限でログオンする」ということの意味
よく「管理者権限でログオンする」ということがある。だが厳密には、「管理者権限」などというものは存在しない。例えば、「管理者特権」という特権は存在しない。
「管理者権限でログオンする」などというのは、通常、ローカルAdministratorsグループに所属するユーザーとしてログオンすることをいう。
ローカルAdministratorsグループに所属するユーザーとしてログオンすると、最初のプロセスのトークンに「私はローカルAdministratorsグループに属しています」という情報が記載される。また、ローカルAdministratorsグループに与えられている特権すべてがそのトークンに記載される。
![]() |
| 管理者権限でログオンする |
| 「管理者権限でログオンする」とは、通常、ローカルAdministratorsグループに所属したユーザーとしてログオンすることをいう。この場合、最初のプロセス向けに作成されたトークンには、ローカルAdministratorsグループに所属しているという情報のほか、ローカルAdministratorsグループに与えられているすべての特権が記載される。 |
Windows OSのデフォルト設定では、オブジェクトのACLには、通常ローカルAdministratorsグループに対してフル・コントロールを許可することが記載されている。
![]() |
| デフォルトのACL |
| オブジェクトのACLには、デフォルトでは、ローカルAdministratorsグループに対してフル・コントロールを許可することが記載されている。 |
また、Windows OSのデフォルトの設定では、ローカルAdministratorsには多くの特権が与えられている。
![]() |
| デフォルトの特権 |
| デフォルトでは、ローカルAdministratorsには多くの特権が与えられている(下線部がローカルAdministratorsグループ)。ローカルAdministratorsに所属するユーザーは、これらの特権を利用することができる。 |
これらの結果、ローカルAdministratorsに所属するユーザーとしてログオンすると、それ以降に起動するプロセスすべてで、さまざまなオブジェクトに対してフル・コントロールの権限でアクセスでき、多くの特権的操作を行うことができる。
つまり、「管理者権限でログオン」するといろいろなことが実行できるのは、ログオンしたユーザーに「管理者権限」というものがあるからではない。ローカルAdministratorsグループに対して、たまたま強力なアクセス権を認めるACLが付いているオブジェクトが多く、また、たまたまデフォルトで多くの特権が与えられているからにすぎない。まとめると次のようになる。
|
「管理者権限でログオン」したとしても、トークンから「ローカルAdministratorsグループに所属している」という情報が削除されれば、そのプロセスは、「管理者権限を必要とする」ような操作は何もできなくなってしまう。
![]() |
||||||||||||||||||||||||||||||||||||
| トークンからローカルAdministratorsグループに所属しているという情報を削除した場合のプロセスの例(クリックすると別ウィンドウで開きます) | ||||||||||||||||||||||||||||||||||||
| 先の図と同様に、ローカルAdministratorsグループに属しているユーザーAliceというアカウントでログオンしている。そのため、最初のプロセスのトークンには「ローカルAdministratorsグループに属している」という情報が記載されている。ここでAliceが子プロセスを起動すると、親プロセスのトークンがコピーされるが、そこから「ローカルAdministratorsグループに属している」という情報を削除してみる。すると子プロセスからは、管理者権限を必要とする操作は一切行えなくなる。この例では、デスクトップにログオンしているのは、Aliceで、「管理者権限」を持っている。そして、Aliceの起動した子プロセスはAliceであるというトークンを持っている。にもかかわらず、この子プロセスは、「管理者権限を必要とする」アクセスや操作を行うことができなくなるのである。つまり、Aliceが「管理者権限」を持っているわけではない。Aliceの起動したプロセスのトークンに、ローカルAdministratorsグループに所属しているという属性が付いているから、いわゆる管理者権限を必要とする多くの操作が可能になっているのである。 | ||||||||||||||||||||||||||||||||||||
|
また、たとえトークンがそのままでも、オブジェクトのACLに「ローカルAdministratorsグループにアクセスを許可する」という記載がないオブジェクトには、アクセスすることはできない。ローカルAdministratorsグループに与えられていない特権が必要な操作もできない。
すべては各プロセスのトークン次第であり、各オブジェクトのACL次第であり、個別の特権次第である。もう一度繰り返すが、「管理者権限」というものはない。ましてや、デスクトップに誰がログオンしているかはまったく関係ない(デスクトップとは、不正確を承知でいえば、画面に表示されるウィンドウの境界線にすぎず、セキュリティ・チェックの境界線ではない)。
| INDEX | ||
| [基礎解説] | ||
| Windowsセキュリティ・メカニズム入門(前編) | ||
| 1.セキュアなOSに必要なこと | ||
| 2.プロセスとトークンとACL | ||
| 3.トークンと特権的操作 | ||
| 4.トークンの作成と書き換え | ||
| Windowsセキュリティ・メカニズム入門(後編) | ||
| 1.管理者権限でログオンするとは? | ||
| 2.トークンの内容を確認する | ||
| 3.トークンの内容を書き換えてみる | ||
| 4.別のユーザーとして実行する機能とWindows Vista | ||
| 「基礎解説」 |
TechTargetジャパン
- WebサーバのSSL証明書が「正しい」か確認する (2012/2/10)
SSLに必要なサーバ証明書の取得/インストールのミスはWebサイトの信頼を失墜させかねない。証明書ベンダ提供のツールで手軽かつ確実にチェックしよう - クライアントでも利用可能になるHyper-V 3.0とは? (2012/2/9)
Windows 8では、従来のWindows Virtual PCに代わって新しくHyper-V 3.0がクライアント向けにも導入される。その概要を解説 - 第303話 ペアプロ2 (2012/2/7)
あっ、またまたいつぞやの幽霊が! …っと思ったら、何だ倉井さんかぁ…。はぁー、驚いた… - Excelで郵便番号変換ウィザードを活用する (2012/2/3)
Excelで管理している顧客名簿などで、不足している郵便番号や住所を入力するのは意外と面倒。郵便番号変換ウィザードを使えば、これらの入力が簡単になる
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -





