カテゴリ: ソフトウェア保護
CodeMeter Protection Suite – ソフトウェア保護のためのマルチツール
ソフトウェアの収益化にライセンスが必要であることは、ソフトウェアベンダーなら誰もが知っています。しかし、ソフトウェアに投資された貴重なノウハウの保護についてはどうでしょうか。アルゴリズム、パラメーター、データは、簡単に手に入りません。これらは、多くの資金と労力によって生まれます。ここからは、CodeMeter Protection Suiteがソフトウェア保護とライセンシングのすべてのニーズに対応するツールとして、どのように役立つのかについて見ていきます。
ソフトウェアをハッキングされた経験はありますか?
多くの企業にとって、これは青天の霹靂のような出来事です。突然、一部のニッチ市場、あるいは全市場においてソフトウェアの売上が低迷します。また、ソフトウェアを購入していないエンドユーザーからサポートの問合わせがある場合もあります。これは悪い兆候です。攻撃者が、似たような機能をもつソフトウェアの模倣品をリリースした、もしくは正規のライセンスなしでオリジナルのソフトウェアを販売し始めた、可能性があります。いずれの場合であっても、正規のベンダーにとって危機的状況になることは間違いありません。また多くの場合、犯人は法の網をくぐり抜けます。
ベストな対応方法:暗号化と署名
CodeMeter Protection Suiteは、制御に優れています。本質的には、保護とライセンシングの統合を容易にする、様々なプラットフォーム向けの暗号化およびライセンシングツールです。保護されたアプリケーションの中で、特定の暗号化機能と最先端のアンチデバッグおよびアンチリバースエンジニアリング対策を組み合わせることで、非常に高いレベルの保護を実現します。
また、署名により、コードの改ざん有無(コードの整合性)を確認することも可能です。
動的な復号によるセキュリティの最大化
メモリダンプなどの典型的な攻撃に対する最適な保護を実現するため、CodeMeter Protection Suiteで保護されたアプリケーションは、実行時に関数とメソッドを動的に復号します。これが自動で行われる(.NET、Java、JavaScript、Python)、もしくは動的に復号する必要のあるメソッドがコード内でそのようにフラグ付けされるかは、使用するプログラミング言語によって異なります。
保護とライセンシングの調和
多くの場合、保護とライセンシングは両立させることが可能です。これは、CodeMeter Protection Suiteが最も得意とするところです。なぜなら、ソフトウェアを暗号化するために使用される暗号鍵は、ファームコードとプロダクトコードで定義されたライセンスにすでにセキュアに組み込まれているからです。アプリケーション(実行可能ファイルとライブラリ)を暗号化する場合、ファームコードとプロダクトコードを入力すると、アプリケーションは、正しい暗号鍵で保護されます。通常、ソースコードに変更を加える必要はありません。
エンドユーザーは、保護されたアプリケーションにアクセスするための正しいライセンスが必要です。このライセンスは、ポータブルなCmDongle、暗号化されたライセンスファイル(CmActLicense)、またはエンドユーザーにバインドされたクラウドコンテナ(CmCloudContainer)、これらいずれかのコンテナにエンドユーザーごとに格納されています。
最適なAxProtector
AxProtectorは、以下の表にあるような一般的なものに限らず、幅広いプログラミング言語に対応しています。
AxProtectorと利用可能な拡張モジュール
AxProtectorは、複数の実行可能ファイルやライブラリで構成されるアプリケーションを暗号化し、ライセンスを付与する機能を全バージョンに標準搭載しています。
モジュラーライセンシング
アプリケーションは、1つのパッケージ、または「機能」ごとに販売することもできます。後者の場合、モジュラーライセンシングが有効です。この場合、個別の機能や関数に対応する個別のライセンス(プロダクトコード)が作成されます。ライセンシングされた機能セットに応じて、ユーザーが受け取るプロダクトコードの組み合わせは異なります。
アプリケーションでは、ソフトウェア保護API(WUPI)がライセンスの存在を確認し、ライセンスにない機能を非表示にすることができます。ランタイム中の動的な復号は、アプリケーションのこれらの機能に個別のライセンスを割り当て、追加の各プロダクトコードに基づいた独自の暗号鍵をそれぞれに与えます。攻撃者は、これらの鍵がなければ、アプリケーションのロックオフされた部分を復号することはできません。
IP(知的財産)保護
無料版のソフトウェアの配布は予定していますか。もし予定しているのであれば、エンドユーザーが、個々の機能を利用するために、ライセンスを購入する必要があるフリーミアムオプションを考えているのでしょうか。それとも、(産業界のマシンオペレーティングソフトウェアでは重要なことですが)ライセンスがない場合でも、エンドユーザーにもう少し自由度を与えたいと考えでいますか。どちらの場合でも、ノウハウの保護が必要であることに変わりありません。
標準的なアプローチとは対照的に、IP保護モードの暗号化は、CodeMeterのライセンスに縛られることはありません。その代わり、復号鍵はアプリケーション自体にセキュアに隠されています。つまり、ライセンスコンテナがなくても、アプリケーションを起動することができます。これは、モジュラーライセンシングと組み合わせ、フリーミアムモデルなどの有料機能を保護するには賢い選択です。
CodeMoving(コードムービング)
セキュリティの最適化のため、マシンコードはCmDongleまたはCmCloudContainerで実行することができます。これは、特に重要なコードをCソースファイルに変換し、コンパイル、そして保護プロセス中にアプリケーションのバイナリや暗号化されたブロブとして配置することによって実現されます。
ランタイム中、コードは特別なAPIによって呼出され、CmDongleまたはCmCloudContainerに転送、復号され、そのセキュアな環境で、関連する入力パラメーターとともに実行されます。そして、その出力はAPI呼出しに対する応答としてフィードバックされます。
ファイル暗号化
このモジュールは、データファイルを迅速かつ簡単に保護するために使用されます。ファイルはCodeMeter Protection Suiteによって保護され、その後、同じパラメーターで暗号化されたアプリケーションによってのみ、そして正しいライセンスが存在する場合にのみ、ファイルを開く、もしくはファイルにアクセスすることができます。
サポートするプラットフォーム
標準的なPCで使用されている代表的なプラットフォームは、すでにAxProtectorの基本バージョンでカバーされています。
組込みデバイス向けのソフトウェアを開発する場合は、ターゲットプラットフォームごとに、つまりオペレーティングシステム、プロセッサーの種類、(Linuxの場合)選択した標準ライブラリの組み合わせごとに、追加のAxProtectorライセンスが必要になります。
様々なオプションを選択する際、以下の表が参考になります。
サポートする開発環境
すべてのAxProtectorは、WindowsおよびLinuxベースの開発環境で使用できます。また、AxProtector macOSは、macOS上で直接使用することができます。
AxProtectorをサブスクリプションで提供開始。常に最新の情報を入手可能に
2022年初頭より、AxProtectorは、サブスクリプションで提供しています。サブスクリプションでは、常に最新版を利用し、最新のセキュリティ機能を享受できます。
サブスクリプションは1年間の期限付きで、ユーザーによるキャンセルがない限り、自動で更新されます。自動更新により、AxProtectorとオプションの更新ライセンスは、ライセンスポータルからすぐに選択することが可能です。
KEYnote 43 – Edition Spring/Summer 2022