こんにちは、阿久津です。昨日Microsoftの月例セキュリティ更新プログラムが公開されたばかりですが、その中に突如公開を取りやめた更新プログラムがありました。「MS13-036」はサポート技術情報「2829996」で発見されたKMD(Kernel-Mode Driver)がメモリ内で行うオブジェクト処理に問題があり、特権が昇格するというセキュリティホールです。
対象となるOSはWindows Vista、Windows 7、Windows Server 2008および、Windows Server 2008 R2の4種類で、Windows 8は含まれていません。しかし、同更新プログラムを適用するとSTOPエラーが発生し、Windows OSが正常に起動しない、もしくは一部のアプリケーションが動作しないという問題が発生しました。Microsoftは一部のアプリケーションとしてKasperskyのウイルス対策ソフトを取り上げ、Kernel側も自社フォーラムで注意を喚起しています。
筆者も日本マイクロソフトが公開した「KB2839011」で知りましたが、一歩出遅れたのか、仮想マシン上のWindows VistaおよびWindows 7にKB2839011はインストールされていません。既に「KB2823324」をインストールされた場合は、管理者権限を持つコマンドプロンプト上で「wusa.exe /uninstall /kb:2823324 /quiet」と実行すればアンインストール可能です。
既にコンピュータがSTOPエラーで正常に動作しない場合は、先のKB2839011」で説明されているように、Windows VistaもしくはWindows 7のセットアップDVD-ROMからコンピューターを起動し、「システム回復オプション」から以前の復元ポイントに復元するか、「dism /image:C:\ /get-packages | findstr 2823324」と実行して、インストール済み更新プログラムを検索。ヒットした場合は「dism /image:C:\ /remove-package /PackageName:Package_for_KB2823324~31bf3856ad364e35~x86~~6.1.1.1」と実行して、KB2823324をアンインストールしてください。
さて、今回のKB2839011問題でも対処法として紹介されているように、復元ポイントの作成は重要です。復元ポイントは基本的に毎日自動作成されますが、デスクトップアプリやデバイスドライバーのインストール時や、「Windows 7のファイルの回復」でバックアップを作成する場合にも自動作成されるため、必ずしも毎日作成される訳ではありません(図02)。
また、以前の状態を残すには、HDD(ハードディスクドライブ)の空き容量と、システムの保護に用いる領域を一定量確保する必要があります。同機能は最小限で300メガバイトの空き容量を必要とし、初期状態ではドライブ容量の15パーセントを領域として確保されますが、筆者は256ギガバイトのSSD(ソリッドステートドライブ)に対して1ギガバイトを割り当て中(図03)。
この復元ポイントを作成するには、「システムのプロパティ」ダイアログの<システムの保護>を開き、<作成>ボタンをクリックしなければなりません。もっともコマンドプロンプトや、「ファイル名を指定して実行」から「rstrui.exe」を実行すれば同ダイアログは起動しますが、少々面倒であることに変わりはありません。そこで今週のチューニングは、デスクトップのコンテキストメニューに復元ポイントを作成する項目を追加しましょう。なお、今回はVBScriptファイルで復元ポイントを作成しますので、ここからZIP形式ファイルをダウンロードし、展開してお使いください。
1. 管理者権限でレジストリエディターを起動します。
2. HKEY_CLASSES_ROOT\Directory\Background\shellキーにCreate Restore Pointキーを作成します。
3. Create Restore Pointキーを開き、「(既定)」のデータ値を「復元ポイントの作成」に変更します。
4. 文字列値「HasLUAShield」を作成します。
5. 文字列値「Icon」を作成し、値のデータを「SystemPropertiesProtection.exe」に変更します。
6. HKEY_CLASSES_ROOT\Directory\Background\shell\Create Restore Pointキーにcommandキーを作成します。
7. commandキーを開き、「(既定)」のデータ値を「WScript C:\Windows\CreateRP.vbs」に変更します。
8. レジストリエディターを終了させます。
9. リンクからダウンロードした「CreateRP.vbs」ファイルをWindowsフォルダーに移動します。
これでチューニングが完了しました(図04~20)。
それでは結果を確認してみましょう。デスクトップのコンテキストメニューには、<復元ポイントの作成>が追加されており、同項目を選択するとステップ9で用意した「CreateRP.vbs」が起動し、復元ポイントの作成が始まります。ダイアログのテキストボックスには、自動的に「手動復元ポイント」とメッセージが挿入されるようにしましたが、必要に応じてメッセージを変更しても構いません(図21~23)。
復元ポイントの作成を確認するには「rstrui.exe」を実行して「システムの復元」を起動してください。ご覧のとおり復元ポイントが作成されたことを確認できます。なお、本チューニングを破棄する場合は、Windowsフォルダーに移動した「CreateRP.vbs」を削除し、HKEY_CLASSES_ROOT\Directory\Background\shell\Create Restore Pointキーを削除してください(図24~26)。
それでは、また次号でお目にかかりましょう。
阿久津良和(Cactus)