Panduan keamanan Kerangka Kerja Bot

BERLAKU UNTUK: SDK v4

Bot semakin lazim di bidang bisnis utama seperti layanan keuangan, ritel, perjalanan, dan sebagainya. Bot mungkin mengumpulkan data yang sangat sensitif seperti kartu kredit, SSN, rekening bank, dan informasi pribadi lainnya. Jadi, penting bahwa bot aman dan melindungi dari ancaman dan kerentanan umum.

Anda dapat mengambil beberapa langkah pencegahan standar untuk meningkatkan keamanan bot Anda. Beberapa langkah keamanan mirip dengan yang digunakan dalam sistem perangkat lunak lain, sementara beberapa khusus untuk Bot Framework. Untuk yang terakhir, lihat Tolok Ukur Keamanan Azure. Tolok ukur memberikan rekomendasi tentang bagaimana Anda dapat mengamankan solusi cloud Anda di Azure.

Masalah keamanan singkatnya

Artikel ini mengelompokkan masalah keamanan ke dalam 2 kategori:

  • Ancaman: Taktik yang mungkin digunakan seseorang untuk membahayakan bot Anda, seperti spoofing, perusakan, pengungkapan informasi, penolakan layanan, dan sebagainya.

  • Kerentanan: Cara-cara di mana bot Atau manajemen bot Anda mungkin rentan terhadap taktik tersebut, seperti bug, atau keamanan lax.

Mengurangi kerentanan Anda adalah cara yang baik untuk mengurangi ancaman, dan cara yang diketahui untuk mengurangi kerentanan adalah dengan menerapkan titik pemeriksaan keamanan dalam proses pengembangan dan penyebaran.

Pedoman keamanan umum

Area berikut dicakup oleh praktik terbaik keamanan standar yang umum untuk aplikasi.

Mengamankan lalu lintas jaringan

Ada protokol yang menyediakan kontrol kriptografi untuk mengatasi perubahan dan pengungkapan data selama transmisi. Dalam hal ini, bot harus berkomunikasi hanya melalui saluran aman.

Untuk bertukar data pada kawat, sistem aman harus menggunakan protokol HTTPS , yang mentransfer data melalui HTTP dalam koneksi terenkripsi yang dilindungi oleh Keamanan Lapisan Transportasi (TLS) atau Secure Sockets Layer (SSL). Lihat juga RFC 2818 - HTTP Melalui TLS.

Catatan

Semua saluran Bot Service memerlukan HTTPS dan TLS 1.2.

Pesan yang merusak diri sendiri

Hapus data sensitif secara permanen segera setelah tidak lagi diperlukan, biasanya setelah pertukaran pesan berakhir, atau setelah beberapa waktu. Ini dapat mencakup informasi identifikasi pribadi, ID, VPN, kata sandi, pertanyaan dan jawaban keamanan, dan sebagainya.

Penyimpanan data

Praktik terbaik memanggil untuk menyimpan informasi dalam keadaan aman untuk waktu tertentu dan kemudian membuangnya nanti setelah melayani tujuannya.

Beberapa teknik keamanan umum tercantum di bawah ini.

Firewall database

  • Firewall menolak akses ke lalu lintas secara default. Satu-satunya lalu lintas yang diizinkan harus berasal dari aplikasi atau server web tertentu yang perlu mengakses data.
  • Anda juga harus menyebarkan firewall aplikasi web. Ini karena serangan seperti serangan injeksi SQL yang diarahkan ke aplikasi web dapat digunakan untuk menyelundupkan atau menghapus data dari database.

Pengerasan database

  • Pastikan bahwa database masih didukung oleh vendor, dan Anda menjalankan versi terbaru database dengan semua patch keamanan yang diinstal untuk menghapus kerentanan yang diketahui.
  • Hapus instalan atau nonaktifkan fitur atau layanan apa pun yang tidak Anda butuhkan dan pastikan Anda mengubah kata sandi akun default apa pun dari nilai defaultnya; atau lebih baik, hapus akun default apa pun yang tidak Anda butuhkan.
  • Pastikan bahwa semua kontrol keamanan database yang disediakan oleh database diaktifkan, kecuali ada alasan khusus untuk apa pun yang akan dinonaktifkan.

Meminimalkan informasi berharga

  • Pastikan Anda tidak menyimpan informasi rahasia apa pun yang tidak perlu ada dalam database.
  • Data yang disimpan untuk kepatuhan atau tujuan lain dapat dipindahkan ke penyimpanan yang lebih aman, mungkin offline, yang kurang rentan terhadap ancaman keamanan database.
  • Pastikan untuk menghapus file riwayat apa pun yang ditulis oleh server selama prosedur penginstalan asli. Jika penginstalan berhasil, file-file ini tidak memiliki nilai tetapi dapat berisi informasi yang berpotensi dieksploitasi.

Education

Bot menyediakan alat interaksi inovatif antara perusahaan dan pelanggannya. Tetapi mereka berpotensi menyediakan backdoor untuk merusak situs web perusahaan. Oleh karena itu, perusahaan harus memastikan bahwa pengembangnya memahami pentingnya keamanan bot sebagai bagian dari keamanan situs web. Selain itu, kesalahan pengguna juga bisa menjadi masalah. Ini akan memerlukan beberapa pendidikan tentang bagaimana bot dapat digunakan dengan aman, misalnya:

  • Untuk pengembang, strategi harus mencakup pelatihan internal tentang cara menggunakan bot dengan aman.
  • Pelanggan dapat diberikan panduan yang merinci cara berinteraksi dengan bot dengan aman.

Panduan keamanan khusus bot

Area berikut dicakup oleh beberapa praktik terbaik keamanan standar untuk aplikasi Bot Framework. Panduan berikut menjelaskan langkah-langkah keamanan praktik terbaik Kerangka Kerja Bot. Untuk informasi selengkapnya, lihat FAQ Keamanan dan Privasi.

Autentikasi bot Koneksi or

Layanan Bot Koneksi or secara asli menggunakan HTTPS untuk bertukar pesan antara bot dan saluran (pengguna). Bot Framework SDK mengotomatiskan autentikasi bot-ke-saluran dasar untuk Anda.

Peringatan

Jika Anda menulis kode autentikasi Anda sendiri, sangat penting bagi Anda untuk menerapkan semua prosedur keamanan dengan benar. Dengan menerapkan semua langkah yang dijelaskan dalam artikel Autentikasi , Anda dapat mengurangi risiko penyerang dapat membaca pesan yang dikirim ke bot Anda, mengirim pesan yang meniru bot Anda, dan mencuri kunci rahasia.

Autentikasi pengguna

Autentikasi Azure AI Bot Service memungkinkan Anda mengautentikasi pengguna dan mendapatkan token akses dari berbagai idP seperti ID Microsoft Entra, GitHub, Uber, dan sebagainya. Anda juga dapat mengonfigurasi autentikasi untuk idP OAuth2 kustom. Semua ini memungkinkan Anda menulis satu bagian kode autentikasi yang berfungsi di semua penyedia identitas dan saluran yang didukung. Untuk menggunakan kemampuan ini, Anda perlu melakukan langkah-langkah berikut:

  1. Konfigurasikan secara statis settings pada bot Anda yang berisi detail pendaftaran aplikasi Anda dengan IdP.
  2. OAuthCardGunakan , yang didukung oleh informasi aplikasi yang Anda berikan di langkah sebelumnya, untuk memasukkan pengguna.
  3. Ambil token akses melalui Azure AI Bot Service API. Praktik yang baik adalah menempatkan batas waktu berapa lama pengguna yang diautentikasi dapat tetap masuk.

Untuk informasi selengkapnya, lihat artikel Autentikasi pengguna.

Web Chat

Saat Anda menggunakan kontrol Web Chat , Anda harus mengingat beberapa pertimbangan keamanan penting tentang peniruan identitas dan spoofing identitas. Untuk informasi selengkapnya, lihat Autentikasi yang disempurnakan Direct Line.

Informasi Tambahan