こんにちは、阿久津です。謹賀新年ということで、今年もどうぞよろしくお願いします。新年にふさわしい話題でもありませんが、ちょうど前回の記事で触れた、EMCのRSA事業本部がバックドアのある乱数生成アルゴリズムを採用していたという件に変化がありましたので、少しフォローしておきましょう。

RSAは米ロイターが報じた後に、NSA(アメリカ国家安全保障局)との関係を否定するブログ記事を投稿しました。これを意訳しますと、「より新しく強力な暗号を実現するため、2004年にBSAFEツールキットの初期設定値として、Dual_EC_DRBGを採用した。当時のNSAは社会全体を強化し、信頼できる役割を担っていた」と述べています。

さらに、「Dual_EC_DRBGはNIST(アメリカ国立標準技術研究所)によって標準化された。2007年にアルゴリズムに関して問題が表面化したものの、最高権威であるNISTに頼り続けた」と、乱数生成アルゴリズムを使い続けた理由を述べました。その後は前回紹介したように、一連の流れを解説するという記事です。

RSAが顧客との契約内容を明かすことはない、と述べるのは構いませんが、稚拙な筆者の読解力では、言い訳以上の意図を読み取ることができません。同記事では「最高権威(the arbiter)」という表現で、NISTの判断に依存したことを露呈しています。諸事情があったといえ、セキュリティという高い技術で信頼を培ってきた同部門が判断停止に陥り、NISTの勧告があるまで対応しなかったのは、存在意義を疑われても致し方ないでしょう。

この件に関しては、わずかですがセキュリティ業界の反応もありました。ウイルス対策ソフトなどをリリースしている、エフセキュア主席研究員のMikko Hypponen氏は、今年開催予定のRSA Conference USA 2014で行う講演を取りやめることを「公開書簡」という形でブログに発表。「大半の登壇者はアメリカ人であり、外国人を標的にする監視を気にしないだろう」と述べつつ、自身はフィンランド出身であることを理由に同カンファレンスから撤退するとして、明確な不信感を表明しています。

さて、以前の記事「ファイル操作ダイアログを常に展開する」では、 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer \OperationStatusManagerキーにある、DWORD値「EnthusiastMode」のデータを変更して、ファイル操作ダイアログの状態を制御しました。その際、DWORD値「ConfirmationCheckBoxDoForAll」の動作は不明と述べましたが、正月休みの間に動作確認ができましたので、今回ご報告します。

DWORD値「ConfirmationCheckBoxDoForAll」は文字どおり、確認を求めるチェックボックスの動作を制御するものでした。管理者権限などフォルダーへのアクセス許可を取得する際に現れる<すべての項目にこれを実行する>と連動し、同項目にチェックを入れた状態でダイアログを閉じると、同値のデータが「1」になる仕組みです(図01~04)。

図01 動作確認の準備として「%SystemRoot%\Web\Wallpaper\Theme1」フォルダーの内容をデスクトップなどにコピーします

図02 コピーした複数のファイルを「%SystemRoot%\Web\Wallpaper \Theme1」フォルダーに上書きコピーします。ダイアログが現れたら、<ファイルを置き換える>をクリックしてください

図03 フォルダーへのアクセス拒否を示すダイアログが現れます。<すべての項目にこれを実行する>にチェックを入れてから、<キャンセル>ボタンをクリックしてください

図04 レジストリエディターでHKEY_CURRENT_USER\Software \Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManagerキーを開くと、DWORD値「ConfirmationCheckBoxDoForAll」のデータが「1」になったことを確認できます

こちらの値もDWORD値「EnthusiastMode」と同じく、ユーザーの操作によって動的に変化するものですが、初期状態のままにしておけば、誤った操作を抑制できるため安全です。しかし、常に複数のファイルに対して同じ操作を行えると便利ではないでしょうか。そこで今週は確認のチェックボックスを常にオンの状態にするチューニングをお送りします。

1. 確認のチェックボックスをオンした状態で処理を終えます。
2. 管理者権限でレジストリエディターを起動します。
3. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer \OperationStatusManagerキーを開きます。
4. OperationStatusManagerキーのセキュリティの詳細設定ダイアログを起動します。
5. <継承の無効化>ボタンでアクセス許可の変換処理を行います。
6. 使用中のユーザーアカウントに対するアクセス権限を「読み取り」のみとします。
7. 各ダイアログを閉じてから、レジストリエディターを終了します。

これでチューニングが完了しました(図05~16)。

図05 図01~03の操作を実行します

図06 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図07 レジストリエディターが起動したら、HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\Explorer \OperationStatusManagerまで、キーをたどって開きます

図08 OperationStatusManagerキーを右クリックし、メニューから<アクセス許可>をクリックして選択します

図09 ダイアログが起動したら、<詳細設定>ボタンをクリックします

図10 さらにダイアログが起動したら、<継承の無効化>ボタンをクリックします

図11 確認をうながすメッセージが現れます。<継承されたアクセス許可をこのオブジェクトの明示的なアクセス許可に変更します>をクリックしてください

図12 次に自身のアカウント選択した状態で<編集>ボタンをクリックします

図13 <フルコントロール>のチェックを外し、<OK>ボタンをクリックします

図14 これで元のダイアログに戻り、ユーザーのアクセス権限が「読み取り」に変更されました。<OK>ボタンをクリックします

図15 こちらのダイアログでも、自身のユーザーアクセス権限は「読み取り」のみ許可された状態となります

図16 <×>ボタンをクリックして、レジストリエディターを終了させます

結果を確認してみましょう。図01~03と同じ操作を行うと、あらかじめ<すべての項目にこれを実行する>にチェックが入った状態となります。同項目をクリックしてチェックを外し、<スキップ>ボタンをクリックしてください。すると、次のファイルに対するダイアログが再び現れますが、やはり同項目はチェックが入った状態となります(図17)。

図17 <すべての項目にこれを実行する>のチェックを外して、<スキップ>ボタンをクリックします。すると、再び現れるダイアログでも、同項目にチェックが入った状態となります

今回のチューニングは<すべての項目にこれを実行する>にチェックを入れると、DWORD「ConfirmationCheckBoxDoForAll」のデータが「1」となり、チェックを外すとデータが「0」になる書き換えを抑制するというものです。前述のように重要なファイルを誤って上書きしてしまう可能性も高まるので、リスクと利便性を踏まえてチューニングを行ってください。

なお、本チューニング結果を破棄する場合は、OperationStatusManagerのアクセス許可ダイアログで自身のアカウントを選択し、「フルコントロール」に対して<許可>を与えます。

それでは、また次号でお目にかかりましょう。

阿久津良和(Cactus