Retour aux mises à jour
New releaseJul 27, 2026

SentryPeer v4.0.5

Pot de miel SIP distribué qui détecte et partage les données de fraude sur les attaques VoIP. Collecte les IP des acteurs malveillants et les numéros de téléphone via un réseau peer-to-peer, avec intégration REST API et WebHook pour une intelligence des menaces en temps réel.

Partager

Protégez vos serveurs SIP contre les acteurs malveillants

SentryPeer Logo

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

Un grand merci à Deutsche Telekom Security GmbH pour son parrainage en 2024.

Pourquoi ne pas nous donner une étoile et nous suivre sur Twitter !

Table des matières

Introduction

SentryPeer® est un outil de détection de fraude. Il laisse les acteurs malveillants tenter de passer des appels téléphoniques et enregistre l'adresse IP d'origine ainsi que le numéro qu'ils ont tenté d'appeler. Ces détails peuvent ensuite être utilisés pour déclencher des notifications sur le réseau des fournisseurs de services et, la prochaine fois qu'un utilisateur/client tente d'appeler un numéro collecté, vous pouvez agir comme bon vous semble.

Par exemple :

Supposons que vous exploitiez votre propre PBX VoIP sur site. Ce que SentryPeer vous permettra de faire dans ce contexte, c'est de puiser dans la liste des numéros de téléphone (via l'API RESTful) lorsque vos utilisateurs passent des appels sortants. Si vous obtenez une correspondance, vous serez averti qu'un appareil au sein de votre réseau tente potentiellement d'appeler des numéros de téléphone connus pour être utilisés à des fins de sondage, qui ont soit été :

  1. Numéros collectés par les nœuds SentryPeer que vous exécutez vous-même
  2. Numéros vus par d'autres nœuds SentryPeer qui ont été répliqués sur votre nœud via le réseau pair à pair

Cela vous permettrait de générer une notification depuis vos systèmes de surveillance avant d'accumuler des appels coûteux ou que quelque chose de pire ne se produise.

Qu'est-ce qui pourrait mener à ce scénario ?

  1. Fraude potentielle à la messagerie vocale. Cela peut se produire si vous autorisez l'appel vers un numéro entrant (votre DID/DDI) pour atteindre votre système de messagerie vocale, puis demandez un code PIN. Ce code PIN est faible et le système de messagerie vocale vous permet d'appuyer sur '*' pour rappeler l'identifiant d'appelant qui a laissé un message vocal. L'attaquant a laissé un message vocal, puis devine votre code PIN et le rappelle. Le CLI est un numéro connu que SentryPeer a vu. Vous pouvez déclencher une alerte dessus.
  2. Un appareil a été détourné et/ou un softphone ou similaire utilise les identifiants qu'il a volés via l'interface graphique du téléphone et tente de s'enregistrer sur votre système et de passer des appels vers un numéro vu par SentryPeer.
  3. Un utilisateur innocent appelle un numéro de phishing ou un numéro coûteux connu etc. que SentryPeer a déjà vu auparavant.

Traditionnellement, ces données sont envoyées vers un emplacement central, de sorte que vous ne possédez pas les données que vous avez collectées. Ce projet repose entièrement sur le partage pair à pair de ces données. L'utilisateur qui possède les données et les différents flux de données liés aux fournisseurs de services / fournisseurs de réseau est l'élément clé pour moi. J'en ai assez de tous ces services qui les conservent et les vendent. Si vous les avez collectées, vous devriez avoir le choix de les conserver et/ou de choisir de les partager avec d'autres membres de la communauté SentryPeer via des méthodes p2p.

Vue d'ensemble

Nœud SentryPeer

Ici, nous utilisons les diagrammes de séquence Mermaid pour montrer le flux de données d'un nœud SentryPeer vers 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@

Nœud SentryPeer vers 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@

Utilisation du nœud SentryPeer et de l'API SentryPeerHQ

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

Intégration avec vos propres systèmes

Catégories