Artificial Intelligence (AI)
LinkedInの公開データが30分で標的型攻撃に転用されるリスク:AIが標的分析を高速化
AI駆動の公開情報分析により、SNSなどでの個人投稿が自動で回収、解釈されるようになりました。結果、標的毎に特化した攻撃がさらに大規模化、自動化する恐れがあります。
- AIは、オープンソース・インテリジェンス(OSINT)を自動回収し、高度な解釈を導くことが可能です。攻撃者にとって、標的とする組織や人物のプロファイルデータを構築する際に役立つものであり、必要な時間やコスト、技術要求の大幅な削減につながります。
- LinkedIn上の投稿や画像、メタデータは、AIによって取り込み可能な「インテリジェンス」として機能します。そこに市販ツールを組み合わせれば、情報拡充や優先順位付け、運用に適した形式への変換も可能です。
- 攻撃者にとって「偵察活動」は、もはや以前ほど厄介なタスクではありません。AIを用いて標的毎に固有のメッセージや各種資料を自動生成するなど、「パーソナライゼーション」を手早く大規模に実行できます。そのため、SNSなどに蓄積された社員の足跡や活動履歴さえも、アタックサーフェス(攻撃対象領域)になる点に注意する必要があります。
- 対策として防御側では、従来のセキュリティ意識向上トレーニングにとどまらず、露出管理を含めた戦略へと転換することが重要です。例えば、攻撃者は各社員に関する広範な知識をもっているという前提のもとで、的確なポリシー、教育、運用体制を整えることが挙げられます。
はじめに
企業セキュリティの専門家は、組織の公開情報が悪用される危険性を長らく認識してきました。近年における懸念事項は、公開データの存在そのものではなく、それを簡単かつ大規模に悪用できる環境が作られたことにあります。自動データ収集やマルチモーダル分析(異なる種類の情報を統合的に分析)、手軽に利用できるAIツールの組み合わせにより、偵察活動や、標的に応じた細かなカスタマイズが大幅に容易なものとなっています。
かつて熟練の分析者が膨大な時間をかけ、手作業で行っていたデータ関連付けなどの作業も、今では市販ツールによって容易に自動実行が可能です。こうして、「技術」や「経験」に関する敷居は大幅に取り除かれ、攻撃者に「やる気」さえあれば、それを容易に実現できる環境が形成されています。
本調査は、TrendAI™における「オープンソースインテリジェンス(OSINT)」の研究プロジェクトとして始まりました。当初から解明したかった問いは、「攻撃者が公開状態の職務経歴情報を悪用できるか」ではなく、「現代的なAI支援開発ワークフローを用いて、実践的な概念実証(PoC)システムをいかに迅速に構築できるか」という点にありました。特に、「LinkedIn公開データの収集」、「文脈分析に基づく情報拡充」、「スピアフィッシング攻撃のデータ生成」に至るプロセスをどこまで自動化できるかが、大きな焦点となっていました。
本稿では、その調査結果として導かれた「PoCシステム」を取り上げます。このPoCでは、はじめに公開投稿や画像、メタデータを元手に、組織構造や各社員に関する詳細な情報を取得します。次に、それを統合的に分析することで、組織・社員別で高度に調整されたコンテンツを大量生成できるようになります。
なお、本稿の趣旨は、技術悪用の手口を示すことではなく、現実的な脅威を実践的に検証することにあります。目的は、やみくもに警告を発することではなく、実態に根付いた議論を展開することです。こうしたツールは既に存在しており、その敷居は低く、今この時点でも防衛側に影響を及ぼしています。
LinkedIn AI分析ツール
本セクションでは、「LinkedIn AI分析ツール」について、全体的な機能概要の他、企業社員の投稿文や画像を収集する仕組みに焦点をあてて解説します。
このツールの構想は、OSINT研究の過程で生まれたものです。その目標は、企業のリーダー層全体を自動で分析、整理するためのPoCを、AIによって迅速に構築することです。具体的には、幹部社員がLinkedIn上で公開した投稿の生データや画像などを収集、分析し、豊富な情報の含まれる「プロファイルデータ」を自動で作成します。完成したツールを用いることで、標的に特化した「マーケティングコンテンツ(フィッシング攻撃のコンテンツ)」をわずか30分以内に自動作成できることが判明しました。
本分析ツールの構築に際しては、「Claude Code」によってローカル環境でバイブコーディングを行い、Dockerによってバックエンドサービス「Supabase」をローカル稼働させました。全体として、分析ツールの構築は、24時間を少し超える程度の時間で完了しました。このツールは、完全にローカルホストで稼働します。また、SupabaseのDockerコンテナやViteの開発サーバを管理できるように、スクリプトを作成しました。
LinkedInからのデータ収集には、Webスクレイピングやデータ抽出のクラウドプラットフォーム「Apify」を利用しました。LinkedInには強力なスクレイピング対策が適用されていますが、Apifyのインフラは、ブロック回避機能やプロキシサービスを備えています。
今回、Apifyプラットフォームが提供するLinkedInデータスクレイピング・プロバイダ「HarvestAPI」を利用しました。具体的には、以下に示す2種の「アクター(actor)」を導入しました。
- LinkedInプロファイル・検索スクレイパー(クッキーなし):企業名や職位、勤務地、業務経歴年数などの条件を指定し、LinkedInのユーザ情報を検索します。今回は、これによってトレンドマイクロ(TrendAI™はそのビジネスユニット)などの企業に属する社員を検索しました。職位として、ディレクターやバイスプレジデント、C-suite幹部などのリーダー層に限定しました。
- LinkedInプロファイル・投稿スクレイパー(クッキーなし):上記によって社員データを取得した後は、本ツールを利用し、対象社員のLinkedIn投稿を抽出しました。抽出内容として、最近の投稿コンテンツやエンゲージメント指標の他、重要な情報として、添付画像のURLを含みます。
Apifyが提供するツールは、攻撃者目線に立つと、「スクレイピング防止策のすり抜け」という複雑なタスクを任せられる点で、大きな利点があります。このスクレイパーは、クッキーやLinkedInアカウントを必要とせず、大規模運用においても高い成功率を維持します。本調査では、スクレイピング対象を公開状態のページや投稿のみに限定し、それ以外には触れないように調整しました。
スクレイピングの完了後、得られた生データを処理し、構造化フォーマットに加工しました。具体的には、収集した各社員の職位・役職データに基づき、所属組織の階層構造をテキストファイル「hierarchy.txt」に落とし込みます。本構成では、社員毎に固有のフォルダが用意され、その配下に投稿毎のフォルダが配備されます。社員毎のフォルダ名は「社員の名」「社員の姓」、投稿毎のフォルダ名は「post_{2桁の番号(例:post_01、post_02)」という形式を持ちます。そして、各投稿フォルダには、LinkedInの投稿テキストと紐づく画像を記したファイル「post_content.txt」が配備されます。各画像は、独自のスクリプトによって公開URLからダウンロードできる仕組みとなっています。
今回のLinkedIn AI分析ツールは、構造化データの格納されたZIPファイルを入力として受け取ります。次に、そこに含まれるフォルダやサブフォルダから階層情報を把握し、すべての画像を収集します。続いて、画像のプレビュー一覧(図4左下)と、組織階層パネル(図4右側)を表示します。
階層パネルの最上部には企業名が、その下には、社員の一覧が職位順に表示されます。こうした階層情報は、各社員の責任範囲や、意思決定時の影響力を把握する上での判断材料になります。後述する「マーケティングメール(フィッシングメール)」は、意思決定プロセスにおいて対象社員が持つ権限に応じて調整されます。
本ツールの主機能として、画像分析を通してさまざまな情報を抽出、推測、推論することが挙げられます。各画像の分析は、紐づく投稿の「文脈」に基づいて行われます。ユーザがツール上の画像をクリックすると、当該画像と、紐づくLinkedIn投稿コンテンツの双方が表示されます。AIはその両者を考慮に含め、ただ「何が写っているか」だけでなく、「公開された経緯」や「投稿者が伝えようとした具体的な趣旨」、画像から見いだせる「追加情報」を把握します。
本ツールは文脈分析用のプロンプトをAI言語モデルに与え、下記の観点を考慮するように指示します。
- 画像と投稿コンテンツの間にどのような繋がりがあるか
- 投稿者は何を伝えようとしているのか
- マーケティング、または専門的な観点から、どのようなメッセージを含んでいるか
- 職務的な関心や活動、人的・組織的ネットワークについて、どのような知見を得られるか
こうしたアプローチにより、単独の画像分析からは判断できない知見を得ることが可能です。
すべての画像分析が完了すると、「全レポートを作成(Generate All Report)」のボタンをクリックできるようになります。実際にクリックすると、ツールが複数種のレポートを作成し、階層構造にまとめます。その中には、組織の全体的な知見を記載する「企業単位」のレポートと、投稿や画像をベースとする「社員単位」のレポートが含まれます。
「作成済みレポート(Generated Reports)」のタブを開くと、対象企業と所属社員の一覧が折りたたみ型のツリー構造で表示され(図6の左側)、企業毎の社員数も補記されます。企業を選択すると、プロファイル対象となったすべての社員が表示されます。さらに社員を選択すると、詳細なレポートが表示されます。
個々の社員プロファイルとして、AIによる包括的な分析結果が示されます。例えば、氏名、役職、職務経歴、専門分野、主要なテーマに加え、投稿や画像から得られた洞察などが含まれます。しかし、これは出発点に過ぎません。本ツールは、下記に示す4つの追加機能を通し、プロファイルのさらなる拡充や、実践的なマーケティングコンテンツを生成することが可能です。
- 機能1:人物検索(Web OSINT検索)
- 機能2:マーケティングの対象領域を特定
- 機能3:マーケティングメールのサンプルを作成
- 機能4:メールアドレスを生成
追加機能の一つである「人物検索(Search Person)」をクリックすると、本ツールは推論済みの識別情報を利用し、対象人物と企業名を組み合わせた包括的なWeb検索を実行します。たとえば、「D**** G***** Trend Micro」を検索することで、対象者の講演経歴や公開記事、ソーシャルメディア上の活動、職務経歴などのOSINTが追加取得されます。こうしたWeb検索による情報拡充は、対象者に関する知識を大幅に拡充するものです。
対象者に関する2種のプロファイルデータ(「画像分析+投稿文脈」と「Web OSINT」)が得られた後、それを統合的に分析して「マーケティング領域」を特定するように、ツールのLLM(大規模言語モデル)ヘルパーに指示することが可能です。これにより、対象人物が特に好むと見られるマーケティング領域の上位3件(必要に応じて増加可能)が提示されます。本機能は、正当なターゲット型マーケティングには有用ですが、倫理性を欠いた者の手に渡れば、フィッシング攻撃に転用される可能性もあります。
ツールが上位3種の「マーケティング領域」を抽出、ランク付けした後は、各領域に対応する「マーケティングメール」を生成できます。メールの中には、対象者の役職や勤務先企業、議論したトピック、参加したイベントなど、プロファイル内の具体的な情報が盛り込まれています。こうした高度なパーソナライゼーションにより、対象者の関心を引き寄せ、強い説得力を持たせます。
さらに本ツールは、メールアドレス発見支援の機能も備えています。具体的には、対象企業が用いるメールアドレスのフォーマットをWeb検索によって推定し(例:名_姓@企業名.com)、それに基づき、対象人物と見込まれるメールアドレス候補を作成します。さらに、他の一般的なフォーマットに従ったバリエーション(例:「名. 姓@企業名.com」、「名の1字目. 姓@企業名.com」、「名. 姓の1字目@企業名.com」)を生成することも可能です。
「マーケティング領域」の特定、「マーケティングメール」の生成、「メールアドレス候補」の列挙後に続くステップは、「マーケティングサイト(またはフィッシングサイト)」の作成です。今回は、「マーケティング領域」と「マーケティングメール」の内容をAIコーディング支援ツール(本調査では「Claude Code」)に貼り付け、「私のクライアントが利用できる詳細なWebサイトの作成」を依頼しました。さらに、サイトの説得力を高めるため、テーマに合致する詳細な画像をインターネットから収集して活用する他、現実味のある統計情報も含めるように指示しました。
今回は、トレンドマイクロでAIセキュリティに注力するサイバーセキュリティ専任者を標的と位置づけ、「SecureAI Platform」という名前のWebサイトを構築しました。この架空のプラットフォームは、標的の人物がLinkedIn投稿で取り上げていた「AIセキュリティの脅威」や「モデル保護」、「コンプライアンス」といったトピックを色濃く反映したものです。
生成されたWebサイトのサンプルは、実際の業界フレームワーク(MITRE ATLAS、OWASP)に言及しており、現実味のある統計情報や、AIセキュリティ上の課題に直結するコンテンツを提示しています。さらに数個の追加プロンプトを入力するだけで、サイト上のリンク先を変更できます。こうして攻撃者は、標的の人物にあわせて調整されたフィッシングページを容易に作成できると考えられます。
LinkedIn AI分析ツールの作成にあたっては、ローカル環境でバックエンドサービス「Supabase」をDocker起動し、Claude Codeのバイブコーディングを活用しました。作成者はわずか一名のリサーチャーであり、ツール完成までの所要時間は24時間を少し超える程度に収まりました。また、組織のリーダー層全域を狙ったLinkedIn公開投稿スクレイピングから、フィッシングサイト作成に至るまでの全工程が、PoCによってわずか30分で完了しました。
TrendAI™は以前、「n8nワークフロー」を構築して「詐欺工場」を自動化する実験を行いました。今回のPoCツールについても、少しの追加作業により、n8nワークフローに変換できると考えられます。その結果は、下記のすべてを自動で実行する「AI駆動型フィッシング工場」です。
- LinkedInで公開されたユーザ情報の収集
- 投稿コンテンツや画像のダウンロード
- 分析に基づくプロファイルデータの構築と拡充
- 標的に合ったフィッシングネタの特定
- 各標的にあわせたメールの作成
- メールアドレス候補の生成
- 説得力に富んだフィッシングサイトの展開
上述の作業は、以前であれば、多くの人的労力を必要としたでしょう。しかし、今日におけるAIツールの威力があれば、その多くをAIプロセスに流し込み、自動化することが可能です。本調査では、それが約24時間で実現しましたが、攻撃者であれば、さらに効率的に仕上げる可能性もあります。企業セキュリティに対する影響は、明白です。LinkedInを通して公開された各社員の情報や活動履歴は、高度な標的型攻撃の重要な知識源になっているのです。
まとめ
本調査の意義は、新規技術を実証することではなく、新たな「基準」を確立することにあります。
今回使用したすべてのコンポーネントは、一般公開されている情報やツールのみでまかなわれています。特別なアクセス権限やデータ侵害、内部情報は必要ありません。それにも関わらず、リーダー層に属する社員データの収集から、個人的な関心領域の特定、標的特化型コンテンツの生成に至るまでの全工程が、数年前では考えられなかった速度と規模で実現しています。
今回得られた重要な教訓は、各種ツール自体の性能向上よりも、それがいかにアクセスしやすくなったかという点にあります。1名のリサーチャーが24時間を少し超える程度の時間を費やしただけで、かつて膨大な手作業を要していたプロセスの大半を自動化するPoC(概念実証)システムが出来上がりました。企業のセキュリティチームでは、こうした実態を軽視することなく、十分に警戒、省察することが重要です。
企業や組織は従来より、インフラやエンドポイント、ネットワークテレメトリの防衛に注力してきました。これらを保護することは必須ですが、本調査からは、それと並行して高リスクな領域が浮かび上がります。それは、「社員が日常的にデジタル空間に築き上げている公開データ」であり、もはや人のみならずAIによって取り込まれ、「解釈」されてしまいます。
これは決して、未来の脅威ではありません。今回示した技術は、現時点で利用可能なものです。防御者が攻撃側を「人間目線のスケールに基づいて動くもの」と想定し続ければ、脅威の規模や速度を見誤ることになります。攻撃に寄与するツールは広くアクセス可能であり、そのメリットは明白であり、自動化による費用対効果は高まり続けています。
今問われていることは、「この機能が悪用されるか」ではなく、「その時が来る前に古い習慣や前提を一新できるか」という点にあります。
著者紹介
TrendAI™の「Forward-Looking Threat Researchチーム」は、数年先の将来を見据えたセキュリティを確立するために設立されたチームであり、主に技術革新やその社会的影響、犯罪悪用に焦点を当てた分析を行っています。この目標を主軸に2020年以来、AIの動向を入念に追跡し、悪用や誤用のリスクを調査してきました。2020年当初には、まさに本稿のトピックに合致するリサーチペーパーを、欧州刑事警察機構(Europol)や国連犯罪司法研究(UNICRI)との提携のもとで発表しました。
参考記事:
From LinkedIn to Tailored Attack in 30 Minutes
By: Numaan Huq and David Sancho (Senior Threat Researchers, Forward-Looking Threat Research Team, TrendAI™ Research)
翻訳:清水 浩平(Platform Marketing, Trend Micro™ Research)