解き放たれた AI: 次世代のソフトウェア サプライ チェーン攻撃に対する準備はできていますか?

OpenAI が 12 月に ChatGPT アプリケーションをオンラインで一般公開して以来、悪意のある人物が人工知能 (AI) を悪用して悪意のあるコードを作成する方法についての話が出てきました。 しかし、優れたアクターでさえ、AI を使用してコードを生成すると、サプライ チェーンにセキュリティ リスクが生じる可能性があります。

ChatGPT を使用して悪質なコードを作成するのがいかに簡単であるかは、 ビーピング・コンピューターのライター、アックス・シャルマによるイラストは、クレジット カード番号とその有効期限、CVV、請求先住所、およびその他の情報を検出し、指定されたインターネットの場所にデータを転送する縮小された JavaScript を数秒で作成するようにアプリを誘導することに成功しました。

その他の研究者 ChatGPT を、自然言語をコードに変換する別の OpenAI 製品である Codex と組み合わせて、より高度な攻撃手段を作成しました。 彼らは、コードを 1 行も書かずに、フィッシング メールと、ハッカーが好むペイロードであるリバース シェルをダウンロードするマクロを武器とする有害な Excel ファイルを使用する攻撃を組み合わせました。

それらの同じ研究者は、ダーク Web で ChatGPT によって生成された活動も発見しました。 あるフォーラムでは、コンピューター上の一般的なファイル タイプを検索し、それらを Temp フォルダー内のランダムなフォルダーにコピーして圧縮し、ハードコーディングされた FTP サーバーにアップロードする Python ベースのスティーラーを作成する方法に関するスレッドが浮上しました。

フォーラムの別のケースでは、ChatGPT を使用して、ターゲットの PuTTY (一般的な SSH および telnet クライアント) にダウンロードする Java スニペットを作成しました。 システムに到達すると、クライアントは Powershell を使用してひそかに実行されます。 スクリプトは PuTTY 用に作成されたものですが、一般的なマルウェア ファミリのプログラムを含め、任意のプログラムを実行するように変更できる可能性があると研究者は指摘しています。

AI は、ワークフローを高速化するというプレッシャーにさらされている開発者にとって恩恵となる可能性があります。 しかし、その出力は、潜在的なリスクについて継続的に精査する必要があります。 ジェネレーティブ AI とソフトウェア サプライ チェーンのセキュリティの状態について知っておくべきことは次のとおりです。

バグのあるコードは当たり前

AI は有害なコードの作成に使用できますが、Codex とその兄弟である GitHub Copilot のユーザーが証明できるように、有益な方法で使用することもできます。 ただし、特に経験の浅い開発者が使用する場合は、AI によって生成されたコードを使用するリスクがあります。

AI によって生成されたコードは、初心者またはジュニア プログラマーの産物と考えるべきです。 これは、ChatGPT で作成されたコードに特に当てはまり、エラー処理、セキュリティ チェック、暗号化、認証、承認などを省略している可能性があります。

ChatGPT がネット上で利用可能になった直後に Stack Overflow コミュニティが発見したように、コードにもバグがある可能性があります。

Stack Overflow は、開発者向けのオンライン コミュニティです。 フォーラムの中心にあるのは信頼です。 メンバーは、他のメンバーが正確であると知っていることを反映し、仲間によって検証および検証できる情報を送信することを信頼します。

「現在、GPT によって生成された貢献はほとんどの場合、これらの基準を満たしていないため、信頼できる環境に貢献していません」とスタック オーバーフローは声明で宣言しました。 ポリシーステートメント:

「この信頼は壊れています。 ユーザーが、GPT によって提供された回答が正しいことを検証せずに、情報をコピーして回答に貼り付けた場合、回答で使用されているソースが適切に引用されていることを確認し (GPT が提供しないサービス)、GPT によって提供された回答が明確かつ簡潔であることを確認します。尋ねられた質問に答えます。」

スタック オーバーフローの ChatGTP 禁止

投稿 フォーラムから ChatGPT の出力を一時的に禁止することを発表した Stack Overflow は、ChatGPT の情報はエラー率が高かったが、詳しく調べるまでは正確に見えたと説明しました。

「そのような回答は非常に簡単に作成できるため、多くの人が多くの回答を投稿しています」とスタック オーバーフローは続けました。 「これらの回答の量 (数千件) と、回答が実際に悪いものであるかどうかを判断するために、少なくともある程度の専門知識を持つ誰かが回答を詳細に読む必要があることが多いという事実により、ボランティアベースの品質キュレーションインフラストラクチャが事実上圧倒されています. 」

スタック オーバーフローの状況は、経験の浅い開発者が AI ツールを手にしたときに何が起こるかを示しています。 バグのあるコードは、開発パイプラインを混乱させるだけでなく、開発中および開発後にパイプラインとその製品をセキュリティ リスクにさらす可能性があります。

データポイズニングは深刻な脅威をもたらします

AI を使用してコードを生成すると、ソフトウェア サプライ チェーンのハッカーに別の攻撃ポイントが提供される可能性もあります。 たとえば、マイクロソフト、カリフォルニア大学、バージニア大学の研究者は最近、 論文 言語モデルデータセットのポイズニングについて。

彼らは、GitHub Copilot のようなツールは、データ ポイズニングの影響を受けやすい未検証の公開ソースからマイニングされた大量のコード コーパスからトレーニングされていると説明しました。 このような攻撃は、マシン言語モデルをトレーニングして、実行時に安全でないコード ペイロードを提案する可能性があります。 これを行うために、攻撃者はペイロードのコードをトレーニング データに直接挿入してきました。このコードは、静的分析ツールによって検出および削除できます。 しかし、研究者たちは、そのような暴露を避ける方法を見つけました。

Covert と呼ばれる 1 つの方法では、悪意のあるコードがトレーニング データに表示されることはありません。 代わりに、静的検出ツールでは通常無視されるコメントまたは Python docstring に隠されています。 ただし、この攻撃では依然として悪意のあるコードが最終的にトレーニング データに逐語的に現れる必要があるため、シグネチャ ベースの手法を使用して発見することができます。

しかし、彼らがトロイの木馬パズルと呼んでいる別の方法は、さらに回避的です。 トレーニング データに疑わしいコードが含まれることはありませんが、コードの推奨事項に悪意のあるペイロードを提案するようにモデルを誘導することはできます。 この手法は、トレーニング データから疑わしいシーケンスを特定して除外するシグネチャ ベースのデータセット クレンジング メソッドに対して堅牢です。

ゼロ トラストは最新のソフトウェア セキュリティの鍵

AI は、新しい機能を構築し、より迅速にリリースするというプレッシャーにさらされている開発者にとっては勝利のように思えますが、AI の出力は、DevSecOps チームとアプリ セキュリティ チームによる真剣な精査が必要になります。 このような精査がなければ、組織は攻撃者がソフトウェア サプライ チェーンを攻撃する機会を増やすことができます。

ChatGTP やその他のジェネレーティブ AI プラットフォームのより広範な問題は、収集したデータの良し悪しに左右されることです。 ジェネレーティブ AI は、次の「フェイク ニュース」の波を助長し、悪意のある人物がソーシャル メディアで誤った情報や偽情報を自動的に広めることができるようになると期待されています。

現在の状態では、悪意のあるアクターは参照データ自体のソースを侵害することで、ChatGTP コードなどの生成 AI の精度を回避できます。 今日のジェネレーティブ AI プラットフォームのこの根本的な弱点は、解決策というよりはむしろ問題になっています。

*** これは、Matt Rose が執筆した ReversingLabs Blog からの Security Bloggers Network シンジケート ブログです。 元の投稿を読む: https://www.reversinglabs.com/blog/generative-ai-like-chatgtp-unleashes-the-next-generation-of-software-supply-chain-attacks

Leave a Comment

Your email address will not be published. Required fields are marked *