クラッキング対策ツール「CrackProof」とは何か?人気アプリにも数多く採用されるツールの現状を、開発元に訊いた

Sponsored Content

Pocket
reddit にシェア
LINEで送る

ゲーム運営者の悩み事のひとつとしてあげられるのが、チートや不正改造などのクラッキング行為だ。ゲーム内でのチートから海賊版の作成および改造アプリの販売まで、被害は幅広い。そして、攻撃の背景に常に存在するのがゲーム自体を解析して改ざんする行為だ。プレイヤーや運営者を困らせるクラッキングを防ぐためには、ゲーム自体を解析させない工夫も肝要となる。

そうした被害を防ぐため、プログラムを堅牢化して解析・改ざんを検出し阻止するのが「CrackProof」だ。この製品はゲームを含むあらゆるアプリケーションソフトウェア(以下、アプリ)に堅牢化を施す。プロテクト対象もWindowsからAndroid、iOS等のモバイルまで幅広い。また、クラウド上に完成したアプリをアップロードするだけ(iOSを除く)で堅牢化が完結する利便性も大きなメリットだ。

CrackProofを開発・販売する株式会社DNPハイパーテックには、以前より本誌にてチートについての知見を深めるお話をうかがってきた。今回は、現在のCrackProofのコンセプトや、事業者にとって気になる導入後のフォロー体制について改めてお聞きした。

CrackProof公式サイト:
https://www.hypertech.co.jp/crackproof/

資料請求問い合わせフォーム:
https://www.hypertech.co.jp/contact/



――はじめに、自己紹介をお願いします。

山口博也氏(以下、山口氏):
システム営業部の山口と申します。DNPハイパーテックには長く在籍しており、営業職としてCrackProofについても20年ほど携わっています。長い間CrackProofと共に歩んできましたので、そうした観点から回答できればと思います。よろしくお願いします。

土倉真実氏(以下、土倉氏):
マーケティンググループの土倉と申します。私はもともとグラフィックデザイナーをやっておりました。なので、専門性の強い弊社のサービスをどなたでも理解しやすくなるよう、図解などデザインでのプレゼンテーションに携わっております。

――DNPハイパーテックさまはどのような会社なのでしょうか。

山口氏:
DNPハイパーテックはもともとハイパーテックという社名で、1994年に京都で設立された会社です。2015年に大日本印刷(DNP)のグループ会社となり、頭にDNPが付いた現在の社名になりました。

弊社は、2000年代前半頃からクラッキング対策技術を自社開発し、 2006年に Windowsアプリを保護するCrackProofを製品化しました。その後、Android/iOS/Linux 等のOSにも対応し、現在まで数多くの企業でご活用いただいております。CrackProofのご提供に加え、「アプリをどう守っていくのか」を考えながらお客さまの立場に立ったアドバイスや提案等もご要望に応じて実施しており、ご好評いただいております。

――クラッキングとはどのような行為なのでしょうか。

山口氏:
クラッキングについてはいろいろと定義はありますが、弊社としましては「アプリへの不正な解析・改ざん行為」と捉えています。クラッキングの手法にはさまざまなものがありますが、大別すると、アプリ自体を直接解析・改ざんする「静的解析・静的改ざん」と、アプリを実行しながら解析・改ざんする「動的解析・動的改ざん」の2つの手法に分けられるかと思います。

――CrackProofとはどのような製品なのでしょうか。

山口氏:
「クラック・プルーフ(クラックを防止する)」ということで、文字通りアプリへのクラック=クラッキングを防ぐ製品となっております。

クラッキングを防ぐためには、前述した「静的解析・静的改ざん」と「動的解析・動的改ざん」の2つの手法、これらをいかに防ぐかが重要となります。CrackProofをご使用いただきますと、静的・動的ともに悪質な解析・改ざんを阻止する機能、不正な実行環境での動作を阻止する機能など、アプリを強固に守るセキュリティ機能をお客さま側で簡単に付加することができます。


――CrackProofでは、「クラウドにアップロードするだけ(iOS版を除く)」という堅牢化処理ができると聞きました。その手軽さに驚くのですが、どのような処理がなされているのでしょうか?

山口氏:
プロセスとしては、CrackProofクラウドにアップロードしたアプリに対して、暗号化やパッキング(*1)をかけ、セキュリティ機能のプログラムを追加。最終的にひとつのアプリとして生成しているイメージです。

*1:プログラムに対して、動作を変えずに圧縮を施す処理。明確に定義はされていないものの、すでに動作する状態のアプリケーションへの難読化処理を指す傾向がある。


――ゲーム作品ではこれまでにどのようなアプリでCrackProofが採用されていますか。

山口氏:
秘密保持の関係で具体的なタイトル名については申し上げられないのですが、CrackProofをご採用いただいているタイトルの印象としましては、他のプレイヤーと競い合う要素の入ったゲーム作品などでご利用いただくケースが多いですね。そうした作品でゲームを不正に優位に進めるチート行為が発生しますと、ゲームバランスが大きく崩れ、ほかのプレイヤーに不公平な状況が生まれてしまいます。また、ユーザーレビューなどにも波及してタイトルの運営に悪影響を与えかねません。チート被害を放置すると、運営会社のイメージ悪化にも繋がります。

そのほかの例としては、人気IPを使ったゲームの場合ですと、キャラクター関連のリソースを不正抽出されたり、キャラクターの攻撃力や防御力等のパラメータを不正に高めた状態でプレイできるように改造されたアプリが、勝手に配信されてしまうケースもありますね。そのような被害を防ぐために、CrackProofをご採用いただいております。

――CrackProofは主にゲームでの採用例が多いのでしょうか。

山口氏:
CrackProofですが、元々はエンジニアリング系での採用が多かったんです。最初にWindows向けの製品をリリースした頃は、機械設計や建築設計で使用されるCADの海賊版対策として、また、アプリ内で使用している自社独自の技術情報(特殊な計算アルゴリズム等)の解析対策目的で企業さまにご採用いただいておりました。

その後、PCオンラインゲームのチート対策としてゲーム会社さまでもご採用いただき始めました。スマートフォンの登場以降、一気にゲーム会社さまでのご採用が増えましたね。ゲーム会社さまでのご採用が増えた理由としましては、「チートが被害として顕在化しているから」だと考えております。チートに関する情報や、初心者でも簡単に使えるツールがインターネット上で容易に入手可能な状況となっています。実際にチートが横行、改造アプリが配信されるなど、被害に遭う可能性が高くなれば必然的に対策が必須になってくるかと思います。

ゲーム以外の会社さまのご採用も増えてきています。以前は被害に遭っているお客さまからご相談をいただき、「被害をなくすための対策」としてご採用いただくケースが多かったのですが、近年のセキュリティ対策意識の高まりもあり、ここ数年は「被害に遭わないように事前対策」としてご採用いただくケースが多い印象があります。

――導入後のサポートの事例として、どのような相談がありましたか。また、どのように対応していきましたか。

山口氏:
CrackProofは、Windows、Android、iOS等のOS上で動くアプリにセキュリティ機能を付加するものとなっております。なので各OS上でCrackProof処理したアプリが正常に動作するか、また、セキュリティ機能が正常に動作するか、といった部分については、弊社もお客さまも非常に関心が高いところです。各OSの新バージョンがリリースされる予定の記事が出ますと、お客さまから「現在のCrackProof側での対応状況はどうか?」「検証を開始したいので、早く動作対応してほしい」といったご連絡をいただきます。

そのため、弊社では開発者向けバージョンのOSが入手でき次第、早い段階から継続して動作検証をおこない、毎年各OSの新バージョンが正式リリースされる前に、対応版のCrackProofをご提供しております。またあわせて、お客さまには定期的に検証結果を報告しております。

OS関係でもう一点挙げますと、特にAndroidでは、OSに端末メーカー独自のカスタムが施されていることがあるため、その端末メーカーがOSをアップデートした際にCrackProof処理済のアプリが動かなくなるようなケースが稀にあります。そのようなケースでは、お客さまからエラーログをお送りいただき、弊社側で内容を確認し、できるだけ早く問題を解決する形でご対応しております。

土倉氏:
クラッキング策ツールでいいますと、海外製品で同種の製品があります。しかし、CrackProofは日本国内で開発販売をおこなっておりますので、サポート対応で言語の違いによるニュアンスのずれが発生するようなことはありません。


また、開発とサポートメンバーが緊密に連携してご対応させていただいているため、場合によっては問題が出ているアプリ自体をご提供いただき、開発メンバーが問題箇所を特定するなど、問題解決までスピード感を持ったご対応が可能となっております。

――使用料の基準とだいたいの目安が気になります。

山口氏:
CrackProofは年間契約形式でお客さまにご提供しております。アプリ自体のリリース形態や処理対象アプリ数などを勘案に入れ、案件ごとに個別でお見積りさせて頂いております。たとえば「リリースを予定している1アプリに使いたい」というケースもあれば、「自社開発のアプリ全部」と包括契約いただくケースもありますので、案件ごとの料金にもかなり幅はあります。

アプリ単体に使用するケースでも、全世界で何千万DLされるゲームアプリの保護もあれば、BtoBの小規模なテスト版アプリを関係会社数社に提供する際にプロテクトをかけておきたいなど、さまざまなケースがあります。なので、案件ごとのご事情も考慮して柔軟に提案調整させていただいております。

――ニーズや予算に応じて臨機応変に対応できるということですね。

山口氏:
はい、臨機応変にご提案させていただきますので、まずは弊社までご相談いただければと。

――DLLファイルやアセットの差し替えのみなど、限られた範囲のアップデートが施された場合にも再度の堅牢化が必要になりますか?

山口氏:
はい、DLLファイル(*2)の差し替え等、CrackProof処理済のファイル内容を変更して差し替える場合には、再処理が必要となります。アセットについては元々CrackProofの堅牢化処理対象ではないため(*3)、処理は発生いたしません。ご参考までに、アセットの保護については、アセットの暗号鍵を配置したEXEまたはDLLを堅牢化し、アセットの復号を間接的に防ぐ形で、お客さまにご利用いただいております。

*2:Windowsのプログラムファイルの一種。主に、汎用性の高い機能を取りまとめ、複数アプリ間で再利用するために作成される。チートや改造にあたって攻撃対象とされる場合もある。

*3:Windowsアプリでは、EXEとDLLが処理対象となる。

――PC向けの配信ツールやコミュニケーションツールのなかには、実行プロセスやシステムファイルにアプローチする手法を使っているものもあります。そうしたツールとプロテクト済みソフトの間で不具合が発生した例はありますか?

山口氏:
最近そうしたツールの利用も増えていると存じますが、併用で動かなくて困ったとの報告はあまりいただいておりません。ただ、CrackProofにはDLLインジェクション(*4)などを防ぐ機能がありますので、そのような「CrackProof側で防いでいる手法を使っているツール」であればブロックされると思います。

*4:実行中のプログラムの正規の処理に、不正なDLLを読み込ませ、開発元の意図しない処理を実行させる手法。

――モバイル(Android/iOS)においては、改造アプリや海賊版アプリの流通などの問題がしばしば持ち上がります。また、盗用に繋がりうるアセット抽出を避けたい開発元もあると思います。こうした行為をCrackProofが防止した例はありますか。また、実際どのように作用して防いでくれるのでしょうか。

山口氏:
はい、そのような行為を防ぐためにご導入いただいております。特に、既に被害に遭っている状態でご導入いただいたお客さまで、「把握していた不正行為の数が格段に低下した」「堅牢化したアプリの配信後、改造アプリの作成が止まった」等、CrackProofを適用する前と後の違いに驚かれることが多いですね。

アセット抽出の件ですが、実際の例として、UnityのAssetBundle(*5)を使って新しいキャラクターデータ等の配信をおこなっていたお客さまから、発表前にアセットを解析されて情報がリークし、困っているとの相談を受けました。CrackProofには、アセット自体を直接保護する機能はありません。しかし、AssetBundleを暗号化しておき、アプリ側に暗号鍵を持たせている場合には、CrackProofでの堅牢化が間接的な保護に繋がります。アプリ側の暗号鍵を守ることで、アセットの暗号解読を防げる為です。また、アプリの解析を防ぐことで、アプリがアセットをどこからダウンロードするかなどの情報が露見することを防ぐ効果もあります。

*5:Unityで利用される、アセットをひとつにまとめる機能。画像や音声など多様なファイルをパッケージ化でき、アップデート配信などの際にも利用される。AssetBundle暗号化の詳細などについては、DNPハイパーテックの開発者コラムを参照されたい。

――CrackProofは、Unityとの互換性も強みというイメージがあります。

山口氏:
はい、そうですね。Unityを利用しているお客さまも多いので、同エンジンで開発したアプリ向けにいろいろと強化をおこなっている部分もあります。Unityユーザー企業さまを対象に、お得にCrackProofが利用できるサービス(Unity Promotion Partner Program)をUnityさまと実施させていただいたこともあります。

ただUnityに限らず、お客さまはUnreal Engineであったり、自社製のものであったり、さまざまなエンジンを利用されています。各エンジンからのアウトプットがCrackProofで処理可能な形式になっていれば、基本的にはどのエンジンでもご対応可能です。

――Easy Anti-Cheat のようなアンチチートソフトウェアや、DenuvoのようなDRMソリューションに対してCrackProofはどのような立ち位置なのでしょうか?また、そうしたソリューションとの併用は可能ですか。

山口氏:
ゲームにおける各種不正行為を防ぐためのツールと捉えますと、細かな部分は異なりますが、同種のツールであると思います。ゲーム業界での弊社ツールの立ち位置・特長としましては、下記のような感じでしょうか。 

・クラッキング(チート)対策ツールとして長年の実績を持つ唯一の国産ツール
・日本国内のゲーム会社さまがユーザー
・お客さまと密に連携して対策に取り組める会社が提供

併用が可能かどうかについては検証してみないとわかりませんが、同種の製品として機能面でのコンフリクトが考えられますので、おそらく同種のセキュリティの製品との併用は難しいのではないかと考えております。

――万が一CrackProofが破られるとすれば、どのようなケースが想定できますか。

山口氏:
破られない、100%完全な保護というものは現実的ではないと思います。CrackProofはアプリケーション層(*6)で動いている技術なので、OS自体を改造するなど手の込んだ手法で攻撃されると破られる可能性はありますね。AndroidはオープンソースOSなので、OSに関する情報の入手は攻撃者にとって容易です。

弊社は、そのような攻撃側が圧倒的に有利な状況下で、セキュリティの強固さとアプリのパフォーマンスのバランスを考慮しつつ、セキュリティ対策をおこなっております。お客さまにはまずその点についてご理解いただきつつ、うまく協力しながらアプリのセキュリティ強度を高めていくイメージでCrackProofをご利用頂いております。

*6:アプリが動作する構造を抽象化した表現。アプリは、WindowsやAndroidなどのOS(オペレーション・システム)上で動作する。そしてOSはパソコンやスマホなどのハードウェア上で動作する。つまり、アプリはOS層とハードウェア層の上で動作しているイメージだ。また、下層レベルからの攻撃は防ぎづらい傾向がある。

――二人三脚のようなかたちでしょうか。

山口氏:
そうですね。先程のUnityのAssetBundleの件についても、アセットの暗号化についてはお客さま側でも実装されていました。弊社ができることとお客さまができることには違いがあるので、必要があればお客さま側に堅牢性強化のための実装についてご提案する場合もあります。

――年間使用料に、コンサルタント料も含まれているようなイメージでしょうか。

山口氏:
はい、ご契約いただいたお客さまには、CrackProofのクラウド環境をご提供しており、契約中は対象のアプリに何度でも堅牢化処理をおこなっていただけます。また、運用面でのフォローも年間使用料に含まれています。

――動的解析も防ぐとのことですが、たとえばプロセス解析ツールなどでCrackProofが適用されたアプリをリバースエンジニアリング(*7)しようとした場合、どのような挙動になるのでしょうか。

山口氏:
CrackProofがかかっているアプリに対してツールで解析を試みた場合、解析を検出した時点で、それ以降の解析を防ぐためにアプリを終了させます。

*7:完成品のアプリを解析し、内部構造や動作について解き明かす手法。

――CrackProofはアプリを守る役割の製品ですが、堅牢化を破ろうとしたユーザーを検知したり統計やデータを取る機能はありますか。また、今後そのような製品を提供する予定はありますか。

山口氏:
CrackProofはアプリを強力に保護し、不正行為を検知し阻止するというコンセプトの製品です。しかし、お客さま側のニーズも近年多様になってきました。不正な動きを検知した後、そのまま何をしているのか監視したいというようなご要望も出ています。弊社としましては、今後そうした需要への対応も視野に入れていきたいと考えており、監視に特化したコンセプトの製品開発等も進めております。

――CrackProofに対して、新製品はどのような立ち位置になるのでしょうか。

山口氏:
まだ詳細は決まっておりません。ただ、CrackProofは不正行為の検知と阻止がセットになっています。それに対して新製品は、不正を検知した場合にその内容の情報を取得、お客さま側でその情報をご活用いただけるような製品になるイメージです。不正をおこなったユーザーに対し、BANなどのペナルティを下すかはお客さまのご判断という形ですね。

――CrackProofは、近年どのように機能拡充を進めてきましたか。

山口氏:
「こんな新機能が追加された!」と大々的に紹介できる機能はありません。セキュリティ強化のために、あまりに強くアプリを堅牢化してしまうと、アプリの動作パフォーマンスに影響が出る場合もあります。なので、弊社としましては新機能の拡充よりも、パフォーマンスを保ちつつ可能な限り強固に堅牢化するという工夫を重んじています。CrackProofとしては、OSもどんどんアップデートされて端末も変化していくなかで、いかに安定した強度でセキュリティをご提供できるかという部分を最重視しています。

――今後の予定やイベント出展などはありますか。

土倉氏:
来年2022年の1月20日と21日に、アニメやゲーム業界のB to B(企業向け)オンライン商談イベントである「アニメ・ゲームサミット 2022」に出展予定です。ゲーム業界からも関心の高いIPコンテンツの保護について、わかりやすく説明する資料をご用意しています。また、会期中はWeb商談も受け付けております。ご興味のある方は弊社のブースにアクセス頂けると幸いです。

――ありがとうございました。

今回のインタビューでは、CrackProofが単なる堅牢化システムではなく、顧客と協力して堅牢化を推し進めるソリューションであることが改めてわかった。攻撃手法も環境も日々変化するゲーム業界において、継続的にクラッキング対策に取り組む姿勢は頼もしい。また、日本国内企業で同様のソリューションを提供している例は稀だ。国内のゲーム事業者にとって、言葉の壁なくクラッキング対策を打ち出せるパートナーは貴重だろう。

DNPハイパーテックは、CrackProofのトライアル相談なども受け付けている。本稿にて興味をもたれた業界の方は、是非とも気軽に問い合わせてほしい。また、資料や導入事例などについてはDNPハイパーテック公式サイトにて公開されている。


Crackproof公式サイト:
https://www.hypertech.co.jp/crackproof/

資料請求問い合わせフォーム:
https://www.hypertech.co.jp/contact/

Pocket
reddit にシェア
LINEで送る