Was ist Toll Fraud und wie begrenzt Bird ihn?

Toll Fraud bedeutet, dass ein Angreifer über ein fremdes Telefonsystem Nummern anruft, die ihrem Inhaber Geld einbringen: Bird lehnt diese Nummerntypen grundsätzlich ab, und die Länder-Allowlist begrenzt, was ein gestohlenes Credential noch erreichen kann.

Telefoniebetrug bezahlt den Angreifer in der Regel direkt, ohne Käufer oder Lösegeld dazwischen. Nichts wird gestohlen oder verschlüsselt, daher fehlen die üblichen Anzeichen eines Sicherheitsvorfalls. Der Schaden zeigt sich als Anrufkosten.

Das bestimmt die Verteidigung. Sie können ihn nicht erkennen, indem Sie den Inhalt eines Anrufs auf Auffälligkeiten prüfen. Alle Kontrollen drehen sich darum, wohin Anrufe gehen dürfen, wie viele es sein dürfen und wie viel sie kosten dürfen.

Warum lohnt sich die Absicherung, wenn mein System bereits geschützt ist?

Weil der Wert einer Kompromittierung sofort verfügbar ist und das Zeitfenster kurz.

Ein gestohlenes SIP-Credential oder ein offener Port an einer PBX, der Telefonanlage, die die Anrufe eines Unternehmens vermittelt, zahlt sich sofort bei Nutzung aus. Der Anreiz des Angreifers ist, so viel wie möglich zu telefonieren, bevor es jemandem auffällt. Die Ziele mit der höchsten Auszahlung sind die, die ein normales Unternehmen nie anruft.

Genau das macht eine Allowlist wirksam und nicht nur ordentlich. Die meisten Unternehmen rufen eine kleine und stabile Menge von Ländern an. Ein Angreifer braucht eine bestimmte und andere Menge. Alles, was beide zur Überschneidung zwingt, kostet den Angreifer sein gesamtes Geschäftsmodell.

Wie funktionieren Ziellandkontrollen?

Jedes Land ist entweder für Ihren Workspace aktiviert oder nicht, und Anrufe erreichen nur die, die Sie eingeschaltet haben.

Zwei getrennte Dinge bestimmen, was Sie mit einem Land tun können, und sie zu verwechseln ist die häufigste Fehlerquelle:

  • Verfügbarkeit sagt, ob Sie das Land überhaupt aktivieren können. Available bedeutet, Bird kann von Ihrem Konto aus Anrufe dorthin tätigen. Not supported bedeutet, das ist nicht möglich, und die Wiederherstellung erfordert eine Anfrage an den Support.
  • Ihr Schalter sagt, ob ein verfügbares Land eingeschaltet ist. Die Änderung gilt ab dem Moment, in dem Sie sie vornehmen.

Dass ein Land verfügbar ist, sagt also nichts darüber aus, ob Anrufe es gerade erreichen. Das bestimmt der Schalter, und den bedienen Sie.

Einige Länder tragen eine High-Risk-Markierung, die sowohl ihre Tarife als auch ihre Betrugsanfälligkeit widerspiegelt. Das sind die Ziele, die ein Angreifer erreichen will. Lassen Sie sie deaktiviert, es sei denn, Ihr Unternehmen ruft sie tatsächlich an, und prüfen Sie die Kosten eines Anrufs dorthin, bevor Sie eines aktivieren. Die Seite Voice-Ziele listet jedes Land mit Verfügbarkeit und Aktivierungsstatus, und die Voice-Preise enthalten die Tarife.

Ein aus diesem Grund abgelehnter Anruf wird mit destination_not_enabled abgewiesen. Die Lösung ist, das Land einzuschalten, nicht den Anruf erneut zu versuchen.

Verfügbarkeit gilt für ein Land als Ganzes. Eine bestimmte Nummer innerhalb eines aktivierten Landes kann trotzdem unerreichbar sein. Das wird als no_route_found abgewiesen.

no_route_found deckt mehr als eine Ursache ab. Bird klassifiziert die gewählte Nummer, bevor Ihre Ziellandeinstellungen geprüft werden. Ein Nummerntyp, der nicht geroutet wird, wird abgelehnt. Premiumnummern sind hier entscheidend: Nummern, deren Terminierung den Inhaber bezahlt – genau das, was ein Angreifer wählt. Shared-Cost- und persönliche Nummernbereiche teilen die Gesprächskosten oder leiten an eine andere Leitung weiter. Nicht-geografische Nummern gehören zu keiner Landesvorwahl. Alle drei werden auf die gleiche Weise abgelehnt. Diese Ablehnungen sind beabsichtigt. Sie treffen die Nummern, die ein Angreifer will, weil ein Premiumbereich innerhalb eines von Ihnen aktivierten Landes nie an der Klassifizierung vorbeikommt. Eine tatsächlich unerreichbare Nummer meldet denselben Code – prüfen Sie also den Typ der gewählten Nummer, bevor Sie ein Ticket eröffnen.

Was begrenzt einen Angriff innerhalb eines Landes, das ich zugelassen habe?

Drei Obergrenzen, von denen jede einen Anruf eigenständig ablehnt.

AblehnungsgrundDie erreichte Obergrenze
daily_spend_exceededTägliches Voice-Ausgabenlimit Ihrer Organisation
concurrent_calls_exceededSo viele gleichzeitige Anrufe, wie das Konto zulässt
calls_per_second_exceededNeue Anrufe schneller getätigt, als das Konto zulässt
insufficient_balanceDas Guthaben deckte den Anruf nicht, daher wurde er vorab abgelehnt

Das Ausgabenlimit verhält sich am ehesten wie eine Betrugskontrolle, weil es in der Einheit bemessen ist, die der Angreifer tatsächlich abgreift. Außerdem wird es auf einem anderen Pfad durchgesetzt als die anderen beiden. Es setzt sich zu Beginn des nächsten UTC-Tages zurück, sodass ein Ausbruch, der es trifft, bis dahin eingedämmt ist und nicht nur verlangsamt. Und es ist dasjenige, das erst existiert, wenn Sie es setzen: Eine Organisation ohne konfiguriertes tägliches Voice-Limit hat kein Ausgabenlimit in Kraft.

Die anderen beiden verhalten sich auf zwei Arten, die beeinflussen, wie Sie sich auf sie verlassen können.

Sie werden der Reihe nach geprüft, nicht zusammen. Die Obergrenze für gleichzeitige Anrufe wird zuerst ausgewertet und antwortet sofort, sodass ein Anruf, der beide Obergrenzen überschreitet, concurrent_calls_exceeded meldet und die Wählrate nie erwähnt. Das ist für die Diagnose relevant, nicht für die Abwehr. Ein Kampagnen-Dialer kann calls_per_second_exceeded auslösen, obwohl er weit unter der Gleichzeitigkeits-Obergrenze liegt. Prüfen Sie, welchen Grund Sie tatsächlich erhalten haben, bevor Sie eine Einstellung ändern, denn die Lösungen unterscheiden sich und das Anheben der falschen Obergrenze bringt nichts.

Eine Obergrenze, deren eigene Prüfung nicht abgeschlossen werden kann, lässt den Anruf durch. Wenn der Zähler für gleichzeitige Anrufe oder der Rate Limiter nicht ausgewertet werden kann, wird der Anruf durchgestellt statt abgelehnt. Diese Obergrenzen begrenzen den Normalbetrieb also zuverlässig, sind aber keine Garantie unter allen Bedingungen. Das ist ein weiterer Grund, warum die Zielliste wichtig ist: Sie ist die Ebene, die nicht von einer Live-Abfrage abhängt.

insufficient_balance wirkt als Kontrolle, ohne als solche konzipiert zu sein. Das Guthaben begrenzt, wie viel Schaden eine Kompromittierung anrichten kann. Eine große automatische Aufladung hebt diese Begrenzung auf, womit der Aufladebetrag nicht nur eine Frage des Komforts ist, sondern auch eine Betrugsentscheidung.

Wer kann überhaupt Anrufe an meinen Trunk senden?

Nur die Adressen auf der IP-Allowlist des Trunks, die API-Keys, die er zulässt, und die Session-Credentials, die er ausgestellt hat, können ihm Anrufe senden.

Ein SIP-Trunk entscheidet, wer ihm Anrufe senden darf, und ein Anruf von einer anderen Quelle wird mit source_not_allowed abgelehnt, bevor irgendeine Ziellogik greift. Ausgehende Anrufe werden außerdem gegen Ihre verifizierten Caller-IDs geprüft, sodass ein Anruf mit einer Nummer, die nicht für den Workspace verifiziert ist, mit caller_id_not_verified abgelehnt statt durchgestellt wird.

Beide sollten Sie im gleichen Rhythmus wie Ihre Zielliste prüfen, denn eine zu offene Allowlist macht alles andere zunichte. SIP-Trunks behandelt die IP-Allowlist, API-Key-Authentifizierung und Session-Credentials, und Caller-IDs behandelt die Verifizierung.

Was sollte ich konkret tun?

  1. Aktivieren Sie die Länder, die Sie anrufen, und keine anderen, und behandeln Sie die Liste als etwas, das regelmäßig geprüft werden muss, nicht als einmalige Einstellung. Ein Land, das vor zwei Jahren für eine Kampagne aktiviert wurde, ist ein dauerhaftes Risiko.
  2. Legen Sie das tägliche Ausgabenlimit Ihres Workspace fest, und bemessen Sie es so, dass Sie es bemerken, wenn es greift – nicht so, dass es nie auslöst. Jeder Workspace beginnt mit einem Standardlimit; ändern Sie es unter Voice → Spend limit, bis zum Maximum Ihrer Organisation. Ein Limit, das nie greift, ist keine Kontrolle.
  3. Schränken Sie die Allowlist des Trunks ein, denn alles oben Genannte gilt nur für Anrufe, die so weit gekommen sind.
  4. Achten Sie auf die Ablehnungsgründe selbst. Eine plötzliche Häufung von destination_not_enabled oder calls_per_second_exceeded ist das Bild eines Angriffs, wenn die Kontrollen funktionieren. Das ist kein Rauschen, das Sie aus Ihren Logs filtern sollten – es ist der Alarm.

Voice-Ziele behandelt das Aktivieren und Deaktivieren von Ländern, und das Anrufprotokoll listet jeden Ablehnungsgrund mit seiner Lösung.

Kurz gesagt

  1. Der Angreifer wird vom Ziel bezahlt, nicht von Ihnen.

    Er kompromittiert ein Telefonsystem und wählt Nummern, an denen er verdient – die Kosten landen auf Ihrem Konto, der Gewinn auf seinem.

  2. Länder sind deaktiviert, bis Sie sie einschalten.

    Ein Zielland muss aktiviert sein, bevor Anrufe es erreichen. Der Wirkungsradius einer Kompromittierung ist daher die Liste, die Sie aktiviert haben, nicht die ganze Welt.

  3. Verfügbarkeit und Ihr Schalter sind zwei verschiedene Dinge.

    Verfügbarkeit sagt, ob Sie ein Land überhaupt aktivieren können. Ihr Schalter sagt, ob es eingeschaltet ist. Ein Land kann verfügbar und trotzdem ausgeschaltet sein.

  4. Jede Obergrenze lehnt einen Anruf für sich allein ab.

    Tagesausgaben, gleichzeitige Anrufe und Anrufe pro Sekunde stoppen einen Anruf jeweils eigenständig. Jeder Workspace hat ein tägliches Ausgabenlimit, das Sie unter Voice → Spend limit ändern können. Es setzt sich zu Beginn des nächsten UTC-Tages zurück.

In die Praxis umsetzen.

Weiter mit der Dokumentation, Anleitungen und Beispielen zu diesem Thema.

Implementierungs-Briefing erhalten

Bauen Sie auf demselben Netzwerk auf.

Ein Test-API-Schlüssel steht Ihnen sofort zur Verfügung. Der Produktivbetrieb wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Ihre nächste Idee. Bereit zur Verbindung.