多くの企業にとって、顧客窓口としての役割を果たすWebサイトは、もはや「あって当たり前」のものとなっている。また、そのサイトに実装されている機能もさまざまだ。企業情報の提供、顧客からのフィードバックの取得、商品の販売、商品としてのサービス提供など、一企業で複数の機能を持つサイトを運営しているケースも少なくない。
Webサイトの運営を行っている企業であれば、その「セキュリティ」の確保も必須の検討事項となっているはずだ。特にサイト上で稼働するWebアプリケーションの脆弱性をいかに排除していくかは、自社のビジネスを保護するという観点はもちろん、顧客情報の保護や、自社の信頼性、ブランドの保全といった点からも重要な経営課題の一部と認識されるようになっている。
一口に「自社Webサイトの脆弱性対策」と言っても、その業種や業界、提供しているサービスの内容、ビジネス上の重要性などにより、特に注意すべきポイントや、とるべき対策は少しずつ異なってくる。
今回は、特に近年注目を集めている「ゲーム業界」における、セキュリティ課題の特徴や対策を立てる際の留意点について、SCSK、ITマネジメント事業部門ITマネジメント第一事業本部セキュリティソリューション部Webセキュリティソリューション課エンジニアの境稔氏に話を聞いた。
境氏は現在、SCSKでWebセキュリティ対策サービスの提供を行っており、かつてはネットでゲームサービスを提供する企業でシステム開発に携わった経歴を持つ。ゲーム業界特有のセキュリティ上の課題、そのための対策にはどのようなものがあるのだろうか。
ブラウザゲームやスマホアプリの隆盛で意識の「二極化」が進む
近年増加しているネットを利用したゲームサービスについて、境氏はセキュリティの観点から「クライアントと課金するためのデータベースのシステム的な距離が、どんどん近くなってきている」と指摘する。
ユーザーがゲームをプレイするクライアント側のアプリでは、ユーザー、ゲームプロバイダー双方の利便性のために、できる限り課金に関するアクションは透過的となるような工夫が続けられている。これは、ユーザビリティを高めて、ユーザーがストレスなく料金を支払える環境を作り、プロバイダーにとっても収益を高めるための必然的な流れだ。
例えば、従来の携帯電話で提供されるサービスの場合、こうした課金のためのプラットフォームはキャリアが提供しており、プロバイダーもその仕組みに乗ることで、相応の安全性を確保したうえで、サービスを展開することが可能だ。
しかし、クライアント環境としてスマートフォンが一気に普及するなかで、課金の仕組みを実現するシステムについては、各プロバイダーが検討をする余地が出てきている。既存のプラットフォームから自社に合うものを選択したり、場合によっては自前で用意したりすることもできる。
これは、スマートフォンアプリだけでなく、Webブラウザからアクセスできるブラウザゲームの分野でも同様だ。こうした市場の変化に伴うプラットフォームの急激な変化によって、「セキュリティに関する意識やスキルも(高低の)二極化をしているように感じている」と境氏は言う。
「ここ数年でFlash、JavaScript、Javaアプレット、HTML5などをクライアント技術として利用した、ブラウザ上で遊べるゲームが増えてきています。こうしたクライアントから送受信される大量のパラメータのほとんどは改竄が可能です。また、ネットゲームの中には、ユーザーがアクセスするWebサーバからゲーム・データベース、会員データベース、課金データベースまでの距離が近いサービスも多く、ここに存在する脆弱性が狙われた場合、一般的なサイトに比べて損害も大きくなる傾向があるのです」
ブラウザゲームだけでなく、専用のゲームクライアントや家庭用ゲーム機、スマートフォンのネイティブアプリなどでも状況は大きく変わらない。インターネットを通じたデータの送受信をしている以上、特定の環境からの利用以外に制限をかけていた場合でもネット上から攻撃を仕掛けることは可能だ。
現に2011年には、ある家庭用ゲーム機向けのネットワークサービスに対して不正アクセスが行われ、数ヵ月間にわたってサービスが停止するという事件もあった。「こうした事件が大きく報道されることで、他の専用機器のサービスにも攻撃の余地があるのではないかという情報が広まり、実際に遊び感覚でアタックを仕掛けて成功してしまう例も出てきています」と境氏は言う。
ゲーム業界特有の「ユーザーの若さ」と「リリースのスピード」
境氏は、ゲーム業界特有のセキュリティ課題を生み出す事情として、大きく「ユーザー層」と「リリースまでのスピード」の2点を挙げる。
ユーザー層の特徴としては、ゲームに限らず、いわゆるソーシャル系サービス全体の特徴として「若いユーザーが多い」ことが挙げられる。「コンシューマー系で、しかも若年層がユーザーの大半を占めるサービスの場合、サイト側が予測もしていなかったような使われ方をする可能性があり、それがセキュリティ上の問題につながるケースも少なくない」という。また、ユーザー自身のセキュリティに対する意識も全般に低い傾向があり、そのことがリスクを増大させてしまう傾向もあるという。
つまり、場合によってはシステム側で通常よりも高いセキュリティレベルを確保する設計をして、ユーザーを保護する必要性もあるわけだ。
もう1つのポイントは、通常のサービスよりも格段に早い「起案からリリースまでのスピード」だ。境氏によれば「ネットゲームの世界では、サービスとして提供する機能の起案から実装まで、1週間ほどの猶予しかないことも珍しくない」という。実装までの期間が極端に短い状況でセキュリティ要件を考慮するには、定められた開発プロセスにその工程が組み込まれている必要がある。
こうしたサービスインまでのスピードを重視する傾向は、「ベータリリース」という慣習にも表れている。多くのネットゲームでは「ベータ版」として、課金を行う前の段階でユーザーに公開し、実際に利用してもらうという過程を経ることが多い。これは、ユーザーによる大規模なテストとしての側面がある一方で、正式サービス開始前のプロモーションとしての役割も担う。
「ベータリリースの際は、ユーザーが実際に目にしたり触ったりする部分の完成を急ぎ、バックグラウンドでの処理が出来上がっていない状態で公開されることも少なくありません。ベータリリース時にユーザーに見える部分の完成度が低ければ、正式サービスの開始までにユーザーが離れてしまいます。そのため、ベータリリース段階におけるサービス全体の完成度はアンバランスになりがちで、セキュリティ面での配慮が甘くなっているケースも見受けられます」
ユーザーに若年層が多いことと、起案から実装までの期間の極端な短さという要素が、ネットゲームのセキュリティを考えるにあたって特に考慮すべき特徴となっているという。
起案段階で「セキュリティ」を考慮する
こうした事情を背景に、商用サービスを提供するゲームプロバイダーは「セキュリティ、脆弱性への対策を起案段階から考慮しておく必要性が高い」と境氏は言う。業務として定められた開発プロセスの中にセキュリティに関する要件を組み込んでおくことで、ビジネス上の大きなリスクを減らすことができるとする。
「セキュリティに関する要件を開発プロセスに組み込む」にあたって、現状のゲーム業界では「起案者や開発者のリテラシーによる問題も大きい」という。
前述のとおり、現在、ゲームに関連するサービスを提供している企業では、セキュリティに関する意識とスキルの「両極化」が進んでいるとする。境氏は、いわゆる「コミュニティサイト」や「ネットショップ」系のサービスを古くから提供している大手各社にはセキュリティを考慮したフレームワークを使用しているところも多いと説明する一方、「ゲーム業界全体としてのセキュリティリテラシは決して高くない」と警告する。
「Webでセキュリティを確保するための基本的な考え方は、決して難しいものではありません。データの入力と出力のフェーズがあって、入力されたデータをそのまま信じるのではなく、確認してから処理をする。処理したデータを外に出す時は安全なものかどうかを確認して出力するということです。限られた時間の中で、これらを押さえたシステムを作るには、開発者がその要件を知ったうえでコードを書く必要があり、そうしたスキルを持った人材の確保や企画開発プロセスの構築が重要な意味を持ちます」
アプリケーションにおける脆弱性の発見が「リリース前」か「リリース後」かによって、その対応コストには60倍の差が出るという調査結果も出ている。もちろん、脆弱性対応に伴うサービスの停止が、直接収益に与えるマイナスの影響が大きいネットゲームは、その影響はさらに大きくなるものと想像される。
「事業継続性」確保の手段としてセキュリティを考慮する
セキュリティ要件を考慮した起案や開発を実際の業務に取り込むには、そうしたスキルを持った人材を雇用するほか、プロジェクトに関連する人物に対して「教育」を行うという方法もある。
例えば、SCSKは「Web Security Director」というサービスにおいて、セキュリティの専門家が要件定義、設計の段階からコーディング、運用に至る各段階をセキュリティの観点でチェックするというサービスを行っている。また、そうしたチェックと運用の体制を社内に作り、根付かせるための支援も行っているという。
「よくある誤解に『セキュリティはユーザビリティとのトレードオフになる』という考え方があります。しかし、ユーザビリティを向上するうえで、システムのセキュリティを十分に考慮することは必須なのです」
課金や会員情報のデータベースが破られ、外部に流出するという甚大な被害の予防としてはもちろんのこと、リリース後の脆弱性対応によるサービス停止が、機会損失に直結するネットゲームにおいては、開発初期のフェーズからセキュリティ要件を組み込んでおくことが、特に有効なリスク管理手法となり得る。その実現にあたっては、「その体制を社内にある程度整えておくことがコストパフォーマンス面でもメリットが大きいと思う」と境氏はアドバイスする。
SCSK株式会社
ITマネジメント事業部門
ITマネジメント第一事業本部
セキュリティソリューション部
Webセキュリティソリューション課
エンジニア 境 稔
エンジニアとしてコミュニティサイトやネットワークゲーム等、大規模なコンシューマ向けサービスのスタートアップに参加。Webアプリケーション脆弱性診断や診断トレーニングにおいて、発生しうる現実的なリスクを前提に、情報の完全性・機密性のみではなく、可用性や効果・コストを考慮した対策の提言を行っている。また、日々脆弱性の調査を行い、情報セキュリティ早期警戒パートナーシップガイドラインに基づき報告を行っている。