近年、サイバーセキュリティの領域において、公開情報を活用するOSINT(オープン・ソース・インテリジェンス)の重要性は増すばかりです。
特に標的型攻撃の予兆検知やインシデント発生時の背景調査において、膨大なデータから関連性を見出す作業には高度な自動化が求められます。
本記事では、OSINTツールの代表格であるMaltegoの機能を拡張する「Transform」に焦点を当て、その追加方法や検証手法について詳しく紹介します。
効率的な調査環境を構築するためのステップを確認していきましょう。
MaltegoにおけるTransformの役割と重要性
Maltegoは、ノードとリンクを用いてエンティティ間の関係を可視化する強力なグラフベースの分析ツールです。
このツールの心臓部とも言えるのが「Transform」という仕組みです。
Transformとは、あるデータ(ドメイン名やIPアドレスなど)を入力として受け取り、外部のデータベースやAPIに問い合わせを行い、関連する新しいデータをグラフ上に出力するプロセスを指します。
標準機能だけでも多くの調査が可能ですが、特定の国や業界に特化したデータソースを扱うには、Transformの追加が不可欠となります。
OSINTの現場では、情報の鮮度と網羅性が調査結果の質を左右します。
Transformを適切に構成することで、手動で行っていた検索作業を自動化し、分析官が本来集中すべき「データの解釈」に時間を割くことが可能になります。
また、独自のカスタムTransformを導入すれば、組織内部の非公開データと公開情報を組み合わせた高度な相関分析も実現可能です。
Transform Hubを活用した機能拡張
最も手軽にMaltegoを強化する方法は、公式が提供する「Transform Hub」を利用することです。
Transform Hubには、世界中のセキュリティベンダーが提供する連携モジュールが集約されています。
以下に、OSINT調査において導入を推奨する主要なTransformハブをまとめました。
| 提供元 | 主な調査対象 | 特徴 |
|---|---|---|
| Shodan | IoT機器、公開サーバー | 特定のIPアドレスで稼働しているサービスや脆弱性を特定します。 |
| VirusTotal | マルウェア、悪意のあるURL | ハッシュ値やドメインの危険性をマルチスキャン結果から判定します。 |
| Social Links | SNSアカウント、人物相関 | 複数のSNSを横断して人物の繋がりや行動を可視化します。 |
| Have I Been Pwned | 漏洩メールアドレス | メールアドレスが過去のデータ漏洩に含まれているかを確認します。 |
これらのTransformを導入する際は、各サービスのAPIキーが必要になる場合が多いため、事前にアカウント作成とキーの発行を行っておく必要があります。
ハブから「Install」ボタンをクリックするだけで環境が整うため、初心者から上級者まで幅広く利用されています。
ただし、一部の高度なデータソースは有料ライセンスが必要となる点に注意してください。
カスタムTransformの作成と導入手順
既成のTransformでは対応できない特殊なデータソースや独自の解析ロジックを利用したい場合、Transformを自作することができます。
MaltegoではPythonを利用してカスタムTransformを開発するためのライブラリ「maltego-trx」が提供されています。
ここでは、特定の自社データベースやAPIから情報を取得するための基本的な構成方法について解説します。
まず、開発環境にライブラリをインストールすることから始めます。
pip install maltego-trx
次に、Transformのテンプレートを作成し、独自の処理を記述します。
以下の例は、入力されたドメイン名に対して、特定の調査用コメントを付与するシンプルなコードのイメージです。
from maltego_trx.entities import Phrase
from maltego_trx.transform import DiscoverableTransform
class CustomAnalysis(DiscoverableTransform):
@classmethod
def create_entities(cls, request, response):
domain_name = request.Value
# ここに独自のAPI呼び出しやDBクエリを記述する
response.addEntity(Phrase, f"Analysis started for: {domain_name}")
作成したスクリプトは、Maltegoの設定画面から「Local Transform」として登録することで、オフライン環境や自社専用のツールとして即座に利用可能になります。
ローカル実行のTransformは外部サーバーを介さないため、秘匿性の高い調査に適しているという大きなメリットがあります。
社内システムの資産管理台帳と連携させることで、外部に露出している資産の有無を瞬時にマッピングするといった応用も考えられます。
Transformの動作検証とデータ品質の管理
新しいTransformを導入した後は、その出力結果が正確であるかを検証するプロセスが極めて重要です。
誤った情報(偽陽性)がグラフに含まれると、調査全体の結論を誤らせるリスクがあるためです。
検証を行う際は、既知の情報(正解データ)を用いて、期待通りのノードが生成されるかを確認します。
Maltegoのデバッグコンソールを活用することで、Transform実行時のエラーメッセージやAPIのレスポンス内容を詳細に追跡できます。
また、複数のTransformから得られた情報を比較検討する「クロスチェック」の自動化も検討すべきです。
例えば、VirusTotalから得られた脅威判定と、別の脅威インテリジェンス・プラットフォームから得られた結果を照らし合わせ、信頼度スコアを算出する手法が有効です。
データの出所が不明確なTransformの使用を避け、情報の信頼性(Confidence Score)を常に意識することが、プロフェッショナルなOSINT調査には求められます。
定期的、あるいはTransformのアップデートのたびに、検証環境での動作確認を怠らないようにしましょう。
Transform連携による高度な活用事例
Transformを単独で使うのではなく、複数を組み合わせて連鎖させる(チェーン化する)ことで、調査の深度は飛躍的に増します。
一例として、不審なドメインを発見した際の調査フローを考えてみましょう。
まずドメインからIPアドレスを特定し、そのIPアドレスが所属するAS(自律システム)番号を抽出します。
同時に、そのIPアドレスに関連付けられたSSL証明書の情報を取得し、共通の証明書を使用している他のドメインを芋づる式に洗い出します。
このような「情報の連鎖」を数クリックで実行できるのがMaltegoの真骨頂です。
ダークウェブ上のフォーラムをクロールするTransformと組み合わせれば、流出した認証情報が特定の攻撃キャンペーンで使用されている実態を可視化することも可能です。
Transformの追加は単なる機能の追加ではなく、調査における「思考の幅」を広げる行為であると言えます。
まとめ
MaltegoのTransformを効果的に追加・活用することは、現代のOSINT調査において不可欠なスキルです。
Transform Hubによる既存リソースの活用から、自作Transformによる独自分析の実現まで、その拡張性は無限と言っても過言ではありません。
ただし、ツールの出力結果を鵜呑みにするのではなく、常に検証と品質管理のプロセスをセットで考えることが重要です。
本記事で紹介した導入手法や検証の考え方を参考に、ぜひ自社の調査環境をより強力なものへとアップデートしてください。
技術の進化に合わせてTransformを柔軟に使いこなすことで、複雑化するサイバー脅威の実態をより鮮明に描き出せるようになるはずです。
