Security in ChatBots

Security in ChatBots
The Artificial Intelligence industry is in full swing, Many hopes have been placed in it and many laboratories are working on creating new brains.
Machine Learning is a field that is enjoying a golden age thanks to the cloud and the growth of available information ready to be processed. These evolutions will soon create intelligences that, according to Stephen Hawking, will end us as they will be able to evolve faster and will soon be smarter.
That may happen, or it may not, For now, the most down-to-earth representation that exists of AI are ChatBots. Who hasn't ever been answered by one on Telegram? Who hasn't opened a website and had a chat window with a friendly gentleman/lady asking if they can help you?
It's the mildest version of Artificial Intelligence, but you can already do many interesting operations with them, for example, ordering pizza, talking about football, being your personal trainer, finding you the best prices for the product you want across hundreds of websites, being your shopping assistant,… As you can see, the options are already in the thousands, If you want to get to know them and try them out, I refer you to BotList, a website that collects all kinds of ChatBots.
But ChatBots are no exception and have problems that need to be checked regarding security. 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 artificial intelligence blog 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, the crash of your server.
If you need to store the information for security logs in the operation, have very well-defined rules.
6.- Sanitize the data
You never know what a user or an attacker might try to put in the chat, so sanitizing the data so they can't try to execute code injection is a very healthy idea.
7.- Disable the commands you don't want to use.
Chatbots have many commands with very diverse functionalities, and we don't always need all of them, so I recommend that those you don't want/need be removed, commented out, or do whatever you want, but in no case should they be accessible.artificial intelligence Wikipedia
eight.- Do not allow the ChatBot to execute system commands
We have isolated the system and controlled what data we store, but it is still very important that our ChatBot at no time can execute commands on the hosting system..
9.- Liveness test.
This also depends a lot on the platform on which we have our bot, but it is very interesting to set up a system that validates that the user is alive.. You may, A Captcha for web environments, questions in Telegram environments, might be a good idea for this.. It will save us a lot of headaches against brute force attacks..
10.- Add a TTL
Adding a TTL can save you from many different problems.. If your ChatBot generates a session with the user, that session should have a maximum lifetime.. Setting a TTL between interactions is also interesting..
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.
in
Tags
Archivo del blog
Tema Fantástico, S.A.. Con la tecnología de Blogger

Leave A Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.