https://www.splunk.com
  • Splunkサイト
    • Splunk Answers
    • ブログ
    • Community
    • .conf
    • Developers
    • Documentation
    • Splunk.com
    • Splunkbase
    • サポート
    • トレーニング
    • User Groups
    • ビデオ
https://www.splunk.com
  • ブログ
  • カテゴリー
    カテゴリー
    • .conf & .conf Go
    • お客様 & コミュニティ
    • DevOps
    • 業種・業界
    • IT
    • 経営陣
    • Learn
    • パートナー
    • データプラットフォーム
    • セキュリティ
    • Splunk for Good
    • Splunk Life
    • Tips
    Category Spot Image
    電子書籍
    外形監視のベストプラクティス Synthetic Monitoringの紹介

    Webサイトのパフォーマンスが広告収入、ユーザーエンゲージメント、SEOランキングに与える影響、外形監視を使ったソリューションを紹介

    詳細はこちら
  • ライター
    ライター
    • Splunk
    • Guest
    • Huaibo Zhao
    • 臼杵 真矢
    • 江藤 愛
    • 大谷 和紀
    • 大森 明央
    • 岡 大
    • 甲斐 逸郎
    • 加藤 教克
    • 肥垣津 雄日
    • 近藤 洋平
    • 塚本 政彦
    • 長島 広隆
    • 仲間 力
    • 野村 健
    • 福澤 公之
    • 藤盛 秀憲
    • 松本 志恆
    • 村田 達宣
    • 矢崎 誠二
    • 山内 一洋
    • 山村 悟史
    • 横田 聡
    • Gary Steele
    • Spiros Xanthos
    • Garth Fort
    • Simon Davies
    • Ryan Kovar
    • Jane Wong
    • ライター一覧
    Author Spot Image
    電子書籍
    SIEM導入ガイド

    適切なSIEMソリューションがどのように役立つかを解説した最新版

    電子書籍を読む
  • メール配信
  • 無料トライアル
https://www.splunk.com 無料トライアル
ブログ
カテゴリー
  • .conf & .conf Go
  • お客様 & コミュニティ
  • DevOps
  • 業種・業界
  • IT
  • 経営陣
  • Learn
  • パートナー
  • データプラットフォーム
  • セキュリティ
  • Splunk for Good
  • Splunk Life
  • Tips
ライター
  • Splunk
  • Guest
  • Huaibo Zhao
  • 臼杵 真矢
  • 江藤 愛
  • 大谷 和紀
  • 大森 明央
  • 岡 大
  • 甲斐 逸郎
  • 加藤 教克
  • 肥垣津 雄日
  • 近藤 洋平
  • 塚本 政彦
  • 長島 広隆
  • 仲間 力
  • 野村 健
  • 福澤 公之
  • 藤盛 秀憲
  • 松本 志恆
  • 村田 達宣
  • 矢崎 誠二
  • 山内 一洋
  • 山村 悟史
  • 横田 聡
  • Gary Steele
  • Spiros Xanthos
  • Garth Fort
  • Simon Davies
  • Ryan Kovar
  • Jane Wong
  • ライター一覧
メール配信
Splunkサイト
  • Splunk Answers
  • ブログ
  • Community
  • .conf
  • Developers
  • Documentation
  • Splunk.com
  • Splunkbase
  • サポート
  • トレーニング
  • User Groups
  • ビデオ
SECURITY

Deep Learning in Security:BERTモデルを用いたテキストベースのフィッシングメール検知

Share:

フィッシングメールとは?

Phishing(フィッシング)メールとは、受信者を欺き、ログイン資格情報、金融情報、個人データなどの機密情報を明かさせるように仕組まれた詐欺的または悪意のあるメールです。フィッシングメールの内容は通常、受信者を操作する可能性が高いさまざまなソーシャルエンジニアリングの手法を利用しており、個人や企業の情報セキュリティに重大な損害をもたらす可能性があります。そのため、セキュリティセクターにおいてフィッシングメールの検知を実装することは非常に重要です。

テキストに基づくフィッシング検知

過去において、フィッシング検知アルゴリズムは、不審なメールを検知するために固定なルールやパターンに依存していました。例えば、送信者の設定をブラックリストと照合したり、URLを検証したり、スペルミスや文法エラー、特定のキーワードなどのテキスト的な特徴を分析することが挙げられます。

しかし、フィッシング攻撃がますます洗練される中で、これらのアルゴリズムが進化し、実際のテキスト内容を理解しながらセマンティックな構造を活用することが重要になってきました。メッセージそのものに焦点を当てることで、フィッシング検知システムは新たな手法に迅速に適応し、新興の脅威を効率的に検知し、偽陽性を大幅に削減することが可能となります。これにより、組織や個人をサイバー脅威から保護するための不可欠なツールとなっています。

BERTに基づいた検知モデル

このプロジェクトでは、自然言語処理(NLP)で広く使用されているニューラルネットワークアーキテクチャであるBERTモデル(Bidirectional Encoder Representations from Transformers)を使用して、フィッシングメール検知モデルを構築しました。BERTは大規模コーパスで事前にトレーニングされており、自然言語の高レベルな表現を学習し、テキスト分類などの下流のタスクに対して簡単にFine-tuningできるようになっています。

下の図に示されたように、BERTモデルは12個のTransformerブロックで構成されています。各ブロックにはself-attention機構を使用して、文章中の単語間の複雑な双方向の依存関係をモデル化し、ローカルおよびグローバルな文脈を捉えます。

BERTモデルの構成

私たちは、テキスト分類タスク向けの公開ベンチマークから取得した181,781件のメールテキスト発話から成るデータセットを使用して、BERTモデルのFine-tuningを行いました。Fine-tuningでは、上記の図に示されているように、上位3つのTransformer層と線形層を20エポックの間更新し、検証損失が最も低いモデルを選択しました。

Fine-tuningされたモデルの実世界での性能を評価するために、別の情報源から取得したデータセット(32,681件のメールテキスト発話)を使用してテストしました。BERTベースのフィッシング検知モデルは、F1スコア0.99、真陽性率(True Positive)99.06%、真陰性率(True Negative)98.5%を達成しました。また、DistilBERT、LSTM、SVM、Random Forest、Logistic Regressionといった他のディープラーニングモデルや伝統的な機械学習アルゴリズムとBERTモデルを比較しました。さらに、メールのテキストデータだけでなく、通常の手法でよく使われるリンクやドメイン名などの他の特徴データも使用して実験を行いました。

以下の図に実験結果をプロットしました。BERTモデルは、すべての機械学習アルゴリズムを大きく上回り、深層学習モデルの中で最も優れたパフォーマンスを示しました。補助的な入力特徴の使用はBERTモデルのパフォーマンスに影響を与えませんでした。これは、BERTモデルにテキストのみを入力として使用することの適切性を示しています。

他のディープラーニングモデルや機械学習アルゴリズムとの比較結果

実環境に使ってみた

最新版のSplunk App for Data Science and Deep Learning(DSDL)にTransformersライブラリを統合することで、フィッシングメール検知モデルの展開が簡単にできています。

フィッシングメール検知モデルは、以下の手順でSplunk DSDLを介して展開できます:

  1. Splunk DSDLで、mltk-container-transformers-cpuまたはmltk-container-transformers-gpuが実行されていることを確認してください。
  2. モデルのチェックポイントをHuggingfaceインターフェースからダウンロードするか、またはwgetコマンドを使用してダウンロードしてください。
    wget https://huggingface.co/Huaibo/phishing_bert/resolve/main/pytorch_model.pt
    
  3. JupyterLabのインターフェースを使用して、コンテナ内にフォルダ /srv/app/model/data/classification/en/bert_phishing を作成し、ダウンロードしたモデルファイルをこのフォルダにアップロードしてください。
  4. 入力のメールテキストをフィールド"text" に配置し、以下のSPLコマンドでモデル推論を行います:
    | fit MLTKContainer algo=bert_phishing text from text into app:bert_phishing as prediction
    

次のスクリーンショットは、メールテキストの入力を使用して、Splunk Search & Reporting appでモデルのパフォーマンスを示しています。ラベルフィールドは、メールがフィッシングかどうかを示しており、モデルの出力はpredictionフィールドに表示されます。モデルはすべての入力サンプルを正しくラベル付けし、フィッシングメールの検知におけるその効果を示しています。

Splunk Search & Reporting appでのモデルのパフォーマンス

実世界の応用では、さまざまな形式のメールテキストデータを含むことがよくありますので、モデルが高い頑健性を持つことが重要です。そのため、ウェブスクレイピングされたデータを使用してモデルの性能をさらに評価しました。以下のスクリーンショットにあるデータセットにはランダムなトークンや文字の繰り返しが含まれており、ノイズが多く構造化されていない入力が多くあります。このような追加の複雑さにもかかわらず、モデルは正確にサンプルをラベル付けすることでその頑健性を示し、多様な入力テキストを処理する能力を見せました。

ウェブスクレイピングされたデータを使用したモデルのパフォーマンス

まとめ

このプロジェクトでは、BERTモデルをベースとした高度なフィッシングメール検知モデルを開発しました。大規模なデータセットでのFine-tuningにより、他のテキストベースの手法を上回るパフォーマンスが得られました。また、Splunk DSDLを介したモデルの展開にも成功し、この機能は次回リリースで正式にサポートされる予定です。

Note: このプロジェクトはSplunk Machine Learning for Security team (SMLS)との共同で実施されました。

September 07, 2023
Huaibo Zhao
Posted by

Huaibo Zhao

日本GSSチームにはField Engineering Internとして所属している。2022年7月以降、Splunk DSDLアプリにおける大規模言語モデル(LLM)の統合に取り組んで、深層学習に基づくソリューションの構築に着手している。さらに、早稲田大学大学院に在籍し、自動音声認識の研究を行って、国際学会での複数の発表も行っている。

Related Posts

SPLUNK ON TWITTER
  • @Splunk
  • @splunkanswers
  • @SplunkforGood
  • @SplunkDocs
  • @splunkdev
  • @splunkgov
SPLUNK ON FACEBOOK
  • @Facebook
SPLUNK ON INSTAGRAM
  • Follow us on Instagram
SPLUNK ON LINKEDIN
  • Follow us on LinkedIn
SPLUNK ON YOUTUBE
  • Subscribe to our Channel
SPLUNK ON SLIDESHARE
  • Follow us on SlideShare
Splunk製品
  • Splunk Cloud Platform
  • Splunk Enterprise
  • Splunk IT Service Intelligence
  • Splunk On-Call
  • Splunk Enterprise Security
  • Splunk SOAR
  • Splunk Infrastructure Monitoring
  • Splunk APM
ソリューション
  • オブザーバビリティ
  • セキュリティ
  • プラットフォーム
お客様事例
リソース
  • E-book
  • アナリストレポート
  • ホワイトペーパー
  • ウェビナー
  • ビデオ
お問い合わせ
  • サポート
  • 営業へのお問い合わせ
Splunk Sites
  • Splunk Answers
  • 日本語ブログ
  • Community
  • .conf
  • Developers
  • Documentation
  • Splunkbase
  • SplunkLive!
  • T-shirt Store
  • トレーニング
  • User Groups
Splunk
Sitemap | Privacy
© 2005-2023 Splunk Inc. All rights reserved.
Splunk、Splunk>およびTurn Data Into Doingは、米国およびその他の国におけるSplunk Inc.の商標または登録商標です。他のすべてのブランド名、製品名、または商標は、それぞれの所有者に帰属します。