Ransomware (¿seguro que tu empresa no está en peligro?)

Lamentablemente, nos estamos acostumbrando a ver noticias constantes de ciberataques desde hace ya demasiado tiempo. Parece que la gente tomó conciencia del problema tras el ataque hace unos meses del ransomware WannaCry gracias a su alta repercusión sobre Telefónica, los centros NHS del Reino Unido y otras organizaciones de todo el mundo (de hecho, las ofertas de empleo se triplicaron en la bandeja de entrada de LinkedIn…).

Es evidente que la amenaza planteada por los ciberdelincuentes está en constante evolución, ya que casi a diario se lanzan nuevos tipos de malware cada vez más inteligentes. De hecho, desde entonces hemos visto múltiples ataques a gran escala en Europa, paralizando los sistemas de información sin discreción.

Todo el espectro de pymes y grandes empresas han sido víctimas de los brotes de WannaCry, de hecho hemos visto como empresas de toda Europa fueron atacadas por un ataque ransomware conocido como “Bad Rabbit”.

¿Pero esto pasa mucho?

Es habitual pensar que son las empresas más grandes con marcas conocidas las que están más expuestas a estos ataques, ya que poseen una gran cantidad de datos, lo que podría ser un objetivo claro para los ciberdelincuentes. Pero en realidad las empresas más pequeñas son más vulnerables a los ciberataques, ya que no cuentan con los recursos, tecnología y formación necesarios para prevenirlos.

El informe sobre el estado global de seguridad de la información de PwC indica que las empresas tienen que desembolsar un promedio de 980.000 € cada año como resultado de violaciones de seguridad cibernética.

Con menos recursos, muchas PYMES corren el riesgo de fracasar si no hacen más para protegerse.

Para hacernos una idea, una encuesta de violaciones de seguridad de la empresa EY indicaba que una cuarta parte de las empresas se ven afectadas por una violación de la seguridad cibernética cada mes. No debemos tomarlo como un dato exacto, pero debería servir como una señal de advertencia para las empresas tanto grandes como pequeñas.

¿Cómo me protejo?

A las PYMES no les queda más remedio que aumentar el presupuesto de defensa de seguridad cibernética, pero mientras eso ocurre, al menos deberían pensar en:

  • Asegurarse de haber instalado software antivirus y antimalware en todos los dispositivos de la organización.
  • Adquirir software de forma legal y, por supuesto, asegurarse de instalar regularmente cada actualización.
  • Teniendo en cuenta que la gran mayoría de los ciberataques son el resultado de un error humano, asegurarse de capacitar a su personal sobre cómo evitar que el negocio sea vulnerable a los ataques.
  • Echar un vistazo a los consejos de SecurityInside.info para PYMES sin dinero.

La mejor opción es emplear expertos

Las empresas que no lo tengan, deberían considerar la contratación de profesionales que tengan la experiencia para defenderse de estos ataques. Hay un número creciente de empresas a las que pueden subcontratar, en caso de que no tengan los fondos para contratar a un Responsable de Seguridad.

En cualquier caso, está claro que el problema está ahí y ha venido para quedarse. Como empresa o PYME no puedes quedarte esperando, el momento de actuar es ahora.

¿Para qué sirve un CISO (aka responsable de seguridad)?

Cuando me preguntan en qué trabajo y contesto que soy responsable de seguridad, lo habitual es que me imaginen organizando a personas que controlan puertas y pasean por pasillos en busca de ladronzuelos.

Cuando digo que soy responsable de seguridad en una empresa de tecnología, lo habitual es que me imaginen evitando que nos roben los móviles, los portátiles o las teles.

Cuando digo que soy responsable de seguridad de la información, lo habitual es que no tengan ni idea de qué les hablo. Entonces les explico que mi tarea es proteger la información valiosa de la compañía contra ataques informáticos de gente mala, fugas de información, malware, … Es entonces cuando me miran con cara de asombro y me dicen “ah, que eres un hacker!!”.

Pues no, no me considero un hacker y hago un inciso para explicar lo que yo entiendo por hacker. Me basaré en la definición dada por “The Internet Engineering Task Force (IETF®)”, muy del gusto de la comunidad de seguridad:

hacker –  A person who delights in having an intimate understanding of the  internal workings of a system, computers and computer networks in particular. The term is often misused in a pejorative context, where “cracker” would be the correct term.

Partiendo de la base de que considero un hacker a una persona apasionada de la tecnología que aprende constantemente con el objetivo de llevarla hasta el límite para poder mejorarla, no me considero hacker ya que no entro en la parte final de la definición. Quizás si un half-hacker, pero para mí los hackers de verdad son gente tan top como los ponentes habituales de los congresos de seguridad, los creadores de tecnología, los que sin formación académica terminan siendo muy importantes dentro de grandes empresas, …

Pero volviendo a lo del principio, al final siempre surgen dudas sobre las tareas que realiza un CISO o responsable de seguridad así que te voy a hacer un pequeño resumen.

El CISO o responsable de seguridad en la norma ISO 27.001

Ahora que estoy trabajando en el contenido del Máster de seguridad y continuidad de negocio del que voy a ser docente, concretamente en la parte relacionada con auditoría 27.001, estoy describiendo cómo no se da como obligatorio el nombramiento de un responsable de seguridad. El motivo es sencillo, la norma se puede ajustar a compañías de cualquier tamaño y las pequeñas normalmente no tendrán recursos para mantener una persona que se encargue únicamente de esas tareas.

Sin embargo, en empresas de más tamaño, es importante que exista esa figura para que pueda realizar las siguientes tareas:

  • Conformidad:
    • Desarrollar la lista de partes interesadas relacionadas con la seguridad de la información.
    • Desarrollar la lista de requisitos de las partes interesadas.
    • Permanecer en contacto continuo con autoridades y grupos de intereses especiales.
    • Coordinar todos los esfuerzos relacionados con la protección de datos personales.
  •  Documentación:
    • Proponer el borrador de los principales documentos de seguridad de la información, por ejemplo, Política de seguridad de la información, Política de clasificación, Política de control de acceso, Uso aceptable de activos, Evaluación del riesgo y metodología de tratamiento de riesgos, Declaración de aplicabilidad, Plan de tratamiento de riesgos, etc.
    • Ser responsable de revisar y actualizar los documentos principales.
  • Gestión de riesgos:
    • Enseñar a los empleados cómo realizar la evaluación de riesgos.
    • Coordinar todo el proceso de evaluación de riesgos.
    • Proponer la selección de salvaguardas.
    • Proponer los plazos para la implementación de salvaguardas.
  • Administración de recursos humanos:
    • Realizar comprobaciones de verificación de antecedentes de candidatos de trabajo.
    • Preparar el plan de capacitación y concientización para la seguridad de la información.
    • Realizar actividades continuas relacionadas con la sensibilización.
    • Realización de capacitación de inducción sobre temas de seguridad para nuevos empleados.
    • Proponer acciones disciplinarias contra empleados que realizaron la infracción de seguridad.
  • Relación con la alta dirección:
    • Comunicar los beneficios de la seguridad de la información.
    • Proponer objetivos de seguridad de información.
    • Informar sobre los resultados de la medición.
    • Proponer mejoras de seguridad y acciones correctivas.
    • Proponer presupuesto y otros recursos requeridos para proteger la información.
    • Informar requisitos importantes de las partes interesadas.
    • Notificar a la alta dirección sobre los principales riesgos.
    • Informar sobre la implementación de salvaguardas.
    • Asesorar a los principales ejecutivos en todos los asuntos de seguridad.
  • Mejoras:
    • Asegurarse de que se realizan todas las acciones correctivas.
    • Verificar si las acciones correctivas han eliminado la causa de las no conformidades.
  • Gestión de activos:
    • Mantener un inventario de todos los activos de información importantes.
    • Eliminar los registros que ya no se necesitan.
    • Desechar los medios y equipos que ya no se usan de forma segura.
  • Terceros:
    • Realizar la evaluación de riesgos para las actividades a subcontratar.
    • Realizar verificación de antecedentes para los candidatos de outsourcing.
    • Definir cláusulas de seguridad que deben formar parte de un acuerdo.
  • Comunicación:
    • Definir qué tipo de canales de comunicación son aceptables y cuáles no.
    • Preparar el equipo de comunicación para ser utilizado en caso de una emergencia o desastre.
  • Gestión de incidentes:
    • Recibir información sobre incidentes de seguridad.
    • Coordinar la respuesta a incidentes de seguridad.
    • Preparar evidencia para la acción legal después de un incidente.
    • Analizar incidentes para evitar su recurrencia.
  • Continuidad del negocio:
    • Coordinar el proceso de análisis del impacto comercial y la creación de planes de respuesta.
    • Coordinar el ejercicio y la prueba.
    • Realizar una revisión posterior al incidente de los planes de recuperación.
  • Técnico:
    • Aprobar los métodos apropiados para la protección de dispositivos móviles, redes de computadoras y otros canales de comunicación.
    • Proponer métodos de autenticación, política de contraseñas, métodos de cifrado, etc.
    • Proponer reglas para el teletrabajo seguro.
    • Definir las características de seguridad requeridas de los servicios de Internet.
    • Definir principios para el desarrollo seguro de los sistemas de información.
    • Revisar los registros de las actividades del usuario para reconocer el comportamiento sospechoso.

Básicamente, en esto consiste mi día a día. Pero no te voy a engañar, también me preocupa la gente que entra por la puerta o anda por los pasillos, sobre todo cuando vienen de visita…

Cuando tomas la decisión de convertirte en un profesional de la seguridad, como es mi caso, te das cuenta de que tienes que vivir en continua semi-paranoia para que no se te escape nada. Aunque mi visión de todo esto es siempre intentar que la seguridad sea lo primero, pero seguido muy de cerca por la usabilidad, ya que si les hago a mis compañeros el trabajo imposible, entonces mal vamos. En este sentido te recomiendo que le eches un vistazo a la entrada en la que cuento cómo ofrezco la seguridad a los departamentos vía API.

Espero haberte ayudado a comprender un poco mejor lo que hace un responsable de seguridad.

¡Hasta la próxima!

security-api

Security API – Dale a tus empleados lo que necesitan (de forma segura)

Hace poco vimos en SecurityInside consejos a tener en cuenta para revisar la seguridad de tu API. Como comentamos, ofrecer servicios de información en el mundo de hoy si no tienes API, te da una desventaja considerable que podría terminar por arruinar tu negocio.

Es por eso que tu departamento de desarrollo debe tener en mente trabajar en una buena api (sencilla y segura) que de servicio tanto a clientes como a las plataformas y herramientas internas.

Hay muchas formas de desarrollar APIs, pero en mi caso me he decantado últimamente por Flask para Python sobre Elastic Beanstalk de Amazon Web Services.

Security API, ¿por qué?

Cada vez que arranco un proyecto de seguridad con una nueva empresa, me presento desde el punto de vista de vida laboral. Cuento mis años como becario, desarrollador, jefe de proyecto, consultor y luego el paso al mundo de la seguridad. Me miran como diciendo “¿para qué todo este rollo?”. Sencillo, es la forma de introducir que soy un apasionado de la seguridad y que mi objetivo principal es asegurar los activos de la empresa, pero siempre tratando de hacer la vida sencilla a los compañeros que tienen que lidiar con todas las medidas y controles de seguridad que se implanten.

Conozco profesionales de la seguridad que nunca se han manchado las manos picando código y que aplican medidas maravillosas que fortifican los activos mientras complican el trabajo diario. Lo importante es la seguridad, pero mi perfil de desarrollador me hace pensar siempre en hacerlo de forma que ellos tengan todas las facilidades para trabajar. Seguros, pero trabajando.

Por todo esto, hace no mucho empecé a dar vueltas a la idea de crear una “security api” que diera servicio a determinadas necesidades de los compañeros de los diferentes departamentos. De esta forma, aplico medidas de seguridad generales y les doy la posibilidad de solicitar ciertos permisos, accesos, … de forma automática en base a roles.

¿Cómo funciona?

Básicamente todo funciona en base a usuarios que se autentican con login, password y 2fa (Google Authenticator, Android, iOS). Cada usuario tiene un rol y subrol con el que se indica qué cosas tienen permitidas y todo se gestiona mediante JSON Web Tokens.

Flask api template

Os he dejado en Github un nuevo repositorio que contiene el esqueleto de una api desarrollado en Python utilizando la biblioteca Flask.

Podéis lanzarlo en local para desarrollo y hacer pruebas de forma sencilla utilizando Postman, ya que os he dejado también un fichero con ejemplos de uso. Tendréis queja… 😀

Vamos viéndo cosillas

En el fichero principal (flask_api.py) veréis unas cuantas cosas que os voy a ir explicando.

Al principio, tenéis una función que se lanza tras arrancar el server, ahí se pueden configurar diferentes cosas (dar de alta la ip del server en determinados grupos de seguridad, enviar notificaciones, …):

Después se incluyen dos apartados para la gestión de códigos 404 y 405:

Una siempre interesante función ping para comprobar rápidamente si el server está vivo:

La parte más interesante del ejemplo, la gestión del login y creación del token:

Y la implementación concreta dentro del fichero flask_api_functions.py:

Para entender ciertas cosas como la forma de enviar el header “Authentication”, pásate por el README.md del repositorio y ejecuta las pruebas con postman, verás que es la mar de sencillo.

El ejemplo es sólo parte del script completo. Si quieres utilizarlo o modificarlo, puedes descargarlo desde nuestro repositorio en GitHub.

 

Importante antes de terminar

Flask no está preparado para funcionar directamente en un entorno de producción, para hacerlo tienes que tener en cuenta un par de cosas (está todo en la documentación del repositorio).

En mi caso particular, ya os he dicho que lo tengo montado en Elastic Beanstalk de Amazon Web Services, si queréis os puedo contar cómo lo he hecho en otra entrada.

Por supuesto, si tenéis alguna duda sobre esta entrada, preguntad que estaré encantado de echar una mano.

Saludos!

SecurityInside Live: Check Point Cyber Day 2017

La omnipresente transformación digital y el Internet de las Cosas piden cambios fundamentales en el presente y futuro de la ciberseguridad. Los últimos ataques ocurridos a nivel mundial demuestran la necesidad de implementar estrategias innovadoras para securizar las empresas.

Hoy asistimos al Check Point Cyber Day 2017, una jornada dedicada a los CIOs, CISOs, IT Security Managers y todos los interesados en conocer el futuro de la ciberseguridad de la mano de expertos nacionales e internacionales en esta materia.

Leer más

micro_focus_summit17

SecurityInside Live: Micro Focus Summit 2017

El éxito de mañana está vinculado a la respuesta que hoy se dé a los desafíos de seguridad de nuestro negocio. Por eso, Micro Focus comparte en su Summit 2017 las experiencias de sus clientes y el conocimiento de su equipo.

Leer más