| 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 |
TechTargetジャパン
- Facebook タイムライン利用時の「鉄則」 (2012/2/9)
ユーザーインターフェイスの変更措置に伴い浮上した、Facebookの「過剰な情報提供」のリスクと対策とは - 無料サービスなら通信内容を記録してもいいの? (2012/1/13)
無料の公衆無線LANサービスが、ユーザーに無断で通信履歴を記録していたことが判明し、話題に - 攻撃はまるでレーザービーム (2011/12/26)
2011年に話題となった標的型攻撃は「人」という弱点ををねらい打ちにしました。では、人に教育さえしておけば防げるものなのでしょうか? - 見せたくないなら「持たせない」が鉄則! (2011/12/15)
逆コンパイル対策で難読化したのに、大事なデータが解析されちゃった? Androidアプリのセキュリティの道は深い
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
