Contactお問い合わせ
お気軽にお問い合わせください。
主要なJavaScriptのフレームワーク・ランタイム・ライブラリ・バンドラをフルサポートする難読化ツール。
React, Vue, Angular, React Native, Node.js, Webpackなどに対応。商用製品ゆえの機能の安定性が好評です。
JavaScriptに対して難読化(※1)を実行できるのが、難読化ツールのパッケージ製品「PreEmptive Protection」のひとつであるJSDefenderです。JavaScriptは、C#やJavaなどのソースコードから作成されるアセンブリとは異なり、ソースコード(スクリプトファイル)そのものが実行ファイルとなります。そのため、ブラウザの開発者ツールなどを使用すれば、いとも簡単にWeb上のソースコードの中身を確認することができます。つまりは、クラッキングなどを目的とした悪意のあるコード解析が容易です。そのような状況下では、JavaScriptを難読化することによって、デバッグや改ざんなどから保護することは非常に重要(※2)です。
JavaScriptのソースコード全体に対して難読化を実行すると、元のソースコードに比べて長くなってしまうため、パフォーマンスが大きく劣化する恐れがあります。このような問題を軽減するために、JSDefenderの開発チームは多額の投資を行い、日々技術を進化させています。現在では、オプション機能を使用することで、部分的な難読化を実現することができるようになりました。
また、JSDefenderはJavaScriptコードを保護するだけでなく、保護されていない元のソースコードが、保護プロセスにおいてサードパーティのクラウドサービスに送信されることもありません。
このように、JavaScript開発者にとって重要な機能をもつことに対しては、「既存のビルドプロセスに素早く統合させることができ、面倒な設定は一切不要です。」というJSDefenderユーザーからの声もあります。
JSDefenderは、コードの難読化変換とアクティブなランタイムチェックを使用して、JavaScriptを保護します。ブラウザー(IEを除く)、モバイル、デスクトップ、またはサーバーなど、すべての種類のJavaScriptコードで動作します。また、様々なJavaScript開発プロジェクトに統合するための、プラグインが含まれています。
1)名称の変更
→ ローカル宣言の識別子(変数、関数、クラスなど)の名前を変更します。識別子の名前変更時には、変更後の値(※)を指定できます。
(※)”sequential”, “hexadecimal”, “base52”, “base62”, “runic”, “glagolitic”, “tifinagh”など。(既定値は”base52″)
2)文字列の暗号化
→ 暗号化によってスクリプト内の文字列を隠し、検索しても該当の文字列がヒットしないようにします。
3)制御フローの難読化
→ 既存のロジックに対して悪影響を与えない範囲で、不要なコード(=偽[にせ]の条件文など)を挿入します。
1)改ざん チェック
→ 関数宣言、または関数式やオブジェクトおよびクラスのメソッド宣言を1つの保護用関数としてラップします。その保護用関数に対して、1つのスペースや1つの改行文字が挿入されただけでも、正常に実行されなくなります。
2)ドメインのロック
→ 指定されたドメイン以外でのJavaScript実行が検出された場合、エラーが発生します。他に、任意で指定したスクリプトを実行することも可能です。
JSDefenderを使用する際に必要となるライセンスは、主に次の3種類を提供しています。ライセンスによって、JSDefenderを使用したビルドの同時実行数、適用対象アプリケーション数、プロジェクト規模(メンバー数)の上限が異なります。ライセンスの詳細は、下記ボタンよりご確認ください。
1)Team (フローティングライセンス)
→ 自社の組織に属する”1つ”の開発プロジェクトチーム内で、ライセンスをご利用いただけます。
2)Group (同上)
→ 自社の組織に属する”複数”の開発プロジェクトチーム内で、ライセンスをご利用いただけます。
3)Starter(ノードロックライセンス)
→ 自社の組織に属する”1つ”の開発プロジェクトチーム内の特定PC”1台”のみで、ライセンスをご利用いただけます。
JSDefenderのライセンスは、サブスクリプションでの販売となり、年単位で(=1年もしくは3年毎に)使用料が発生します。ライセンスの種類によって使用条件が異なりますので、ライセンスの詳細をご確認のうえ、開発環境に合ったライセンスをお選びください。なお、「PreEmptive Protection」の製品パンフレットにライセンスの価格表を記載しています。製品パンフレットのダウンロードをご希望の場合は、専用フォームからお申し込みください。
JSDefenderを導入している企業(主に米国)の「ユーザーの声」を紹介いたします。JSDefenderに対する印象(製品の強み)や、実際に使用して感じたことなどをお話いただきました。
【/n Software社(プロバイダ事業)・Spencer Brown氏】
JSDefenderは、既存のビルドプロセスに素早く統合させることができ、面倒な設定は一切不要です。ドキュメント類も簡潔であり、製品には様々なオプション設定が備わっています。
【GlobalMed社(遠隔医療事業)・James Godziela氏】
JSDefenderには、我々が望むすべての機能が搭載されています。IP(知的財産)を保護するためには、JSDefenderを使用した難読化が必要でした。(※GlobalMed社でのJSDefender導入については、次の事例紹介で詳しく説明しています。)
JSDefenderを導入している企業(主に米国)の事例紹介(ケーススタディ)です。JSDefenderをどのような経緯で導入したのか、また、セキュリティ対策ではどのように活用しているのかを詳しく説明しています。
※資料をダウンロードする際は、ポップアップが表示されますので、会社名・お名前・メールアドレスの入力をお願いいたします。
※難読化ツールのパッケージ製品「PreEmptive Protection」の全ての資料を一括でダウンロードしたい場合は、「役立つ資料のダウンロード」ページにお進みください。
JSDefenderは、Node.jsが実行されるすべてのプラットフォームをサポートしています。詳細は以下を参照ください。
1)開発 / 実行環境
→ Node.js バージョン 8.0.0 以降
2)開発ツール
→ React
→ Vue
→ Angular
→ React Native
→ Node.js
→ Webpack など
3)ライセンス認証
→ 使用中は常時インターネットへの接続が必要