NIKKEI TECHNOLOGY AND CAREER

Open xINT CTF 2022 Writeup

Header

こんにちは。編集のデータ報道グループで記者をしている並木です。 2021 年 4 月に日本経済新聞社に入社した新卒 2 年目です。普段は SNS データや地理空間データなどビッグデータの分析や OSINT(オープン・ソース・インテリジェンス)を活用した記事を執筆しています。 OSINT は公開されている様々な情報源からデータを収集、分析することで独自の情報を発見する手法のことです。諜報活動の一つの手段とされてきましたが、現在はデータジャーナリズムやサイバーセキュリティにおいても有用性が高い手段として注目されています。
10 月 29 日(土)にOpen xINT CTF 2022というセキュリティ分野で有名な CTF(Capture The Flag)が由来の OSINT コンテストが開催されました。この CTF に私個人で参加し、最終的に17 位 / 125 チームという成績を収めましたので、 Writeup を書いてみたいと思います。ソロチームの中では 2 位 でした。

0. Open xINT CTFとは?

一般の CTF について知りたい方はSECCON Beginners CTF 2022 Writeupをご参照ください。 Open xINT CTF は、出題された複数の問題を公開情報の収集や分析を通じて解いていくコンテストです。 flag{hash value} を答える通常の CTF とは異なり、 xINT CTF で求められる回答は人物名や位置情報、ネットワークの識別子など多岐にわたります。通常の CTF と比べセキュリティの専門知識が必要な問題は少なく、非専門家でも取り組みやすいコンテストです。
今回私が正答した 8 問のうち 5 問の解法を抜粋してこちらの記事で取り上げます。

目次

1. NET

NET 問はネットワークの知識や公開情報を活用して問題を解きます。

1-1. whois

ある特定の IP アドレスの AS 番号を回答する問題でした。 AS 番号とは、インターネットを構成する独立したネットワークのまとまりごとに付けられている固有の番号です。通常は $ whois {ip adress} コマンドを叩くことで AS 番号が帰ってくるのですが、この AS 番号では不正解でした。Autonomous System Lookupという検索ツールで当該 IP アドレスを入力することで正解を見つけることができました。

1-2. SSID

「SSID:YKAME の BSSID を答えよ」という問題でした。 BSSID は無線 LAN(Wi-Fi) におけるアクセスポイントやネットワークの識別子の一つです。 OSINT 界隈では有名なWiGLEという世界中のワイヤレススポットの情報を収集するサイトを使いました。 SSID:YKAME を条件にデータベースをフィルターすることで対応する BSSID を見つけることができました。
「SSID DataBase」等のキーワードで検索することで、サイトの存在を知らない人もこの解法に辿り着けたと思います。

2. PLACE

PLACE は写真が撮影された場所や映っている物体の位置情報を推定する問題 (GEOINT) です。今回の出題では十進数の緯度経度(Nxx.xxx Exx.xxx)やplus codeによる回答が求められました。

2-1. 3month

こちらの写真の建造物の位置を十進数の緯度経度で回答することを求められる問題でした。 問題画像2-1 出典:Open xINT CTF 2022

写真をそのまま使って Google 画像検索を行うと、2022 年 9 月頃に公開された複数の記事が見つかりました。そのうちの一つの記事では、マリウポリ(ウクライナ)の Bakhmutskaya という地名とともに別の画角で同一の建造物が映った動画が公開されていました。 動画キャプチャ Google Map で Bakhmutskaya をキーワードとして検索を行うとマリウポリ付近のスーパーマーケットが見つかりました。この周辺の衛星画像を判読すると位置が特定できそうですが、建造物の建設時期が直近のため Google Map に建造物は反映されていませんでした。
そこで、欧州宇宙機関 (ESA) が公開している Sentinel-2 衛星の画像を判読してみると、2022年10月15日に撮影した衛星画像から写真と似た形状の建造物が見つかりました。
sentinel-2衛星の画像 出典:Sentinel Hub, https://www.sentinel-hub.com, Sinergise Ltd.

解法には直接関係ありませんが、画像検索で見つかった記事の発信元の多くはプロパガンダが疑われる親露系メディアでした。記事はマリウポリに高度な医療センターを短時間で建設したと主張する内容でした。本問のように本当に建造物が存在するのか等を衛星画像との対比によって検証することはファクトチェックとしても価値があります。
なお、出題名の 3month は建設が 3 ヶ月でなされたと主張する記事内容に由来すると考えられますが、この点は未検証です。

2-2. tank

こちらのツイートに写っている戦車の位置を推定する問題でした。回答は十進数有効数字 4 桁の緯度経度の形式 (Nxx.xxxx Exx.xxxx) で行う必要があり、ピンポイントの位置推定が求められました。 問題画像2-2 出典:Twitter

ツイートに添付された写真をそのまま使って Google 画像検索を行うと、 2008 年の南オセチア紛争に関連した記事やサイトが見つかりました。別の写真では撮影地点では道路が 90 度で交差していることも分かりました。この戦車は南オセチア紛争の象徴として頻繁に取り上げられていたようです。また、記事のキャプションから写真は Tskhinvali という都市で撮影されたことが分かりました。
一方で写真の背景に映る赤色の屋根の建造物が位置推定の鍵になりそうです。しかし、 Google Map で Tskhinvali 付近の衛星画像を見ると、赤色の屋根の建造物が無数にあり特定は困難そうです。
10 年以上前に撮影された写真ということで、次に過去の衛星画像との対比を試みます。Google Earth のタイムラプス機能を使って紛争前後の衛星画像を探しました。 2007 年に撮影された衛星画像では赤い屋根の建造物が数軒しかなく特定が容易そうです。写真から読み取れる他の情報(赤い屋根の建造物の前に街路樹がある・2つの建造物の位置関係・道路の交差)を加味することで、一意に位置が特定できました。下図の黄矢印付近です。 Google Earthの画像 出典:Google Earth

2-3. nice view

こちらの写真が撮られた位置を推定する問題でした。 問題画像2-3 出典:Open xINT CTF 2022

写真の中央奥に写っている小島に注目します。島内の大きな建造物と鉄塔がヒントになりそうです。小島付近をクリップして Google 画像検索を行うと、似た建造物がある島として静岡県熱海市の初島がヒットしました。尾根付近からとみられる撮影は伊豆半島の伊豆スカイラインで行われたと推測できます。鉄塔と建造物の位置関係から方角を推定すると、ちょうどスカイライン上の駐車場が見つかりました。この地点の plus code が解です。
実は少し前にドライブに行った場所だったので、エスパーした場所を検証するという手法で取り組めたのが楽でした。ドメイン知識の重要さを感じます。

おわりに

本記事では、Open xINT CTF 2022 の Writeup をお届けしました。

PLACE 問の解法で使われた OSINT や GEOINT はデータジャーナリズムの一つの手法として、実際の業務でも活用しています。私が携わった記事では、衛星画像の OSINT による「衛星の熱検知で捉えた戦火 熱異常60倍、住宅地も標的」や公開情報の地理空間情報データを分析した「JR赤字区間、26%に災害リスク」などがあります。他にも 「ロシア、口実捏造の軌跡」や「アゾフスターリ製鉄所 激戦地で何が起きたか」など、SNS データの OSINT を駆使した記事も公開されています。

日本経済新聞社はデータジャーナリズムを強化しており、インターンシップではデータジャーナリズムを体験できるプログラムを定期的に開催しています。

並木亮
JOURNALIST並木亮

Entry

各種エントリーはこちらから

キャリア採用
Entry
新卒採用
Entry
カジュアル面談
Entry