Security Tips | ||
WSHの暗号化 - Script Encoderの紹介 たかはし もとのぶ |
ご存じのとおり、WSH(Windows Scripting Host)は、VBScriptやJScriptを用いて高機能なスクリプトを記述できるスクリプト言語として、従来プログラムを作成していたような用途にも、広く用いられている。しかし、スクリプトのソースが丸見えとなってしまうため、重要なビジネスロジックや認証情報などでは扱いにくいといったスクリプト言語故のデメリットも同時に存在する。
こうした問題をある程度解消するのが今回紹介するScript Encoderである。Script Encoderは米MicrosoftのWebサイトで配布されている。以下のURLから適宜取得のうえ、インストールを行ってほしい。なお、日本語版は存在しないため、英語版を取得する。
Script Encoder http://www.microsoft.com/downloads/details.aspx?FamilyId=E7877F67-C447-4873-B1B0-21F0626A6329&displaylang=en |
デフォルトの設定でインストールを行うと、C:\Program Files\Windows Script Encoder以下にscrenc.exeというコマンドラインツールとヘルプファイルがインストールされる。
では、早速使ってみよう。暗号化を行うには、以下のように、引数として暗号化前のファイルと暗号化後のファイルを指定すればよい。
C:\Program Files\Windows Script Encoder>screnc.exe
test.vbs test.vbe |
スクリプトの暗号化 |
なお、通常VBScriptの拡張子はvbsであるが、暗号化を行なった後ではvbeにする必要がある(JScriptの場合は、同様にjseになる)。
図1のようなスクリプトを暗号化した結果を図2に示す。
REM Copyright(C) 2004 TAKAHASHI Motonobu |
図1 暗号化前のスクリプト |
REM Copyright(C) 2004 TAKAHASHI Motonobu |
図2 暗号化後のスクリプト |
デフォルトではスクリプト全体が暗号化されるが、著作権表示など暗号化されると都合の悪い情報は、上記のように「'
**Start
Encode**」という文字列の前に記載しておけばよい。なお、この文字列は、大文字小文字の区別も含めた文字列全体がキーワードになっているため、「REM**Start
Encode**」や「'
**START ENCODE**」のような文字列にしただけで、文字列としての意味をなくしてしまうので、注意が必要である。
暗号化したスクリプトは、コマンドラインで
C:\Program Files\Windows Script Encoder>test.vbe |
のように直接実行してもよいし、
C:\Program Files\Windows Script Encoder>cscript.exe
test.vbe |
のように実行させることもできる。
このほか、screnc.exeにはいくつかのオプションがある。また、ここでは説明しなかったが、ASPファイルなどに含まれるVBScriptやJScriptを暗号化することも可能だ。詳細はヘルプなどを参照してほしい。
なお、Script Encoder による暗号化は強固なものではない。暗号化を解除するツールがインターネット上で公開されている。米Microsoftのページにも
Note that this encoding only prevents casual viewing of your code; it will not prevent the determined hacker from seeing what you've done and how. |
という記載がある。本ツールを使用する場合、こうした点を理解したうえで使用してほしい。
Security Tips Index |
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|