Bot Framework-Sicherheitsrichtlinien

GILT FÜR: SDK v4

Bots werden immer häufiger in wichtigen Geschäftsbereichen eingesetzt, z. B. Finanzdienstleistungen, Einzelhandel, Tourismus usw. Mit einem Bot werden ggf. sehr vertrauliche Daten erfasst, z. B. zu Kreditkarten, Sozialversicherungsdaten, Bankkonten sowie andere personenbezogene Informationen. Daher ist es wichtig, dass Bots sicher sind und vor gängigen Bedrohungen und Schwachstellen schützen.

Sie können einige standardmäßige präventive Maßnahmen ergreifen, um die Sicherheit Ihres Bots zu verbessern. Einige Sicherheitsmaßnahmen ähneln denen, die in anderen Softwaresystemen verwendet werden, während einige für das Bot Framework spezifisch sind. Letzteres finden Sie im Azure Security Benchmark. Der Benchmark enthält Empfehlungen zum Schutz Ihrer Cloudlösungen in Azure.

Sicherheitsprobleme in Kurzform

In diesem Artikel werden Sicherheitsprobleme in zwei Kategorien unterteilt:

  • Bedrohungen: Die Taktiken, die jemand verwenden könnte, um Ihren Bot zu kompromittieren, z. B. Spoofing, Manipulationen, Offenlegen von Informationen, Serviceverweigerung usw.

  • Sicherheitsrisiken: Die Möglichkeiten, wie Ihr Bot oder die Verwaltung Ihres Bots anfällig für solche Taktiken wie Bugs oder laxe Sicherheit sein können.

Das Verringern Ihrer Sicherheitsrisiken ist eine gute Möglichkeit, Bedrohungen zu mindern. Eine bekannte Möglichkeit zur Verringerung von Sicherheitsrisiken besteht darin, Sicherheitsüberprüfungspunkte im Entwicklungs- und Bereitstellungsprozess zu implementieren.

Übliche Sicherheitsrichtlinien

Die folgenden Bereiche werden von standardmäßigen bewährten Sicherheitsmethoden abgedeckt, die für Anwendungen üblich sind.

Sicherung des Netzwerkverkehrs

Protokolle sind vorhanden, die kryptografische Steuerelemente bereitstellen, um Datenmanipulation und Offenlegung während der Übertragung zu behandeln. Aus diesem Grund sollten Bots nur über sichere Kanäle kommunizieren.

Um Daten über das Netzwerk auszutauschen, muss jedes sichere System das HTTPS-Protokoll verwenden, das Daten über HTTP in verschlüsselten Verbindungen überträgt, die durch Transport Layer Security (TLS) oder Secure Sockets Layer (SSL) geschützt sind. Siehe auch RFC 2818 – HTTP Over TLS.

Hinweis

Alle Botdienstkanäle erfordern HTTPS und TLS 1.2.

Selbstzerstörende Nachrichten

Löschen Sie alle vertraulichen Daten dauerhaft, sobald sie nicht mehr benötigt werden, in der Regel nach Ablauf des Nachrichtenaustauschs oder nach einer bestimmten Zeitspanne. Dazu können personenbezogene Informationen, IDs, PINs, Passwörter, Sicherheitsfragen und Antworten gehören usw.

Datenspeicher

Die beste Vorgehensweise besteht darin, Informationen für eine bestimmte Zeit in einem sicheren Zustand zu speichern und sie später zu vernichten, wenn sie ihren Zweck erfüllt haben.

Nachfolgend sind einige gängige Sicherheitstechniken aufgeführt.

Datenbankfirewalls

  • Firewalls verweigern standardmäßig den Zugriff auf den Datenverkehr. Der einzige zulässige Datenverkehr sollte von bestimmten Anwendungen oder Webservern stammen, die auf die Daten zugreifen müssen.
  • Sie sollten auch eine Web Application Firewall einsetzen. Dies liegt daran, dass Angriffe durch Einschleusung von SQL-Befehlen, die auf eine Webanwendung gerichtet sind, verwendet werden können, um Daten aus der Datenbank zu exfiltrieren oder zu löschen.

Datenbankhärtung

  • Stellen Sie sicher, dass die Datenbank weiterhin vom Anbieter unterstützt wird und führen Sie die neueste Version der Datenbank aus, wobei alle Sicherheitsupdates installiert sind, um bekannte Sicherheitsrisiken zu entfernen.
  • Deinstallieren oder deaktivieren Sie alle Features oder Dienste, die Sie nicht benötigen und stellen Sie sicher, dass Sie die Passwörter aller Standardkonten aus ihren Standardwerten ändern; oder besser löschen Sie alle Standardkonten, die Sie nicht benötigen.
  • Stellen Sie sicher, dass alle von der Datenbank bereitgestellten Datenbanksicherheitssteuerelemente aktiviert sind, es sei denn, es gibt einen bestimmten Grund für eine Deaktivierung.

Minimieren wertvoller Informationen

  • Stellen Sie sicher, dass Sie keine vertraulichen Informationen speichern, die nicht in der Datenbank enthalten sein müssen.
  • Daten, die für Compliance oder andere Zwecke aufbewahrt werden, können in einen sichereren Speicher verschoben werden, vielleicht offline, was weniger anfällig für Datenbanksicherheitsbedrohungen ist.
  • Löschen Sie alle Verlaufsdateien, die während des ursprünglichen Installationsvorgangs von einem Server geschrieben wurden. Wenn die Installation erfolgreich ist, haben diese Dateien keinen Wert, können aber Informationen enthalten, die potenziell ausgenutzt werden können.

Education

Bots bieten ein innovatives Interaktionstool zwischen einem Unternehmen und seinen Kunden. Sie könnten aber möglicherweise eine Hintertür zur Manipulation der Website eines Unternehmens bereitstellen. Daher muss ein Unternehmen sicherstellen, dass seine Entwickler die Bedeutung der Bot-Sicherheit im Rahmen der Websitesicherheit verstehen. Darüber hinaus können die Fehler der Benutzer auch ein Problem sein. Dies erfordert beispielsweise eine gewisse Aufklärung darüber, wie Bots sicher eingesetzt werden können:

  • Für die Entwickler sollte eine Strategie interne Schulungen zur sicheren Nutzung des Bots beinhalten.
  • Kunden können Richtlinien zur sicheren Interaktion mit dem Bot erhalten.

Botspezifische Sicherheitsrichtlinien

Die folgenden Bereiche werden von einigen standardmäßigen bewährten Sicherheitsmethoden für Bot-Framework-Anwendungen abgedeckt. Die folgenden Richtlinien beschreiben die bewährten Sicherheitsmaßnahmen des Bot Frameworks. Weitere Informationen finden Sie unter Häufig gestellte Fragen zur Sicherheit und dem Datenschutz.

Bot-Connector-Authentifizierung

Der Bot-Connector-Dienst verwendet HTTPS für den Nachrichtenaustausch zwischen einem Bot und Kanälen (Benutzern). Das Bot Framework SDK automatisiert die grundlegende Bot-zu-Kanal-Authentifizierung für Sie.

Warnung

Wenn Sie eigenen Authentifizierungscode schreiben, ist es wichtig, dass alle Sicherheitsverfahren ordnungsgemäß implementiert werden. Durch die Implementierung aller Schritte, die im Artikel Authentifizierung beschrieben sind, können Sie das Risiko verringern, dass ein Angreifer in der Lage ist, Nachrichten zu lesen, die an Ihren Bot gesendet werden, Nachrichten zu senden, die sich als Ihr Bot ausgeben, und geheime Schlüssel zu stehlen.

Benutzerauthentifizierung

Die Azure KI Bot Service-Authentifizierung ermöglicht es Ihnen, Benutzer bei verschiedenen Identitätsanbietern wie Microsoft Entra ID, GitHub, Uber usw. zu authentifizieren und Zugriffstoken von ihnen zu erhalten. Sie können auch die Authentifizierung für einen benutzerdefinierten OAuth2-Identitätsanbieter konfigurieren. All dies ermöglicht es Ihnen, einen Authentifizierungscode zu schreiben, der für alle unterstützten Identitätsanbieter und Kanäle funktioniert. Um diese Funktionen nutzen zu können, müssen Sie die folgenden Schritte durchführen:

  1. Konfigurieren Sie settings statisch auf Ihrem Bot, der die Details Ihrer Anwendungsregistrierung bei einem Identitätsanbieter enthält.
  2. Verwenden Sie eine OAuthCard in Verbindung mit den Anwendungsinformationen, die Sie im vorherigen Schritt angegeben haben, um einen Benutzer anzumelden.
  3. Rufen Sie Zugriffstoken über die Azure KI Bot Service-API ab. Es empfiehlt sich, ein Zeitlimit dafür zu setzen, wie lange ein authentifizierter Benutzer angemeldet bleiben kann.

Weitere Informationen finden Sie im Artikel Benutzerauthentifizierung.

Web-Chat

Wenn Sie das Webchat-Steuerelement verwenden, müssen Sie einige wichtige Sicherheitsaspekte hinsichtlichIdentitätsdiebstahl und Identitätsspoofing berücksichtigen. Weitere Informationen finden Sie unter erweiterte Direct-Line-Authentifizierung.

Weitere Informationen