¡La seguridad no debería ser tan aterradora!

Mariko Kosaka

¿Qué se imaginan cuando alguien dice “seguridad”?

¿Hackers? ¿Ataques? ¿Defensas? ¿Un programador con una sudadera negra con capucha en una habitación oscura?

Cuando nos viene a la mente la palabra “seguridad”, por lo general, se hace en el contexto de malas noticias. A menudo aparecen títulos como “Se filtró una contraseña de acceso que se filtró en una gran red social” o “un atacante robó información de tarjetas de crédito de un sitio de compras”.

Sin embargo, la seguridad es algo que se debe tomar como una parte positiva y necesaria del desarrollo web, al igual que la "experiencia del usuario" o la "accesibilidad".

Imágenes negativas y positivas de la seguridad
Un hacker con capucha es una imagen de seguridad negativa. Un equipo que trabaja juntos en un proyecto es una imagen de seguridad positiva.

En las próximas guías, aprenderás cómo mantener seguros tu negocio y el contenido de los usuarios.

¿Qué es una vulnerabilidad de seguridad?

En el desarrollo de software, cuando una aplicación no funciona de la manera prevista, se denomina "error". A veces, un error muestra información incorrecta o falla en una acción determinada. Una vulnerabilidad (a veces llamada error de seguridad) es un tipo de error que podría usarse para casos de abuso.

Los errores son habituales en las actividades cotidianas de un desarrollador. Es decir, las vulnerabilidades también se introducen con frecuencia en las aplicaciones. Lo importante es que conozcas las vulnerabilidades comunes para mitigarlas tanto como puedas. Es como minimizar otros errores siguiendo patrones y técnicas comunes.

La mayoría de las técnicas de seguridad son solo una buena programación, por ejemplo: - Verificar los valores ingresados por un usuario (no nulos, ni una string vacía, verificar la cantidad de datos) - Asegúrese de que un solo usuario no lleve demasiado tiempo. - Crea pruebas de unidades para que los errores de seguridad no se filtren por accidente.

¿Qué son las funciones de seguridad?

Las primeras funciones de defensa son las funciones de seguridad como HTTPS y CORS. (Aprenderás sobre estos acrónimos más adelante, así que no te preocupes por ellos por ahora). Por ejemplo, es posible que la encriptación de datos mediante HTTPS no corrija un error, pero protege los datos que intercambias con los usuarios a otras partes. (Interceptar datos es un ataque común).

¿Cuál es el impacto?

Cuando una aplicación no es segura, diferentes personas podrían verse afectadas.

Impacto en los usuarios
  • Podría filtrarse o robarse información sensible, como los datos personales.
  • El contenido podría haber sido manipulado. Un sitio manipulado podría dirigir a los usuarios a un sitio malicioso.
Impacto en la aplicación
  • Es posible que se pierda la confianza del usuario.
  • La empresa podría perderse debido al tiempo de inactividad o a la pérdida de confianza como resultado de manipulaciones o escasez del sistema.
Impacto en otros sistemas
  • Una aplicación usurpada podría usarse para atacar otros sistemas, por ejemplo, con un ataque de denegación del servicio con una botnet.

Proteger activa tu aplicación no solo es crucial para ti y tu empresa, sino también para los usuarios, ya que protegerlos a ellos y a otros sistemas contra los ataques que se lanzan desde tu sitio.

Conclusión

¡Felicitaciones! Estás a mitad de esta introducción. Ahora conoces la diferencia entre las vulnerabilidades y las funciones de seguridad, y sabes que no solo tú, sino también todos los demás, se ven afectados cuando tu aplicación no es segura. En la siguiente guía, se abordan en profundidad los tipos de ataques para que la seguridad sea aún menos intimidante.