🚀 CyNER 2.0: サイバーセキュリティ向けのドメイン固有の固有表現認識モデル
CyNER 2.0は、サイバーセキュリティドメイン向けに特別に設計された固有表現認識(NER)モデルです。このモデルは、DeBERTaトランスフォーマーモデルをベースに構築され、インジケータ、マルウェア、組織、システム、脆弱性などのサイバーセキュリティ関連のエンティティを認識するためにファインチューニングされています。
✨ 主な機能
- モデルアーキテクチャ:DeBERTa(Decoding-enhanced BERT with disentangled attention)V3 base
- 主な使用ケース:サイバーセキュリティエンティティの固有表現認識(NER)
- 性能指標:拡張データセットで91.88%のF1スコアを達成
- 学習データ:元のCyNERデータセットと、様々なオープンソースのサイバーセキュリティプラットフォームからの拡張データセットでファインチューニング
プロパティ |
詳細 |
データセット |
PranavaKailash/CyNER2.0_augmented_dataset |
言語 |
en |
ライブラリ名 |
transformers |
ライセンス |
mit |
タグ |
CyNER、CyberSecurity、NLP、NER |
📦 インストール
CyNER 2.0モデルを使用するには、まずHugging Faceからtransformers
ライブラリをインストールします。
pip install transformers
💻 使用例
基本的な使用法
from transformers import AutoModelForTokenClassification, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("PranavaKailash/CyNER-2.0-DeBERTa-v3-base")
model = AutoModelForTokenClassification.from_pretrained("PranavaKailash/CyNER-2.0-DeBERTa-v3-base")
高度な使用法
from transformers import pipeline
ner_pipeline = pipeline("ner", model=model, tokenizer=tokenizer)
text = "A recent attack by WannaCry ransomware caused significant damage to Windows systems."
entities = ner_pipeline(text)
print(entities)
出力
[
{"entity": "B-Malware", "score": 0.99, "index": 5, "word": "WannaCry", "start": 19, "end": 28},
{"entity": "B-System", "score": 0.98, "index": 10, "word": "Windows", "start": 54, "end": 61}
]
🔧 技術詳細
データセット
このモデルは2つのデータセットで学習されました。
- 元のCyNERデータセット:サイバーセキュリティドメインの基本的なエンティティに焦点を当てたもの
- 拡張データセット:新しいエンティティタイプと追加の実世界のサイバーセキュリティ脅威で拡張されたもの
ハイパーパラメータ
- 学習率:2e-5
- エポック数:3
- バッチサイズ:8
- 重み減衰:0.01
評価
- 適合率:91.06%
- 再現率:92.72%
- F1スコア:91.88%
GitHubリポジトリ
ここにリポジトリのリンク
📚 詳細ドキュメント
想定される使用方法
CyNER 2.0モデルは、サイバーセキュリティアナリストが非構造化または構造化されたサイバーセキュリティレポートから関連するエンティティを自動的に抽出するのを支援するように設計されています。脅威インテリジェンス、自動レポート生成などのツールやアプリケーションに統合することができます。
認識されるエンティティの例
CyNER 2.0モデルは、サイバーセキュリティ関連のテキストで以下のエンティティを認識するように学習されています。
- インジケータ:IPアドレス、ファイルハッシュ、URLなどの攻撃指標(IoC)を識別
- マルウェア:マルウェア、ランサムウェア、またはその他の悪意のあるソフトウェアの名前(例:WannaCry、DroidRAT)
- 組織:サイバーセキュリティに関与する組織またはサイバー脅威の標的となる組織の名前を認識(例:Microsoft、FBI)
- システム:サイバーセキュリティインシデントに関与するオペレーティングシステム、ソフトウェア、ハードウェアを識別(例:Windows 10、Linux Kernel)
- 脆弱性:特定の脆弱性への参照を抽出(例:CVE-2023-XXXX)
- 日付:サイバーセキュリティイベントまたはインシデントに関連する日付を認識
- 場所:サイバーセキュリティイベントに関連する地理的な場所を識別
- 脅威グループ:サイバー攻撃に関与する脅威グループまたはアクターの名前を認識
これらのエンティティにより、モデルはサイバーセキュリティアナリストに包括的かつ正確な情報を提供することができます。
制限事項
- エンティティの不均衡:モデルは、脆弱性などの頻度の低いエンティティでは性能が低下する可能性があります。
- ドメイン固有性:モデルはサイバーセキュリティドメインに特化して調整されており、他のNERタスクには汎化しにくい可能性があります。
引用
このモデルを研究で使用する場合は、以下の論文を引用してください。
@misc{yet_to_update,
title={CyNER 2.0: A Name Entity Recognition Model for Cyber Security},
author={Pranava Kailash},
year={2024},
url={Yet to update}
}
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。