Tipos comunes de vulnerabilidades de seguridad y formas de solucionarlas
Publicado: 2022-07-11Una vulnerabilidad en el Exchange Server de Microsoft contribuyó a una gran serie de ataques cibernéticos que afectaron a más de 60 000 empresas privadas en los EE. UU. Y solo un mes antes, una empresa aeroespacial, Bombardier, violó los datos de sus empleados y proveedores debido a las debilidades en su aplicación de transferencia de archivos de terceros.
Hay muchos tipos de vulnerabilidades de seguridad que pueden poner su sistema de TI en el radar de los piratas informáticos. Desde malas prácticas de codificación hasta componentes externos defectuosos, sin importar cuál sea el motivo, muchas empresas terminan expuestas. Para mitigar este problema, las empresas se benefician de los servicios de prueba y control de calidad para evaluar su propio software y redes y evaluar los riesgos de seguridad de los componentes de proveedores externos.
Entonces, ¿qué tipos de vulnerabilidades de seguridad pueden estar exponiendo su sistema a amenazas cibernéticas en este mismo momento? ¿Cómo aparecen las vulnerabilidades? ¿Y cómo podemos mitigarlos?
¿Qué es una vulnerabilidad de software y de dónde se origina?
Una vulnerabilidad de seguridad es una característica no deseada del sistema o componente que aumenta el riesgo de una intrusión o pérdida de datos, ya sea por exposición accidental, ataque intencional o conflicto con nuevos componentes. Tal vulnerabilidad puede ser una falla de diseño, un error de implementación, una mala configuración, etc.
Antes de continuar, aclaremos la diferencia entre una vulnerabilidad, un exploit y una amenaza.
- Existe una vulnerabilidad en el sistema sin ningún esfuerzo de terceros
- Un exploit es la forma en que los intrusos usan una debilidad existente del sistema para montar un ataque.
- Una amenaza es el incidente real cuando uno o varios exploits utilizan una vulnerabilidad para penetrar en un sistema.
Los expertos en seguridad pueden eliminar las vulnerabilidades al descubrirlas mediante parches de software, reemplazo de hardware y reconfiguración del sistema. Capacitar a los usuarios finales en prácticas de seguridad y mantener todos los componentes actualizados también evitará y minimizará las vulnerabilidades. Además, los equipos de seguridad deben tener en cuenta que, a medida que los sistemas evolucionan, aparecen nuevas debilidades. Por lo tanto, las empresas deben escanear su software, hardware y redes sistemáticamente en busca de vulnerabilidades emergentes y repararlas antes de que se descubran y exploten.
Nuevas vulnerabilidades de seguridad siguen surgiendo rápidamente, ya que la Base de datos nacional de vulnerabilidades (NVD) del gobierno de EE. UU. publicó más de 8000 entradas nuevas en el primer trimestre de 2022. Con este ritmo acelerado, muchas empresas no pueden seguir el ritmo y dejan abiertas las debilidades durante años, exponiendo sus sistemas Un estudio de vulnerabilidades de software reveló que el 75 % de los ataques montados en 2020 explotaron exposiciones que tenían al menos dos años de antigüedad, mientras que el 18 % se basó en debilidades informadas en 2013.
¿Cómo entran las vulnerabilidades de seguridad en el software y las redes?
Según una investigación, el 75 % de las aplicaciones desarrolladas por proveedores de software no cumplen con los 10 estándares principales del Proyecto de seguridad de aplicaciones web abiertas (OWASP). Estos estándares están disponibles públicamente. Entonces, ¿por qué tantos siguen sin poder producir una aplicación segura? Estas son las razones principales:
Código de terceros vulnerable y otros componentes. Es una práctica común reutilizar componentes de terceros, ya que esto acelera significativamente el proceso de desarrollo. Sin embargo, los usuarios tienden a tomar la seguridad de estas partes a la ligera y, a menudo, las implementan sin una evaluación exhaustiva. Lo mismo se aplica a copiar y pegar código de fuentes, como Stack Overflow, sin evaluar su seguridad.
Prácticas de codificación inseguras. Estudios recientes muestran que la seguridad ni siquiera está en el radar de la mayoría de los desarrolladores. En un experimento que exploró la actitud de 1200 desarrolladores, los investigadores concluyeron que solo el 14 % ve la seguridad como una prioridad al escribir código. Además, tenga en cuenta que muchas organizaciones exigen a sus desarrolladores que produzcan código rápidamente en plazos ajustados, lo que simplemente no deja espacio para una evaluación de seguridad exhaustiva y genera vulnerabilidades en el código.
El panorama de los ciberataques cambia rápidamente. Los atacantes descubren constantemente nuevas formas de violar la seguridad de las aplicaciones. Entonces, partes que antes se consideraban inmunes pueden volverse vulnerables hoy. Si el equipo de TI no evalúa sistemáticamente las aplicaciones y las redes en busca de vulnerabilidades y no mantiene todo el software actualizado, es solo cuestión de tiempo hasta que comiencen a surgir las debilidades.
Clasificación de tipos de vulnerabilidad de seguridad
Hay dos plataformas, OWASP y CWE, que ofrecen una lista de vulnerabilidades de seguridad confiable y detallada. Actualizan sus listados para incluir cualquier debilidad emergente. Ambos recursos se pueden utilizar para educar a programadores, probadores e ingenieros.
OWASP es una comunidad global sin fines de lucro y publica regularmente la lista de las 10 principales vulnerabilidades de software de OWASP. Common Weakness Enumeration (CWE) es una composición de vulnerabilidades de software y hardware también desarrollada por una comunidad dedicada e incluye 25 entradas.
Aquí hay 18 de las vulnerabilidades de seguridad más destacadas que queremos resaltar en este artículo, ordenadas por dominio. Estos pueden manifestarse en cualquier sistema de TI, como la nube, configuraciones basadas en IoT y aplicaciones móviles.
1. Falta de prácticas sólidas de encriptación
Aunque el cifrado no detendría un ataque cibernético, es esencial garantizar que los datos confidenciales permanezcan seguros incluso si se viola su plataforma de almacenamiento. Los atacantes no pueden hacer un mal uso de los datos cifrados hasta que los descifren, lo que le da tiempo a la empresa violada para tomar las medidas necesarias, como notificar a las partes afectadas y preparar contramedidas contra el robo de identidad.
La investigación muestra que muchas empresas no tienen planes inmediatos de encriptar datos en memorias USB, computadoras portátiles y de escritorio. Y hablando de regulaciones de protección de datos, GDPR no requiere explícitamente el cifrado, pero lo describe como "medidas técnicas y organizativas apropiadas" para la seguridad de los datos.
En su informe Costo de una violación de datos, IBM señaló que el cifrado es uno de los factores más impactantes que pueden reducir el costo promedio de las violaciones de datos.
2. Exposición de datos confidenciales
Los datos pueden quedar expuestos debido a un error humano cuando un empleado negligente los carga en una base de datos pública o en un sitio web. Pero este tipo de vulnerabilidad de seguridad también puede ser respaldado por procesos internos que realmente permiten que un empleado no autorizado obtenga acceso y manipule datos confidenciales.
Egress, una empresa de seguridad cibernética, realizó una encuesta que reveló que el 83 % de las organizaciones de EE. UU. han expuesto accidentalmente datos confidenciales a través del correo electrónico, el uso compartido de archivos, el software de colaboración y las aplicaciones de mensajería.
3. Protección insuficiente de la capa de transporte
Este tipo de vulnerabilidad se ocupa del intercambio de información entre el cliente y la aplicación del servidor. Dicha información puede contener datos confidenciales, incluidas las credenciales de usuario y los detalles de la tarjeta de crédito. Cuando el transporte de datos no está asegurado, la comunicación puede ser interceptada y los atacantes pueden obtener acceso a los datos y descifrar el cifrado si se utilizan algoritmos débiles.
4. Componentes del sistema mal configurados e interacciones riesgosas
La configuración incorrecta de los componentes y las interacciones entre ellos es otro problema de seguridad que encontramos a menudo. Por ejemplo, al configurar un sistema de TI, el administrador se olvida de anular la configuración predeterminada del fabricante y deshabilitar las listas de directorios, dejando el sistema expuesto. Otro ejemplo es olvidarse de restringir el acceso a dispositivos externos.
Hablando de interacciones, es recomendable que las aplicaciones adopten un enfoque de confianza cero y consideren cada entrada como riesgosa antes de que se verifique y se demuestre que es legítima. Esto ayudará a evitar ataques, como secuencias de comandos entre sitios, donde los atacantes infunden una aplicación con datos que no son de confianza.
Este aspecto es particularmente relevante para las soluciones basadas en la nube. Una investigación informó que las configuraciones incorrectas del servidor contribuyeron a 200 brechas en la nube en dos años. Otro estudio muestra que alrededor del 70% de las brechas de seguridad en la nube comienzan con una arquitectura defectuosa. Por ejemplo, un depósito de almacenamiento de AWS mal configurado expuso 750 000 solicitudes de certificados de nacimiento en los EE. UU. en 2019.
5. Control débil del lado del servidor
Este tipo de vulnerabilidad de seguridad representa todo lo que puede salir mal en el lado del servidor, desde una autenticación deficiente hasta configuraciones erróneas de seguridad que permiten ataques, como la falsificación de solicitudes entre sitios donde el navegador de algún usuario emite acciones no autorizadas al servidor sin el conocimiento de ese usuario.
Por ejemplo, una configuración incorrecta en un servidor de base de datos puede hacer que los datos sean accesibles a través de una búsqueda web básica. Y si contiene credenciales de administrador, los intrusos pueden obtener acceso al resto del sistema.
6. Ejecución remota de código
Esto significa que las vulnerabilidades de seguridad del software presentadas por su sistema permiten a los intrusos ejecutar código malicioso a través de Internet en sus dispositivos. Por ejemplo, cuando un empleado hace clic en un enlace de correo electrónico en un sitio web de un tercero, el pirata informático detrás de esta configuración inyecta malware en la computadora de la víctima y asume el control desde allí. El intruso puede acceder a datos confidenciales o bloquear la máquina y exigir un rescate.
7. Vulnerabilidades conocidas basadas en el sistema operativo
Cada sistema operativo tiene su lista de vulnerabilidades de software. Algunas listas se publican en línea para que todos las vean. Por ejemplo, aquí está la lista de las 10 principales debilidades del sistema operativo Windows 10, y aquí está la lista correspondiente para OS X. Corresponde a los equipos de seguridad revisar estos puntos y abordarlos para minimizar las posibilidades de ataques.
8. Ejecutar scripts sin verificación de virus
Este es un tipo de vulnerabilidad de seguridad común que está presente en ciertos navegadores web. Por ejemplo, Safari permite ejecutar secuencias de comandos "confiables" sin el permiso explícito del usuario. Los piratas informáticos tienden a explotar esta debilidad al intentar ejecutar un código malicioso que puede confundirse con un script "seguro". Afortunadamente, a menudo es posible desactivar esta "característica".
9. Credencialización débil
Los intrusos pueden obtener acceso mediante la fuerza bruta de las credenciales de los usuarios. Esto es especialmente fácil cuando más de 23 millones de personas usan la contraseña "123456". Esto se suma a las contraseñas, como "admin", "contraseña" y "qwerty", que también son comunes y bastante fáciles de piratear.
Este tipo de vulnerabilidad de software se considera creada por humanos, pero las empresas pueden implementar medidas que obligarían a los empleados a elegir opciones más sólidas y cambiar sus credenciales con la suficiente frecuencia. Esto es crucial, dado el papel que juega la acreditación débil en la seguridad del sistema. Las estadísticas muestran que el 80% de las brechas de seguridad fueron habilitadas por contraseñas débiles y que el 61% de los usuarios tienden a utilizar una frase de seguridad para múltiples servicios.
10. Uso de componentes con vulnerabilidades conocidas
La implementación de componentes de terceros, como bibliotecas, API, conjuntos de datos y marcos, puede reducir significativamente el esfuerzo requerido para tener su sistema en funcionamiento. Pero también puede introducir vulnerabilidades. Es importante ser diligente y evaluar estos componentes para asegurarse de que no dejen puertas traseras abiertas para acceder a datos confidenciales.
Incluso descargar y usar imágenes de terceros podría ser peligroso. En 2021, se implementaron 30 imágenes de Docker Hub con un volumen de descarga de 20 millones para propagar malware de criptominería.
11. Diseño inseguro
Este es un tipo de vulnerabilidad de seguridad relativamente nuevo que apareció en OWASP en 2021. La organización exige patrones de diseño seguros, modelado de amenazas y arquitectura de referencia para eliminar las debilidades desde el principio.
El diseño seguro es una metodología que evalúa constantemente las amenazas y asegura la robustez del código. Fomenta las pruebas sistemáticas contra métodos de ataque conocidos. Ve la seguridad como una parte esencial del desarrollo de software, no como un complemento o una característica agradable de tener.
12. Errores de seguridad en las API
Las interfaces de programación de aplicaciones (API) permiten que los componentes de software interactúen entre sí, lo cual es una parte esencial de un sistema de TI. Sin embargo, las API con medidas de seguridad débiles pueden abrir múltiples lagunas, como la autenticación rota y la inyección de código de permiso y otras prácticas maliciosas.
Por ejemplo, una API creada de manera imprudente, que se basa en el lado del cliente para filtrar la información antes de presentarla a los usuarios, puede exponer los datos y ponerlos a disposición. Los datos confidenciales deben filtrarse en el lado del servidor. Aquí hay otro ejemplo de este tipo de vulnerabilidad de seguridad: si una API no restringe la cantidad de solicitudes entrantes, puede abrir la oportunidad para ataques de denegación de servicios (DoS).
Aquí está la lista OWASP de las 10 principales vulnerabilidades de seguridad relacionadas con API para su consideración. Las API inseguras abrieron la puerta a muchos ataques en los últimos años. Un ejemplo infame proviene de LinkedIn, ya que un actor malicioso usó la API sin autenticación de la plataforma para descargar datos de 700 millones de usuarios. Usando una violación de API similar, un intruso recuperó información sobre 1,3 millones de usuarios de Clubhouse y la publicó en un foro de piratas informáticos.
13. Autenticación inadecuada
Las medidas de autenticación débiles permiten a los piratas informáticos aprovechar la opción de "contraseña olvidada" para restablecer cuentas o iniciar un ataque de apropiación de cuenta. Ayuda al intruso cuando la pregunta de autenticación es algo como la fecha de nacimiento del usuario o el nombre de la mascota, ya que esta es información disponible públicamente gracias a las redes sociales. Seguir un proceso de autenticación de múltiples factores aumentará la seguridad. Lamentablemente, la investigación muestra que solo el 26 % de las empresas estadounidenses utilizan este método de autenticación fuerte.
14. Supervisión y registros insuficientes
Los registros almacenan datos sobre eventos del sistema, actividades de la red y acciones del usuario. Al monitorear los registros, los equipos de seguridad pueden observar todas las actividades que tuvieron lugar recientemente e identificar eventos sospechosos. Si los registros no se revisan sistemáticamente, esto crea una brecha de información donde las vulnerabilidades del software y las actividades maliciosas permanecen sin detectar.
15. Privilegios de superusuario
Cuantos menos datos pueda acceder un usuario, menos daño puede causar su cuenta si se ve comprometida. Sin embargo, algunas empresas todavía otorgan negligentemente privilegios de superusuario a diestro y siniestro y no restringen el acceso de los empleados a lo que necesitan para cumplir con sus tareas diarias. Si un intruso se apodera de una cuenta de nivel de administrador, puede deshabilitar el software antivirus y el firewall, instalar aplicaciones dañinas, tomar posesión de los archivos, etc.
Según una investigación, el 74 % de las filtraciones de datos comienzan con el abuso de credenciales privilegiadas.
16. Software obsoleto
La mayoría de las empresas se dan cuenta de que una actualización de software oportuna es clave para un sistema seguro. Sin embargo, parece que solo unos pocos siguen esta práctica. Cybernews informa sobre un estudio reciente que investiga la frecuencia de actualización del software. Esta investigación se llevó a cabo durante un período de 18 meses y descubrió que el 95 % de los sitios web examinados en realidad se ejecutan en software obsoleto con vulnerabilidades conocidas. El equipo de investigación también descubrió que un producto de software promedio suele estar cuatro años por detrás de su último parche.
Además, Kaspersky determinó que es probable que las empresas que ejecutan software obsoleto incurran en un 47 % más de costos en caso de una infracción.
Para dar un ejemplo, la cadena de hoteles Marriott tuvo 500 millones de registros de datos comprometidos en una brecha de seguridad que resultó de un software sin parches.
17. Vulnerabilidades en el código fuente
Las vulnerabilidades del código aparecen sigilosamente durante el desarrollo del software. Por ejemplo, un programa podría transmitir datos confidenciales sin cifrar o usar una cadena aleatoria, que en realidad no es aleatoria. Dichos errores a menudo se detectan durante la fase de prueba del software.

Según una encuesta reciente de Secure Code Warrior, el 86 % de los desarrolladores participantes admitieron que no ven la seguridad de las aplicaciones como una prioridad principal cuando escriben un código, y el 36 % lo atribuye a plazos ajustados. La encuesta también reveló que el 33% de los encuestados ni siquiera entienden qué hace que su código sea vulnerable.
18. Inyección SQL
Este tipo de vulnerabilidad de seguridad es relevante para sitios web y aplicaciones con tecnología de lenguaje de consulta estructurado (SQL). Permite que el atacante altere las declaraciones SQL proporcionadas por el usuario y engañe al intérprete para ejecutar comandos no deseados y otorgar acceso a la base de datos. De esta forma, los intrusos pueden manipular datos confidenciales reemplazando/eliminando/modificando campos confidenciales.
Esta es una vulnerabilidad bastante antigua que representó más del 65% de los ataques a aplicaciones de software ya en 2019.
Tipos de vulnerabilidades de seguridad específicas del sistema y cómo prevenir estas vulnerabilidades de software
Después de resaltar las vulnerabilidades de seguridad comunes, pasemos a las debilidades específicas de la aplicación y del sistema y descubramos cómo proteger sus sistemas de ellas.
La nube
Existe una extensa lista de posibles tipos de vulnerabilidades de seguridad en la nube, independientemente de si se trata de Azure, AWS, GCP o cualquier otro proveedor de la nube. Nuestro experto en la nube, Alexey Zhadov, divide estas vulnerabilidades por capas y brinda consejos sobre cómo prevenirlas.
Vulnerabilidades de la capa del sistema
Sea cual sea el servicio en la nube en el que se ejecuta su software, siempre hay un sistema operativo bajo el capó. Incluso si solo puede acceder a un panel de control para su recurso. Todo sistema operativo tiene sus “agujeros” y “puertas traseras”. Los desarrolladores de sistemas operativos buscan constantemente estas debilidades, tratando de cubrir las bases. Por eso es importante mantener su software actualizado y estar en contacto con los últimos desarrollos en el campo de la ciberseguridad sobre problemas conocidos.
Vulnerabilidades de la capa de red
Cada recurso en la nube se ejecuta en una red en la nube. Y con esto viene la posibilidad de conectarse al recurso externamente. El equipo de seguridad debe asegurarse de que la configuración de la red sea adecuada. Nunca abra puertos que no planee implementar, use la lista blanca de IP que conoce y redes que se espera que se conecten a su solución. Tenga cuidado al abrir una conexión directa a puertos RDP/SSH desde cualquier lugar que no sean IP conocidas.
Vulnerabilidades de la capa de configuración
La nube debe estar correctamente configurada de acuerdo a los requerimientos y objetivos del usuario, y esta configuración debe mantenerse siempre actualizada. Establezca políticas y procedimientos de administración de configuración y controle cualquier actividad sospechosa.
Vulnerabilidades del factor humano
No se olvide de los usuarios finales y administradores que tienen acceso a la solución en la nube. El secuestro de cuentas es una de las debilidades más comunes en cualquier sistema de TI. Si un intruso obtiene acceso a las credenciales de la cuenta de alguien, puede ingresar y manipular libremente el sistema dentro de los derechos de la cuenta, y nadie lo detendrá hasta que reciba una notificación del usuario pirateado. Aquí está la lista de los tipos más comunes de vulnerabilidades de seguridad en las aplicaciones en la nube:
- Redes y cortafuegos mal configurados
- Almacenamiento en la nube mal configurado
- API inseguras
- Mala gestión de acceso
- secuestro de cuenta
- Insiders maliciosos
- vulnerabilidades del sistema
- Vulnerabilidades de tenencia compartida
- Falta de autenticación multifactor para usuarios y dispositivos que quieran unirse a la red
Alexey recomienda algunas reglas simples que las empresas pueden implementar para proteger sus sistemas en la nube:
- Mantener actualizados los sistemas operativos
- Proteja sus redes
- Utilice servidores bastión para acceder a su perímetro cerrado
- Configurar grupos de seguridad de red y listas de control de acceso
- Restringir el acceso a puertos innecesarios
- Configure la supervisión y el registro cuando sea posible
- Implementar control de acceso multifactor para todos los usuarios
- Utilice cortafuegos y protección DDoS
- Use herramientas en la nube para verificar el cumplimiento de los estándares de seguridad, como Azure Security Center
aplicaciones web
Alexey también intervino en los problemas de seguridad del software que aquejan a las aplicaciones web. Al explotar estas vulnerabilidades, los atacantes pueden causar graves daños a la aplicación y a la organización en su conjunto. Estos son los ataques de aplicaciones web más comunes que resultan de las vulnerabilidades de seguridad de las aplicaciones web:
- inyección SQL
- Secuencias de comandos entre sitios
- Travesía de ruta
- Ejecución de comandos remotos
Si los ciberdelincuentes lanzan estos ataques con éxito, pueden plantar malware, comprometer las cuentas de los usuarios, acceder a información restringida y más. Entonces, ¿cómo probar el software en busca de vulnerabilidades? Alexey recomienda realizar pruebas de seguridad de aplicaciones web para evaluar los siguientes parámetros:
- Validación de entrada. ¿Cómo puede la aplicación procesar la entrada y detectar y bloquear cualquier entrada maliciosa?
- Configuración del servidor. ¿Utiliza un método de encriptación fuerte?
- Gestión de autenticación. ¿Qué tipos de autorización se aplican? ¿Pueden los usuarios optar por contraseñas débiles?
- Opciones de autorización. ¿Puede la aplicación protegerse contra escaladas de privilegios?
- Lógica de negocios. ¿Pueden los usuarios insertar datos no válidos? ¿Pueden saltarse los pasos de autenticación? ¿Es posible que los usuarios dañen la integridad de la aplicación y sus datos?
Aplicaciones móviles
Cuando hablamos de seguridad de aplicaciones móviles, no podemos ignorar los tipos de vulnerabilidades de seguridad que presenta el propio dispositivo además de la aplicación. Alexey Zhadov, nuestro experto en nube y dispositivos móviles, también compartió problemas comunes que afectan a las aplicaciones móviles:
- Control débil del lado del servidor
- Almacenamiento de datos inseguro
- Protección insuficiente de la capa de transporte
- Fuga de datos no intencionada
- Autorización y autenticación deficientes
- Mala criptografía
- Inyección del lado del cliente
- Entradas no confiables
- Manejo inadecuado de la sesión
- Falta de protección binaria
- Uso inadecuado del sistema operativo
- Tráfico inseguro y llamadas API
- Manipulación de código y dispositivos con jailbreak
- Registro y monitoreo inadecuados
- Configuraciones incorrectas de seguridad
Para proteger las aplicaciones móviles, Alexey recomienda algunas prácticas simples que las empresas pueden implementar en el diseño y mantenimiento de aplicaciones:
Evaluación de código fuente abierto: la mayoría de las aplicaciones móviles utilizan bibliotecas de terceros de código abierto disponibles para todos. Esto agiliza el proceso de desarrollo, pero también abre puertas traseras para posibles intrusos. Por lo tanto, es obligatorio probar rigurosamente el código de terceros en busca de vulnerabilidades de seguridad del software antes de incorporarlo a la aplicación.
Fuertes prácticas de criptografía: cifrar y descifrar datos durante la transferencia. Con una sólida técnica de cifrado de datos, los datos de la aplicación, como el código fuente, la información del usuario y las credenciales de inicio de sesión, el almacenamiento de su aplicación estará protegido. Una vez que los datos están encriptados, los piratas informáticos no podrán interpretarlos, incluso si obtienen acceso al contenido original.
Certificado de firma de código: los desarrolladores pueden firmar aplicaciones móviles para protegerlas de ciberataques y ganarse la confianza de los usuarios. Dicha firma garantiza que el código no haya sido interpretado o alterado después de firmar la aplicación. El equipo de seguridad puede encontrar varias opciones de certificados de firma de código con etiquetas de precios modestos. Esta práctica es rentable y confiable.
Protección de caché de datos: los datos almacenados en caché contienen información recuperada de la aplicación para ayudar a reabrir más rápido y mejorar el rendimiento de la aplicación. La caché de datos generalmente se almacena sin medidas de seguridad adicionales en el dispositivo de un usuario. Es una práctica más segura generar una contraseña y bloquear la aplicación. Además, Alexey recomienda que borre los datos almacenados en caché con frecuencia e inicie sesión con una conexión de red segura.
Almacenamiento seguro de datos: cada aplicación contiene datos que los intrusos pueden utilizar indebidamente. Incluye información tanto de los usuarios como de los desarrolladores de aplicaciones. Por lo tanto, es fundamental almacenar estos datos de forma segura en un almacenamiento seguro en la nube, en lugar de depender de unidades de almacenamiento locales.
Técnicas de autenticación y autorización: Es fundamental configurar la autenticación multifactor para evitar el robo de datos. Incluye ID de usuario, contraseña, PIN, OTP, etc. La autorización siempre debe realizarse en el lado del servidor para verificar los roles y permisos de los usuarios autenticados.
Borrado de datos y bloqueo del dispositivo: esta función se usa principalmente en aplicaciones que contienen datos confidenciales, como información personal, financiera, de salud, etc. Es una capa de seguridad en la que los datos remotos se borran después de varios intentos fallidos de inicio de sesión por parte del usuario y el la aplicación se bloquea automáticamente. También prohíbe a los usuarios elegir un número secuencial para sus contraseñas en lugar de letras mayúsculas, caracteres especiales, alfabetos, números, etc.
Contrarrestación de ingeniería inversa: los piratas informáticos utilizan la ingeniería inversa para alterar la funcionalidad de la aplicación. Al obtener acceso al código fuente de la aplicación, los piratas informáticos pueden eludir el proceso de autenticación, falsificar su ubicación y robar los datos. Hacer cumplir la seguridad del tiempo de ejecución es fundamental para contrarrestar la ingeniería inversa. Evita que los intrusos modifiquen las funciones internas de una aplicación cambiando su estructura de código para afectar el comportamiento de la aplicación.
Soluciones IoT
Lo que hace que las soluciones IoT sean únicas desde el punto de vista de la seguridad es que las capacidades de cada dispositivo están restringidas por sus requisitos de uso. No hay espacio para implementar características de seguridad sofisticadas que consuman capacidad, memoria o energía adicionales, lo que hace que los dispositivos IoT sean vulnerables.
Nuestro experto en IoT, Yahor Paloika, destaca los siguientes tipos de vulnerabilidades de seguridad en los dispositivos conectados:
- Credenciales codificadas. Los dispositivos IoT vienen con contraseñas codificadas que los administradores a veces olvidan cambiar, lo que brinda a los piratas informáticos la posibilidad de penetrar fácilmente en el sistema utilizando estas conocidas credenciales.
- Redes desprotegidas. Algunas redes no imponen una autenticación sólida, lo que permite a los intrusos agregar dispositivos, reconfigurar la configuración para cambiar el flujo de datos, interceptar datos e inyectar sus propios datos para imitar las lecturas de los sensores.
- Gestión de actualizaciones débil. Muchos dispositivos IoT funcionan de forma independiente y no dependen de la interferencia humana para realizar actualizaciones. En este caso, un sistema de administración de actualizaciones es responsable de asegurarse de que las actualizaciones automáticas lleguen a través de un canal encriptado, se originen en una fuente verificada y no estén dañadas. Si dicho sistema es débil, permitirá que los intrusos corrompan el software y el firmware actualizados, cambiando el comportamiento del dispositivo.
- Módulos de código obsoletos. Olvidarse de eliminar los módulos obsoletos que ya no se usan les da a los piratas el tiempo suficiente para explorar los problemas de seguridad de su software y encontrar lagunas para penetrar en el sistema. Todos los módulos que no forman parte de la funcionalidad de los dispositivos conectados deben eliminarse.
- Protección de Datos. Todos los datos que circulan dentro de la red IoT deben estar encriptados y solo los usuarios autorizados pueden tener acceso a ellos.
La piratería en los sistemas IoT puede tener un efecto devastador. Por ejemplo, en un experimento, un equipo de investigadores podría penetrar el software de los dispositivos IoT en el Jeep Cherokee y enviar comandos maliciosos a través del sistema de entretenimiento del Jeep. Manipularon el aire acondicionado, bajaron la temperatura, encendieron los parabrisas y luego, para horror del conductor, desactivaron los frenos. Afortunadamente, fue solo un experimento. Estos son algunos consejos que recomienda Yahor para proteger los sistemas IoT:
- Use un protocolo criptográfico de seguridad intensiva existente, como Transport Layer Security (TLS), para respaldar la comunicación en una red IoT y compensar la falta de seguridad integrada
- Disponer de un moderno subsistema integrado de gestión de claves y certificados, que proporcione el nivel de encriptación y seguridad requerido. Además, Yahor recomienda actualizar claves y certificados una vez cada seis meses como mínimo.
- Instale un sistema confiable de administración de contraseñas para generar contraseñas seguras y cambiarlas sistemáticamente
- Implemente un sistema de administración de actualizaciones que solo permita el paso de actualizaciones seguras de una fuente legítima, bloqueando cualquier intento de forzar cambios corruptos.
soluciones de IA
Hay un aspecto que diferencia sustancialmente las soluciones de inteligencia artificial (IA) y aprendizaje automático (ML) del resto de los sistemas mencionados en este artículo: es el hecho de que dichos modelos a menudo se entrenan para hacer predicciones, y este proceso de entrenamiento introduce varios tipos de vulnerabilidades de seguridad. Nuestro experto en IA, Maksym Bochok, destacó las debilidades más populares:
- El atacante puede alterar el conjunto de datos de entrenamiento y obligar al modelo a aprender reglas falsas y hacer predicciones erróneas.
- Los ingenieros de ML pueden optar por modelos preentrenados existentes que encuentran en línea, y estos modelos ya pueden ser maliciosos. Por ejemplo, pueden contener el virus troyano u otro malware.
- El intruso puede apoderarse del propio algoritmo y ajustar el código, los pesos y otros parámetros para modificar el comportamiento del modelo.
Además, la IA a menudo se combina con otras tecnologías, como IoT y la nube, lo que la hace susceptible a los tipos de vulnerabilidad de seguridad introducidos por esos sistemas.
Para proteger los sistemas de IA, nuestro experto recomienda lo siguiente:
- Cuando utilice modelos previamente entrenados y conjuntos de datos externos, verifique que no contengan malware
- Pruebe sistemáticamente sus algoritmos para obtener el resultado deseado para asegurarse de que nadie manipuló las reglas de coincidencia o introdujo sesgos, etc.
- Supervise las derivas de datos (cambios en los datos de entrada)
- Detecte valores atípicos, ya que los intrusos pueden insertar datos potencialmente peligrosos para sesgar el modelo a la salida deseada
- Busque posibles valores atípicos en su conjunto de datos de entrenamiento
- Use herramientas generales de evaluación de seguridad de IA, como Counterfit. Ayudará a garantizar que los algoritmos sean fiables y robustos.
- Benefíciese de las herramientas de protección de datos existentes y proteja los datos confidenciales cuando se almacenen y utilicen. Un ejemplo es la herramienta Imperva que puede servir como firewall externo.
En una nota final
Si tiene un negocio exitoso, existe una buena posibilidad de que alguien haya intentado penetrar en su sistema para pedir un rescate o causar daños a la reputación. Y como los piratas informáticos buscan constantemente lagunas para explotar, su equipo de TI está trabajando para reducir los riesgos. Para asegurarse de ganar esta carrera, consulte a una empresa de pruebas y seguridad experimentada que le ayudará a evaluar el estado de su sistema y le dará recomendaciones sobre cómo mejorar.
Y mientras tanto, para evitar que diferentes tipos de vulnerabilidades de seguridad expongan sus aplicaciones, preste atención a la configuración de su sistema, asegúrese de que todo su software esté actualizado y capacite a sus empleados en prácticas seguras.
¿Tiene dudas sobre la seguridad de su sistema existente? ¿O desea crear una aplicación teniendo en cuenta la seguridad? ¡Déjale unas líneas al equipo de ITRex! Nuestros expertos en seguridad probarán su hardware y software en busca de vulnerabilidades y sugerirán mejoras.
Publicado originalmente en https://itrexgroup.com el 6 de julio de 2022.
