¡La seguridad no debería ser tan aterradora!

Mariko Kosaka

¿Qué te imaginas cuando alguien dice “seguridad”?

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

Cuando pensamos en la palabra “seguridad”, por lo general, lo hacemos en el contexto de noticias negativas. A menudo, te encuentras con titulares como "Una gran red social filtró contraseñas de acceso" o "Un atacante robó información de la tarjeta de crédito de un sitio de compras".

Sin embargo, la seguridad es algo que se debe considerar 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 seguridad
Un hacker con una sudadera con capucha es una imagen negativa de seguridad. Un equipo que trabaja en un proyecto en conjunto es una imagen positiva de seguridad.

En las próximas guías, aprenderás a proteger tu negocio y el contenido de tus usuarios.

¿Qué es una vulnerabilidad de seguridad?

En el desarrollo de software, cuando una aplicación no funciona como se espera, 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 se puede usar para el abuso.

Los errores son comunes en las actividades diarias de un desarrollador. Esto significa que las vulnerabilidades también se introducen con frecuencia en las aplicaciones. Lo que es importante es que conozcas las vulnerabilidades comunes para mitigarlas tanto como sea posible. 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, no una cadena vacía, verificar la cantidad de datos) - Asegúrate de que un solo usuario no pueda ocupar demasiado tiempo. - Compila pruebas de unidades para que los errores de seguridad no se puedan deslizar por accidente.

¿Qué son las funciones de seguridad?

Tus primeras líneas de defensa son las funciones de seguridad, como HTTPS y CORS. (Más adelante aprenderás sobre estos acrónimos, así que no te preocupes por ellos por ahora). Por ejemplo, encriptar datos con HTTPS podría no corregir 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, pueden verse afectadas diferentes personas.

Impacto en los usuarios
  • La información sensible, como los datos personales, podría filtrarse o robarse.
  • Se podría manipular el contenido. Un sitio manipulado podría dirigir a los usuarios a un sitio malicioso.
Impacto en la aplicación
  • Se puede perder la confianza del usuario.
  • Se podría perder la empresa debido a un tiempo de inactividad o a la pérdida de confianza como resultado de la manipulación o la escasez del sistema.
Impacto en otros sistemas
  • Una aplicación usurpada se puede usar para atacar otros sistemas, como un ataque de denegación de servicio con una botnet.

Proteger activamente tu aplicación no solo es fundamental para ti y tu empresa, sino también para tus usuarios, ya que los protege a ellos y a otros sistemas de los ataques que se inician desde tu sitio.

Conclusión

¡Felicitaciones! Ya estás en la mitad de esta introducción. Ahora conoces la diferencia entre las vulnerabilidades y las funciones de seguridad, y sabes que no solo tú, sino todas las demás personas, se ven afectadas cuando tu aplicación no es segura. En la siguiente guía, se analizan en detalle los tipos de ataques para que la seguridad sea aún menos aterradora.