Seguridad En ChatBots

Seguridad en ChatBots
La industria de la Inteligencia Artificial está en pleno apogeo, se han depositado muchas esperanzas en ella y se está trabajando en muchos laboratorios creando nuevos cerebros”.
El Machine Learning” es un camp que está disfrutando de una época dorada gracias a la nube y el crecimiento de información disponible preparada para ser procesada. Estas evoluciones crearán pronto inteligencias que, según Stephen Hawking, acabarán con nosotros ya que podrán evolucionar más rápido y pronto serán más inteligentes.
Puede que eso suceda puede que no, por el momento la representación más a pie de calle” que existe sobre la IA son los ChatBots. ¿Quién no ha sido respondido nunca por uno en Telegram? ¿Quién no ha abierto una página internet y una ventana de Chat con un amable señor/señora le pregunta si puede atenderle?
Es la versión más mild de Inteligencia Artificial, pero ya se puede hacer mucha operativa interesante con ellos, por ejemplo encargar pizza, hablar de fútbol, ser tu entrenador personal, buscarte los mejores precios del producto que quieras por cientos de webs, ser tu shopping assistant,… Como se pueden ver las opciones ya son miles, por si queréis conocerlos y probarlos os referencio a BotList una internet que colecciona ChatBots de todo tipo.
Pero los ChatBot no son ninguna excepción y tienen problemas que hay que revisar en cuanto a seguridad. Dejando de lado el ciclo de desarrollo seguro es un pequeño decálogo para que podáis evaluar en vuestros robots.
1.- ChatBot aislado
El sistema que contiene el ChatBot tendría que estar aislado. Lo ideal es una máquina que contenga solo al Bot y no esté conectada con el resto de la pink corporativa.
2.- ChatBot que nunca llama a teleoperadoras.
Si tu sistema de ChatBot te da la posibilidad de poder contactar con una teleoperadora el sistema más seguro para hacerlo es que el usuario indique el número al que se le quiera llamar y que sea una operadora el que le llame a él. Si es el chatbot el que lanza la llamada para conectar de forma directa un atacante podría lanzar miles de peticiones haciendo un ataque de DoS contra la centralita bloqueandola con miles de llamadas entrantes y dejando a los verdaderos clientes en espera e incluso desconectados. Esto haría daño reputacional y puede que se perdieran potenciales clientes.
3.- Sistema contra suplantación.
Un atacante puede que trate de suplantar nuestro ChatBot en otras páginas. Dependiendo que tipo de operativa haga dicho bot puede resultar muy fructífero. Dependiendo en qué plataforma tengamos nuestro ChatBot podría ser más menos fácil implementar técnicas contra la suplantación. En el entorno Internet podrían ser las mismas que contra un phising, en Telegram saludar de forma personalizada a nuestro cliente, de forma que sepa que solo nosotros podemos conocer esa información u otro tipo de medidas creativas que en función de las características de nuestro ChatBot podemos poner.
four.- Canal cifrado.
Esto es un máxima, en todo momento que el canal de la conversación este cifrado. Esto en Telegram puede ser un problema ya que (hasta hace blog de inteligencia artificial poco) no soportaba establecer canal seguro para bots. Pero en el resto de casos debería ser obligatorio para nuestra tranquilidad.
5.- No almacenar información.
Nunca almacenes las conversaciones, en primer lugar por la privacidad de tu usuario y en segundo lugar porque almacenar la información puede suponer que un atacante te llene la memoria provocando, en el mejor de los casos, la caída de tu servidor.
Si necesitas almacenar la información por logs seguridad en la operativa ten unas reglas muy bien definidas.
6.- Sanitiza los datos
Nunca sabes lo que un usuario un atacante puede intentar meter en el chat por lo que sanitizar los datos para que no puedan intentar ejecutar una inyección de código es una idea muy saludable.
7.- Deshabilita los comandos que no quieras usar.
Los chatbots tienen muchos comandos con funcionalidades muy diversas y no siempre necesitamos todas las disponibles por lo que os recomiendo que aquellas que no queréis/necesitáis se eliminen comenten hagáis lo que queráis pero que en ningún caso sean accesibles.inteligencia artificial wikipedia
eight.- No permitas que el ChatBot ejecute comandos de sistema
Tenemos aislado el sistema y controlado que datos guardamos pero sigue siendo muy importante que nuestro ChatBot en ningún momento pueda ejecutar comandos en el sistema que lo aloja.
9.- Prueba de vida.
Esto también depende mucho de la plataforma sobre la que tengamos nuestro bot pero es muy interesante poner un sistema que valide que el usuario está vivo. Puede que, un Captcha para los entornos web preguntas en entornos Telegram, sean alguna buena idea para esto. Nos ahorraremos muchos dolores de cabeza contra ataques por fuerza bruta.
10.- Agrega un TTL
Agregar un TTL puede salvarte de problemas muy diversos. Si tu ChatBot genera sesión con el usuario, que esa sesión tenga un tiempo máximo de vida. Poner un TTL entre interacción e interacción también es interesante.
Solo revisando estas pequeñas pautas ya se puede intuir que hay ChatBots con características muy diversas. Dependiendo en que plataforma lo queramos implementar y dependiendo de lo sensibles que sean las funcionalidades queramos que haga hay que pensar diferentes medidas.
Todo esto pensando en los ChatBots cuya lógica aún es muy sencilla, el día que tengan un motor potente de IA por detrás puede que (aquí me sale mi ramalazo de ciencia ficción) existan vulnerabilidades a través del razonamiento.
Queda mucho campo por delante para recorrer.
en
Etiquetas
Archivo del blog
Tema Fantástico, S.A.. Con la tecnología de Blogger

0

Leave A Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.