PR 本記事には広告(Amazonアソシエイト・もしもアフィリエイト・A8.net等)が含まれます。掲載情報の正確性には努めていますが、商品の詳細は必ずリンク先で最新情報をご確認ください。
CTF・セキュリティ学習

【画像OSINT編】写真から場所と時刻を当てるGeolocationの作法|CTF思考フレームワーク #69

かも次郎とアンペンが「画像OSINT」を解説するマスコットイラスト
安全に生きたい編集部

こんにちは、アンペンです!

今回は画像OSINT(Geolocation)編。EXIF(写真に埋め込まれたGPS等のメタデータ)が削除されていても、写真に写った景色そのものから撮影場所と時刻を当てる作法を扱います。Bellingcatが紛争地調査で何度も実証してきた手法で、CTFのOSINT問題でも頻出です。

『たった1枚の写真から場所が特定できるはずがない』と思いがちですが、看板・植生・電柱・標識・影──手掛かりは思った以上に多く、5系統を並行して洗えば数km単位で絞り込めることが多い。逆に言えば、SNSに投稿する写真は『EXIFを消したから安心』では済まないことが分かります。

『位置情報(EXIF)さえ消せば、写真から場所はバレない』——多くの人がそう思っています。でも、本当に怖いのは“写真そのもの”なんです。背景に写った看板、街路樹の種類、電柱の形、影の向き。これらは消しようがありません。プロの調査者は、この“消せない手掛かり”を組み合わせて、1枚の写真を地図に変えてしまう。なお今回も、練習は必ず“自分の写真”で。他人の写真で場所を特定して晒すのは、れっきとした犯罪です。

EXIFがなくても写真から場所がわかるの?

分かる。看板の言語・植生・電柱の形状・影の角度・周辺建物──手掛かりは山ほどある。それらをGoogle Earthで照合し、複数の手掛かりが交差する1点を探す。プロは数km→数百m→特定の建物前まで絞り込む。

まず結論

Geolocationは『写真の中の手掛かりを抽出 → Google Earth/Mapsで照合 → 複数手掛かりが交差する1点に絞り込む』というサイクル。手掛かり系統は(1)言語・文字、(2)植生・気候、(3)建物・看板、(4)交通標識・電柱、(5)太陽の位置(SunCalc)の5系統。1系統では国レベルでしか絞れなくても、5系統が交差すれば数百m単位まで絞り込めます。守る側は『SNS投稿前にEXIF削除+背景レビュー+位置情報撮影をスマホでOFF』を習慣化します。

この記事で分かること

  • Geolocationの5系統の手掛かり
  • Google Earth Street View / Historical Imageryの効果的活用
  • SunCalcで影から時刻を推定する手順
  • EXIFがあった場合の解析手順(exiftool)
  • 写真投稿時の自衛策と家族ルール
難易度:中級 所要時間:12分 体験:自分の写真でGeolocation おすすめ:#68の後

📖 はじめてのWebセキュリティ #69|画像OSINT編
写真から場所と時刻を当てるGeolocationの作法。 シリーズ一覧を見る →

⚠️ 大事なお約束
他者の写真から場所を特定して晒す/嫌がらせに使うのは、プライバシー侵害・ストーカー規制法違反等に直結する別の犯罪です。CTFや自分自身の写真でのみ演習してください。

Geolocation 5系統の手掛かり

  • ①言語・文字:看板や標識の文字で国を即特定(漢字・ハングル・キリル・アラビア・タイ等)。書体や使用文字の細かい違いで地域も絞れる(中国本土vs香港vs台湾の漢字体系)
  • ②植生・気候:樹種(マツ/ヤシ/カエデ等)・季節感(雪・落葉)→気候帯。針葉樹林帯+落葉=温帯北部、ヤシ=熱帯亜熱帯、等
  • ③建物・看板:チェーン店看板(ローカルチェーンほど絞り込みに有効)・建築様式(レンガ造/木造/RC)・電線埋設の有無(都市/田舎)
  • ④交通標識・電柱:標識の形状・色は国別に規格化(米=黄菱形、欧=赤三角、日=青円)。電柱の形状や架線の本数も地域固有
  • ⑤太陽の位置:影の長さと方向→緯度+時刻(SunCalc.orgで逆計算)。建物の高さが分かれば季節も絞れる

大事なのは『1つの手掛かりに頼らない』ことです。看板の言語だけなら『この国のどこか』止まり、植生だけなら『温帯のどこか』止まり。でも——言語で国、標識で地方、植生で気候帯、影で緯度と時刻、と別々の手掛かりを重ねていくと、それぞれの“候補エリア”が重なり合い、交差点がどんどん狭まっていきます。1本の線では面でしか分からないものが、何本も引けば1点に収束する。これがGeolocationの肝です。

言語・植生・建物・標識・太陽位置のGeolocation5系統手掛かり図解
図1:Geolocation5系統の手掛かり
🕵 たとえるなら、宝探しの古地図

古地図に『山が見える、川の東岸、3本の松、北極星の方向…』とヒントが並んでいるとします。1つだけでは『どこか分からん』けど、複数を重ねると『この地点しかない』と絞れる。Geolocationもまったく同じ作法で、1つの手掛かりでは国レベルでしか絞れなくても、5系統の手掛かりが交差する点は数百m〜数十m単位で1点に収束していきます。

ここで覚える用語:SunCalc
太陽の位置(方位角・高度)を緯度経度+日時から計算するWebツール(suncalc.org)。逆に、写真の影の方向と長さを測定し、SunCalcの結果と照合すると、撮影緯度と時刻が分単位で絞れることがあります。Bellingcatのシリア紛争・ウクライナ侵攻調査で実際に使用されてきた技法で、戦地動画の偽情報判定(投稿時刻と実際の撮影時刻のズレ検出)にも使われます。

手掛かりを写真から抜き出したら、次は“答え合わせ”の道具の出番です。頭の中で組み立てた推理を、実際の地図と突き合わせて確かめていく。その主役がGoogle EarthとMaps——いわば『自宅から一歩も動かずにできる現地調査』です。空からの俯瞰、過去の航空写真、そして街角の360度ビュー。これらを行き来しながら候補地を1つずつ潰していくと、推理の精度がぐっと上がっていきます。

Google Earth/Maps 効果的活用

  • Street View:道路標識・建物外観の照合に最強。候補地周辺を歩き回って写真と一致する角度を探す
  • Historical Imagery:過去の航空写真(衛星画像)で建設前後を比較。写真に写る建物が『2019年にはなかった』なら撮影年が絞れる
  • 3D表示:建物の高さ・形状の照合。山並みのシルエットから方角と緯度を推定
  • Measure tool:影の長さ・建物の高さを実測。SunCalcと連携
  • OpenStreetMap:細かい施設名・歩道名・店舗情報で補完。Google Mapsに載っていない情報も多い
  • Wikimapia:地元住民が写真や情報をマッピング、観光地以外の細かい情報源

中でもStreet Viewは、Geolocationの“決定打”になりがちです。候補地に降り立った気分で周囲をぐるりと見回し、写真と同じ角度・同じ建物の並びを探す。一致した瞬間の『ここだ!』という手応えは、ちょっとした快感すらあります。ただし、この“バーチャル現地調査”の強力さは、裏返せば『あなたの投稿写真も、誰かに同じ手順で照合され得る』ということ。便利さと怖さは、いつも背中合わせなんです。

Street View・Historical・3D・MeasureとOSMでGeolocation照合する図解
図3:Google Earthの4機能とOpenStreetMap
複数のヒントが1点に交差する宝の地図のGeolocationのたとえイラスト
図2:複数のヒントが交差する1点に宝はある

CTFでやってみよう:自分の旅行写真でGeo

やってみよう / 自分の環境・CTFのみ

EXIFを消した自分の写真から場所を当てる

目的は『自分の旅行写真でGeolocationを実演し、SNS投稿時の自衛意識を高める』こと。答え合わせ可能な題材で練習するのが早いです。

  1. 自分が撮った旅行写真(EXIFあり)を1枚選び、exiftool -all= image.jpgでEXIF削除した複製を作る
  2. EXIFなしの写真だけを見て、看板・建物・植生を観察→気付いた手掛かりをメモ
  3. Google Lens/Yandexで類似画像を逆検索→似た構図の場所が出てくることがある
  4. 看板の文字が読めればGoogle翻訳→国/地域絞り込み
  5. Google Maps Street Viewで候補地を歩き回る(候補が多い時はランドマークを起点に)
  6. 太陽の影 → SunCalcで時刻推定→撮影日時の仮説に追加
  7. 5系統の手掛かりをマップ上に重ねて1点に絞り込み
  8. 元のEXIFと答え合わせ、ズレ理由(候補が複数あった/手掛かりが弱かった等)を分析
他者の写真でこれを行い特定・晒す行為は別の犯罪。検証は自分の写真・CTF問題のみで。

ここまでの“当てる技術”は、そっくりそのまま“当てられない工夫”に反転します。攻撃者がどの手掛かりを見るのかを知っていれば、投稿する前に、その手掛かりを先回りして消しておけばいい。次の自衛策は、5系統の手掛かりを1つずつ潰していく、いわば“逆Geolocation”のチェックリストです。難しく考えず、上から順に確認していきましょう。

守る側:『投稿前のEXIF削除+背景レビュー+家族ルール』

写真投稿時の自衛ベストプラクティス
  • スマホ設定で位置情報の写真への付与をOFF(iOS:設定→プライバシー→位置情報→カメラ→なし)
  • 投稿前にEXIFを削除(iOS『写真』アプリ:共有→オプション→位置情報なし。Androidも類似の操作)
  • 背景に看板・住所表示・車のナンバー・郵便受け名・特徴的な建物がないか確認
  • 子供の写真は制服や学校名が写らない構図
  • 自宅周辺の特徴的な風景(目印になる建物)は避ける、または『自宅から離れた場所』の写真として投稿
  • 家族の顔・知人の顔は事前許可+加工/ぼかし
  • 投稿のタイミングをリアルタイムから少し遅らせる(『今ここにいる』を晒さない)
  • 家族間で『SNSに載せる/載せない』ルールを共有(特に子供の生活圏特定リスク)
  • 会社の機密エリア・コードレビュー画面・社内資料が背景に映らないか業務時の写真で点検

意外と見落とされがちなのが、『リアルタイム投稿を避ける』という一点です。場所が特定できる写真でも、“今まさにそこにいる”のでなければ、危険度はぐっと下がります。旅行の写真は帰宅後に、ランチの写真はお店を出てから。たったこれだけのズラしで、『今ここにいる』という最も危ない情報を、相手に渡さずに済みます。投稿の“内容”だけでなく“タイミング”も守りの一部、という視点を持っておきましょう。

影の角度で時刻まで分かるとは…SNSへの投稿、見直さないと。

次回はドメインOSINT。WHOIS・パッシブDNS・証明書から組織を読み解くよ。

まとめ:『5系統+Google Earth+SunCalc』

今回のポイント
  • Geolocation5系統:言語/植生/建物/標識/太陽位置
  • Google Earth(Street View+Historical+3D+Measure)+OpenStreetMap+SunCalc
  • 複数手掛かりが交差する1点に収束する
  • 守りはEXIF削除+背景レビュー+位置情報撮影OFF+家族ルール

今日の持ち帰りは『写真は、本人が思う10倍おしゃべり』。EXIFを消しても、背景と影が静かに居場所を語ります。だからこそ——攻める技術として学んだら、その学びは真っ先に“自分と家族の投稿を見直す”ことに使ってください。他人の写真で場所を割り出して晒す、はこの章のルールの外。技術は、まず守りのために。

次回はドメインOSINT編。WHOIS・パッシブDNS・証明書ログから組織のIT資産を読み解きます。

次に読みたい記事

参考資料

記事URLをコピーしました