Skip to main content

ゲーミフィケーションで開発とセキュリティを結び付けられるか?

blog feature the secure developer podcast

2022年11月28日

0 分で読めます

DevSecOpsのアプローチを推進する取り組みが何年も続いているにもかかわらず、開発チームとセキュリティチームは分断されたままになりがちです。たとえば、2020年の調査によると、セキュリティ担当者の65%が、自社ではセキュリティのシフトレフトに成功したと回答しました。一見、良い結果に思えます。しかし同じ調査では、シフトレフトが進んでいるにもかかわらず、ほぼ3分の1の人が、セキュリティの主な責任はセキュリティチームにあると考えていることも分かりました。

こうした縦割りが根強く残っていることから、開発チームとセキュリティチームの溝を埋めるのは簡単ではないと分かります。DevSecOpsの可能性を最大限に引き出すには、創意工夫、そして遊び心も必要です。ゲーミフィケーション、つまりゲームの仕組みをゲーム以外の場面に応用することは、チームが共通の目標に向かって協力するよう促す重要な手段になります。

開発者のセキュリティにゲーミフィケーションを取り入れることは、ポッドキャストThe Secure Developerでも取り上げられています。この記事では、The Secure Developerに出演した専門家のゲストが、セキュリティをゲーミフィケーションした方法をいくつかご紹介します。

セキュリティをゲームにして、会社の勝利につなげよう

キャプチャー・ザ・フラッグ(CTF)は、世界中の学校の校庭で親しまれている、誰もが知るゲームです。Snykの共同創業者Danny Granderが、The Secure Developerポッドキャストのエピソード6で語るように、工夫次第でCTFを、開発者とセキュリティエンジニアの創造性や協働を促すゲームに応用できます。

セキュリティCTFでは、個人やチームがハッキング競技で競い合います。暗号、ステガノグラフィ、リバースエンジニアリングなど、さまざまなセキュリティ課題に挑戦します。

CTFには、ジェパディ形式と攻防形式の2種類があります。

  • ジェパディ形式では、個別の課題が数十問出題されます。競技終了までに最も多くの課題を解いたチームが勝者です。

  • 攻防形式では、各チームが指定されたシステムやサービスを守りながら、相手チームを攻撃します。Granderは「より動的で、現実をよく反映しています」と話します。

フラッグは通常、文字列かハッシュです。チームはエクスプロイトを作成して相手のシステムを攻撃し、フラッグを奪取したうえで、ウェブサイトに提出してポイントを獲得します。Granderは「屋外で遊ぶゲームに似ています。各チームがシステム上にフラッグを置き、相手のシステムに侵入してフラッグを奪い合うのです」と説明します。

開発者とセキュリティエンジニアは、うまく連携する必要があります。勝つには、自分のフラッグを守り、相手のフラッグを奪うだけでなく、十分なパフォーマンスを維持しなければなりません。Granderによると、サービスが停止したときに、通信を遮断するためにファイアウォールのルールを変更すると、チームは実際にポイントを失います。同様に、サービスにパッチを適用しても、そのせいでパフォーマンスが低下すればポイントを失います。

攻防の楽しく競争的な要素と、サービスのパフォーマンスを維持するという現実的な必要性を組み合わせることで、CTFは開発者とセキュリティエンジニアが協力する方法を学ぶための、楽しく夢中になれる機会を提供します。

RPGで関係づくりをゲーム化する

ロールプレイングゲーム(RPG)では、プレイヤーは複雑な世界に生きるキャラクターを演じます。多くの場合、自由に探索したり、ほかのキャラクターと話したり、自分で選んだクエストに挑戦したりできます。世界を救うメインクエストが用意されていることもありますが、成功するには、情報や資源を得たり、仲間を見つけたりするために、ほかのキャラクターとの関係を築く必要があります。

同じように、セキュリティエンジニアのメインクエストが強固なセキュリティプログラムの構築だとしても、その過程ではRPGのような道のりが役立つかもしれません。UnitedHealth GroupでRugged DevOps担当ディレクターを務めるJoshua Gamradtは、The Secure Developerポッドキャストのエピソード97でそう語っています。

Gamradtはこう話します。「ビデオゲームのような考え方をすると、村人や町の人々に話しかけながら歩き回ることになります。すると、彼らは物語を聞かせてくれるのです。『こんな問題に直面したんだ』とか、『こういう困りごとがある。解決するのを手伝ってほしい』といった具合に」

ビデオゲームでもセキュリティでも、人々の話を聞くのは、サイドクエストを見つけるためだけではありません。自分がいる世界を理解する助けにもなります。Gamradtによると、社内でつながりをつくり、関係を築いたことで、「セキュリティの領域だけでなく、組織全体でセキュリティの意味への理解を深める」ことができました。会社全体でセキュリティを自分ごととして捉えることに成功しても、全員が同じようにセキュリティを考えるとは限りません。

Gamradtは、関係づくりが欠かせないと考えていました。それによって「現状にどんなギャップがあるのか、そして、埋めるために注力すべき課題はどこにあるのかを把握できる」からです。関係づくりのプロセスをゲーム化することで、組織全体でセキュリティを理解する取り組みを促進できました。

指標をクエストに変える

クエストは、長く続くゲームを取り組みやすい単位に分割できます。ゲームが遊びやすくなり、プレイヤーは先に進む意欲を持てます。

このことを踏まえ、GamradtはUnitedHealth Groupでセキュリティ推進者プログラムに取り組んだ際にも、ゲームをたとえとして活用しました。彼とチームは、安全なコーディングを促すことに重点を置いた、3つのメインクエストからなるプログラムを作りました。

Gamradtは、エンジニアがコードを調べ、OWASP Top 10を使って脆弱性を見つけるプラットフォームを活用しました。Gamradtによると、エンジニアは「コード内の脆弱性をどう特定し、どう修正するか」を考える必要がありました。

Gamradtによると、エンジニアたちはプログラムを信頼し、「このゲームに参加したい」という大きな期待を寄せてくれました。

このプログラムは、開発者とセキュリティエンジニアが安全なコーディングを実践し、よくある脆弱性への理解を深めるための、魅力的な方法を提供しました。会社にとってのメインクエストは、セキュリティ推進者の数を増やすことでした。

Gamradtは「目標は、特定の製品やアプリケーションにおけるセキュリティ推進者の数と、脆弱性の削減数との相関関係を明らかにすることです」と語ります。プログラムによってセキュリティ推進者が増え、理論上は、その増加によって脆弱性が減りました。

エピソード全編を聴くと、GamradtがプログラムをRPGのように設計した方法や、学習に報酬を与える仕組み、参加意欲を高める方法について詳しく知ることができます。

ゲーミフィケーションで知識を実践につなげる

国や年齢層、文化が異なり、互いを知らない人々が、どうすれば共通の目標に向かって協力できるのでしょうか。そうした状況での協働は難しそうですが、さまざまなオンラインゲームでは、それが日常的に実現しています。Call of Dutyの敵を倒すようなシンプルな目標もあれば、Overwatchのようなゲームで個性の大きく異なるキャラクターの強みを活かし、相手チームを倒すという複雑な目標もあります。勝つために協力が欠かせず、背景やスキルの異なる人々が力を合わせられるのです。

セキュリティをゲームに変えることでも、同じようなメリットを得られます。ゲーミフィケーションは、協力して取り組むための枠組みとインセンティブを提供します。

開発チームとセキュリティチームが協力すべきであることも、セキュリティが重要であることも、誰もが知っています。しかし、優れたゲームなら、信念を行動に、知識を実践に変えられます。勝利を目指すよう人々を促すことで、企業はより大きな成果、つまり持続的なセキュリティの実践を築くことができます。

開発者のセキュリティを推進するための知見やベストプラクティスをもっと知りたい方は、The Secure Developerをぜひ購読してください。