Udostępnij za pośrednictwem


Wytyczne dotyczące zabezpieczeń rozwiązania Bot Framework

DOTYCZY: ZESTAW SDK w wersji 4

Boty stają się coraz bardziej popularne w kluczowych obszarach biznesowych, takich jak usługi finansowe, handel detaliczny, podróże i tak dalej. Bot może zbierać bardzo poufne dane, takie jak karty kredytowe, SSN, konta bankowe i inne dane osobowe. Dlatego ważne jest, aby boty mogły być bezpieczne i chronić przed typowymi zagrożeniami i lukami w zabezpieczeniach.

Aby zwiększyć bezpieczeństwo bota, możesz podjąć pewne standardowe środki zapobiegawcze. Niektóre środki zabezpieczeń są podobne do tych używanych w innych systemach oprogramowania, a niektóre są specyficzne dla platformy Bot Framework. W przypadku tych ostatnich zapoznaj się z testem porównawczym zabezpieczeń platformy Azure. Test porównawczy zawiera zalecenia dotyczące sposobu zabezpieczania rozwiązań w chmurze na platformie Azure.

Problemy z zabezpieczeniami w skrócie

Ten artykuł grupuje problemy z zabezpieczeniami w 2 kategorie:

  • Zagrożenia: taktyka, która może zostać użyta do naruszenia zabezpieczeń bota, takiego jak fałszowanie, manipulowanie, ujawnianie informacji, odmowa usługi itd.

  • Luki w zabezpieczeniach: sposoby, w jaki bot lub zarządzanie botem mogą być podatne na takie taktyki, takie jak błędy lub zabezpieczenia nieczystości.

Zmniejszenie luk w zabezpieczeniach to dobry sposób na ograniczenie zagrożeń, a znanym sposobem zmniejszenia luk w zabezpieczeniach jest zaimplementowanie punktów kontrolnych zabezpieczeń w procesie programowania i wdrażania.

Typowe wytyczne dotyczące zabezpieczeń

Poniższe obszary są objęte standardowymi najlepszymi rozwiązaniami dotyczącymi zabezpieczeń typowymi dla aplikacji.

Zabezpieczanie ruchu sieciowego

Istnieją protokoły, które zapewniają mechanizmy kontroli kryptograficznych w celu rozwiązywania problemów z manipulowaniem i ujawnianiem danych podczas transmisji. W związku z tym boty powinny komunikować się tylko za pośrednictwem zabezpieczonych kanałów.

Aby wymienić dane na przewodach, należy użyć protokołu HTTPS , który przesyła dane za pośrednictwem protokołu HTTP w szyfrowanych połączeniach chronionych przez protokół Transport Layer Security (TLS) lub Secure Sockets Layer (SSL). Zobacz również RFC 2818 — HTTP over TLS.

Uwaga

Wszystkie kanały usługi Bot Service wymagają protokołów HTTPS i TLS 1.2.

Samozniszczanie komunikatów

Trwale usuń wszelkie poufne dane, gdy tylko nie są już potrzebne, zwykle po zakończeniu wymiany komunikatów lub po upływie określonego czasu. Może to obejmować informacje osobiste, identyfikatory, numery PIN, hasła, pytania zabezpieczające i odpowiedzi itd.

Magazyn danych

Najlepszym rozwiązaniem jest przechowywanie informacji w bezpiecznym stanie przez określony czas, a następnie odrzucanie ich później po jego celach.

Poniżej wymieniono niektóre typowe techniki zabezpieczeń.

Zapory bazy danych

  • Zapory domyślnie odmawiają dostępu do ruchu. Dozwolony ruch powinien pochodzić z określonych aplikacji lub serwerów internetowych, które muszą uzyskiwać dostęp do danych.
  • Należy również wdrożyć zaporę aplikacji internetowej. Jest to spowodowane tym, że ataki, takie jak ataki iniekcyjne SQL skierowane do aplikacji internetowej, mogą służyć do eksfiltracji lub usuwania danych z bazy danych.

Wzmacnianie zabezpieczeń bazy danych

  • Upewnij się, że baza danych jest nadal obsługiwana przez dostawcę i korzystasz z najnowszej wersji bazy danych z zainstalowanymi wszystkimi poprawkami zabezpieczeń, aby usunąć znane luki w zabezpieczeniach.
  • Odinstaluj lub wyłącz wszystkie funkcje lub usługi, których nie potrzebujesz, i upewnij się, że zmieniono hasła wszystkich kont domyślnych z ich wartości domyślnych; lub lepiej, usuń wszystkie konta domyślne, których nie potrzebujesz.
  • Upewnij się, że wszystkie mechanizmy kontroli zabezpieczeń bazy danych udostępniane przez bazę danych są włączone, chyba że istnieje określona przyczyna wyłączenia.

Minimalizowanie cennych informacji

  • Upewnij się, że nie przechowujesz żadnych poufnych informacji, które nie muszą znajdować się w bazie danych.
  • Dane przechowywane w celu zachowania zgodności lub innych celów można przenosić do bezpieczniejszego magazynu, na przykład w trybie offline, co jest mniej podatne na zagrożenia bezpieczeństwa bazy danych.
  • Pamiętaj, aby usunąć wszystkie pliki historii, które są zapisywane przez serwer podczas oryginalnej procedury instalacji. Jeśli instalacja zakończy się pomyślnie, te pliki nie mają żadnej wartości, ale mogą zawierać informacje, które mogą zostać wykorzystane.

Education

Boty udostępniają innowacyjne narzędzie interakcji między firmą a jej klientami. Ale potencjalnie mogą zapewnić backdoor do manipulowania witryną internetową firmy. W związku z tym firma musi zapewnić, że jej deweloperzy rozumieją znaczenie zabezpieczeń botów w ramach zabezpieczeń witryny internetowej. Ponadto błędy użytkowników mogą być również problemem. Będzie to wymagać pewnych edukacji na temat bezpiecznego użycia botów, na przykład:

  • W przypadku deweloperów strategia powinna obejmować wewnętrzne szkolenia dotyczące bezpiecznego korzystania z bota.
  • Klienci mogą otrzymać wskazówki dotyczące bezpiecznego korzystania z bota.

Wytyczne dotyczące zabezpieczeń specyficzne dla botów

Poniższe obszary są objęte niektórymi standardowymi najlepszymi rozwiązaniami w zakresie zabezpieczeń dla aplikacji Bot Framework. W poniższych wytycznych opisano środki zabezpieczeń najlepsze rozwiązania dotyczące platformy Bot Framework. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące zabezpieczeń i prywatności.

Uwierzytelnianie łącznika bota

Usługa Bot Connector natywnie używa protokołu HTTPS do wymiany komunikatów między botem a kanałami (użytkowników). Zestaw SDK platformy Bot Framework automatyzuje podstawowe uwierzytelnianie bota-kanał.

Ostrzeżenie

Jeśli piszesz własny kod uwierzytelniania, ważne jest, aby poprawnie zaimplementować wszystkie procedury zabezpieczeń. Zaimplementowanie wszystkich kroków opisanych w artykule Uwierzytelnianie pozwala ograniczyć ryzyko, że osoba atakująca będzie mogła odczytywać komunikaty wysyłane do bota, wysyłać komunikaty, które personifikują bota i kradną klucze tajne.

Uwierzytelnianie użytkownika

Uwierzytelnianie w usłudze Azure AI Bot Service umożliwia uwierzytelnianie użytkowników i uzyskiwanie tokenów dostępu od różnych dostawców tożsamości, takich jak Microsoft Entra ID, GitHub, Uber itd. Można również skonfigurować uwierzytelnianie dla niestandardowego dostawcy tożsamości OAuth2 . Wszystko to umożliwia napisanie jednego fragmentu kodu uwierzytelniania, który działa we wszystkich obsługiwanych dostawcach tożsamości i kanałach. Aby skorzystać z tych możliwości, należy wykonać następujące czynności:

  1. Statycznie skonfiguruj settings bota zawierającego szczegóły rejestracji aplikacji u dostawcy tożsamości.
  2. Użyj elementu OAuthCard, wspieranego przez informacje o aplikacji podane w poprzednim kroku, aby zalogować użytkownika.
  3. Pobieranie tokenów dostępu za pośrednictwem interfejsu API usługi Azure AI Bot Service. Dobrym rozwiązaniem jest umieszczenie limitu czasu na czas logowania uwierzytelnionego użytkownika.

Aby uzyskać więcej informacji, zobacz artykuł Uwierzytelnianie użytkowników.

Czat internetowy

W przypadku korzystania z kontrolki czat internetowy należy pamiętać o ważnych kwestiach dotyczących zabezpieczeń związanych z personifikacją i fałszowaniem tożsamości. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie rozszerzone direct line.

Dodatkowe informacje