Archivo mensual: Noviembre 2020

La importancia de una contraseña robusta.

Las empresas alrededor del mundo almacenan sus contraseñas dentro de bases de datos en diversos formatos y codificaciones, principalmente en forma de hash. Toda contraseña puede ser descifrada, existen finitas permutaciones de hash y lo único que podemos hacer es retrasar al atacante lo máximo que podamos.
En este artículo abordaremos la teoría y la matemática detrás del manejo de contraseñas seguras, además de las técnicas utilizadas para acelerar el descifrado.

Qué es un hash

Una función hash es un algoritmo que permite transformar un arreglo de bytes en una cadena de tamaño fijo, además el resultado debe ser siempre el mismo. Algunos ejemplos para la frase “el tractor amarillo que anda por la verde pradera”.

La seguridad de estos algoritmos se mide por la posibilidad de realizar ataques de colisión, en el siguiente ejemplo podemos ver que dos archivos binarios generan el mismo hash MD5:

Protegiendo la contraseña

Dentro de los leaks de contraseñas más populares de los últimos años ha quedado evidenciado que los usuarios tienden a ocupar contraseñas tan simples como: 123456, 123456789, picture1, password, 12345678, 111111, 123123, 12345, 1234567890, senha, amor. Esto demuestra una clara falta de controles y reglamentación en la creación de contraseñas. A continuación, vamos a evaluar técnicas para proteger las contraseñas contra los atacantes, incluso después de haber sido robadas, estas no podrán ser fácilmente descifradas.

Salting

El concepto de salting es concatenar una clave secreta con la clave del usuario para crear un hash, esto permite que una simple contraseña “contraseña123” se transforme en algo como “S3cr37P4zzw0rdcontraseña123”, aumentando considerablemente los esfuerzos necesarios para descifrar esta contraseña.
En el caso de que el atacante haya logrado obtener el código fuente es posible que este obtenga la clave de “salt”, por lo tanto, se deben aplicar controles adicionales a las contraseñas para reforzar la seguridad.

Passphrase

A veces es mejor utilizar una contraseña larga en vez de una contraseña muy compleja. Los ejemplos a continuación solo se podrían calcular mediante colisión, ya que matemáticamente tardaríamos siglos en calcular las permutaciones necesarias:

  • La lógica es el inicio de la sabiduría, no el final
  • No puedo cambiar las leyes de la física
  • Es posible no cometer ningún error y aun así fallar

Algoritmos “caseros”

En unos cuantos proyectos me ha tocado ver patrones de contraseña irregulares, que no se parecen a ningún algoritmo convencional en estructura. Al analizar cientos de muestras de este tipo de implementaciones y aprovechando herramientas como Burp Suite Sequencer, podemos inferir que es un algoritmo débil y probablemente de sustitución:

“Por este motivo, utilizar algoritmos propios que no cumpla con estándares internacionales es una vulnerabilidad.”

Grupos de caracteres

Al solicitar la creación de contraseñas podemos reforzar a nivel de servidor el uso de grupos de caracteres que nos parezcan apropiados, a continuación, listamos algunos grupos de caracteres comúnmente utilizados:

Es posible crear estándares de contraseña exigiendo múltiples elementos de la tabla anterior, esto finalmente aumenta el universo de opciones y fuerza el uso de contraseñas con un mayor grado de seguridad, es decir, poco adivinable.

Reglas comunes

Muchas implementaciones de protección de contraseñas refuerzan validaciones adicionales como las que listamos a continuación.

  • Secuencias de caracteres (123, abc, 456, etc)
  • Datos personales (Fecha de nacimiento, nombres, apellidos)
  • No utilizar contraseñas anteriores
  • El número no puede estar al final
  • La mayúscula no puede ser la primera letra
  • El último carácter no puede ser un símbolo

Las matemáticas y costos del cracking

Existen cuatro formas de “descifrar” una contraseña que ha sido propiamente “hasheada”:

  • Encontrarla en un rainbow table
  • Encontrarla mediante un ataque de diccionario
  • Encontrarla mediante un ataque de fuerza bruta
  • Colisión de hash (No afecta a sha256 hasta hoy)

A continuación, vamos a ver ejercicios de fuerza bruta mediante la generación programática de permutaciones con la herramienta Hashcat para hashes sha256. La herramienta hashcat se puede configurar junto con conjuntos de reglas tales como el universo de caracteres, que comience con mayúscula, que termine con un símbolo, etc.

Para este ejercicio vamos a medir la cantidad de hash por segundo en Mh/s, la cual representa N millones de hash por segundo.
El entorno de pruebas es una máquina de Amazon AWS p3.16xlarge, con un costo por hora de funcionamiento de 24,48usd. Este servidor tiene la capacidad de producir aproximadamente 59971.8Mh/s de sha256.
Es importante notar que los distintos algoritmos generan distintas velocidades en MH/s, por ejempo, bcrypt con sha256 permite crear hashes a una velocidad de 0,43Mh/s, 140.000x más lento que sha256 solo.
Al conocer nuestro universo y cantidad de caracteres, podemos automatizar la herramienta hashcat para realizar todas las permutaciones necesarias hasta dar con la contraseña. La siguiente tabla contiene el universo, la cantidad de permutaciones, un ejemplo, el tiempo de descifrado y el costo en USD.

Estas pruebas se pueden paralelizar, es decir, es posible ejecutar las 7264 horas en un día al distribuir la carga entre 302 servidores. Manteniendo el costo de $177.822 USD

Recomendaciones

Existen múltiples bases de datos de contraseñas y servicios (como haveibeenpwned.com), los cuales permiten conocer el estado de seguridad de alguna contraseña o incluso una cuenta. Pese a que no recomendamos compartir con nadie las contraseñas de sus usuarios, es bueno saber si las contraseñas que ellos utilizan comúnmente en sus plataformas son públicamente explotadas y parte de diccionarios de contraseñas.

  • Utilizar password salting.
  • Utilizar algoritmos de hashing seguros como sha256 y sha512.
  • Utilizar implementaciones seguras de hashing como bcrypt con sha512, la cual fuerza el uso de salts y crea hashes que no se repetirán.
  • Limitar la cantidad de intentos de inicio de sesión.
  • Expirar las contraseñas cada cierto tiempo.
  • Segundo factor de autenticación mediante alguna aplicación de autenticador, hoy en día se duda de la seguridad de los SMS y las llamadas como 2FA.
  • Permitir el uso de caracteres especiales (Unicode) en las contraseñas, incluyendo emojis.

Referencias

(1) https://csrc.nist.gov/projects/cryptographic-standards-and-guidelines
(2) https://pages.nist.gov/800-63-3/sp800-63b.html
(3) https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/04-Authentication_Testing/07-Testing_for_Weak_Password_Policy

Cinco puntos ciegos de seguridad creados por la transformación digital

Estamos entrando en lo que algunos llaman la Cuarta Revolución Industrial, ya que la transformación digital disuelve los perímetros de seguridad tradicionales y lleva todo a la nube.

Los datos se crean a un ritmo explosivo, la gran mayoría de ellos en dispositivos móviles o directamente en la nube. Las fuerzas laborales se están volviendo cada vez más remotas, lo que significa que se están alejando de los perímetros tradicionales del centro de datos empresarial. La transformación digital, que está impulsando la adopción de la nube y los dispositivos móviles, está creando un cambio tremendo en la postura de riesgo, exponiendo como resultado nuevos puntos ciegos de seguridad para todas las organizaciones.

Como CSO de una plataforma de seguridad en la nube, sé por experiencia que esos puntos ciegos significan que es menos probable que los equipos de seguridad vean las amenazas que se avecinan o se protejan de sus propias amenazas internas. Peor aún, la superficie de ataque está creciendo a un ritmo rápido, donde los controles de seguridad heredados que se encuentran en su perímetro no pueden proteger ni ver. Combinado con un conjunto completamente nuevo de amenazas específicas de la nube, esto significa problemas para todos los programas de seguridad.

Sin embargo, los equipos de seguridad pueden prepararse ahora para un futuro habilitado para la nube que se acerca rápidamente. Aquí es donde puede comenzar:

1. La Red

Los programas de seguridad se crearon en un mundo en el que asumíamos que las empresas eran propietarias del dispositivo y la red donde vivían sus datos. Ahora, con un número cada vez mayor de usuarios empresariales en la nube, es posible que no estén pasando por su centro de datos o ni siquiera por su red. Sus datos ahora están ubicados donde alguien más los controla, ya sea en un dispositivo remoto iOS / Android o una aplicación SaaS como Salesforce u Office 365, lo que resulta en una menor visibilidad de la red.

El primer paso para recuperar el control es aceptar que ha perdido el control y la visibilidad de la mayoría de los dispositivos móviles / remotos y de la mayoría de las aplicaciones SaaS / Cloud. A partir de ahí, una buena forma de controlar constantemente el acceso a sus datos es con una puerta de enlace web segura (SWG) basada en la nube.

2. Remoto / Móvil

El trabajador promedio de hoy tiene más de dos dispositivos móviles y es probable que los use fuera de la red de su empresa. Una vez que un dispositivo móvil sale de su red, no ve las amenazas. Si es un dispositivo administrado o propiedad de la empresa, el primer paso para recuperar la visibilidad es encontrar una buena solución de seguridad para terminales. El segundo paso es conectar el dispositivo remoto a su SWG para un enfoque de dos niveles para mitigar las amenazas. El tercer paso es implementar políticas de DLP basadas en la nube, utilizando su SWG para proteger los datos que salen del dispositivo administrado. Si se trata de un dispositivo no administrado, el primer paso es aprovechar un SWG o CASB para invertir el proxy y obtener visibilidad de las aplicaciones y los datos. Por ejemplo, puede permitir la visualización de datos confidenciales pero negar su descarga a un dispositivo no administrado. Esto le brinda un control mucho mejor de los dispositivos no administrados.

3. Cifrado SSL / TLS

Si bien el cifrado SSL / TLS 1.3 se ha convertido en estándar para muchas organizaciones, la mayoría no puede obtener visibilidad sobre él, por lo que corre el riesgo de dejar que las amenazas se deslicen ante sus narices. Si bien será necesario superar un cierto nivel de complejidad, la mejor manera de obtener visibilidad de ese cifrado es insertar su seguridad en línea. Establezca conexiones seguras entre las dos ubicaciones de transporte y su plataforma de seguridad, algo que comúnmente se denomina “hombre en el medio”. Con eso, debería poder rectificar este punto ciego, pero a su vez también tendrá que lidiar con él además de las API.

4. Visibilidad API / JSON

Hay más de 30,000 aplicaciones en la nube que las organizaciones pueden estar usando hoy en día, y todas ellas usan API únicas para conversar. Antes, era fácil decodificar los idiomas del tráfico web, como TCP IP o HTTP, pero API / JSON es el nuevo idioma de Internet y el idioma de todas las aplicaciones en la nube, lo que significa que ahora hay miles de dialectos. Sin poder decodificar el código JSON a escala, no sabrá la función exacta que está realizando en una aplicación determinada o cuánto acceso le está dando a una aplicación a sus datos.

Esta visibilidad puede ser aún más problemática si su infraestructura no puede discernir entre instancias personales y corporativas de uso de una aplicación. Sin una visibilidad granular, un empleado de su organización podría acceder a datos confidenciales en una cuenta de Box corporativa desde un dispositivo personal no administrado. Y no podrías notar la diferencia. La única solución que puedo ofrecer para corregir esta visibilidad es una solución SWG que le brinda la visibilidad granular para distinguir instancias y traducir estas API, junto con otro cifrado.

5. Datos en la nube

Gran parte de los datos de su organización ya se encuentran en la nube, pero es posible que no sepa cuántos datos confidenciales se están filtrando realmente a través de las aplicaciones en la nube que ya está utilizando. Considere que su departamento de recursos humanos quiere realizar una auditoría sobre la demografía de su empresa. Simplemente podrían cargar toda esa información personal confidencial en una aplicación en la nube con unas pocas teclas. Pero, ¿cómo sabe que la aplicación en la nube es segura? No es así. Y lo que es peor, es posible que su equipo de recursos humanos ni siquiera se dé cuenta de la cantidad de datos confidenciales que está proporcionando a una fuente que posiblemente no sea de confianza.

En mi experiencia, la forma más eficaz que he encontrado para disuadir el uso compartido involuntario de fuentes incompletas es simplemente agregar un mensaje a su sistema, asegurándose de que el usuario realmente quiera compartir datos con una fuente que quizás no pueda protegerla adecuadamente. Y si incluso si sobrepasan esa protección, puede activar las alarmas necesarias para que pueda detenerlo antes de que algo se vea comprometido.

Los datos en la nube fluyen como el agua y es su trabajo crear la ruta correcta para ellos.

Si bien todos estos puntos ciegos representan una gran preocupación para todos y cada uno de los equipos de seguridad, vale la pena señalar que todos ellos se pueden abordar fácilmente con el enfoque correcto. Si comienza a hacer las preguntas correctas sobre su postura de seguridad actual y busca la tecnología adecuada para encontrar las respuestas, estará mejor preparado para enfrentar la transformación digital.

FUENTE:
https://www-forbes-com.cdn.ampproject.org/c/s/www.forbes.com/sites/forbestechcouncil/2020/06/19/five-security-blind-spots-created-by-digital-transformation/amp/

Resumen del Taller de Ciberseguridad de la Camara de Comercio de Santiago con Makros y Deloitte.

Ciberseguridad, es el conjunto de herramientas políticas, conceptos de seguridad, directrices, métodos de gestión de riesgo, acciones, formación, prácticas idóneas, seguros y tecnologías que pueden utilizarse para proteger los activos de la organización y los usuarios en el ciber-entorno.

La principal pregunta que nos debemos hacer es: ¿Cuáles son los datos relevantes que almacena mi empresa? Y así ver que debemos proteger:

  • Información financiera
  • Propiedad intelectual
  • Inventario
  • Datos de clientes

Luego, entender ¿Dónde estamos almacenamos esa información?

Sabemos que el 43% de los ataques se concentra en pequeñas y medianas empresas. Y la pandemia a fomentado un crecimiento del trabajo remoto y el e-commerce, lo que genera un mayor riesgo en cómo estamos tratando nuestros datos o que seguridad le estamos dando.

Según estadísticas internacionales, una empresa que sufrió un ciber-ataque puede estar parada en promedio de 7 a 10 días y esto puede afectar severamente la operación de dicha empresa.

­­­­­­­­La ciberseguridad es transversal a las empresas, ya que toda ellas sin importar su tamaño, tienen datos en distintos dispositivos, tienen relaciones con tercero, tienen definiciones estratégicas, están estableciendo procesos de transformación digital, están tratando de innovar en productos y servicios, etc.

También existe una tendencia a tratar de mover la venta tradicional a un formato digital, lo que impacta a la ciberseguridad.

“No existe transformación digital sin ciberseguridad”

Makros y Deloitte han sacado una Guía de Ciberseguridad que puede ayudar a las empresas a dar los primeros pasos en este ámbito, los cuales se basan en distintos Frameworks de ciberseguridad.

5 puntos importantes a considerar en este sentido son:

  • Identificar
  • Proteger
  • Detectar
  • Responder
  • Recuperar

Es necesario también preguntarnos o establecer como procedimiento, el que debo hacer si hoy sufro un ataque informático.

Modelos de Madurez en ciberseguridad

Todo lo anterior, va definiendo que tan preparado esta la empresa para abordar la ciberseguridad, y en este sentido existen modelos de madurez para saber a que nivel estamos, los cuales se clasifican en:

  1. Inicial
  2. Formativa
  3. Consolidada
  4. Estratégica
  5. Dinámica

REFERENCIA: Para ver el taller completo presiona en el link: https://bit.ly/367A1yV