Skip to content

diver-osint-ctf/writeups

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

DIVER OSINT CTF 公式 Writeups

Writeups

DIVER OSINT CTFの目標

DIVER OSINT CTFを実施するに当たって、運営チームは大きく3つの目標を設定しています。

「OSINT」の本来の意味を考え、可能な限り問題に反映すること

Open Source Intelligence の元来意味するところは「合法的に入手できる公開情報を調査・集積したうえで分析し、意思決定に繋げること」と言えるでしょう。

OSINTは諜報から始まり、その手法が今では調査報道・ファクトチェックやサイバーセキュリティにまで活用されています。

他方で、昨今の世界情勢やソーシャルメディアの発達と共に、OSINTというワードが有名になる一方、定義から乖離して「画像から場所を特定するGeoguessrみたいなやつ」「SNSをネットストーキングするやつ」「なんか戦地の情報をリアルタイムで伝えてくれるやつ」といったキャッチーな存在として一人歩きしている感は否めません。

そこで、本CTFではOSINTの限られた側面に着目するのではなく、 公開情報に基づいた調査・分析 という本義に従って、様々な分野や手法をカバーしようと考えています。

今回、OSINT CTFに頻出のSNSやジオロケーションに限らず、軍事や公的データの参照、歴史調査などをカバーしたのはこのためです。

これらを通じて、未知の対象に触れる際に既存の知識だけではなく、分野や手法そのものに関する公開情報を調査して対応するプロセスも包含することを目指します。また次を開催する機会があれば、今回カバーできなかった分野のOSINTも取り入れていきたいと考えています。

現実世界指向にすること

OSINT CTFは「没入感のあるゲーム」の一種として成立させることも可能ですが、本CTFではプレイヤーがゲームとして理解するのではなく「現実の情報を調査しているのだ」という実感を持てるように、そして実際にそうであるように心がけています。

これはOSINTのスキルは決してゲームの能力ではなく、現実世界に適用可能であり、それは時にパワフルで危険なものになりうることを(作問者を含めて)皆が意識するためです。

また、現実にBellingcatなどに代表されるアナリストやグループがOSINTを行っている場面と、「CTFのOSINT」が乖離しているという現状があり、難しいかもしれませんが、少しでもこの隙間を埋めたいと考えています。

もちろん、個人のプライバシーの問題などもあり、すべての問題を現実世界のデータとすることはできません。そのようなケースでも、ある程度実在しそうな状態を想定して作問しています。

参加者に何か成果やノウハウを持ち帰ってもらうこと

運営チームの各メンバーもOSINT CTFプレイヤーです。プレイヤーとして、解きながら(あるいは解けなくてもwriteupを見ることで)新たな知識やアイデアを手に入れ、それを次に活かしてきた経験があります。

DIVER OSINT CTFでは、参加してくださるプレイヤーの皆さんにこの経験をしていただきたいと考え、問題を解く経験から、他のOSINT CTFや実社会で活かせるノウハウを得られるようにしたいと考えています。

特に、開催前にDiscordでお尋ねした限りでは、OSINT CTFへの参加が初めてという方も多くいらっしゃいました。そのため、他のOSINT CTFでも見られる問題スタイル・要素も一部に取り入れ、そういった方々が別のイベントでも活躍できるようになることを一つの目的として掲げています。

作問に関する方針

作問における目標は以下の通りです。

レベルを幅広く設定する

OSINT CTF初心者でも解答できる問題から、上級者にしか解答できないであろう問題まで幅広く揃えるように心がけています。

初心者向けとしては introduction カテゴリを設け、OSINT CTFでよく見られる手法(Google Lens、データベースサイトの調査、ファイルに残された痕跡の確認、ジオロケーションなど)によるものを盛り込み、他のOSINT CTFに取り組む際に応用できるスキルを身につけてもらおうと考えています。

また、国内外からトップレベルの実力を誇るOSINT CTFプレイヤーの参加が想定されることから、上級者向け問題もなるべく多く用意するようにしました。こちらは解答に際して緻密な調査が必要なものを出題の軸としています。

可能な限り国際的にする

広く世界から参加者が集まることを前提とし、可能な限り特定の言語に依拠しない問題を作成することを目標としました。しかし、これはすべて英語で作問するという意味ではありません。

OSINTでは外国語の情報を精査するケースも多く、語学力や翻訳ツール、辞書などを用いて言語バリアを突破することもスキルの一部です。

そのため、「全参加者に平等に言語バリアを設ける」という考えを採っています。たとえば、ある問題で日本語母語話者が有利になってしまう場合、他言語の母語話者が有利になる問題も作ることで全体でのバランスを取ります。

ただし、これが十分に達成されなかった側面は否定しません。なぜなら、問題やFlagの妥当性を担保するため、現地での調査が必要になる問題も多いからです。そのため、問題の舞台が日本に偏ってしまった傾向は否めませんが、すべての問題が機械翻訳ツール経由で解答可能であるように工夫しています。

次回以降はさらに「平等な言語バリア」の取り組みを加速できればと考えています。

現実で有用なツールや手法へ誘導する

「現実世界指向」は解法にも適用される、つまり、問題の解答に使用するツールはなるべく現実の課題に対しても使用されるものであるべきと考えています。本CTFの理念においては、CTF特有のツールや手法が使用されることをなるべく避けるべきです。

残念ながら、問題やFlagとして成立させるために、手法自体が現実離れしたものになるケースは時折発生してしまいます。それでも、Flagに至るまでに現実の調査で必要な手順やツールを挟むように配慮しています。

不快になりうる問題も含む

特に調査報道やファクトチェックに際して、心地よい情報ばかりを目にするわけではありません。時には、ショッキングな画像・映像、大量のフェイク情報、過激な陰謀論などと向き合う必要が生じることがあります。

本CTFでは現実世界での情報を調査するという前提に立ち、問題の候補としてこれらが登場した場合には「参加者が不快になるかもしれない」という理由で排除することは行っていません。

もちろん、このようなコンテンツに触れたくない参加者がいることも理解しています。そのため、ルールにも明記した上で、ショッキングなコンテンツに関してはcontent warningを追加するようにしました。これは海外OSINT CTFの取り組みを参考にしています。

結果が「冪等」であるようにする

昨今はChatGPTやGeminiに代表されるLLMなど、利用者ごと、あるいは試行ごとに結果が変わるツールも増えています。
これらをプレイヤーが活用することは問題ありませんが、競技としての公平性を担保するため、このようなツールによる結果を唯一の解答ルートとすることは避けています。

また、競技中に複数のプレイヤーが試行の過程で入力・操作することによって、値や表示が変わってしまう(タイミングによって不公平になってしまう)ツールや環境の使用も可能な限り避けるようにしています。

整合性がある別解は正解とする

OSINT CTFの宿命として、作問者が想定していないが問題文の条件を満たすFlag、いわゆる別解が存在する可能性が常にあります。

作問やレビューの段階で入念に調査しているつもりですが、それでも別解が存在する可能性を排除できない場合には「この問題に関して、この条件を満たすものが提示された場合はFlagを修正して別解を受け入れる」という条件を各問題に付与しています。

もちろん、別解ではないかと問い合わせがあったものの、妥当ではない場合についてはFlagを追加しません。

作問に関する倫理的規範

以下は倫理的規範として遵守するようにしました。

  • 解答者に違法行為を行わせない。また、違法行為を行う必要があるように誤認させる問題を作らない。
  • 実在の人物や企業に脅威を与えるものにならない。
    • 深掘りする場合、国家や公共性の高い組織や団体を対象とする。
    • 人物を対象とする場合、広く報道済みの事象を用いるか、架空の人物を仕立てる。
      • これは「現実世界指向」には反するかもしれませんが、安全を最優先しました。
  • ショッキングな情報に触れる問題にはcontent warningを明示する。
    • Flagまでの過程で災害、事故、事件、怪我、遺体などを必ず目にするであろう問題に際して実施しています。