Sicurezza nei ChatBot
L'industria dell'Intelligenza Artificiale è in pieno boom, sono state riposte molte speranze in essa e si sta lavorando in molti laboratori creando nuovi cervelli.
Il Machine Learning è un settore che sta godendo di un'epoca d'oro grazie al cloud e alla crescita delle informazioni disponibili pronte per essere elaborate. Queste evoluzioni creeranno presto intelligenze che, secondo Stephen Hawking, ci finiranno perché potranno evolversi più velocemente e presto saranno più intelligenti.
Può darsi che accada, può darsi di no, Per il momento la rappresentazione più comune che esiste sull'IA sono i ChatBot. Chi non è mai stato risposto da uno su Telegram? Chi non ha aperto una pagina internet e una finestra di chat con un gentile signore/signora che ti chiede se può aiutarti?
È la versione più leggera dell'Intelligenza Artificiale, ma già si possono fare molte operazioni interessanti con loro, per esempio ordinare la pizza, parlare di calcio, essere il tuo allenatore personale, cercarti i migliori prezzi del prodotto che vuoi su centinaia di siti web, essere il tuo assistente per lo shopping,… Come si può vedere le opzioni sono già migliaia, nel caso vogliate conoscerli e provarli vi indirizzo a BotList, un sito che raccoglie ChatBot di ogni tipo.
Ma i ChatBot non fanno eccezione e hanno problemi che devono essere esaminati riguardo alla sicurezza. Mettere da parte il ciclo di sviluppo sicuro è un piccolo decalogo per poter valutare nei vostri robot.
1.- ChatBot isolato
Il sistema che contiene il ChatBot dovrebbe essere isolato. L'ideale è una macchina che contenga solo il Bot e non sia collegata al resto della rete aziendale.
2.- ChatBot che non chiama mai le operatrici.
Se il tuo sistema di ChatBot ti dà la possibilità di poter contattare un'operatrice, il sistema più sicuro per farlo è che l'utente indichi il numero da chiamare e che sia un'operatrice a chiamarlo. 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 di intelligenza artificiale 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 caduta del tuo server.
Se hai bisogno di memorizzare le informazioni per log di sicurezza nell’operativa, tieni delle regole molto ben definite.
6.- Sanitizza i dati
Non sai mai cosa un utente o un attaccante possa tentare di inserire nella chat, quindi sanitizzare i dati affinché non possano eseguire un'iniezione di codice è un'idea molto salutare.
7.- Disabilita i comandi che non vuoi usare.
I chatbot hanno molti comandi con funzionalità molto diverse e non sempre abbiamo bisogno di tutte quelle disponibili, quindi ti consiglio che quelli che non vuoi/necessiti vengano eliminati, commentati, fatti quello che vuoi, ma che in nessun caso siano accessibili.
otto.- Non permettere al ChatBot di eseguire comandi di sistema
Abbiamo isolato il sistema e controllato quali dati conserviamo ma resta comunque molto importante che il nostro ChatBot in nessun momento possa eseguire comandi sul sistema che lo ospita.
9.- Test di vita.
Questo dipende inoltre molto dalla piattaforma su cui abbiamo il nostro bot, ma è molto interessante mettere un sistema che verifichi che l'utente sia vivo. Potrebbe essere, un Captcha per gli ambienti web, domande negli ambienti Telegram, essere una buona idea per questo. Ci eviteremo molti mal di testa contro attacchi a forza bruta.
10.- Aggiungi un TTL
Aggiungere un TTL può salvarti da problemi molto diversi. Se il tuo ChatBot genera una sessione con l'utente, quella sessione abbia un tempo massimo di vita. Mettere un TTL tra un'interazione e l'altra è interessante anche.
Solo rivedendo queste piccole linee guida si può intuire che ci sono ChatBot con caratteristiche molto diverse. A seconda della piattaforma su cui vogliamo implementarlo e a seconda di quanto sensibili siano le funzionalità che vogliamo che faccia, bisogna pensare a misure diverse.
Tutto questo pensando ai ChatBot la cui logica è ancora molto semplice, Il giorno in cui avranno un motore potente di IA dietro potrebbe essere (Qui mi viene il mio lato da fantascienza) Esistono vulnerabilità attraverso il ragionamento.
C'è ancora molta strada da fare.
en
Etichette
File del blog
Tema Fantastico, S.A.. Con la tecnologia di Blogger