Una colección de preguntas de entrevista para roles de Seguridad de la Información
Tabla de contenido
Seguridad de Aplicaciones
-
Si tuvieras que cifrar y comprimir datos durante la transmisión, ¿qué harías primero y por qué?
- La compresión busca utilizar patrones en los datos para reducir su tamaño.
- El cifrado busca aleatorizar los datos para que no sean interpretables sin una clave secreta.
- Si cifras primero y luego comprimes, tu compresión será inútil. La compresión no funciona con datos aleatorios.
- Si comprimes primero y luego cifras, un atacante puede encontrar patrones en la longitud del mensaje (índice de compresión) para aprender algo sobre los datos y potencialmente frustrar el cifrado (como CRIME)
- Recursos:
-
¿Qué podrían hacer los atacantes con la vulnerabilidad de inyección de cabeceras HTTP?
- Los retornos de carro y saltos de línea (o %0D y %0A) son medios para un fin que permitiría a los atacantes controlar las cabeceras HTTP
- Los atacantes podrían inyectar XSS a través de la cabecera Referer
- Los atacantes podrían establecer una cookie a un valor conocido por el atacante (fijación de sesión)
- Los atacantes podrían redirigir a un servidor malicioso
-
Describe el último programa o script que escribiste. ¿Qué problema resolvió?
- Solo se busca señales de que el candidato tiene una comprensión básica de los conceptos de programación y es al menos capaz de escribir programas simples
-
¿Cómo implementarías un campo de inicio de sesión seguro en un sitio web de alto tráfico donde el rendimiento es una consideración?
-
¿Cuáles son las diversas formas de manejar la fuerza bruta?
- Bloqueos/tiempos de espera de cuentas
- Límite de tasa de API
- Restricciones de IP
- Fail2ban
- ...etc.
-
¿Qué es la falsificación de solicitudes entre sitios (CSRF)? ¿Y cómo defenderse de ella?
- Cuando un atacante consigue que el navegador de la víctima realice solicitudes con las credenciales de la víctima
- Ejemplo: si una etiqueta de imagen (``) apunta a una URL con una acción asociada, p. ej. https://foo.com/logout
- La defensa incluye, entre otras:
- verificar la cabecera Origin y la cabecera Referer
- verificar tokens CSRF o nonces
-
¿Qué es Cross-Site Scripting? ¿Cuáles son los diferentes tipos de XSS? ¿Cómo defenderse de XSS?
- XSS ocurre cuando los atacantes consiguen que el navegador de la víctima ejecute algún código (generalmente JavaScript) dentro de su navegador
- Tradicionalmente, los tipos se han clasificado en ataques XSS almacenados y reflejados.
- El XSS almacenado es algún código que un atacante pudo persistir en una base de datos y que se recupera y presenta a las víctimas (p. ej. un foro)
- El XSS reflejado suele tener la forma de una URL maliciosamente elaborada que incluye el código malicioso. Cuando el usuario hace clic en el enlace, el código se ejecuta en su navegador
- Recientemente ha habido discusiones sobre el XSS basado en DOM, que ocurre cuando los atacantes pueden controlar elementos del DOM, logrando así XSS sin enviar ninguna solicitud al servidor
- Las categorías de XSS tienden a superponerse, por lo que es mucho mejor describir XSS en términos como XSS almacenado en servidor, XSS reflejado en servidor, XSS almacenado en cliente (p. ej. XSS almacenado basado en DOM) o XSS reflejado en cliente (p. ej. XSS reflejado basado en DOM)
- La defensa incluye:
- Codificación de salida (más importante)
- Validación de entrada (menos importante)
-
¿Cómo maneja el estado HTTP?
- HTTP es sin estado
- El estado se almacena en cookies
Arquitecto
- ¿Has diseñado medidas de seguridad que abarquen dominios de información superpuestos?
- ¿Puedes darme algunos ejemplos de requisitos de arquitectura de seguridad?
- ¿Qué desafíos de seguridad especiales presenta la arquitectura orientada a servicios (SOA)?
- ¿Has diseñado una solución de seguridad que involucrara componentes SaaS? ¿Qué desafíos enfrentaste?
- ¿Has trabajado en un proyecto en el que las partes interesadas eligieron aceptar riesgos de seguridad identificados que te preocupaban? ¿Cómo manejaste la situación?
- ¿Cómo manejas las demandas de diferentes partes interesadas que tienen requisitos conflictivos?
- ¿Cómo te aseguras de que los arquitectos de soluciones desarrollen soluciones seguras?
- ¿Cómo te aseguras de que una solución siga siendo resiliente ante amenazas en evolución?
- ¿Cuál crees que es la tecnología más importante en este momento? ¿Cómo vamos a asegurarla?
Equipo Azul
- Dado un registro de tráfico HTTP entre una máquina de tu red y un sitio web de terceros (p. ej. Google), ¿cómo se verían los puertos de origen y destino?
- El puerto de origen podría ser un número por encima del puerto 1024 (también conocido como puerto efímero)
- El puerto de destino podría ser 80 (HTTP) o 443 (HTTPS)
Cifrado
-
¿Cuál es la diferencia entre codificación, cifrado y hash?
- La codificación garantiza la integridad del mensaje. Puede invertirse fácilmente. Ejemplo: base64
- El cifrado garantiza la confidencialidad del mensaje. Solo se puede invertir utilizando las claves de descifrado adecuadas. Ejemplo: AES256
- El hash es una función unidireccional. No se puede invertir. La salida tiene una longitud fija y suele ser más pequeña que la entrada.
-
¿TLS utiliza cifrado simétrico o asimétrico?
- Ambos.
- El intercambio inicial se realiza mediante cifrado asimétrico, pero el cifrado de datos masivos se realiza mediante simétrico. Consulta la siguiente pregunta para obtener información adicional.
- Recursos:
-
Describe el proceso de establecimiento de una sesión TLS cuando alguien visita un sitio web seguro.