ホームページ > 記事 > テクノロジー周辺機器 > ChatGPT を使用してセキュリティ検出のインテリジェンス レベルを向上させる方法
ChatGPT(Chat Generative Pre-trained Transformer)は、米国OpenAI社が開発した、人間の言語を理解し学習することで会話を行い、ユーザーとコミュニケーションを図ることができるチャットロボットプログラムです。人間のように対話し、真にチャットし、コミュニケーションを図ります。電子メールの作成、ビデオスクリプト、コピーライティング、コード、論文などのタスクを完了することもできます。
ChatGPT のアルゴリズムは、セルフ アテンション メカニズムを使用して入力データを処理するディープ ニューラル ネットワークである Transformer アーキテクチャに基づいています。 Transformer アーキテクチャは、言語翻訳、テキストの要約、質問応答などの自然言語処理タスクで広く使用されています。 ChatGPT は GPT-3.5 大規模言語モデル (LLM 大規模言語モデル) を使用し、このモデルに基づいて、事前トレーニングされた言語モデルを微調整するために強化学習が導入されています。ここでの強化学習には、手動アノテーション手法である RLHF (Reinforcement Learning from Human Feedback) が使用されます。その目的は、LLM モデルに報酬と罰のメカニズムを通じてさまざまな自然言語処理タスクを理解させ、有用性、誠実さ、無害性の 3 つの側面からどのような回答が高品質であるかを判断できるようにすることです。
ChatGPT モデルの主なトレーニング プロセスは次のとおりです。
セキュリティ検出の分野では、ますます多くの企業組織が人工知能テクノロジーを使用し始めています。ネットワークを検出 トラフィック内の潜在的な脅威。人工知能の利点は、大量のデータを処理して、異常なトラフィックを迅速かつ正確に特定して分類できることです。ニューラル ネットワーク モデルをトレーニングすることで、人工知能はネットワーク攻撃、脆弱性の悪用、マルウェア、その他の動作を自動的に検出および特定し、手動介入や誤検知を減らし、検出の精度と効率を向上させることができます。
現在主流のネットワーク攻撃検知の中核は、DPI 技術をベースに開発された HTTP アクセス検知 (WAF) と、オペレーティング システムの侵入防御検知 (IPS) です。つまり、アプリケーションの前に展開され、ユーザーリクエストがサーバーに到達する前にスキャンおよびフィルタリングされ、各ユーザーがリクエストしたネットワークパケットを分析および検証し、各リクエストの安全性と有効性を確保し、無効または攻撃的なリクエストを傍受または傍受します。分離。現在、一般的に使用されている攻撃検出方法は次のとおりです:
特定のルールまたはパターンに基づいて、ウイルスや悪意のあるコードなどのネットワーク トラフィック内の脅威を検出します (通常のソフトウェア、侵入などの表現)ただし、攻撃方法が多様であるため、経験豊富なハッカーは、一部のステートメントを変更することで検出を回避できます。正規表現はキーワードから開発されますが、誤検知率はある程度低減されますが、正規表現は文字列フィルタリングに基づいているため、事前に定義された攻撃動作のみを検出できます。より複雑なインジェクションの場合、この方法には誤検出が多いという問題もありますマイナス率。
類似トラフィックの送信元IP、プロトコルタイプの割合、トラフィックの増減傾向などの基本要素をモデリング・分析することで、一部の異常事象の分析結果を導き出します。取得できる。ただし、トラフィック分析ではネットワーク トラフィックをキャプチャして分析する必要があるため、多くのコンピューティング リソースとストレージ リソースが必要となり、システム全体が比較的大規模になります。
ネットワークトラフィックの挙動を監視し、異常動作を検知します。たとえば、Web アプリケーション サーバーによるビジネス以外のデータベースへのアクセス、大規模なデータ フローのバースト、頻繁なアクセス試行などが検出され、潜在的なネットワーク脅威が検出されます。このプロセスでは、一部の正当なアクティビティ (一時ダウンロードなど) が誤って報告され、成熟した動作分析モデルはトレーニングと学習に長い時間がかかるため、保護効率が低い可能性があります。
SQL セマンティック インタープリターまたはコマンド ライン ターミナルとして検出エンジンを設計し、ユーザーが入力したコンテンツを理解して、それがセキュリティを構成するかどうかを判断します。攻撃。現時点では主に SQL インジェクションを対象としており、使用シナリオは限られています。
DPI エンジン ベースの検出方法に基づくこれらの使用制限に加えて、侵入のためにトラフィック解析エンジンをバイパスする方法も複数あります。たとえば、DPI エンジンに存在する可能性のある HTTP プロトコル解析の欠陥を利用して、ポート 80 のみを HTTP トラフィックとして認識します。Web アプリケーションのポートが 8080 にある場合、その HTTP トラフィックは DPI エンジンによって非 HTTP として解析されます。これにより、アプリケーション層の攻撃検出をバイパスします。
DPI エンジンのアンパック プロセスに従って、元のトラフィックをキー フィールド データに解析し、ルール マッチングを実行します。ルールに一致する場合は、パケットに攻撃動作が含まれていることを意味し、一致できない場合は、パケットのリスクが低いことを意味します。 DPI エンジンによって受信されるトラフィックは次のとおりです:
DPI エンジンはセッションに従ってトラフィックをグループ化します。同じグループ内のメッセージは通常、同じ 5 タプルです。要求応答メッセージ:
#DPI エンジンは、すべてのフィールドが解析されるまで、プロトコル レベルに従ってトラフィックを逆アセンブルします。
DPI エンジンは、アプリケーション層の平文リクエストを検出対象のコンテンツとして抽出します:
ChatGPT大規模な自然言語処理モデルは元の HTTP メッセージ情報を理解できるため、攻撃が URL、Cookie、またはリファラーに現れても、それを正常に検出できます。
ChatGPT、New Bing、およびその他の攻撃判定モジュールは、OpenAI 関連の API インターフェイスを呼び出し、質問を使用して ChatGPT、New Bing などに次のことを許可します。攻撃判定の概略コードは次のとおりです。
import openai openai.api_key = "sk-Bew1dsFo3YXoY2***********81AkBHmY48ijxu"# api token 用来认证 def get_answer(prompt, max_tokens): # 定义一个获取答案的函数 try: response = openai.Completion.create( model = "text-davinci-003", # 模型名称 prompt = prompt,# 问题 temperature = 0.7, max_tokens = max_tokens,# 返回内容的长度限制 stream = False, # False就是一次性返回, True 就是一个个打出来像打字机, 返回的是迭代器, 需要后面代码处理. 此处没有处理 所以用False top_p = 1, frequency_penalty = 0, presence_penalty = 0 ) return 0, response['choices'][0]['text'].strip()# 获取返回值关键返回内容 except Exception as e:# 异常处理 return str(e), None
上記の関数により、以下に示すように、ChatGPT (使用されるモデルは text-davinci-003) に質問するのと同様の効果を実現できます。
##ChatGPT は、攻撃動作の有無に関する明確な結論と動作の説明を返し、攻撃判定を完了します。 上図のように、トラフィックの中で判定が必要なリクエストを大量に別ファイルに格納し、ChatGPTで攻撃判定を行うことができます。サンプルコードは以下のとおりです。
def main(read_dir = 'detect'):# 定义main函数 args = []# 缓存列表 global sign_req, all_req# 识别计数 for rf in walk_dir(read_dir, ['.txt']):# 遍历待检测目录 all_req += 1# 总数据包数自增1 content = read_fileA(rf, 'str')[:2048]# 提取报文文件前2048个字符 key_content = content.split('rnrnrn')[0][:1024]# 提取http请求 if len(key_content) < 10: continue# 如果长度太小就不检测 err, sign, disc = judge_attack(key_content, rf_rst)# 调用ChatGPT接口进行攻击检测 if sign: sign_req += 1# 如果检测到攻击, 攻击计数自增1 print('r' + f' 已检测 {all_req: 4} 个报文, 识别到攻击 {sign_req} 个, 检出率: {sign_req/all_req:0.2%}', end='', flush=True) # 打印结论このようにして、バッチパケット攻撃の検出を実現できます。 攻撃サンプルは、Nuclei によるターゲット マシンのスキャンと完全な PoC 検出から得たものです。これは、一部のリクエストでは単一のメッセージから脅威があるかどうかを判断できないためです。 上記の状況は、判断するためにより多くのコンテキストが必要になる可能性があります。今回は、そのような正確に判断できないリクエストの例を削除し、正確に判断できるいくつかの例を示します。 ChatGPT のトラフィック検出の精度は非常に高く、基本的にセキュリティと同等であることがわかります。専門家の迅速な判断とセキュリティ検出機能は待つ価値があります。 興味のある読者は、完全なプロジェクトのソース コードを参照できます。リンクは次のとおりです: https://github.com/VitoYane/PcapSplit
#将来の見通し
セキュリティ専門家は、ネットワーク攻撃で最初に ChatGPT を使用するのは国家の支援を受けたハッカーであり、最終的にはこのテクノロジーがより多くの攻撃組織によって大規模に使用されるだろうと予測しています。攻撃されたシステム。
ネットワーク セキュリティ保護の観点から、企業組織は的を絞った対策を講じ、ChatGPT やその他の同様のモデルをトレーニングし、悪意のあるアクティビティや悪意のあるコードをマークし、バイパスが困難なガードレールを設定できます。 ChatGPT によって引き起こされる脅威については、従業員に新しいサイバー意識向上トレーニングを提供し、ChatGPT などの人工知能ツールによって作成されたフィッシング攻撃を特定するためにソーシャル エンジニアリング攻撃を特定するための知識を得ることができます。
もちろん、これだけでは十分ではありません。 ChatGPT などの人工知能ツールは、人間の犯罪者よりも早く新たな脅威を生み出し、サイバーセキュリティ担当者が対応するよりも早く脅威を拡散します。組織がこの変化のスピードに追いつく唯一の方法は、AI で AI に対応することです。
要約: サイバーセキュリティ業界の研究者、専門家、学術機関、企業組織は、ChatGPT の力を活用して、脆弱性の発見、インシデント対応、フィッシング検出などの革新と共同作業を行うことができます。一方では、ChatGPT などのツールの開発により、将来的には新しいネットワーク セキュリティ ツールを開発することがより重要になります。セキュリティ ベンダーは、AI が生成する攻撃を検出するために、(ルール ベースではなく) 動作ベースの AI セキュリティ ツールの開発と導入にもっと積極的に取り組む必要があります。
以上がChatGPT を使用してセキュリティ検出のインテリジェンス レベルを向上させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。