株式会社Ninjastars 技術系ブログ

「本質的安全を提供し、デジタル社会を進化させる!!!」

ゲームセキュリティエンジニアとして心がけていること

株式会社Ninjastars
セキュリティエンジニア:一瀬健二郎

今回は弊社の活動を知っていただくために、私自身のエンジニアとしての日々の考え方や心がけていることなどをお話しさせていただきます。
こういった現場の生の声を届けることで、現在のゲームアプリのセキュリティ事情等のご理解に繋がればと思います。

f:id:DoranekoSystems:20200810030555p:plain
弊社の代表と診断員。

どんな業務?

ゲーム会社等からの依頼を受け、主にブラウザゲームソーシャルゲーム脆弱性診断を行います。
対象のアプリはリリース前であったり、現在稼働中のゲームであったり様々です。
弊社では実際の攻撃者と同じ状況で診断するブラックボックス診断を主に行っています。
調査するアプリには商用のプロテクトがかかっている場合もあります。
所謂チート行為等のクラッキングの危険性・可能性を事前に調査して危険度などを分析したうえでレポートに纏めて提出します。
また報告会等を併せて行いクライアント様の疑問点、質問に答えます。
こういった詳細な情報共有はクライアント様から高い評価を頂いています。

必要な最低限の知識

Webセキュリティの基本的な知識
アセンブリ言語の知識(x86,ARM,ARM64)
一定のプログラミング能力(c/python等)
etc

エンジニアとしては当然ですが、何より自分で主体的に考えたり調べたりすることが重要だと思います。

使用ツール例

弊社でも取り上げていたGhidraやプロキシツールとしてBurpSuite等を基本に利用しています。
また弊社独自の内製ツールを作成し、痒いところに手が届くように実装して診断の効率化を図っています。
・メモリ解析・改変ツール
・通信解析ツール
etc

やりがいを感じる点

診断の中で開発者様が様々な工夫を凝らしてチート対策を実装していると感じられることが多々あります。
そうした対策が多重に重ねられたゲームを診断するのは非常に難しいですが、考えられうるあらゆる攻撃手法を試して調査します。
悪戦苦闘しながら、診断毎に自分の中でゲームセキュリティに対する確かな知見・技術が身に付けられているのを実感しています。
何よりクライアント様から診断レポート等を評価して頂ける声を聞いたときは本当に嬉しい気持ちになります。

心がけていること

私自身は単にツールを使うだけでなく、ツールが動作する原理などの理解を重要視しています。
今までの経験からそうした原理的な分析・理解が詳細な分析やチート対策の更なる理解に繋がると実感しています。
また勉強の一環としてOSSにContributeしたり、ソースコードを読み解き改良版を作ったりしています。

f:id:DoranekoSystems:20200810031926p:plain
PacketProxyにContribute!!

攻撃と防御の二つの理解が重要

弊社では業務の一環としてチート対策の研究も行っています。
その中で感じることが多いのが、特にクライアントサイドセキュリティにおいては攻撃と防御は重なり合っているという点です。
防御用に実装したチート対策のプログラムが、診断時に攻撃用のツールに転用出来たりするということが少なくありません。
逆もまたしかりで、日々の診断時の知見が防御手法の実装に大いに役立っています。
攻撃と防御、この二つは共に重要な両輪であると考え日々学んでいます。

もっと楽しく安全なゲームの世界を創る

このブログのサブタイトルにもあるこの言葉ですが、どんな意味ですかと聞かれることが時々あります。
正直私自身崇高な理念を持って仕事をしているのかというと必ずしもそうではありません。
一つだけ言えることは、この業界は技術の世界であり、その場の思い付きなどの付け焼刃では人の役に立つこともできません。
ゲームセキュリティという分野は非常に高い技術・知識を要求される世界だと思います。
セキュリティエンジニアとして確かな技術を身につけるために、弛まぬ努力を続けていく所存であります。

注意事項

本レポートに記載されている内容を許可されていないソフトウェアで行うと、場合によっては犯罪行為となる可能性があります。そのため、記事の内容を試す際には許可されたソフトウェアに対してのみ実施するようにしてください。

本レポートについて
お問い合せ
E-mail:ichise@ninjastars-net.com

株式会社Ninjastarsエンジニア
一瀬健二郎