Contactお問い合わせ
お気軽にお問い合わせください。
レガシーシステムから最新のJavaプラットフォームまで幅広くサポートする難読化ツール。
Java, Android, Kotlin, Springなどに対応。商用製品ゆえの機能の安定性が好評です。
難読化ツールのパッケージ製品「PreEmptive Protection」のひとつであるDashOは、KotlinやJavaなどで開発されたAndroidアプリ、またはJavaアプリに対して難読化(※1)を実行できます。コンパイル後のアプリケーションが難読化の対象となるため、コードの変更は一切不要です。
さらに、デバッグや改ざん、ルート化された端末の実行を検知するチェック機能なども搭載されており、セキュリティ対策の強化を実施することができます。また、Gradleによるビルド処理に、DashOを簡単に統合することができるプラグインが用意されており、専用のウィザードを使用すれば、難しい操作は不要です。
AndroidアプリやJavaアプリのセキュリティレベルを如何にして向上させるか、ということがアプリ開発者にとって大きな課題です。リバースエンジニアリングを用いた悪意のあるコード解析などからアプリケーションを保護するために、DashOをはじめとした難読化ツールを利用することは、もはや必須であると言っても過言ではないでしょう。
そのような現状の中、セキュリティ対策を行うために必要な機能をもつDashOに対しては、「難読化やランタイム チェックで保護するようになってからは、リバース エンジニアリングを実行された事象がゼロ件となりました。」というDashOユーザーからの声もあります。
DashOには充実した機能が搭載されており、ソフトウェアを保護するためのマルチレイヤー手法を提供しています。1つのレイヤーが危害を受けた場合でも、他のレイヤーが有効なアプリ保護の機能を提供しつづけます。このマルチレイヤ―手法は、 単に複数のレイヤーがあるだけでなく、それぞれのレイヤーが信頼性の高い機能を備えているため、より強固なセキュリティ対策を実現することができます。
1)名称の変更
→ バイトコードに保持されたクラス、メソッド、フィールド、アノテーション、パッケージなどのエンティティの値を変更し、理解するのが困難になるようにします。
2)文字列の暗号化
→ クラスの定数プール内の文字列(例えば機密事項を含む特定のメッセージなど)を暗号化された値に置き換え、コードの静的解析による文字列定数の読み取りをより困難にします。
3)制御フローの難読化
→ コマンドを再配置し、ロジックの追跡がより困難となるようにします。逆コンパイラがソースコードを解析する際に見つけようとするパターンの多くが除去され、逆コンパイルの実行を失敗させることが可能となります。
1)改ざん チェック
→ 改ざんが発生しているかどうかを検出するために、ソースコードが特定の証明書によって著名されていることを検証するチェックコードをアプリケーションに差し込みます。
2)デバッグ チェック
→ アプリケーションがデバッグ可能モードで実行されているかどうか、またはアプリケーションの実行中にデバッガーが使用されているかどうかを検出するために、チェックコードをアプリケーションに差し込みます。
3)エミュレータ/ルート チェック
→ Androidアプリケーションやライブラリが、エミュレーターもしくはルート化されたデバイスで実行されているかどうかを検出するために、チェックコードをアプリケーションに差し込みます。
1)不要コードの除去
→ 使用されていないクラス、メソッド、およびフィールド、あるいはコンパイラによって生成されたデバッグ情報などの不要な属性、または明示的に指定したクラスやメソッドを除去します。
2)合成
→ 逆コンパイラの実行が失敗するように、クラス、メソッド、およびフィールドを合成(=コンパイラによって生成され、ソースコードには現れないように)します。
3)ウォーターマーク
→ 実行時の動作に影響を与えることなく、著作権情報や一意な識別番号などのデータをアプリケーション内に目立たないように埋め込みます。(JARファイルのみ適用可能です。)
DashOを使用する際に必要となるライセンスは、主に次の3種類を提供しています。ライセンスによって、DashOを使用したビルドの同時実行数、適用対象アプリケーション数、プロジェクト規模(メンバー数)の上限が異なります。ライセンスの詳細は、下記ボタンよりご確認ください。
1)Team (フローティングライセンス)
→ 自社の組織に属する“1つ”の開発プロジェクトチーム内で、ライセンスをご利用いただけます。
2)Group (同上)
→ 自社の組織に属する“複数”の開発プロジェクトチーム内で、ライセンスをご利用いただけます。
3)Starter(ノードロックライセンス)
→ 自社の組織に属する“1つ”の開発プロジェクトチーム内の特定PC1台のみで、ライセンスをご利用いただけます。
DashOのライセンスは、サブスクリプションでの販売となり、年単位で(=1年もしくは3年毎に)使用料が発生します。ライセンスの種類によって使用条件が異なりますので、ライセンスの詳細をご確認のうえ、開発環境に合ったライセンスをお選びください。なお、「PreEmptive Protection」の製品パンフレットにライセンスの価格表を記載しています。製品パンフレットのダウンロードをご希望の場合は、専用フォームからお申し込みください。
DashOを導入している企業(主に米国)の「ユーザーの声」を紹介いたします。DashOに対する印象(製品の強み)や、実際に使用して感じたことなどをお話いただきました。
【Sidekick Interactive社(モバイルアプリ開発事業)・Rihan Patel氏】
アプリケーション機能のクラッキングだけではなく、不正なデコンパイルやコードの抽出、サイバーアタックからソースコードを保護するには最高のセキュリティ プラグインです。DashOは、未使用のメソッドやファンクション、変数などのように不必要なコードを取り除くことによって、コードの最適化やリファクタリングを行ってくれます。また、当社が開発したAndroidアプリのコードに対して、とても簡単に難読化ツールを統合することができます。
【Cutting Chai Technologies社(ディープテック事業)・Deep Lathia氏】
PreEmptive製品は使い勝手が良いです。DashOの設定を行うためのGUIには、必要十分な機能が用意されており、とても便利です。DashOを実際に使ってみた結果、素晴らしい製品であることが分りました。
【Inventa社(ネットワーク事業)・Reuben Pandian氏】
DashOは、とても優れた難読化の性能、カスタマーサポート、そしてコスト最適化を提供してくれました。全体的に見れば、DashOは我々のニーズに合った、大変コストパフォーマンスの良い製品です。(※Inventa社でのDashO導入については、次の事例紹介で詳しく説明しています。)
DashOを導入している企業(主に米国)の事例紹介(ケーススタディ)です。DashOをどのような経緯で導入したのか、また、セキュリティ対策ではどのように活用しているのかを詳しく説明しています。
※資料をダウンロードする際は、ポップアップが表示されますので、会社名・お名前・メールアドレスの入力をお願いいたします。
※難読化ツールのパッケージ製品「PreEmptive Protection」の全ての資料を一括でダウンロードしたい場合は、「役立つ資料のダウンロード」ページにお進みください。
DashOは、主にJavaプラットフォームでの開発を対象とした製品です。詳細は以下を参照ください。
1)開発環境
→ Java 8もしくは11以降
(Java 11での実行を推奨。Java 8のサポートは今後のリリースで対象外となる予定)
2)対象OS
→ 上記Javaをサポートする全てのOS
(Windows, macOS, Linux/GNU, Unix システム)
3)難読化できるJava のバージョン
→ Java 1.3 ~ Java 18のクラス ファイル
4)Gradle プロジェクトへの統合
→ Android Gradle プラグイン v3.2.0 以降
5)ライセンス認証
・ Teamライセンス / Groupライセンス(フローティングライセンス)
→ 使用中は常時インターネットに接続されている必要があります。
・ Starterライセンス(ノードロックライセンス)
→ 最初のライセンス認証時に限ってインターネットに接続されている必要があります。
(認証後の常時インターネット接続は不要)