??中文|英語|文档/Wiki | ❓提问/問題|讨论/ディスカッション
安全 / 审计 / 便捷
ハグフェイスダウンロード
AutoAudit-7B、このバージョンは Alpaca-Lora に基づいてトレーニングされたデモ バージョンです。ネットワーク セキュリティの分野で見事なパフォーマンスを発揮し、英語で満足のいく応答を返します。ただし、現時点では文脈の理解が不足しており、この制限に対処するにはより大規模なパラメーター モデルが必要です。
AutoAudit-8B-Instruct、このバージョンは Llama3-8B-instruct に基づいて微調整されており、サイバーセキュリティ関連のクエリに応答するパフォーマンスが大幅に向上しています。このモデルの基本機能も、AutoAudit-7B と比較して大幅に強化されています。
AutoAudit-Qwen は、中国のサイバーセキュリティ コーパスの利用が限られているため、このモデルはまだ調査と計画の段階にあります。
さらに多くの LLM が近々登場します
このプロジェクトでは、ドメインの複雑さと堅牢な防御メカニズムに対する重要なニーズを原動力として、サイバーセキュリティにおける大規模言語モデル (LLM) の適用を検討します。サイバーセキュリティには、オペレーティング システム、ネットワーク プロトコル、マルウェア分析、脅威検出などのさまざまな分野が含まれます。サイバー脅威が巧妙化して規模が拡大するにつれ、LLM は高度な言語処理機能を通じて脅威の検出、分析、対応を強化する有望な手段となります。 LLM は、膨大な量のデータを解釈、生成、合成する能力により、複雑なサイバーセキュリティの課題に対処するための革新的なツールとして位置付けられています。
従来の方法と比較して、LLM は絶えず変化する脅威の状況に適応するように微調整でき、クロスドメインの知識のつながりと実用的な緊急対応を提供します。また、反復的な分析タスクを自動化し、複数のソースからのデータを統合し、微妙な脅威を捉えるリスク評価を生成することで、セキュリティ システムの適応性と回復力を向上させることができます。したがって、LLM はサイバーセキュリティ防御フレームワークを強化し、専門家に強化されたサポートを提供し、より包括的で柔軟な保護を可能にする上で重要な役割を果たします。
インタラクティブな利便性と実用的なセキュリティ監査シナリオに対応するために、AutoAudit モデルを ClamAV と組み合わせて、セキュリティ スキャン プラットフォーム (Bootstrap テンプレートからインスピレーションを得たフロントエンド) を作成しました。 AutoAudit モデルを直接ダウンロードしたい場合は、HuggingFace にアクセスして重みを取得できます。
このリポジトリのコンテンツをローカルまたはリモート サーバーにダウンロードします。
git clone [email protected]:ddzipp/AutoAudit.git
cd AutoAudit
Conda 環境を作成します。
conda create --name AutoAudit python=3.8
conda activate AutoAudit
依存関係をインストールします。
pip install -r requirements.txt
ClamAV をインストールし、環境パスに ClamAV を追加します。
サンドボックスでラマ モデルと Lora ウェイトのパスを設定します。
sandbox/yahma/llama-7b-hf
sandbox/lilBuffaloEirc/autoaudit_20230703_attempt2
次のコマンドを実行してプロジェクトを開始します。
python manage.py runserver
人間によるアノテーションと自己生成データを組み合わせた Self-Instruct データセット編成手法を採用しました。データセットは主に、Github、Kaggle、セキュリティ Web サイト、および公開されているセキュリティ脆弱性データセットから入手しています。その後、クレンジングとデータ拡張を行って対話データを構築します。データセットは、Alpaca モデル データセット形式で厳密に編成されており、命令、入力、出力の 3 つの部分に分かれています。出力では、分析に詳細情報 (分析)、セキュリティ評価 (ラベル)、セキュリティ リスク (リスク)、および対応するソリューション (ソリューション) を含める必要があることを指定します。データセットの詳細情報 (形式や構成を含む) については、「AutoAudit トレーニング データ」を参照してください。以下にいくつかの例を示します。
質問 | 答え | 主題 |
---|---|---|
このステートメントにセキュリティ上の脆弱性があるかどうかを評価してください:「または pg_sleep ( TIME ) --」 | 1. 分析: SQL ステートメントは、「pg_sleep」関数を使用してスリープ コマンドを挿入することで SQL インジェクションを試行しているようです。n 2. ラベル: 高n 3. リスク: 指定された SQL ステートメントは SQL インジェクションのリスクが高くなります。 「pg_sleep」関数を利用して、時間ベースのブラインド SQL インジェクション攻撃を試みます。n 4. 解決策: SQL インジェクション攻撃を防ぐために、適切な入力検証とパラメータ化を実装します。 | SQL分析 |
この Python コード スニペットがセキュリティ リスクを引き起こすかどうかを分析してください:"importソケットnimport jsonnimport osnimport subprocessnimportbase64nnclass Backdoor:n def init (self, ip, port):n self.connection =ソケット.ソケット(ソケット.AF_INET, ソケット.SOCK_STREAM)n self.connection.connect((ip, port))" | 1. 分析: Python コード スニペットは、初期化メソッド ' init ' を使用して 'Backdoor' という名前のクラスを定義します。このクラスは、指定された IP アドレスとポートへのソケット接続を設定します。n 2. ラベル: 低n 3. リスク: 指定された Python コード スニペットのセキュリティ リスクは低です。これは主に、一般的なネットワーク操作であるソケット接続を確立します。ただし、実際のセキュリティ リスクは、クラスの実装の詳細とその使用法によって異なります。n 4. 解決策: 「Backdoor」クラスとその使用法に、適切な入力検証、安全な通信プロトコルなどの適切なセキュリティ対策が講じられていることを確認します。 、アクセス制御、およびエラー処理により、潜在的なセキュリティ リスクを軽減します。 | Python コード分析 |
証明書失効リスト (CRL) の目的は何ですか? | 証明書失効リスト (CRL) の目的は、予定された有効期限よりも前に発行認証局 (CA) によって失効されたデジタル証明書を一覧表示し、信頼できないことを示すことです。 | セキュリティ知識Q&A |
現在のモデルのトレーニングに使用されるデータセットの構成とそれらの対応する割合は次のとおりです。
自動データセット生成のプロセスを簡素化するために、サイバーセキュリティ QA データセットの生成専用の GPT ストアの GPT も更新しました。生成結果は次のとおりです。
私の友人のエリック・マーに感謝したいと思います。彼と協力してこのプロジェクトを継続的に改善していくことは、最も有意義な経験の 1 つです。また、CUHKSZ He Lab にも感謝の意を表したいと思います。そこで私は多くのことを学び、さらなる改善に向けた方向性を固めることができました。最後に、オープンソース コミュニティのメンバー全員に感謝の意を表します。ご支援とご協力に感謝いたします。プロジェクトの開発に全力を尽くしますので、気に入っていただければ幸いです。