Los conceptos low-code, no-code y zero-code están de moda en el mundo de las aplicaciones corporativas, donde las tareas que anteriormente hacían los programadores ahora las hacen usuarios comunes. La funcionalidad necesaria se ensambla a partir de plantillas listas para usar, la interfaz se dibuja en un editor WYSIWYG según las necesidades y la lógica del programa se describe mediante diagramas simples o fragmentos de código muy cortos. Todo esto lo puede gestionar un usuario de ordenadores competente sin ningún tipo de formación especial. El low-code o no-code ayuda a reducir el tiempo de desarrollo de una aplicación móvil simple de 6 meses a un par de semanas, mientras que una página promocional para una tienda online o un nuevo informe se puede hacer en tan solo un par de horas.
Existen muchas plataformas no-code o sin código: Bubble para el desarrollo de aplicaciones móviles, Webflow para el diseño de sitios web y Parabola y Airtable para la analítica y la ciencia de datos. Todos estos sistemas ayudan a las empresas a reducir los costes de TI y a acelerar el desarrollo de las funciones empresariales.
Evidentemente hay una serie de riesgos asociados, especialmente los cibernéticos. Para mantener a salvo los datos y procesos de una empresa, estos riesgos deben minimizarse lo antes posible durante la implementación de la plataforma low-code. Para ello, debes tener en cuenta todo lo que te contamos a continuación.
Cuentas privilegiadas
El problema es que una miniaplicación desarrollada en tu empresa desde una plataforma nocode o low-code a menudo necesita acceso a bases de datos y recursos informáticos. Además, normalmente se ejecuta con los privilegios de su creador y todos los usuarios posteriores de la aplicación llevarán a cabo sus acciones desde este nivel de acceso. Es decir, están a un paso de poder ejecutar un ataque de escalada de privilegios y descubrir posteriormente desde los registros quién es el responsable de la actividad maliciosa puede ser un problema.
Cómo mitigar los riesgos
- Implementando el principio del mínimo privilegio para todas las bases de datos y conexiones API desde el sistema sin código.
- Usando cuentas independientes para los usuarios de miniaplicaciones (utilizar las credenciales del desarrollador de la aplicación es inaceptable).
- Introduciendo medidas de registro especiales para rastrear quién usa realmente las miniaplicaciones cuando consultan bases de datos y API.
Una autorización incorrecta
Casi todas las plataformas de código bajo usan el concepto de conector/conexión, lo que les permite acceder a las bases de datos y otras aplicaciones de la compañía. La arquitectura de estos sistemas no concede al usuario el control directo sobre la conexión después otorgar el permiso para establecerla. La conexión se puede volver a utilizar para realizar otras solicitudes de los mismos datos, incluidos los de una miniaplicación diferente o incluso un usuario diferente.
Cómo mitigar los riesgos
- Actualizando frecuentemente los tokens de autorización en los sistemas vinculados a la plataforma sin código.
- Monitorizando las conexiones usadas en activo.
- Rescribiendo las miniaplicaciones programadas incorrectamente que usen conexiones “prestadas”. Desactivando las conexiones innecesarias.
- De nuevo, usando el principio del mínimo privilegio.
- Formando a los usuarios de la empresa para que comprendan los riesgos que pueda suponer un amplio acceso a los datos de las aplicaciones.
La modificación o filtración de datos
Cuando las plataformas sin código tienen amplio acceso a los datos, las miniaplicaciones que hayan sido programadas por usuarios no especializados pueden arrojar más datos de los que había planeado el desarrollador. Además, los errores en la sincronización y el procesamiento de datos entre sistemas pueden provocar la corrupción de datos involuntaria y generalizada o la copia desautorizada.
Cómo mitigar los riesgos
- Limitando el acceso a los datos, minimizando la escritura y eliminando los permisos.
- Minimizando la lista de empleados autorizados que pueden crear y modificar conexiones y configurando las normas de acceso.
- Monitorizando los datos transferidos por la plataforma sin código para identificar cantidades excesivas a tiempo.
Ajustes de seguridad incorrectos
Durante la creación del código de la miniaplicación, pueden tener lugar configuraciones incorrectas y errores, como el acceso al almacenamiento de archivos sin cifrado, el almacenamiento de claves API u otros secretos directamente del código o el acceso a sistemas corporativos sin la debida autenticación. Dado que muchas aplicaciones de código bajo se pueden analizar fácilmente, los atacantes pueden extraer rápidamente toda la información y utilizarla para los ciberataques y robos de datos.
Cómo mitigar los riesgos
- Garantizando el cumplimiento de las buenas prácticas de la industria para la configuración de aplicaciones y la custodia de secretos.
- Formando a los usuarios de empresas que crean aplicaciones sin código para que trabajen estas prácticas.
- Introduciendo medidas de seguridad adicional en el nivel de la infraestructura. Restringiendo los métodos de acceso inseguro y monitorizando las solicitudes anómalas desde los sistemas sin código.
Higienización de las entradas
La mayoría de las aplicaciones de código bajo cuentan con algún tipo de interfaz que te permite introducir datos; por ejemplo, la información de contacto en un formulario de un sitio web recientemente creado. La verificación de los formularios de entrada a menudo resulta insuficiente o directamente no existe, permitiendo los ataques de inyección de SQL.
Cómo mitigar los riesgos
- Formando a los usuarios de empresas: las miniaplicaciones creadas deben comprobar e higienizar cualquier información entrante, ya sea en texto, archivo CSV o cualquier otra forma.
- Implementando las herramientas de higienización de datos adicionales, por ejemplo, a la hora de pasar las solicitudes de SQL desde la plataforma low-code o no-code a la base de datos.
Vulnerabilidades en módulos
Muchas plataformas sno-code cuentan con una arquitectura modular con sus propios almacenes de componentes para los proyectos de usuario. Las vulnerabilidades en estos componentes a menudo pueden llegar a ser muy graves y complicarse debido al hecho de que no pueden rastrearse ni actualizarse rápidamente usando las herramientas estándares. Estos módulos incluso pueden acabar siendo un troyano si su desarrollador recibiera un ataque.
Cómo mitigar los riesgos
- Limpiando regularmente la plataforma. Los complementos, módulos y otros componentes sin uso deben eliminarse.
- Limitando la lista de componentes disponible para los usuarios.
- Inventariando todos los componentes en uso y monitorizando las vulnerabilidades y los lanzamientos de nuevas versiones.
- Usando sistemas de protección específicamente diseñados para tu plataforma low-code, como, por ejemplo, Wordfence de WordPress.
Procesamiento ilegal de datos
Los bases de datos almacenadas por las miniaplicaciones a veces pueden estar sujetas a las reglas generales de una plataforma low-code o no-code en particular, lo que significa que los administradores de la compañía no tienen el control total sobre su ubicación y contenido. Esto puede llevar a la violación de leyes locales, como el RGPD, respecto al almacenamiento de ciertos tipos de datos.
Cómo mitigar los riesgos
- Enseñando a los usuarios de empresas las reglas básicas de procesamiento de datos.
- Comprobando el equipo de seguridad de la información todas las aplicaciones que potencialmente tienen acceso a datos sensibles.
Aplicaciones olvidadas
Por su propia naturaleza, las aplicaciones sin código son fáciles de crear y dejar en funcionamiento sin que se note. Por ejemplo, si un empleado deja la empresa, su miniaplicación puede seguir ejecutándose y creando informes diarios. O un compañero podría seguir usándola a espaldas de los equipos de TI y seguridad de la información.
Cómo mitigar los riesgos
- Manteniendo un catálogo detallado de miniaplicaciones, sus propietarios y usuarios finales.
- Eliminando las aplicaciones y conexiones innecesarias. Comprobando la lista de usuarios permitidos y eliminando aquellos que ya no necesiten la aplicación.