Open Source Intelligence (OSINT) #
OSINT (Open Source Intelligence、オープンソース・インテリジェンス) は、公開されている情報 だけを集めて分析することで、人物・組織・インフラ・出来事に関する有用な知見を得る手法と文化の総称である。「公開」とは Web、SNS、官報・登記、ニュース、衛星画像、DNS レコード、コードリポジトリ、データブローカー、漏洩データセットなど 誰でも (合法的に) アクセスできる範囲のもの を指し、ハッキングや情報窃取とは切り離して位置付けられる。
OSINT は単一のツールでも単一の職種でもない。攻撃側のレコン (preparation phase)、防御側の脅威インテリジェンス、調査ジャーナリズム、デジタルフォレンジック、就職時のバックグラウンドチェック、災害時の被害状況把握、人捜し — こうした多様な領域で使われている。「情報の半分以上は表に出ている」 という前提で、いかに早く・正確に・倫理的に拾い上げ・組み立て直すかが OSINT の本質である。
1. OSINT の歴史 #
1.1 冷戦期 — Foreign Broadcast Information Service (1941) #
OSINT という用語の起源は第二次世界大戦期。1941 年、米国は Foreign Broadcast Monitoring Service (後の FBIS) を設立し、敵国・中立国のラジオ放送・新聞・出版物を翻訳・分析した。冷戦期にも 公開情報がインテリジェンスの 80% を占める とされ、ソ連の鉄道時刻表、農業生産統計、地方紙の死亡記事などから軍事動向や経済状況が推定された。
1.2 1980-90 年代 — インターネットの登場 #
1990 年代の Web の普及で、世界中の公開情報を自宅から検索可能になった。ただしこの時代の OSINT はまだ「Google で検索する」程度で、専門的な手法体系は確立していない。
1.3 2000 年代 — Google ハッキングと SNS の誕生 #
2002 年、Johnny Long が "Google Hacking Database" を公開。inurl: filetype: intitle: などの検索演算子を組み合わせて機密情報を発掘する技法 が体系化された。同時期、Friendster (2002), MySpace (2003), Facebook (2004), Twitter (2006), LinkedIn (2003) と SNS が次々登場し、「自分から進んで個人情報を公開する」時代が到来する。
1.4 2010 年代 — Bellingcat と市民インテリジェンス #
2014 年、Bellingcat をエリオット・ヒギンズが創設。MH17 撃墜事件、シリア化学兵器、ロシアによる暗殺未遂などの調査で、公開動画 / 衛星画像 / SNS 投稿 / フライトレーダー / 街路写真を組み合わせる 市民 OSINT の威力を世界に示した。同じ頃、Maltego (Paterva, 2007〜) や theHarvester (Christian Martorella, 2011〜) など専用ツールも揃い、OSINT は独立した分野として成立した。
1.5 2020 年代 — 戦時 OSINT と AI #
2022 年のロシアによるウクライナ侵攻以降、戦況は TikTok / Twitter / Telegram の市民投稿 からほぼリアルタイムに把握できるようになり、衛星画像 (Maxar / Planet) や IoT デバイスの位置情報まで結合解析する オープン戦況可視化 の時代になった。同時に AI による画像解析、地理推定、機械翻訳、顔照合が爆発的に普及し、OSINT のスケールと精度が一段上がった。
2. OSINT サイクル #
軍・情報機関で長年使われてきた インテリジェンス・サイクル は OSINT にもそのまま当てはまる。「ぐるぐる回す」のがポイントで、得られた情報から次の質問が生まれて再収集に戻る。
各ステップを軽く解説する。
- Planning (計画) — 何を知りたいかを言語化し、仮説を立てる。「会社 X のクラウドベンダー」「人物 Y の活動拠点」「事件 Z の発生時刻」など。スコープが広すぎると無限に時間が溶けるので、問いを 1〜3 個に絞るのが鉄則。
- Collection (収集) — 計画に沿って公開情報を集める。Web, SNS, DNS, 衛星画像, 漏洩データベース, 政府データ — 後述のソースを並行して走らせる。
- Processing (前処理) — 集めた情報を機械可読な形式に整える。動画から文字起こし、画像から OCR、外国語の翻訳、タイムスタンプの UTC 揃え、メタデータ抽出。
- Analysis (分析) — 集めた断片をつなぎ合わせ、矛盾や偏りを見抜き、仮説を支持/反証する証拠を抽出する。3 つ以上の独立ソースで裏取り (triangulation) が原則。
- Dissemination (共有) — 結論をレポート・タイムライン・可視化図にして関係者へ届ける。自分の判断と引用元を分離して書くことが、後から検証可能で信頼される OSINT 報告の条件。
得られた答えはたいてい新しい問いを生み、Planning に戻る。実務では 1 案件で何周もする。
3. データソースの分類 #
OSINT で扱うデータソースは概ね以下のカテゴリに整理できる。
| カテゴリ | 代表例 | 何が分かるか |
|---|---|---|
| Web ページ・ブログ | 公式サイト, ニュース, ブログ, 求人, IR 資料 | 組織情報・連絡先・技術スタック |
| SNS | Twitter/X, Facebook, Instagram, LinkedIn, TikTok, Telegram, Discord | 人脈・移動・嗜好・タイムライン |
| 画像・動画 | YouTube, TikTok, Flickr, 衛星画像 (Maxar, Planet, Sentinel) | 場所・時刻・人物の同一性 |
| 地図・地理 | Google Maps Street View, OpenStreetMap, Mapillary, KartaView | 街路特徴・建物配置 |
| 公的記録 | 商業登記, 不動産登記, 訴訟記録, 政府統計, FOIA 開示 | 役員・株主・所有者・係争 |
| DNS / IP / 証明書 | DNS records, BGP, WHOIS, crt.sh, Shodan, Censys | インフラ構成・脆弱性 |
| コード・インフラ漏洩 | GitHub, GitLab, Pastebin, S3 公開バケット | 認証情報・内部設計 |
| 漏洩・流出データ | Have I Been Pwned, Dehashed, leak forum | パスワード・メール・電話 |
| データブローカー | Spokeo, BeenVerified, 楽天インサイト等 | 住所・電話・家族構成 (特に米国) |
| デバイス情報 | EXIF, IPTC, ID3 タグ, ブラウザフィンガープリント | 撮影機器・ジオタグ・編集履歴 |
注意: 国・地域によって何が「公開」かは大きく異なる。日本では商業登記の取得は登記情報提供サービス、不動産登記は登記事項要約書で手数料を払えば誰でも取得可能、米国の不動産情報は基本的に郡レベルで完全公開、EU は GDPR で個人を特定可能な情報の二次利用が厳しく制限される、など。自分の管轄での合法性を確認するのが最優先。
4. 代表的な技法 #
4.1 検索演算子 (Google Dorking) #
Google や Bing の特殊検索演算子で、通常見つからない公開ファイルや構成情報を発掘する。
| 演算子 | 例 | 目的 |
|---|---|---|
site: |
site:example.com |
ドメインに限定 |
inurl: |
inurl:admin |
URL に文字列 |
intitle: |
intitle:"index of" |
タイトルに文字列 |
filetype: |
filetype:pdf "internal" |
拡張子で絞る |
intext: |
intext:"password" |
本文に文字列 |
cache: |
cache:example.com |
Google キャッシュ |
- |
-marketing |
除外 |
"" |
"social security number" |
完全一致 |
実用的な組合せ例:
# ある組織のオープンディレクトリ漏れ
site:example.com intitle:"index of" -html
# 公開設定ミスの .env
filetype:env "DB_PASSWORD"
# Pastebin 上の特定キーワード
site:pastebin.com "internal-only" example.com
# 旧版の脆弱な phpMyAdmin
inurl:phpmyadmin/index.php intitle:"phpMyAdmin 2."
Google Hacking Database (GHDB) (exploit-db.com/google-hacking-database) に何千ものクエリが整理されている。
4.2 画像の逆引き (Reverse Image Search) #
画像を入力に「同じ画像 / 似た画像」を検索する。
- Google Images (images.google.com) — 一般的な被写体・有名人・商品に強い
- TinEye (tineye.com) — オリジナル投稿日・出現サイトの特定に強い
- Yandex Images (yandex.com/images) — 顔認証・場所特定が異常に強い (OSINT コミュニティでは別格)
- Bing Visual Search — 製品認識
- PimEyes — 顔のみ。倫理的議論あり
実用例:
- SNS のプロフィール写真がストックフォトの流用 (= 偽アカウント) と即判別
- 地震・事件の現場写真の実際の撮影地を Yandex で 1 hop で発見
- 詐欺サイトの商品画像を TinEye で投げて「同じ画像が 50 サイトで使い回されている」を確認
4.3 ジオロケーション (Geolocation) #
「写真や動画から撮影地を特定する」技法。Bellingcat が広めた GeoGuessr 型 OSINT の中核。
特定の手がかり:
- 道路標識・街路表示 の言語と書式 (フォント・色・形)
- 建物の建築様式・屋根の色 (国ごとに特徴)
- 植生 (椰子か針葉樹か、季節の状態)
- 太陽の位置・影の長さ で時刻と緯度の推定 (SunCalc.org)
- 車両・ナンバープレート
- 電柱・配線・郵便ポスト
- 背景の山・海岸線を Google Earth と照合
ツール:
4.4 SNS インテリジェンス (SOCMINT) #
人物・事件の第一情報源としての SNS を体系的に掘る。
調査の典型項目:
- アカウント作成日・最初の投稿
- フォロー / フォロワーのネットワーク
- 投稿の時間帯ヒストグラム → 居住タイムゾーン推定
- 写真のジオタグ (削除済みでも EXIF が残る場合あり)
- 「いいね」/ コメント先 → 親しい関係
- 別 SNS との ユーザ名・電話・メール一致 で名寄せ
ツール:
- Sherlock — 数百サイトでユーザ名を一括検索
- Maigret — Sherlock 派生、より多サイト対応
- WhatsMyName — 同上、Web 版
- OSINT Industries — 商用、メール / 電話から SNS 全網羅
- snscrape — Twitter / Facebook 等のスクレイパ
4.5 ドメイン・IP・証明書 OSINT #
組織のインフラ構成を外部からマッピングする。攻撃者のレコン、ペネトレーションテスト、脅威インテリ、すべての出発点。
# WHOIS — ドメイン登録情報
whois example.com
# DNS — 各種レコード
dig example.com ANY +noall +answer
dig +short MX example.com
dig +short TXT example.com # SPF, DKIM, DMARC
# サブドメイン列挙
subfinder -d example.com -all -silent
amass enum -d example.com
# 証明書透明性ログ — 過去発行された全証明書
curl -s "https://crt.sh/?q=%25.example.com&output=json" | jq -r '.[].name_value' | sort -u
# Shodan — 公開ホストの port / banner / 脆弱性
shodan host 93.184.216.34
shodan search "Server: Apache" port:80 country:JP
# Censys — Shodan 競合、TLS 証明書索引が強い
censys search 'services.tls.certificates.leaf_data.subject.common_name: "example.com"'
# 過去の Web — 削除された情報を追う
curl -s "http://web.archive.org/cdx/search/cdx?url=example.com/*&output=json" | head -20
4.6 メタデータ・EXIF 解析 #
写真・PDF・Word・動画ファイルには大量のメタデータが残る。
# 画像 EXIF
exiftool photo.jpg
# → カメラ機種、撮影日時、GPS 座標 (Lat/Lon)、ホワイトバランス、レンズ、シリアル番号
# PDF / Office メタデータ
exiftool report.pdf
# → 作成者名、最終編集者、ソフトウェアバージョン、コメント、改訂履歴
# 動画
ffprobe -v error -show_format -show_streams video.mp4
# Web サイト全体のメタデータを一括収集
metagoofil -d example.com -t pdf,doc,xls -l 100 -n 50 -o results
EXIF は 削除し忘れが多い。報道・調査でも、内部資料の PDF 作者名から組織内の関係者が判明したケースが多数ある。
5. 主要ツール #
5.1 オールインワン・OSINT フレームワーク #
| ツール | 用途 | ライセンス |
|---|---|---|
| Maltego (maltego.com) | グラフ可視化型の OSINT IDE。Transform で各種データソースをノードとして統合 | 商用 (Community 版は機能制限) |
| SpiderFoot (spiderfoot.net) | 200+ モジュールの自動 OSINT 収集。HX 版はクラウド | Open / 商用 (HX) |
| Recon-ng (github.com/lanmaster53/recon-ng) | Metasploit ライクな対話型 CLI、モジュール式 | Open |
| Datasploit | Python 製、ドメイン・メール・人物の網羅的調査 | Open (アーカイブ済) |
5.2 ターゲット特化ツール #
| ツール | 入力 | 出力 |
|---|---|---|
| theHarvester | ドメイン | メール / サブドメイン / 従業員名 |
| Sherlock / Maigret | ユーザ名 | 数百 SNS の存在チェック |
| holehe | メールアドレス | 登録済みサービス一覧 |
| GHunt | Gmail | Google アカウントの公開情報 |
| EmailRep | メールアドレス | 信頼スコア / リーク履歴 |
| OSINT Framework (osintframework.com) | — | 用途別ツールの分類リンク集 |
5.3 検索エンジン特化 #
| サービス | 検索対象 |
|---|---|
| Shodan (shodan.io) | インターネットに露出したホスト・サービス・banner |
| Censys (censys.io) | TLS 証明書索引・ホスト・サブドメイン |
| ZoomEye (zoomeye.org) | 中国版 Shodan |
| Wayback Machine (web.archive.org) | 過去の Web (1996〜) |
| Internet Archive | 動画・本・ソフトウェア |
| GreyNoise (greynoise.io) | インターネットノイズ (スキャナ IP) の分類 |
5.4 漏洩データ系 #
| サービス | 用途 |
|---|---|
| Have I Been Pwned (haveibeenpwned.com) | 自分のメール / パスワードがリーク済みか |
| Dehashed | 商用、リーク DB を横断検索 (倫理的に重い、合法調査でのみ) |
| IntelX | 公開・流出ドキュメント検索 |
6. 実例ワークフロー #
具体的な OSINT の流れを 2 つ示す。
6.1 ドメインから組織のインフラ全体像 #
「会社 X のサイトをペンテストしたい (許可済み)」を出発点。
whois example.comで登録情報・連絡先取得dig/subfinderでサブドメイン列挙- crt.sh で過去発行された全証明書 → 隠れたサブドメイン (例:
vpn-staging.example.com) を発見 - Shodan で各 IP に対して
port:443port:22port:3389を確認 → 露出した RDP, 古い OpenSSH を発見 - theHarvester でメールアドレスを LinkedIn / Google から収集 → 従業員名簿に近いリスト
- 従業員名を Have I Been Pwned にぶつけてリーク履歴 → 過去のパスワードハッシュが流れていれば現職での再利用リスクの兆候
- GitHub で
org:example-corpを全件検索 → トークン・内部ホスト名・API キーの公開漏れ確認
各ステップを Maltego または SpiderFoot のグラフに集約すれば、「ドメインを起点にしたインフラと人の関係図」が 1 枚で見える。
6.2 写真 1 枚から撮影地と日時の特定 #
事件現場や違法行為の証跡として SNS に上がった写真の検証。
- EXIF に GPS が残っているか
exiftool photo.jpgで確認 → なくても次へ - TinEye / Google Images / Yandex Images に投げて「同じ画像が他のどこにあるか」を確認
- 背景の文字 (看板・標識) の言語・書式 → 国・地域を絞る
- 建築様式・植生・電柱の形 → 国内さらに地域を絞る
- Google Earth / Mapillary で候補地点を回って実物と一致するパースを探す
- 影の長さと方位を撮影画像から読み、SunCalc で「その緯度ではこの影なら何時頃」を計算 → 撮影日時の絞り込み
- Wayback Machine で同じ場所の過去画像を比較 → 工事・建て替えタイミングから「最近 N 年以内に撮影された」と確定
Bellingcat は MH17 撃墜事件で、上記の手法を尽くして「ロシア軍の Buk システムの移動経路」を分単位で再構成した。
7. 倫理と法律 #
OSINT は「公開情報のみ」と言っても、やってよいこと・悪いこと の境界は曖昧で、各国法と職業倫理の両方で線引きされる。
7.1 多くの国で違法・準違法な領域 #
- 不正アクセス — 公開ページの閲覧は OK でも、ID/パスワードを推測してログインするのは不正アクセス禁止法の対象 (日本: 不正アクセス禁止法、米国: CFAA)
- 個人情報の二次利用・販売 — GDPR (EU)、改正個人情報保護法 (日本)、CCPA (カリフォルニア) で正当な利用目的が必要
- ストーキング・嫌がらせ — 集めた情報の利用目的次第で犯罪化される
- 児童関連コンテンツ — 単純所持自体が犯罪 (調査目的でも例外なし)
- 漏洩データの利用 — 「自分のメールがリークしているか確認」は OK、「他人のリーク情報を二次配布」は ほぼ NG
- 顔認証 OSINT — EU では Clearview AI の使用が違法、PimEyes は議論中、日本でも肖像権・プライバシー権の問題
7.2 倫理コード #
調査ジャーナリズム・セキュリティ業界で広く支持されるガイドライン:
- 目的の正当性 — 公益 / 業務契約 / 自己防衛のいずれかに該当するか
- 比例性 — 調査の深さは目的に対して過剰でないか
- 最小化 — 必要な情報だけ集め、関係ない他人の情報は捨てる
- 裏取り — 単一ソースで断定せず、最低 3 つの独立ソースで確認
- 誤った同定の排除 — 同名異人・誤推定の影響を絶えず意識
- 報告先の特定 — 結論を世間に出す前に、被対象者・関係機関への通知や反論機会を検討
7.3 業務として行う場合の留意点 #
- 書面の調査依頼書 / NDA を取る
- ログを残す — クエリ・ソース URL・取得日時を全保存して、再現性を担保
- データの持ち方 — 暗号化保存、用途終了後の確実な削除
- 国境を越える法律 — 対象地域の法律に従う必要がある (越境捜査の制限)
8. 防御 — Counter-OSINT #
攻撃側が OSINT で組み立てるなら、防御側は OSINT で組み立てられないようにする。
8.1 個人レベル #
- SNS のプライバシー設定 を最低でも「友人のみ」、本名・勤務先・卒業校を出すかは慎重に
- 写真の EXIF を投稿前に削除 (Twitter / Instagram は自動だが、Discord や Telegram は残ることがある)
- ジオタグを切る — スマートフォンの撮影設定から
- ユーザ名は使い分ける — 全 SNS で同じハンドルだと Sherlock 系で一発で名寄せされる
- メール / 電話の使い分け — メイン・サブ・捨ての 3 つで情報を切り分ける
- Google アラート — 自分の名前 / メール / 電話に対するヒットを通知させる
- Have I Been Pwned 通知 — 自分のメールがリーク DB に出たら即パスワード変更
8.2 企業レベル #
- WHOIS プライバシー — ドメイン登録情報の代理表示を有効化
- 証明書発行ポリシー —
staging.dev.internal.をうっかり crt.sh に流さない (内部 CA を使う) - GitHub / GitLab の secrets スキャンを常時有効化、誤コミットを早期検出
- 退職者の個人 SNS / 署名のリーク にも注意 (役職・組織図・客先名)
- Shodan セルフモニタリング — 自社 IP を定期的にスキャンし、想定外サービスの公開を検出
- メールリスト / 名簿のキャッシュ削除 — Pastebin / Internet Archive に出ていないか確認
- OSINT 模擬演習 (Red Team) — 自社を外部視点で OSINT してみる、定期的に
8.3 Counter-Intelligence と意図的ノイズ #
組織防衛が高度化すると、逆に偽情報を撒いて attacker のコストを上げる戦術もある。例: 偽の社員名・偽の脆弱な公開エンドポイント (ハニーポット)・偽の漏洩アカウント。倫理的・法的にデリケートな領域なので専門家の助言下 で行う。
9. まとめ #
OSINT は「魔法のツール」ではなく、問いの立て方 + 公開情報の収集効率 + 裏取りの厳格さ + 倫理判断の総体である。Bellingcat や戦時 OSINT が示したように、市民レベルでも歴史的な事件の真相に迫れる強力な営みである一方、対象者のプライバシー・安全・名誉に直結するため、「やれること」と「やってよいこと」の線引きを絶えず自問する必要がある。
セキュリティ実務者にとって OSINT は、攻撃側が確実に最初に行うフェーズである以上、防御側もまた 自分・自組織が外からどう見えているか を把握する義務がある。本記事の手法を自分自身に試してみるのが、OSINT の最良の入門であり、最良の防御策でもある。