DEF CON Cloud Village CTF の設計から学んだ 7 つの教訓

DEF CON Cloud Village CTF の設計から学んだ 7 つの教訓

DEF CON Cloud Village CTF PlatoBlockchain データ インテリジェンスの設計から学んだ 7 つの教訓。垂直検索。あい。

キャプチャー・ザ・フラッグ (CTF) イベントは楽しくて教育的であり、サイバーセキュリティの専門家が建設的で安全な環境で新しい概念を学びながら、ハッキング スキルを柔軟に活用する方法を提供します。適切に設計された CTF は、個人やチームを運用上の課題、斬新な攻撃パス、独創的なシナリオにさらし、後で攻撃側と防御側の両方のセキュリティ専門家としての仕事に適用できるようにします。

しかし、すべての CTF が同じように作成されているわけではありません。CTF コンテストを成功させるには、課題を考えるだけではなく、もっと多くのことが必要になります。技術的な設計の課題に加えて、環境のセットアップと実際の競技会の運営、魅力的なゲームをセットアップするために必要な創造的な計画、およびスコアリング方法のトレードオフなどの課題のゲーミフィケーションに関連する詳細の考慮に関連する運用上の考慮事項もあります。構造が確立されています。

「デザイナーとして、私はそれ(CTF)が挑戦的な楽しみであることを望んでいます。私は、賢くて、真剣に取り組み、粘り強い人々に報酬を与えたいと思っています」と Netskope の脅威研究所チームの主任研究員であり、昨年の DEF CON Cloud Village CTF のチームリーダーであるジェンコ・フォンは言います。 「また、それを実行するには現実的でなければなりません。」

ファン氏がDEF CON CTFに持ち込んだ考え方は楽しくて実践的だった。数日間にわたる大規模なイベントで、400人以上の個人やチームが挑戦し、彼の下で20人のチームがイベント運営に携わった。ベテランの研究者であり、CTF の参加経験も豊富な Hwong 氏は、このイベントまで CTF を実行したことはありませんでした。この仕事への最初の挑戦における彼の最大の希望の XNUMX つは、イベントでの課題の関連性と現実性をレベルアップすることでしたが、それは今日の CTF では時々バグになることがあります。

「これらのCTFでは時々非常に難しい課題に直面することがありますが、これに何の意味があるのでしょうか?それは復号化または暗号化の問題であり、イベントでは「これで何かあります、頑張ってください」ということになり、その後、現実から完全に切り離されてはいないかもしれないが、より大きな枠には当てはまらない、これらすべての輪を飛び越えなければなりません。ストーリーです」と彼は言う。 「それで、電話を受けたときの私の考えは、『さあ、参加してみよう、楽しいだけでなく理にかなっていて、おそらく研究侵入テストの現実の世界に関連する、良いストーリーと良い一連の課題を考え出そう、というものでした。防御策、現実の世界で何が起こっているのか。」

しかし、プロジェクトに取り組む中で、彼が特に困難に感じたことの 1 つは、CTF の実行に関する情報があまりにも少ないことです。ほとんどの書き込みは、イベントを評価し、課題をどのように解決したかを説明する参加者によるものですが、イベントを運営する際のベスト プラクティスに関する情報が提供されることはほとんどありません。その結果、彼と彼のチームは、ほぼゼロから課題を作成するという大量の作業を行う必要があったと述べました。

「コミュニティは一般に多くのことを共有しているのに、なぜ CTF の課題を共有しないのでしょうか?」彼は言い​​ます。 「我々はもっと良くできると思う。」

セキュリティ コミュニティの共有の精神に基づいて、CTF 設計の他の担当者がプロセスから学び、理解できるように、彼のチームがその過程で得た重要な教訓をいくつか共有します。彼の目標は、イベントを再び開催し、昨年学んだことをさらに発展させることです。また、セキュリティ コミュニティ全体が提供される CTF の品質を向上できるように、他の人がベスト プラクティスや技術的な詳細を共有することも期待しています。

ストーリーテリングが鍵

ファン氏は、DEF CON Cloud Village チームが魅力的で楽しいストーリーを作成することに非常に熱心だったと語ります。彼は、この物語を現実的なサイバーシナリオが組み込まれた映画の脚本として考えたと言います。イベントでは、楽しくて面白い「ノーム」というテーマを選びました。しかし、重要なのはストーリーラインの書き方だけではなく、ストーリー内で技術的な課題がどのように計画されているかも重要でした。

「ゴブリンとノームのストーリーラインはすべてを網羅していますが、重要なのは、攻撃経路や適切な防御策など、セキュリティの専門家として遭遇する可能性のある合理的なシナリオを考え出すことでした」と彼は言います。 「CTF デザイナーとしてそれができるようになればなるほど、学習効果が高まり、CTF がより楽しくなります。」

ソフトウェア開発アプローチを採用する

CTF の作成者は、課題の技術要素を設計するためにソフトウェア開発アプローチを必ずとるべきだと、Hwong 氏は推奨します。

「設計、実装、テストについて考えなければなりません」と彼は言い、参加者がさまざまな方法で操作できる複雑な CTF 環境で課題をテストすることがいかに難しいかを、彼と彼のチームが苦労して学んだことを説明しました。 。

「何が起こったのか、そしてテストを指導しなかった主任作成者としての責任は私が負うつもりですが、陰性テストのパスと生存可能性チェックを逃したということです」と彼は言う。 「テストするのに十分な時間がなかったこともあります。そのため、一部のチャレンジが簡単すぎず、抜け穴がないよう、チャレンジの進行中もいくつかの環境をロックダウンし続けました。ある時点で 1 ~ 2 時間、特定のステップで解決不可能なものを作ってしまったと思います。」

つまり、彼が学んだ大きな教訓の 1 つは、CTF 設計者はテストと実行可能性の作業に至るまでソフトウェア開発を厳密に行う必要があるということです。

厳格な運用…そして少量のカフェイン

ソフトウェア開発における細心の注意だけが必要な技術的能力ではありません。 CTF を運営する乗組員にも、同様に厳しい運用上の厳格さが必要です。

「サーバー、AWS アカウント、Google アカウント、Azure アカウントを実行している素晴らしいスタッフが何人かいて、物事が確実に実行され続け、私たちが監視していることを確認しました」と彼は言います。 「そういったものはすべて処理しなければなりません。それを無視すると、物事が失敗したり壊れたり、パフォーマンス上の問題が発生したりする可能性があります。」

彼らが遭遇した運用上の問題の 1 つは、チームが AWS、Google、Azure のすべての参加者に対してスタンドアロン環境を作成できないという制約の下で運営されていたため、参加者と課題の間で衝突が発生したことでした。

「同じ環境にいたため、他の課題でも助けになりました。環境の変更が必要な課題がある場合、人々はお互いのつま先を踏みつけ、共有対象を変更することになります」と彼は述べ、彼と彼のことを説明したチームは、参加者が互いに遭遇しないように、CTF が前進するときにポリシーをリセットする必要がありました。

彼と彼のチームは、この経験から学び、時間、労力、費用の観点から、物事が中断したり実行に永遠に時間がかかったりしてCTF全体の実行可能性を低下させることなく、参加者に真に隔離された環境を提供するための実用的な方法を見つけようとしている。

最後に、CTF ショーランナーは運営面で、チームと参加者の間で促進する必要がある継続的なコミュニケーションにも留意する必要がある、とファン氏は言います。

「真夜中過ぎに Discord を使っていたんですが、『朝に話したいことがあるのですが、寝ていただけますか?』って感じです」とファン氏は冗談を言い、参加者からは質問があるだろうと説明した。主催者にいつでも連絡してヒントやアドバイスを求めてください。

さまざまな難易度をデザインするのは難しい

チャレンジの難易度を適切に設定し、公平な採点システムを構築することは、初心者の CTF 主催者が当初考えているよりも難しいかもしれない、とファン氏は警告しました。彼は、チームが簡単に設計したいくつかのレベルは参加者にとって予想よりもクリアするのが難しかったが、より難しいレベルの一部は予想よりも多くの参加者によって無事クリアされたと説明しました。

難易度を平準化するという課題と並行して、理にかなったスコアリング システムを見つけ出すことも重要です。 DEF CONでの経験の後、フォンはある種のベルカーブスコアリングシステムを導入することを支持しています。しかし、問題は曲線を設定するほど単純ではないと彼は言う。また、大規模な CTF チームがチャレンジ ポイントを獲得する際に持つ利点を正規化し、バランスを取るという問題もあります。これは、参加者の 1 人がイベント後にフィードバックした問題です。

「つまり、課題を分割して複数のプレイヤーで並行して行うことができれば、10 人いるなら 10 倍は早いです。そして、そこには利点があります」と彼は言います。 「彼のポイントは、ある種のダイナミックなスコアリングでそれを少しレベルアップさせたということだった。彼が本当に得意なことがある場合、それを解決できるのは彼だけであり、最大のポイントを獲得できるかもしれません。ベルカーブは彼に報酬を与えるが、それが 10 対 XNUMX という彼の専門知識の操舵室にあるものであるかどうかは、必ずしも重要ではない。ここには議論の余地があるので、解決しなければなりません。」

可能性の 1 つは、チャレンジを連続的にすることですが、その欠点は、CTF が厳格かつ直線的になりすぎて、ボトルネックや依存関係が生じて 1 つ以上のチャレンジが台無しになる可能性があることです。ファン氏はまた、より多くのCTFが、環境内でどれだけステルスに動作するか、足跡や指紋が多すぎる場合のドックポイントなどのテクニックについて参加者に報酬を与えられることを望んでいると述べ、それは彼が将来のイベントを設計する際に探求したい分野であると述べた。 。

しかし、いずれにせよ、ダイナミックなスコアリングは平準化の問題の一部を軽減できるものであり、彼と彼のチームは来年に向けてそれを追求している。

青チームにはもっと楽しい CTF チャレンジが必要です

初めての CTF を終えた後、フォン氏は、これらのイベントでは青チームの参加者に挑戦し、参加者を本当に引き付けるのに十分ではないと確信するようになりました。

「ブルーチームの演習は次のように進む傾向があります。『私たちの環境は、多くの脆弱性を備えた誤った構成になっています。修理に行ってくれませんか?』と彼は言いました。そして、彼らが行うことは、それらの設定が変更されたかどうか、またはこのパブリックバケットにアクセスできるかどうかをテストするだけです。非公開にするとすぐに修正したことがわかり、ポイントを獲得できます。それに加えて、自分が侵害された場合、環境内に攻撃者がいる場合、それらを見つけて追い出す必要がある場合はどうするかなどのことを行う方がはるかに良いでしょう。つまり、現在インシデントが発生していますが、攻撃者が存在する限り、彼らは認証情報を持っており、攻撃者が何かを行う限り、それを検出できる可能性があります。それが参加者としてのあなたの仕事です。そして、アクセス権を取り消すまでは問題は解決せず、最大のポイントも獲得できません。」

この種のシナリオは実行するのが難しいが、ディフェンダーにとってはより現実的であり、彼らにとってCTFの価値が高まるだろうと彼は言い、次回にそれが注目されていると説明した。

CTF には、より新鮮で関連性のあるコンポーネントが必要です。

また、Hwong 氏は、CTF 設計者、そして彼自身に対して、より新鮮なエクスプロイトと脆弱性の情報を課題に組み込むよう求めています。これは、最初の DEF CON Cloud Village でもっと時間をかけて取り組んでほしかったことの 1 つであり、来年に向けて改善することを決意しています。

「これは、CTF が学習およびトレーニング ツールとして活用できる分野の 1 つです」と彼は説明します。 「私たちは、今年初めに発表された、または DEF CON で発表された研究者から得られた新しい関連アイデアや活用を喜んで使用したいと考えています。」

「再利用性」を向上させるCTF「ビルディングブロック」

最後に、Hwong 氏が学んだ最大の教訓の 1 つは、ソフトウェア開発者がアプリケーションに対して行うのと同じように、業界は CTF 用の再利用可能なコンポーネントを作成するためのより多くの方法を見つける必要があるということです。彼には、CTF を構築するための構成要素を形成できるコードの小さな演習を集めたオープン GitHub リポジトリの編成を支援するという夢があります。

「まだカスタマイズして独自のひねりを加える必要がありますが、最初の 60% は邪魔にならないようにして、CTF 主催者が真に新しいことに集中できるようにするという考えです。そうすれば、誰も車輪の再発明をする必要がなくなります」と彼は言います。 「そして、残りの 40% で新しいテクニック、シナリオ、ストーリーラインを追加することができます。」

タイムスタンプ:

より多くの 暗い読書