アップデート一覧に戻る
New releaseJul 27, 2026

SentryPeer v4.0.5

分散型SIPハニーポットで、VoIP攻撃に関する不正データを検出・共有します。ピアツーピアネットワークを介して悪意のあるアクターのIPアドレスと電話番号を収集し、REST APIおよびWebHook統合によりリアルタイムの脅威インテリジェンスを提供します。

共有

SIPサーバーを悪意のある攻撃者から保護する

SentryPeer ロゴ

Stability: Active GitHub release (latest SemVer) Docker Hub Coverity Scan Build Status Build and Test CodeQL Clang Static Analysis Coverity Scan Build Status CII Best Practices gitleaks

2024年にスポンサーいただいたDeutsche Telekom Security GmbHに特別な感謝を申し上げます。

ぜひスターを付けていただき、Twitterでフォローしてください!

目次

はじめに

SentryPeer® は不正検知ツールです。悪意のある攻撃者に電話をかけさせ、その発信元 IP アドレスと かけようとした電話番号を保存します。これらの詳細は、サービスプロバイダーのネットワークで通知を発するために使用でき、 次にユーザー/顧客が収集された番号に電話をかけようとしたときに、好きなように対応できます。

例えば:

あなたが自社サイトで独自の VoIP PBX を運用しているとします。この状況で SentryPeer が可能にするのは、 ユーザーが発信通話を行う際に(RESTful API を使用して)電話番号のリストを参照することです。ヒットした場合、 ネットワーク内のデバイスが、以下のいずれかである既知のプロービング電話番号に電話をかけようとしている可能性があるという 警告を受け取ります:

  1. 自分で運用しているSentryPeerノードが収集した番号
  2. ピアツーピアネットワーク経由で自分のノードに複製された、他のSentryPeerノードが確認した番号

これにより、高額な通話が積み上がったり、さらに悪い事態が発生する前に、監視システムから通知を生成できるようになります。

どのようなシナリオがこれにつながるのでしょうか?

  1. ボイスメール詐欺の可能性。これは、着信番号(あなたのDID/DDI)への通話をボイスメールシステムに接続し、その後PINの入力を求める場合に発生する可能性があります。このPINが脆弱で、ボイスメールシステムが「*」を押すことでボイスメールを残した発信者IDに折り返し発信できる場合です。攻撃者はボイスメールを残し、その後あなたのPINを推測して折り返し発信します。CLIはSentryPeerが確認済みの既知の番号です。これに対してアラートを出すことができます。
  2. デバイスが乗っ取られている、および/またはソフトフォンなどが電話機のGUIから盗み取った認証情報を使用して、あなたのシステムに登録し、SentryPeerが確認した番号へ発信しようとしている場合。
  3. 無実のユーザーが、SentryPeerが以前に確認したフィッシング番号や既知の高額番号などに発信している場合。

従来、このデータは中央の場所に送信されるため、収集したデータを自分で所有することはできません。このプロジェクトは、そのデータをピアツーピアで共有することに全力を注いでいます。データを所有するユーザーと、データに関連する各種サービスプロバイダー/ネットワークプロバイダーのフィードが、私にとって重要な点です。データを保持して販売する世の中のあらゆるサービスにはうんざりしています。自分で収集したデータなら、それを保持するか、および/またはp2p方式で他のSentryPeerコミュニティメンバーと共有することにオプトインするかを選べるべきです。

概要

SentryPeerノード

ここでは、Mermaidシーケンス図を使用して、SentryPeerノードからSentryPeerHQへのデータの流れを示しています。

sequenceDiagram
    actor A as Attacker
    participant S as SentryPeer Node
    participant DS as Data Store
    participant W as WebHook <br/>Endpoint
    Note over DS: sqlite/json log/syslog <br/>(if enabled)
    Note over W: if enabled
    A->>S: SIP probe OPTIONS/REGISTER/etc
    S->>DS: Save event
    S->>W: Send event
    W->>S: 200 OK
    S->>A: 200 OK
    A->>S: INVITE sip:00046500729221@

SentryPeerノードからSentryPeerHQへ

sequenceDiagram
    actor A as Attacker
    participant S as SentryPeer Node
    participant DS as Data Store
    participant HQ as SentryPeerHQ
    Note over DS: sqlite/json log/syslog (if enabled)
    Note over HQ: OAuth2 creds required.<br/> if using https://sentrypeer.com
    A->>S: SIP probe OPTIONS/REGISTER/etc
    S->>DS: Save event
    S->>HQ: Send event
    HQ->>S: 201 Created
    S->>A: 200 OK
    A->>S: INVITE sip:00046500729221@

SentryPeer Node と SentryPeerHQ API の使用

sequenceDiagram
    Actor U as User
    participant S as SentryPeer Node/HQ API
    Note over S: if enabled
    U->>S: GET /numbers
    S->>U: 200 OK Return all Phone numbers seen in database

独自のシステムとの統合

sequenceDiagram
    participant D as Device
    participant P as PBX/ITSP/Carrier
    participant HQ as SentryPeer Node/HQ API
    participant N as NOC
    Note over P: Integration with <br/>SentryPeer needed
    Note over N: Consumes alerts
    Note over HQ: OAuth2 creds required<br/> if using SentryPeerHQ
    Note over P,HQ: API rate limiting if using SentryPeerHQ
    D->>P: SIP INVITE
    P->>HQ: Have you seen attackers call this number?
    HQ->>P: Yes, this has been seen on SentryPeer Nodes
    HQ->>N: WebHook/Email/Slack
    Note over HQ,N: Only if using SentryPeerHQ
    P->>D: I'm blocking this call. Sorry

🚧 機能

カテゴリ