Hebikuzure's Tech Memo

2008年9月27日

Windows Defender の IOfficeAntiVirus インターフェイスを有効にする

Filed under: Microsoft Office — hebikuzure @ 10:59 AM

Office 2007 では、マクロを含む暗号化された Open Office XML 形式のファイル (.docm、.xlsm など) を開くと、既定ではマクロが無効にされる。この現象については以下の MSKB に解説されている。

MSKB 927150
2007 Office プログラムで、暗号化された Office オープン XML ファイルに含まれているマクロが実行されない
http://support.microsoft.com/kb/927150/ja

技術情報に書かれているように、Microsoft Antivirus API に対応したアンチウイルス ソフトウェアで開くファイルのスキャンを実行できない場合、Office アプリケーションはマクロを無効にする動作になっている。この動作の回避策として上記技術情報ではマクロを含んだ暗号化されたファイルに対するウイルス対策スキャンを無効にする方法が記載されている (もちろん正しい解決策としては適切なアンチウイルス ソフトウェアをインストールする事だが)。

ところで Windows Defender (Windows Vista には標準で含まれており、Windows XP には追加でダウンロード/インストールできる) には MpOAV.dll というモジュールが含まれており、このモジュールのプロパティに IOfficeAntiVirus Module とあるので、Microsoft Antivirus API  に対応した IOfficeAntiVirus インターフェイスを含むモジュールのようである。しかし Windows Defender が有効な Windows Vista にインストールされている Office 2007 でも、他のアンチウイルス ソフトウェアがインストールされていないと暗号化されたファイルのマクロは有効にならない。
これはなぜかというと、Windows Defender は Microsoft Antivirus API  に対応しているが、既定では無効になっているからと考えられる。そこでこれを有効にする方法を調べたところ、Microsoft Antivirus API に対応したアンチウイルス ソフトウェアは以下のレジストリ キーを作成するらしい。

HKEY_CLASS_ROOT\Component Categories\{56FFCC30-D398-11D0-B2AE-00A0C908FA49}

Windows Vista で Windows Defender を有効にしていたり、Windows XP に Windows Defender をインストールしてもこのキーは作成されていないので、試しに Windows Vista でこのキーを作成したところ、暗号化された Excel ブックに含まれるマクロを実行することができた。
十分な検証をしていないのでこれで十分なのか確認できていないが、検証環境などで適切なアンチウイルス ソフトウェアをインストールしていないような場合、この方法でとりあえず暗号化された Open Office XML 形式のファイルのマクロの実行が行えると思う。もちろん Windows Defender では一般的なウイルスへの対処ができないので (だから既定では Microsoft Antivirus API が無効なのだろう) 実運用環境をこの設定で利用する事は避けていただきたい。

広告

コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com Blog.

%d人のブロガーが「いいね」をつけました。