Flashcards
Módulo 1
Flashcards do conjunto (62)
- 1.NET Security Features• Authentication
• Authorization
• Application Configuration
• Data Access Security
• Code Access Security
• Exception Handling
• Communication Security - 2Namespaces que provee el framework de .NET para desarrollar aplicaciones seguras• System.Security
• System.Web.Security
• System.Security.Cryptography
• System.Security.Permisions
• System.Security.Principal - 3¿Cuáles son las categorías de las amenazas de seguridad de aplicaciones web en .NET?• Input and Data Validation
• Authentication
• Authorization
• Privacy and Data Compromise
• Session Management
• Exception Management
• Application Configuration
• Configuration Management
• Cryptography
• Auditing and Logging
• Machine Threats - 4OWASP Top 10 Attacks on .NET ¿En qué consiste el Security Misconfiguration?Son errores cometidos al momento de configurar una aplicación. Se pueden cometer en varios niveles (datos, código, servidor web, etc.).
Permiten a un atacante explotar vulnerabilidades. - 5¿En qué consiste un Cross-Site Scripting Attack?Es cuando un atacante explota una vulnerabilidad en paginas generadas dinamicamente. Consiste en inyectar codigo javascript o HTML (frames, redirecciones) el cual es ejecutado al cargarse la pagina
- 6¿En qué consiste un SQL Injection Attack'Es una vulnerabilidad presente cuando se generan queries dinamicos, al concatenar valores ingresados por el usuario en el mismo query
Estos valores pueden venir de la address bar o de algun campo input - 7¿En qué consiste un Cross-Site Request Forgery (CSRF) Attack?Ocurre cuando un atacante fuerza a una víctima a mandar solicitudes maliciosas sin su consentimiento.
- 8De un ejemplo de un Cross-Site Request Forgery (CSRF) AttackUn usuario ingresa a un sitio de confianza y luego entra a un sitio malicioso. El sitio malicioso conoce el funcionamiento del sitio de confianza, entonces usa el token de autenticación o el id de sesión del usuario para mandar una solicitud maliciosa al sitio de confianza.
- 9Explique en que consiste la amenaza Failure to Restrict URL AccessOcurre cuando un sitio confía en que un usuario no ingresará a paginas protegidas por el hecho de que estas no se muestran en el menu. Se resuelve validando en cada pagina que el usuario tenga acceso a la misma, y no dejandole esa tarea al menu
- 10¿En qué consiste la amenaza Insufficient Transport Layer Protection?Ocurre cuando la capa de transporte de datos utiliza encriptación débil o certificados inválidos.
Esto causa que la información este expuesta en el canal de comunicación. - 11¿En qué consiste un Unvalidated Redirect?Ocurre cuando se redirige a un usuario a un servidor malicioso. Puede pasar cuando por medio de los parámetros en la URL de un sitio se define una página de redireccion
- 12¿En qué consiste un Unvalidated forward?Ocurre cuando un atacante se redirige a si mismo a paginas protegidas de un sitio web.
Puede pasar cuando por medio de los parámetros en la URL de un sitio se define una pagina de forward. - 13¿En qué consiste la vulnerabilidad InsecureDirect Object References?Ocurre cuando se revelan detalles internos de la implementan de un sistema en la interfaz de usuario. Por ejemplo: poner a los input de un formulario el nombre de su respectivo campo en la BD.
- 14¿Cuál es el riesgo de manejar el Session ID en la URL?Un atacante puede rastrear el trafico de red y ver la URL, de este modo obteniendo el id de sesión del usuario el cual puede reutilizar para propósitos maliciosos.
- 15¿Cuál es el riesgo de no definir un timeout en una sesión de aplicación?El usuario podría cerrar el browser sin cerrar su sesión, luego otro usuario que haga uso de la misma maquina tendrá acceso a esa sesión cuando abra el browser.
- 16¿De qué manera se puede mitigar la amenaza cuando un usuario obtiene acceso a la BD de passwords de una aplicación?Encriptando los passwords.
- 17¿En qué consiste la amenaza Insecure Cryptographic Storage?Ocurre cuando se escribe código débil o deficiente para encriptar y almacenar data sensible en una BD. Esto permite a un atacante que obtuvo acceso a la BD, robar dicha información.
- 18¿Cuáles son las fases del Secure Development Lifecycle (SDL)?• Training
• Requeriments
• Design
• Implementation
• Verification
• Release
• Response - 19¿Qué actividades de seguridad se desarrollan en la fase "Requeriments" del Security Development Lifecycle?1. Se establecen los security requirements (requerimientos de seguridad).
2. Se crean los quality gates/bug bars (minimos aceptables de seguridad).
3. Se hace el Security and privacy risk assessment (análisis de riesgos de seguridad y privacidad). - 20¿Qué actividades de seguridad se desarrollan en la fase "Design" del Security Development Lifecycle?1. Analyze attack surface
2. Se hace el modelado de amenazas
3. Se mitigan las amenazas de seguridad y privacidad. - 21¿Qué actividades de seguridad se desarrollan en la fase "Implementation" del Security Development Lifecycle?1. Se definen y utilizan las herramientas a usar (compiladores, frameworks, etc).
2. Se prohíben las "unsafe functions"
3. Se realiza el "Static Analysis". - 22¿Qué actividades de seguridad se desarrollan en la fase "Verification" del Security Development Lifecycle?1. Se realiza el "Dynamic Analysis".
2. Se hace el fuzz testing.
3. Review Surface Attack. - 23¿Qué actividades de seguridad se desarrollan en la fase "Release" del Security Development Lifecycle?1. Se crea el Incident Response Plan (plan de respuesta a incidentes).
2. Se realiza un review final de seguridad. - 24¿Qué actividades de seguridad se desarrollan en la fase "Response" del Security Development Lifecycle?Se ejecuta el Incident Response Plan al presentarse alguna vulnerabilidad.
- 25En que consiste el Threat Modeling (modelado de amenazas)Es el proceso de identificar, analizar y mitigar las amenazas de la aplicación.
- 26¿En que fase del Secure Development Lifecycle se realiza el Threat Modeling?En la fase Design.
- 27¿Cuáles son los pasos del Threat Modelling?1. Identifying Valuable Assets
2. Creating Architecture Overview of the Application
3. Decomposing the Application
4. Identifying threats in the application
5. Documenting Threats
6. Rating the Threats - 28¿En qué consiste el paso Identifying Valuable Assets del Treath Modeling?Consiste en identificar los activos que deben ser protegidos de un ataque. Estos pueden ser archivos, data, recursos de red, etc.
- 29¿En qué consiste el paso Creating Architecture Overview of the Application del Threat Modeling?Consiste en crear diagramas de arquitectura que describen el funcionamiento de la aplicación. Este puede incluir entidades externas, procesos, limites de confianza, data stores, etc.
- 30¿En qué paso del Threat Modeling se identifican las tecnologías requeridas para implementar la solución?En Creating Architecture Overview of the Application.
- 31¿En qué consiste el paso Decomposing the Application del Threat Modeling?Se descompone la aplicación a tal grado que se puede identificar los limites de confianza, flujo de datos, puntos de entrada y código privilegiado.
- 32¿En qué paso del Threat Modeling se crea el Security Profile y en que consiste?En Decomposing the Application. Consiste en una serie de preguntas agrupadas por categorias que tratan de evaluar aspectos de seguridad.
- 33¿En qué consiste el paso Identifying threats in the application del Threat Modeling?Se identifican todas las posibles amenazas de la aplicación utilizando el modelo STRIDE, el cual se encarga de categorizar las amenazas basadas en su objetivo y propósito del ataque.
- 34¿Qué categorías de amenazas describe el model STRIDE?• Spoofing
• Tampering
• Repudiation
• Information disclosure
• Denial of service
• Elevation of privileges - 35¿En qué consiste el paso Documenting Threats del Threat Modeling?Se crea una plantilla estándar que describa diferentes atributos de la descripción de la amenaza. Incluye la siguiente informacion:
Descripción, Objetivo, Riesgo, Técnicas de ataque y Contra medidas. - 36¿En qué consiste el paso Rating the Threats del Threat Modeling?Consiste en calificar las amenazas en base al riesgo que representan. Para esto se utiliza el modelo DREAD.
- 37¿Qué significan las siglas del modelo DREAD?• Damage Potential
• Reproducibility
• Exploitability
• Affected users
• Discoverability - 38¿Cuándo se ejecuta el Security Testing?Antes de la fase Deployment (release) de la aplicación.
- 39¿En qué consiste el principio de seguridad Security through obscurity?Consiste en ocultar o prevenir el acceso a ciertos usuarios a partes del sistema. Por ejemplo ocultar al usuario una consola de administración.
Su utilidad ha disminuido con el tiempo. - 40¿En qué consiste el principio de seguridad Secure the Weakest Link?Se deben reforzar las áreas de seguridad que estén en riesgo o tengan seguridad débil, debido a que por allí es que un atacante intentará su ataque. Un eslabón débil en la seguridad puede tirar abajo todo el sistema.
- 41¿En qué consiste el principio de seguridad Use Least Privilege?Consiste en programar las aplicaciones de modo que funcionen con los mínimos privilegios requeridos (cuentas de usuario, acceso a recursos del sistema). Por ejemplo: si solo vamos a consultar una base de datos, no requerimos una cuenta con privilegios de administrador.
- 42¿En qué consiste el principio de seguridad Secure by Default?La solución de software que se implemente debe ser segura por default (tener todos los controles de seguridad activos). Ya luego será decisión del usuario si reduce esa seguridad.
- 43¿En qué consiste el principio de seguridad Fail Securely?Consiste en manejar de manera correcta las excepciones que se puedan presentar en la aplicación y de mantener la aplicación bajo control al momento de errores.
Incluye técnicas como: bloquear la pantalla en un error, mostrar mensajes simples al usuario, abortar transacciones en proceso, etc. - 44¿En qué consiste el principio de seguridad Apply Defense in Depth?Hay que aplicar la seguridad en todas las capas que la aplicación lo requiera. Esto puede incluir la capa de red, sistema operativo, aplicación, datos, etc.
- 45¿En qué consiste el principio de seguridad Do not Trust User Input?Se debe sospechar de cualquier input del usuario, de modo que se deben tomar medidas de seguridad para validarlo.
- 46¿En qué consiste el principio de seguridad Reduce Attack Surface?Se debe reducir la superficie de ataque de la aplicación al reducir los puntos de entrada a la misma. Estos pueden incluir puertos de red, permisos innecesarios sobre recursos, etc.
- 47¿En qué consiste el principio de seguridad Enable Auditing and Logging?Se debe llevar un registro de todos los eventos de la aplicación (Logging). La Auditoria consiste en analizar los logs para identificar posibles ataques (o para entender como estos ocurrieron).
- 48¿En qué consiste el principio de seguridad Keep Security Simple?Se debe reducir la complejidad de la arquitectura de la aplicación lo mas posible, así como la complejidad de sus mecanismos de seguridad. Esto debido a que entre mas complejos estos sean, mas difícil será implementarlos y mas propensos serán a errores.
- 49¿En qué consiste el principio de seguridad Separation of Duties?Consiste en la implementación de roles en el sistema, de modo que los usuarios solo tengan privilegios para las funciones que realmente necesiten.
- 50¿En qué consiste el principio de seguridad Fix Issues Correctly?Consiste en ejecutar el proceso de seguridad al momento de intentar resolver un error, igual a como se haría con un sistema nuevo. Esto con el objetivo de que la solución implementada no introduzca mas errores.
- 51¿En qué consiste el principio de seguridad Apply Security in Design Phase?Consiste en comenzar con el proceso de analizar y diseñar la seguridad de la aplicación ANTES de iniciar el proceso de desarrollo (Implementation).
- 52¿En qué consiste el principio de seguridad Protect Sensitive Data?La data sensible se debe proteger. Por ejemplo encriptando los canales de comunicación, evitando escribir contraseñas en el código fuente, etc.
- 53¿En qué consiste el principio de seguridad Exception Handling?Se debe mantener un manejo correcto de las excepciones en la aplicación.
- 54¿En qué consiste el principio de seguridad Secure Memory Management?Se debe tener cuidado con los memory bounds para evitar buffer overflow attacks. Esto implica revisar el tamaño máximo de las variables, los limites en los arreglos, etc.
- 55¿En qué consiste el principio de seguridad Protect Memory or Storage Secrets?Los secretos deben ser encriptados, incluso cuando se guardan en variables en memoria, para evitar que acaben visibles en un archivo DUMP al momento de un error. Se debe usar un buen método de encriptación.
Se deben limpiar los secretos en memoria. - 56¿En qué consiste el principio de seguridad Fault Tolerance?Aplica en la fase de diseño. Se refiere a la capacidad de un programa para seguir funcionando aun en la presencia de fallas. Esto se obtiene aumentando su robustez.
- 57¿En qué consiste el principio de seguridad Fault Detection?Aplica en la detección de fallas. Consiste en tener los métodos adecuados para detectar fallas en el sistema.
- 58¿En qué consiste el principio de seguridad Fault Removal?Consiste en remover las fallas detectadas en la fase de diseño.
- 59¿En qué consiste el principio de seguridad Fault Avoidance?Consiste en tener los métodos necesarios para evitar errores que contribuyan a generar fallas al desarrollar el sistema. Por ejemplo al usar técnicas defensivas de programación.
- 60¿En qué consiste el principio de seguridad Loose Coupling?Procesos que operan independientemente de otros se llaman procedimientos Loosely Coupled. Un ejemplo sería hacer programas independientes de su plataforma
Este concepto aplica cuando la máquina donde se implementa el software cambia con frecuencia. - 61¿En qué consiste el principio de seguridad High Cohesion?Se dice que una clase tiene alta cohesión si sus métodos ejecutan acciones similares. Procedimientos que ejecutan una sola función. son cohesivos. Esto facilita la comprensión y reutilizar el código.
- 62¿En qué consiste el principio de seguridad Change Management y Version Control?Consiste en tener un proceso bien diseñado de control de cambios. Este proceso se llama Configuration Management.
Informações
- Descrição
- Introduction to .NET Application Security
- Criado por
- Selim Nazar
- Visualizações
- 44
- Avaliação