Ciberseguridad

Cómo funciona un ciberataque y qué hacer para evitarlo

03/11/18 6 min. de lectura

En 2018 a Facebook le robaron información de unos 50 millones de usuarios aprovechando una vulnerabilidad en el código de la aplicación. En el año 2017 también fue muy sonado el ransomware WannaCry, que permite atacar a todos los equipos Windows que no tienen actualizado el Sistema Operativo, encriptando los datos del equipo y solicitando un rescate económico para recuperarlos.

Si nos vamos un poco más lejos, otro de los ciberataques más sonados fue el de HeartBleed, un agujero de seguridad en una biblioteca openSource llamada OpenSSL, que permitió conseguir claves privadas SSL de un servidor.

? La filtración de datos más grande de la historia: Collection#01

La ciberseguridad está al orden del día, ¿cómo son posibles estos ciberataques?

La respuesta es más sencilla de lo que parece: los hackers se aprovechan de vulnerabilidades en los sistemas informáticos o del engaño a las personas, de modo que consiguen que hagan algo por ellos y así conseguir el acceso al robo de datos.

ciberseguridad robo de datos

¿Qué es una vulnerabilidad?

Según la Real Academia de la lengua Española (RAE) es la cualidad de vulnerable, esto es: “Que puede ser herido o recibir lesión, física o moralmente”.

En un sistema informático hay dos ejemplos típicos de vulnerabilidades:

  • Dejar un puerto abierto: las aplicaciones que consumimos en Internet ofrecen sus servicios de forma pública a través de un servidor web, que por defecto escucha peticiones por el puerto 80. Si no controlamos correctamente las peticiones desde un navegador a este puerto podemos acabar sufriendo de ataques DoS (Denegación de Servicio).
  • No validar los caracteres de un formulario de recogida de datos: imagina un formulario de login de usuario a una web donde nos piden usuario y contraseña. Si no validamos y limitamos los caracteres que se pueden introducir en esas cajas de texto podemos acabar sufriendo ataques XSS (Cross site Scripting).
tipos de vulnerabilidades ciberseguridad

?‍♂️ Cómo defenderse de un ciberataque

La primera premisa para la protección es la desconfianza: si te llega un email con una dirección que no conoces, no hagas clic en ningún enlace de los que haya dentro de ese email, probablemente es un email de phishing. Además, no olvides reportarlo, aunque sea un email recibido en tu correo personal, para que tu empresa pueda tomar las medidas necesarias.

En nuestro equipo de Ciberseguridad, hemos desarrollado 5 reglas clave para prevenir y defenderse de un ataque:

  • Protege tu información y tu equipo
  • Sé discreto online y en público
  • Piensa antes de hacer clic o responder
  • Mantén tus contraseñas seguras
  • Si sospechas, repórtalo

Desarrollo de una aplicación segura: 4 factores clave

1. Requisitos seguros

Imagina una aplicación para una sucursal bancaria, que permite el acceso a distintos usuarios y que cada uno de ellos tiene un rol distinto dentro de la sucursal. Uno de nuestros requisitos será un perfilado de usuarios, que permita separar el acceso a información confidencial sólo a ciertos roles. Imagina que esa misma aplicación debe almacenar datos de un cliente. Esto implica cumplir con la normativa europea GDPR y nuestro requisito seguro será el de encriptar y el de seudonimización de la información personal de ese cliente.

2. Diseño de una aplicación seguro

Siguiendo con nuestra aplicación, este factor incluiría que su diseño fuera de forma robusta y que no sea atacable. Si nuestra aplicación debe tener la funcionalidad de login de usuarios, deberemos diseñarla de forma que no permita hacer más de 3 intentos; deberemos diseñarla también para que en ese caso no se muestre un mensaje de error del tipo “Contraseña no válida” puesto que estaríamos dando pistas a un usuario malicioso de que nuestro usuario existe y podría conseguir acceder al sistema a base de fuerza bruta. Un mensaje de error válido sería “Credenciales inválidas”, para que el atacante no tenga pistas si lo que ha fallado ha sido el usuario o la contraseña.

3. Uso de librerías seguras

Según Forrester y Gartner, entre el 80% y el 90% de todos los desarrolladores de software comercial usan componentes de código abierto dentro de sus aplicaciones. Sonatype estima que hasta el 90% de una aplicación consta de componentes de terceros. Usemos las más seguras en nuestros desarrollos. Imagina que queremos ahorrar tiempo y coste en el desarrollo y usamos una librería para la funcionalidad de generar reportes en formato Excel o Pdf. Con esa librería conseguimos hacer el desarrollo en apenas 2 semanas, pero no hemos comprobado las vulnerabilidades públicas que tiene esa librería. Si hubiéramos elegido una versión superior de esa librería habríamos evitado tener vulnerabilidades públicas.

4. Desarrollo seguro

Desarrollemos de forma segura, por ejemplo validando caracteres en un formulario con datos de entrada a la aplicación, de forma que no puedan inyectarnos código en la aplicación con ataques XSS.

En el caso de que no hagamos validaciones de caracteres no permitidos, si el atacante prueba con el usuario “joan” y la password “R4driguez” no pasaría nada, pero si prueba con el usuario “joan” y la password “’ or 1=1 –” sería posible que, accediendo a la base de datos de usuarios en el back-end, se lanzase una excepción que se propagase hacia atrás, llegando a la interfaz de usuario. El mensaje de error daría mucha información al usuario malicioso sobre la base de datos que tenemos.

ciberseguridad vulnerabilidades

Por último, te dejo unos sitios donde puedes ver vulnerabilidades en librerías:

Organismos no gubernamentales:

  • OWASP: todos los años hace un Top 10 de las vulnerabilidades más encontradas

Organismos gubernamentales:

  • NIST : podéis acceder a su base de datos desde la web CVE.
Joan R.R

Joan Rodríguez

Santander Global T&O

Soy Ingeniero superior informático y he tenido la gran oportunidad de trabajar en todos los perfiles de desarrollo Waterfall o Agile: Desarrollador, Arquitecto SW, Evangelista del SW, Scrum master, Jefe de proyecto, Team leader, QA tester y Product owner. Me considero una persona inquieta, resiliente, friki y sobre todo muy volcado con mi familia. Ahora estoy haciendo desarrollos de ciberseguridad para el Grupo Santander.

 

👉 Mi perfil de LinkedIn

 

Otros posts