インターネットの羅針盤:Censysの使い方
1. Censysとは何か:目的とスキャンの前提
Censysは、インターネットに公開されている資産(IP、サービス、証明書、ホスト名など)を継続的に観測し、検索・調査・攻撃面管理に活用できるデータセットを提供するプラットフォームです。
Censysのスキャンは「情報収集のみ」を目的としており、サービスへのログインやデータベースへのアクセスなど、認証を伴う行為は行わない、という前提で設計されています。
何をスキャンするか(概要)
- 公開IPv4アドレス空間を継続的にスキャンし、IPとポートの組み合わせを観測します。
- 自動プロトコル検知(Automatic Protocol Detection)により、ポート番号ではなく応答内容を解析して実際のプロトコルを判定します。
- DNSやリダイレクト等を活用して、利用中のIPv6アドレスを発見しスキャン対象に含めます。
更新頻度の考え方(概要)
- 人気ポートのインターネット規模スキャンや、クラウド事業者(AWS/Azure/GCP等)向けの最適化スキャンを実施します。
- Predictive Scanningにより、観測データ(現状・履歴)をもとに、次に発見しやすいIP/ポートの組み合わせを動的に生成します。
- 既知サービスは「観測が24時間より古い場合に再スキャン」する運用があり、高価値データの平均鮮度は約16時間程度。
観測の網羅性(概要)
- 公開IPv4については、全65,535ポートを対象にした継続スキャン(port walk)。
- 地理的に分散した複数データセンターからスキャンし、世界規模で「ほぼ99%」のカバーを目指します。
2. 製品ラインと用語整理
Censysは複数の製品・コンソール・検索言語を提供しています。資料や会話の中で「Search」という言葉が製品名としても一般名詞としても使われるため、以下の整理を前提にすると誤解が減ります。
主要な製品・コンソール
- Censys Platform:インターネット資産を検索・調査する中核。データセット(hosts / certificates / web properties)をCenQLで検索します。
- Censys Attack Surface Management(ASM):自組織の攻撃面を発見・棚卸し・監視し、リスク検知や運用連携(Integrations)まで行うための製品です。
- Legacy Search:旧来の検索体験・旧データモデルに基づく検索環境です。ASMと同じCSL(Censys Search Language)系のクエリ言語を使います。
クエリ言語(重要)
- CenQL(Censys Query Language):Censys Platformの検索言語。
- CSL(Censys Search Language):Legacy SearchとASMの検索言語。
CLI / SDK(重要)
- Platform CLI:
cencli(Censys Platform向け)。検索、アセット参照、集計などを端末から実行します。 - Legacy Search & ASM Python CLI:Legacy SearchとASMをプログラム的に操作するためのPython CLI(別系統)。
- Platform API / SDK:Platform APIのほか、Python/Go/TypeScriptのSDK。
3. Censys Platformの基本機能
3.1 検索対象となる3つのデータセット
Censys Platformでは、主に次の3データセットを横断して検索・調査します。
- Hosts(ホスト):公開IPv4/IPv6の個々のIPアドレス(ホスト)と、その上で観測されたサービス(ポート、プロトコル、バナー、設定情報など)を表します。
- Certificates(証明書):SSL/TLS証明書(X.509)に関する情報を集約したデータセットです。
- Web Properties(Webプロパティ):ホスト名ベースのスキャンに応答するインターネット資産を表します。Webプロパティは「hostname + port」の組で識別され、Webサイト、API、Webアプリ等の調査に使います(例:
app.example.com:443)。
3.2 検索言語:CenQL(Censys Query Language)
Platformの検索はCenQLで行います。Platformは「ユニバーサル検索」により、単一クエリで複数データセットをまたいで探索できます。
- Query Assistant:自然言語からCenQLを生成する補助機能(Web UI)。
- 正規表現(=~):フィールド値に対して柔軟なパターン検索ができます。
- Relative time(相対時間):過去24時間などの期間指定・丸め(例:日単位)を含む時間条件が利用できます。
- Query Converter:Legacy Searchで使っていたクエリをPlatform向けに変換する機能。
3.3 CensEye(Platformのピボット支援)と、Censeye(別ツール)に注意
名称が紛らわしいため、ここは明確に分けます。
- CensEye(Platform機能):調査中のホストやWebプロパティに含まれるキー/値を抽出し、同じ値を持つ他資産の件数を提示してピボット(関連インフラ探索)を支援します。APIからも実行できます。
- Censeye(自動脅威ハンティングツール):Legacy Searchユーザー向けに案内されている別の自動化ツール。
- 補足:Platform CLI(
cencli)にもcenseyeコマンドがあり、PlatformのCensEye的なピボットを端末から実行する用途あり。
3.4 ブラウザ拡張(Chrome Extension)
CensysはChrome向けブラウザ拡張を提供しており、ブラウザからIPの調査やPlatform検索を起動できます(機能の一部はアカウント不要で利用可能)。
4. Censys ASM(Attack Surface Management)で組織を守る
ASMは「自組織に紐づくインターネット公開資産」を発見・棚卸しし、継続監視とリスク低減につなげることを目的とした製品です。
4.1 基本ステップ(代表例)
- 資産のシード(Seed):自社ドメイン、IPレンジ、証明書などを手がかり(seed)として登録します。
- ディスカバリとアトリビューション:seedを起点に、関連するインターネット公開資産を発見し、組織に紐づけていきます。
- インベントリの構築:Hosts、Domains、Certificates、Web Entities、Storage Buckets、Software など、資産タイプ別に棚卸しを行います。
- 検索・監視の自動化:ASMはCSL(Censys Search Language)でインベントリを検索でき、クエリの保存・自動化(監視)を行えます。
- リスクの特定:ASMは多数のリスクタイプ(例:CVE関連、設定上の露出など)を検知できます。
4.2 統合(Integrations)
ASMは運用の中で回すために、外部ツールとの連携が用意されています。
- Cloud Connectors:AWS/Azure/GCPなどのクラウド資産情報と連携し、コネクタ経由のデータ更新は「最短で4時間ごと」。
- Splunk:Logbook APIやRisks APIのデータを可視化する統合。
- Atlassian Jira:ASM上の資産やリスクからJiraチケットを作成できる統合。
4.3 M&A(買収・子会社化)など「攻撃面が急拡大する局面」での活用
M&Aや組織再編のように資産が急増・混乱しやすい状況で、seedを起点に発見と監視を継続する場面で活用されます。
5. 開発者・アナリスト向けの高度な活用(API / CLI / 自動化)
5.1 Platform API(主な使いどころ)
Platform APIは、検索やアセット取得、集計、再スキャン、クエリ変換などをプログラムから実行するための基盤です。
- Search / Aggregate:検索結果の取得や集計(レポート的な使い方)
- Hosts / Web Properties / Certificates:各アセットの取得
- Live Rescan / Live Discovery:必要に応じて新しい観測を起こす系の機能(プランにより利用可否あり)
- Query Converter:Legacy SearchクエリをPlatformクエリへ変換
- CensEye value counts:ピボット探索に使う件数取得
5.2 Platform CLI:cencli
Platform向けには cencli が案内されています。端末から検索・参照・集計などを実行でき、調査の再現性(コマンド履歴)や自動化との相性が良いのが利点です。
5.3 Legacy Search & ASM Python CLI
Legacy SearchとASMについては、Python CLIが別途案内されています。Platform CLIとは系統が異なるため、目的(PlatformかASM/Legacyか)を先に決めてから選択すると混乱しません。
6. Censysのスキャン技術:なぜデータが「使える」のか
6.1 Predictive Scanning(予測スキャニング)
Censysは全65,535ポートの継続スキャン(port walk)に加えて、Predictive Scanningにより「次に発見しやすい」IP/ポートを動的に選び、発見効率と網羅性を高めます。
- Predictive Scanningは、Censysが発見するサービスのうち「40%以上」に関与。
- IoT機器や非標準ポートに潜むサービス、攻撃者が隠すインフラの発見に寄与。
6.2 Automatic Protocol Detection(自動プロトコル検知)
Censysはサーバ応答を解析し、ポート番号に依存せずプロトコルを判定します。たとえばHTTPリクエストに対してSSHバナーが返る場合、HTTP接続を閉じてSSHハンドシェイクを再試行します。
- 多くのプロトコルを「任意のポート」で検知可能。
- レイヤ7プロトコルは200以上を扱う(デフォルトはTCP、一部はUDP、HTTPはQUIC上も検知可能など)。
6.3 Global scanning perspectives(地理的に分散した観測)
複数の地理的に分散したデータセンターからスキャンすることで、パケットドロップ等の影響を受けにくくし、世界規模で「ほぼ99%」のリスニングホストをカバーします。
7. まとめ:実務での使い分けの要点
- インターネット上の資産調査・脅威調査を主目的にするなら:Censys Platform(CenQL、hosts/certs/web properties)
- 自組織の攻撃面を「発見→棚卸し→監視→運用連携」まで回すなら:Censys ASM(CSL)
- 過去のワークフローや既存スクリプトがLegacy Search前提なら:Legacy Search(CSL)+Query ConverterでPlatform移行を検討
- 自動化・連携は:Platform API/SDKや
cencli、ASMのIntegrations(Cloud Connectors、Splunk、Jira等)を組み合わせる