登 大遊@筑波大学大学院コンピュータサイエンス専攻の SoftEther VPN 日記 このページをアンテナに追加 RSSフィード

Daiyuu Nobori's SoftEther VPN Diary since 2004

登の Web サイト: http://dnobori.cs.tsukuba.ac.jp/

mixi : http://mixi.jp/show_friend.pl?id=672294
Twitter : http://twitter.com/dnobori/
Facebook: http://www.facebook.com/dnobori

日記などへのリンク集
IKeJI さん | Cedar さん | Mayaqua さん | thisjun さん
bakueikozo さん | mugen さん | 分散計算の神林君 | 榮樂先生 (hdk) | 吉田戦車 (ceekz) | 高木先生 | ron さん
AC の古澤さん | AC の TAKAO 君 | AC の NIES 君 | AC の古橋君 | AC な wakatono さん | AC のいのひろ君
AC な三戸君 | AC な柴田君 | AC の小野君 | AC すぎる松本君 | AC な小西君 | AC な google の及川さん | AC な tomocha さん
まつもとゆきひろ氏 | 板野先生の blog | 新城先生の最近の fj への投稿 | つくばあさひなあんてな | hatena 筑波大学 AC リング

日記でよく出てくる「AC」(もともとは筑波大学用語) について詳しくは ここここ をお読みください。

 | 

2005年7月11日 (月)

前提知識: この問題に関わる仕様の詳細  前提知識: この問題に関わる仕様の詳細を含むブックマーク  前提知識: この問題に関わる仕様の詳細のブックマークコメント

Windows 2000 / XP で、ログオン画面でシャットダウンボタンをクリックすることができるかどうかは、恐らく Windows の仕様通りの動作では、セキュリティ ポリシー レジストリ項目の中の [セキュリティ オプション] → [シャットダウン: システムをシャットダウンするのにログオンを必要としない] が無効になっていればボタンを灰色にしてクリックできなくして、無効以外の値になっていればボタンをクリックできるようにする、というものがあるだろう。Windows の内部実装の仕様書を読んだ訳ではないが、セキュリティ ポリシーのエディタのポリシー名にそう書いてあるので、恐らく上記の通りの仕様になっていもと思われる。

したがって、考え方によっては、[シャットダウン: システムをシャットダウンするのにログオンを必要としない] が有効になっている場合 (大抵のコンピュータのデフォルト値) では、ローカルでもリモートデスクトップ経由でも、「ログオンしていないのにシャットダウンできる」というのは、仕様通りの動作である、と言うことができるだろう。

したがって、レジストリの設定値によってボタンを灰色にするかしないかの挙動を変えるのは、Windows の仕様に則ったものであり、下記の議論である IBM 製指紋認証ツールのログオン画面が、上記仕様通りに動作していること自体は、不具合でも脆弱性でも何でもなく、正しい動作である。

f:id:softether:20050726133259j:image

しかしながら、私は IBM 製指紋認証ツールの仕様通りの当然の動作は、一部のユーザーにとってはコンピュータを使いにくくする原因となる (理由は下記) ので、修正したほうが良い (MS 製ログオン DLL のように、リモート経由の場合はシャットダウンボタンを灰色にするべきだ) という提案をした。そのことを詳しく書いたのが下記である。

下記の問題提起は、指紋認証用のログオン画面自体には脆弱性は無く仕様通りに正しく動作しているが、リモート経由の場合はその仕様にあえて従わずに強制的にボタンを灰色にしたほうが安全なのではないか? という『改善提案』であり、『脆弱性の公開』などといった類のものではない。

IBM ThinkPad X41 が外部から誰でもシャットダウンできる仕様について  IBM ThinkPad X41 が外部から誰でもシャットダウンできる仕様についてを含むブックマーク  IBM ThinkPad X41 が外部から誰でもシャットダウンできる仕様についてのブックマークコメント

最近、IBM ThinkPad X41 (指紋認証付) を購入したのだが、このマシンを使っているうちに、変なことに気がついた。

脆弱性として公表前に報告するべきか迷ったが、堂々と画面に表示されていることで明らかに誰でも気付くことであり、これはバグではなく仕様ではないかと思った。そこで、このおかしな仕様について解説しようと思う。


まず、Windows XP Professional には、リモートデスクトップのサーバーとなる機能がある。これは、Windows NT 4.0 TSE / Windows 2000 Server のターミナルサービスを拡張したもので、大変便利である。恐らく、大半の Windows ユーザーの方は使用されたことがあるだろう。

このリモートデスクトップ機能は、クライアントがサーバー側の PC に接続すると、サーバー側の PC (ここでいう接続先の Windows XP マシン) 内で新しいデスクトップセッションとウインドウステーションが生成される。そして winlogon プロセスが起動し、Windows のユーザー名とパスワードを入力するためのログオン画面が表示される。

f:id:softether:20050712141902:image

このリモートデスクトップ経由で表示されるログオン画面とその後のすべての操作は、直接そのマシンのコンソール (ディスプレイとキーボード) を操作するときとまったく同様に操作できる。Windows 側に仮想ディスプレイアダプタがあり、そこに対して描画された GDI 要求を、そのままリモートデスクトップクライアント側にリダイレクトして描画しているからである。VNC と違って軽いし、大変使いやすいので重宝する。

さて、普通のバージョンの Windows XP Professional に、LAN 上 (またはインターネット上) のリモートデスクトップクライアントからリモートデスクトップ接続すると、ログオン画面が表示されるが、[シャットダウン] ボタンは必ず灰色表示になり、クリックできなくなっているWindows XP をローカルのコンソールで使用するときは、ログオン画面からログオン無しでシャットダウンできたが、リモートデスクトップ経由で表示されるログオン画面は、その画面まではすべての匿名ユーザーがネットワーク経由で接続できるので、ログオン (認証) 無しでは勝手にシャットダウンできないようになっている。

もし、リモートデスクトップ経由のログオン画面で誰でもシャットダウンできてしまったら、あるユーザーが使用している Windows XP のマシンに、別の悪意のあるユーザーがリモートデスクトップで接続し、ログオン画面が表示されたら、[シャットダウン] をクリックして突然そのコンピュータを再起動したり電源を切ったりできるからである。

f:id:softether:20050712141936:image


ところで、このログオン画面というやつは、別のものに置換することができる。Windows 2000 以降にある、Graphical Identification and Authentication dynamic-link library (DLL) というプラグインのような仕組み (略して 『GINA』 と言う。詳しくは MSDN を参照) で、認証ソフトの開発者が開発したカスタムログオン画面をインストールすれば、標準のログオン画面が表示される代わりに、カスタマイズされた独自のログオン画面が表示されるのである。

この GINA DLL の書き換えというのは、スマートカードなどの認証デバイスのドライバ CD などをインストールすると、よく書き換えられる。たとえばパスワードを入れる代わりに、「スマートカードを挿入してください」といった画面を表示してカードでログオンできるようになる。


さて、IBM ThinkPad X41 に標準で付いてくる、指紋認証用モジュール用のドライバも、GINA DLL を書き換えて、ログオン時にユーザー名とパスワードの代わりに指紋スキャナに指を乗せるだけでログオンできるようになっていて、大変便利である。

f:id:softether:20050712141949:image


ところが、この指紋認証ドライバ (出荷時にプリインストールされている) が置換する、独自の GINA DLL のログオン画面の仕様が、大変斬新である。

f:id:softether:20050712142005:image

↑これが、リモートデスクトップ経由で表示されるログオン画面である。IBM のプログラマーがカスタマイズしたものだと思われる。リモートでは当然指紋認証は使えないので、通常のユーザー名とパスワードを入力することでログオンするようになっている。


右のボタンのところを拡大してみよう。

f:id:softether:20050712142117:image


なんと、シャットダウンボタンをクリックすることができるようになっている。

とりあえず、リモートマシンからクリックしてみる。

f:id:softether:20050712142206:image


なんと、ThinkPad X41 の電源が本当に切れてしまった。


この仕様は、良くないと思う。なぜならば、ThinkPad X41 指紋認証付モデルで、リモートデスクトップを有効にしている場合、同一の LAN 上にある他のマシンから、誰でもそのマシンにリモートデスクトップで接続して、ユーザー認証を行う前に、コンピュータをシャットダウンできてしまう。場合によっては、そのコンピュータのローカルコンソールでユーザーが作業中かも知れないが、そういう場合でも突然シャットダウンが始まるので、驚かせるには最適かも知れない。

同一の LAN でなくても、そのコンピュータが別の IP ネットワークや、インターネットから TCP/IP で到達可能な場合は、同様の悪事ができてしまう。グローバル IP を付けていれば、インターネット上のすべてのユーザーが、そのコンピュータにリモートデスクトップで接続し、勝手に電源を切ったり再起動したりできる。

これは、レジストリの値に基づいた『正しい動作』であるが、リモートデスクトップ経由の場合はレジストリの値を無視して常にボタンを灰色にしてくれれば良いと思うのだが。

追記 (8/1)  追記 (8/1)を含むブックマーク  追記 (8/1)のブックマークコメント

アップデートファイルがリリースされています。

http://www.ibm.co.jp/ から落とすことができます。

あーああーあ 2005/07/12 19:20 これは、大変だなぁ。

これわ、これわ、 2005/07/12 20:19 やっぱりまづいですよねぇ。

一応一応 2005/07/12 21:07 ローカルセキュリティポリシー(※)の設定は変更してみました?

一応一応 2005/07/12 21:09 (※)=システムをシャットダウンするのにログオンを必要としない

softethersoftether 2005/07/12 21:20 そのポリシーを無効にするとボタンは灰色になります。ただ、問題としているのは、デフォルトの設定では誰でもシャットダウンできてしまういうことです。

iwaokiwaok 2005/07/12 22:14 「IBM指紋認証ユーティリテイ」が7/6付けで更新されていますが、修正されてたりしませんか?
http://www-6.ibm.com/jp/domino05/pc/download/download.nsf/jtechinfo/0C1AB6AD534707EA492570350052EF8F

一応一応 2005/07/12 22:20 >管理者さん デスクトップOSにターミナルを実装すること自体がセキュリティ上問題かも知れませんね。

softethersoftether 2005/07/12 22:21 最新版適用しましたが、やはりボタンは押せました。

一応一応 2005/07/12 22:23 あと、デフォ状態からshutdownコマンド(shutdown -s -f -m ¥¥対象PCのホスト名 XPか2003で標準、2kはリソキ)で電源落とせますか?

softethersoftether 2005/07/12 22:42 RPC を使ったリモートシャットダウンはもちろん呼び出し側が呼び出される側の Administrators 権限を持っていれば (リモートからのシャットダウン権限があれば) シャットダウンできます。

Me使いMe使い 2005/07/13 09:16 XPは危険なOSですね。

2k使い2k使い 2005/07/13 11:45 いや、Meがいちばんあb・・・(ry

↑ 2005/07/13 19:30 わざわざMeを持ち出している時点でネタだと気づきそうなものですが……

3.1使い3.1使い 2005/07/13 20:28 32bitは危険ですね

Me使いMe使い 2005/07/14 12:26 ごめん、ネタでもなんでもなくMeメインで使ってます。(フリーズ?しねーよw

2k使い2k使い 2005/07/14 15:34 学校のはしょっちゅう青画面出してましたよ。
ネタじゃないならある意味幸せですね。
普通に使っていておかしくなるのですから、相当手を入れてやらないと大変です。
メモリが使用量が何もしないのに増えますし(常駐タスクなくても)

みんなのプロフィールみんなのプロフィール 2005/07/15 19:47 ブログ開設おめでとうございます!

アクセス数を上げるために当コミュニティサイトに登録しませんか?
http://profile.zmapple.com/cgi-bin/profile.cgi
より多くのひとに貴方のブログを見てもらえます。

参加するにはこちらからが便利です
http://profile.zmapple.com/cgi-bin/profile.cgi?mode=edit&title=%93o%20%91%E5%97V%81%97%92%7D%94g%91%E5%8Aw%8F%EE%95%F1%8Aw%97%DE%82%CC%20SoftEther%20VPN%20%93%FA%8BL&address=http%3A%2F%2Fd%2Ehatena%2Ene%2Ejp%2Fsoftether%2F


お問い合わせはコチラから
http://profile.zmapple.com/cgi-bin/fmail/cmfmail.cgi

通りすがり通りすがり 2005/07/17 09:26 こういう問題をメーカーに連絡せずに公開してしまう無神経さが信じられん。

↑ 2005/07/17 10:03 連絡したともしていないとも書いていないのだから、安易に連絡していないと判断するのはどうかと思いますが…

nucnuc 2005/07/17 22:41 僕も昔はバグは埋め込むほうが悪いと思っていたのだけれども、
法的には、過失が刑事罰の対象になる場合は非常に少なくて、
その一方、なんらかの損失が予見できたと判断される場合には刑事罰に問われる可能性もあるからお気をつけあれ。真面目にね。

LucaLucaLucaLuca 2005/07/21 21:24 お伺いしたいんですが。
この機種では、システムのプロパティよりリモートタブを開いた場合、デフォではどのようになっているんでしょうか。

softethersoftether 2005/07/22 02:15 工場出荷状態では、もちろんリモートデスクトップは無効になっています。もしそれが有効になっていたら致命的ですね。

SESE 2005/07/27 19:11 一般公開してしまう無神経さが信じられない。

CCGCCG 2005/07/27 22:31 別に仕様通りの動作なら一般公開されても何も問題ないかと。もしまずい動作(=バグ)ならLenovoもすぐにパッチ出すだろうし。
そんなことより去年の年末に買ったT42の指紋センサーが完全なノーリアクションになってしまって泣ける。

おジャマおジャマ 2005/08/01 14:18 7/29付けでパッチ出たようです。セキュリティ上よろしくないのは確かですが使い方によってはリモート環境からシャットダウンが必要なこともあります。

しゅ〜いしゅ〜い 2005/08/01 18:31 修正版が公開されているようですよ。

できたらイイナできたらイイナ 2006/03/03 13:15 linuxなどでも認識できたらいいな指紋認証 誰かドライバ開発してくれないかな?
zone_good

 | 

<< 2005/07 >>
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31




※ この Web サイトのコンテンツは 登 大遊 が個人的に運営しているものであり、ソフトイーサ株式会社や筑波大学内での立場として公式なコメントを掲載しているものではありません。一応コメントは投稿できるようにしていますが、個人的に運営している日記のため、自分が不快に思ったコメントは前触れ無く削除しております。ご了承ください。同様に会社に関するコメントなどについても、削除される可能性があります。コメント書き込み機能については、匿名の掲示板のような状態になることを予防するため、はてなユーザーからのみ受け付けるように設定することもあります。