Archivos de la categoría: Noticia

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

Tip 20. Evaluar el grado de exposicion de informacion sensible en servicios Cloud

Cuando hablamos de servicios Cloud lo primero que se nos viene a la mente es flexibilidad. Hoy podemos hacer muchas cosas en poco tiempo, ya que existen diversos servicios listos para poder atender nuestras necesidades.

En el ámbito de seguridad, el punto a tener en cuenta es clasificar bien la información (publica, Privada o interna, confidencial, etc.) y luego emplear herramientas que nos ayuden a evitar que se nos escape esta información, ya sea, por error o porque alguien está tratando de hacer uso indebido de ella.

La Seguridad en ambientes Cloud, es un tema importante por considerar, ya que la libertad de conectarnos desde cualquier lugar, la flexibilidad en costos y operación trae consigo el desvanecimiento total del perímetro donde normalmente poníamos nuestros controles de seguridad. Hoy, nuestro perímetro está en el dispositivo y tenemos que hacernos cargo de ello.

Herramientas del tipo #Kriptos nos ayudan a clasificar la información, con el uso de algoritmos de inteligencia artificial y que automáticamente pueden coordinarse con herramientas del tipo #Netskope que evitan la fuga de esta. Así, se obtiene la seguridad que necesitamos para aprovechar los beneficios y flexibilidad que nos da la nube.

REFERENCIAS: #Kriptos #Netskope

Tip 19. Evitar la publicación de tipo “Full NAT” o todos los puertos.

El Primer consejo que debemos considerar, es no mostrar (Publicar) toda la información que tenemos, lo cual se hace a través de diversos servicios, tales como el protocolo http, publicado normalmente en el puerto 80 y que corresponde a una página web.

Para esto, en general empleamos el Firewall de siguiente generacion #SophosXG, que permite publicar servicios de manera acotada y segura, considerando direcciones IP de orgen, Gerorreferenciacion, y politicas de proteccion IPS. En el caso de publicar servicios WEB,#Sophos implementa adicionalmente una capa de seguridad a nivel WAF

Eventulmente, #SophosXG soporta varios tipos de VPN como SSL, IPSEC o #Sophos Connect, que permite asegurar las conexiones de manera de no tener que publicarlos a internet. Integraciones con AZURE o Amazon son naturales y sencillas para #SophosXG

Ahora bien, al paso del tiempo, vamos publicando servicios para mostrar cierta información, pero muchas veces nos olvidamos de cerrar estas puertas o ventanas a nuestra empresa, por lo que siempre es bueno contar con algún servicio del tipo #EthicalHacking o tal vez alguna herramienta que nos permita ver este tipo de problemas o vulnerabilidades expuestas. Herramientas del tipo #Tenable y #Qualys pueden ayudar. Obviamente a niveles de mucha mas perfundida que las expuestas aquí.

REFERENCIAS: #Sophos #Tenable #Qualys

Tip 18. Evalúa como esta la seguridad de las empresas con que interactúas o con quien tienes subcontratada la administración de algún proceso.

Uno de los conceptos que ha ido tomando relevancia en el último tiempo es la evaluación o scoring de riesgo, que consiste en saber cómo está la seguridad de la compañía vista desde fuera.

La razón de este aumento es fácil de entender, ya que muchas veces como empresa tenemos un control maduro de nuestros procesos y en general internamente tenemos buenos indicadores, pero se subcontratan muchos servicios, algunos de ellos pueden ser muy críticos y pueden requerir del uso de nuestra infraestructura.

Luego, ¿Qué pasa si permito que compañías de terceros interactuar con mis procesos, y estas, no tiene un buen nivel de seguridad? Tal vez la fuga de información puede salir por esa vía. Y es por eso, que las empresas maduras a nivel de seguridad no solo deben conocer como esta su propio nivel de seguridad, sino también, los de sus proveedores críticos.

Hoy muchos exigen que el proveedor cumpla cierta normativa, ISO 9000, 27000, etc. también es recomendable pedirle un análisis de seguridad. Herramientas como #SecurityScorecard hace de esta tarea algo fácil, dinámico y muy grato, ya que no solo me da mi propio score de riesgo o el de mis partner, sino también me compara con los niveles deseables de la industria.

REFERENCIA: #SecurityScorecard

Tip 17. Cerrar acceso a servicios RDP que puedan estar publicados a Internet.

Normalmente, los servicios como RDP (Remote Desktop Protocol) no se publican directamente hacia Internet, por el riesgo que esto representa, ya que, este servicio permite tomar el control remoto de la maquina y estos, solo se consideran de uso interno, para usuarios de altos privilegios.

Luego, la recomendación es hacer un escaneo a las IPs Públicas de la compañía y ver si tienen algún servicio de este tipo publicado y cerrarlo. Ahora bien, si necesitamos tomar el control de una maquina desde fuera de la organización, lo que se suele hacer es generar una conexión vía VPN, donde #Sophos nos puede ayudar.

Si necesitamos tomar el control de un servidor que debe estar aislado o en un segmento distinto de la red, lo que hacemos es incluir un servidor pivote, es decir, nos conectamos a un servidor que es el único que puede tener acceso a servidores críticos de nuestra organización. Ahí podemos aplicar otras soluciones que permiten grabar las sesiones y evitar escalamiento de privilegios #Centrify.

Si el entorno es un entorno distribuido, donde aplicar VPN es complejo, ya que tenemos servidores o servicios en la nube y algunos otros en Data Center propios, la recomendación es evaluar #Netskope NPA que nos permite centralizar todas nuestras conexiones en un punto local en Chile, dado que #Netskope cuenta con una Red Newedge en Centros de Datos situados en Chile, Argentina, Brasil y Colombia. Y desde ahí conectarse a cualquier parte, lo que también ayuda con problemas de latencia o lentitud en conexión cuando nuestros servicios están en otros países.

REFERENCIAS: #Sophos #Centrify #Netskope

Tip 16. Revisar publicaciones de servicios a Internet y aplicar restricciones solo a accesos estrictamente permitidos.

Toda compañía necesita dar a conocer o comunicar algo, desde los productos que comercializa hasta comunicados de interés para la comunidad que los sigue. Esto implica muchas veces publicar servicios hacia Internet, servicios del tipo HTTP, FTP u otros. Pero también tenemos que cuidar que no se acceda a información que no nos interesa compartir.

Para esto, equipos como los Firewall #Sophos, nos permiten generar las diferentes políticas, de que debemos permitir, o que no. Y así mantener nuestros servicios correctamente publicados hacia Internet. Obviamente, cuando se requiere acceder a bases de datos o información sensible, es bueno tener una correcta segmentación de tal forma que solo los servicios que necesitan acceder a estos datos o información puedan hacerlo.

En entornos mas complejos o abiertos, tenemos a #Guardicore, que como vimos en el post pasado (Tip15), nos permite hacer esta revisión en forma sencilla y validar que servicios, de que servidores están publicados, además de ver quienes están accediendo a dicho servicios. Con esta información podemos tomar la determinación de que vamos a dejar publicado para que se pueda acceder y que no.

Y si se trata de evitar la fuga de información o la exposición de información sensible. Hoy, no solo se puede exponer a través de nuestros servicios publicados, sino que también existen las Redes Sociales u otros mecanismos en la nube. Para evitar estas publicaciones indeseadas, tenemos herramientas como #Netskope, que previenen la fuga de información independiente de que servicio (público o privado) se ocupe.

REFERENCIA: #Sophos #Guardicore #Netskope

Tip 15. Aislar entornos de servidores a nivel de procesos para evitar movimientos laterales en entornos de mayor privilegio

El robo de credenciales y el movimiento lateral están hoy en día presente en casi todos los intentos de ataques, siendo uno de los puntos dentro de la ciberseguridad que tiene prioridad en poder identificar la ocurrencia de estos eventos y responder con las actividades necesarias frente a este tipo de ataque detectado.

Pero ¿que es el movimiento lateral? Partamos con esta definición:

Son técnicas de ataque de hackers informáticos, que tienen como objetivo, propagarse a través de la red buscando información clave. Ahora, para aumentar la probabilidad de encontrar información relevante, utilizan el movimiento lateral.

Casi siempre tienen relación al uso de credenciales privilegiadas y técnicas que imitan las tareas que realizan, todos los días, los administradores de dominio Windows.

Aislar los entornos de servidores en el ámbito de procesos, se define como la solución para evitar el movimiento lateral, Disminuyendo la brecha de ataque a un espacio dedicado donde se ejecuta un componente o proceso.

Una de las soluciones son los contenedores, ambientes individuales con servidores agrupados por componentes o procesos específicos. Aislar las aplicaciones puede ser relativamente simple pero no se considera como un método infalible de aislamiento.

Otra solución es la Microsegmentación, que permite descubrir la dependencia de las aplicaciones, proteger las aplicaciones criticas y garantizar el cumplimiento de las normas.

Esto puede incluir una combinación de servidores, máquinas virtuales, instancias de nube y contenedores. Los beneficios principales son reducción de la superficie de ataque, contención mejorada de brechas y una posición de cumplimiento normativo mas fuerte.

Referencia : #Guardicore