ゲーム業界から学ぶソフトウェアセキュリティ 〜ラリー・トローウェル(シノプシス)〜

ゲーム市場は1000億ドルを超える産業となっています。現在開発されているもっとも複雑なソフトウェアのいくつかはゲームのためのもので、クライアントにサーバー、ウェブコンテンツ、通貨移動、ソーシャルインタラクション、仮想市場など、どこととってもセキュリティが必要とされています。ゲームは、不正行為や著作権の侵害といった点では特に、ハッカーたちにとって魅力的かつ利益を生むターゲットなのです。
それらのことを踏まえて、ソフトウェアセキュリティに対するビデオゲーム業界のアプローチから学べることについて、シノプシスで主席セキュリティコンサルタントを務めるラリー・トローウェル(Larry Trowell)氏にお話をうかがいました。

安全を重ねても破られるゲーム業界のセキュリティへの考え方

Q:ゲーム業界はほかの業界に比べて、ソフトウェアのセキュリティや信頼性の重要性をよりよく理解している、という意見がありますね。
ラリー:ゲーム業界がソフトウェアセキュリティの重要性に対して理解があると思われる理由のひとつに、この業界はハッカーたちに対抗するために、より堅固なセキュリティに毎年順応せざるを得なかったことがあります。改造に抵抗するためには電子署名付きのファームウェアを実装する必要がありましたし、著作権の侵害やハッカーたちを退けるためにはアンチデバッグソフトウェアが、不正行為に対抗するにはランタイムの一貫性チェックが必要でした。
ゲーム業界がほかの業界とひとつ違っていたのは、単に攻撃されるだけでなく自分たちのセキュリティでは太刀打ちできないということを理解していたところです。ゲームは海賊版が作られるし、不正行為をするやつはなんとかやり方を見つけるし、システムには欠陥が見つかるものです。ゲーム業界がほかの業界と違うのは、攻撃が成功してしまった後にどうするかを考えていたことです。クライアントコントロールを切り離し、ソフトウェアをロックダウンして、メモリを暗号化しました。安全であるためにするはずのことをすべてやっているのです。しかし本当に大切なのは、そのような手立てをしても十分ではない場合にどうするかについても彼らが考えていることです。
Q:つまり、ゲーム業界はソフトウェアセキュリティに関して、ほかの業界の先を行っているということですか?
ラリー:先を行っているように思えるとしたら、それはこの業界がソフトウェアセキュリティの技術的な境界線を押し広げてきた歴史があるからでしょう。彼らははじめに海賊版に対する保護が必要になり、複雑なコピープロテクトとアンチデバッグソフトウェアを開発しました。そうしてできた道が、ゲームにマルチプレイヤーが参加するようになったことで起こり始めた不正行為をくじくことにつながったのです。このような技術が確かな結果を出せなかった場合に、攻撃された後に何をすべきかを彼らは考え始めたわけですが、ソフトウェア業界のほとんどの他社はそれをしなかったり、やっても十分ではなかったりするのです。

ゲーム業界から学べること

Q:ゲーム業界からセキュリティについて何か学べることがありますか?
ラリー:ゲームには、機密データや重要な機能にアクセスするソフトウェアならばどれでも実装しなければならないいくつものセキュリティ機能が使われています。以下に例をあげます。
•サーバー側でチェックする。
クライアント側のセキュリティはいつでも機能しなくなる。これはビデオゲーム業界が長年の間に苦労して学んだことのひとつ。現時点での推奨されるソリューションは、ゲームに変更はないか、するべきことの全てが実行されているかを検証するために管理しているサーバーで定期的にチェックすること。
•無線によるアップデート。
脆弱性は見つかるもの。見つかった脆弱性にできるだけ早くパッチをあてる方法が必要。ユーザーエクスペリエンスにかなったものにできるのであれば、強制的なアップデートが望ましい。
•アンチデバッグ。
もしも攻撃側がコードの1行1行に割り込んでくることができるのであれば、彼らの都合のいいように変更することも十分可能になってしまう。デバッグ保護はハッキングの阻止に役立つ。
•難読化。
難読化は攻撃をやめさせるものではなく、手間取らせるもの。攻撃側が脆弱性を見つけるのに時間がかかればかかるほど、ソフトウェア開発者のほうがそれをインハウスで見つけて修復する時間ができる。
•ランタイムの統一性チェック。
この機能があれば、海賊版の心配だけでなく、ソフトウェアがマルウェア投入のためのベクターとして悪用される恐れからもソフトウェア開発者を守れる。悪用されれば、企業の評判に深刻な影響を与えかねない。
最後に、セキュリティとはトレードオフであることを理解してください。すべての消費者やユーザーがセキュリティ強化を歓迎するわけではありません。それでも、セキュリティは妥協することなく取り入れなくてはならない重要な機能なのです。そして、製品にセキュリティを追加するコストを最小限にする唯一の方法は、そもそもの初めから組み込んでおくことです。導入するセキュリティ技術を理解し、製品に役立ててください。もしもその技術のどれかに問題が見つかったら、同様のセキュリティを確保しながら問題の少ない別の技術を検討してください。
ゲーム業界でもそのほかのどんな業界でも、収益と評価を守る最善の方法は、ソフトウェア開発のライフサイクルに積極的にセキュリティを構築することです。
■参考:シノプシス