セキュリティサイボウズ・ラボの光成です。Excelに存在する特別なパスワードの仕様を紹介します。後半はそれがマクロウイルスと関わるとどうなるか、ちょっとした実験をしたのでその紹介をします。そもそものきっかけそれは海外の人からのメールでした。Officeファイルの暗号化・復号をコマンドラインでできるツールmsofficeを公開しました。そのメールはツールについての質問で、「知人からもらったファイルをこのツールで確認すると暗号化されているのにファイルを開くときにパスワードを聞かれない。?」というものでした。最初質問の意味がわからなかったのですが、確認すると確かにファイルを開くときにパスワードが不要なのに中身は暗号化されています。拙作のツールを使うと暗号に使われている詳細パラメータを取得できます。password暗号化フォーマットとしては不自然なところはありません。すると「何か特別なパスワードで暗号化しているのだろう」と想像しましたが、どんなパスワードか見当もつきません。LibreOfficeでも開けるのだろうかと試したら、問題なく開けたのです。いうことはLibreOfficeが何か特別な処理をしていると推測できます。それでLibreOfficeのソースコードを調べてみたらまさにそういう処理が入っていました(filterdetect.cxx)。aDefaultPasswords.push_back("VelvetSweatshop");特別なパスワードVelvetSweatshopソースコードを読むと、どうやらVelvetSweatshopという特別なパスワードがあるようです。暗号化されたファイルを処理する場合、まずこのパスワードで復号してみて駄目だったら通常のパスワードを求める処理に移っていました。そこで私のツールでこのパスワードをつけて先程のファイルに対して復号処理をしたらちゃんと復号できたのです。ちなみにWordやPowerPointでこのパスワードをつけて保存すると、次回開いたときにパスワード入力画面が表示されました。このパスワードはExcelのみに有効なようです。なんとも奇妙な仕様です。マクロウイルスとアンチウイルスソフトさて、ExcelなどのVBScriptを利用したマクロウイルスというものがあります。1996年頃Larouxと呼ばれるマクロウイルスが初めて登場しました。それからウイルスの種類が徐々に増えていき1999年ごろ大流行します。2007からマクロ機能はデフォルトでオフになり、また会社によってはマクロを禁止しているところもあって近年では下火になっていました。アンチウイルスソフトはマクロウイルスファイルを概ねパターンマッチで検出します。パスワードをつけて暗号化していたらもちろん復号できず、中身をチェックできません。VelvetSweatshopという特別なパスワードをつけた場合、中身は暗号化されていても見かけはユーザにとって普通のファイルと同じです。パスワードが分かっているので技術的には復号可能ですが、アンチウイルスソフトはこの中身をチェックしているのでしょうか。そこで実際にLarouxと判定されるExcelマクロファイルを作り、VelvetSweatshopで暗号化して試してみました。7種類のアンチウイルスソフトでチェックしたところ検出したのは一つだけでした(2017年3月6日時点)。意外にも素通ししてしまうのが多かったです。検出したソフトは、「暗号化Excelファイルを見つけたらとりあえずVelvetSweatshopで復号し、成功したら中身をチェックする」という処理をしているのだろうと思います。password?という2013年の記事があります。今回、メジャーなアンチウイルスソフトが検知しないのを自分で確認して、個人的にはそれはチェックすべきではと思いました。ソフトベンダーにとっては、このリスクに対してスキャンするコストの増加が見合わないという判断なのかもしれません。impact)特に対応する予定はないとのことでした。いずれにせよ最近は個人を狙った標的型ウイルスが多いそうです。ファイルを開くときやマクロを有効にするときにいつでも注意しなければならないのは実践するのが難しく、悩ましい問題ですね。Necoプロジェクトのsatです。こんにちは、技術顧問のsatです。安全なインターネットアクセス環境を構築する方法こんにちは。LINKサイボウズ・ラボサイボウズ株式会社プライバシーポリシースターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。