SOLID
Principios para razonar sobre responsabilidades, contratos y dirección de dependencias.
Referencia rápida
Definiciones breves para compartir un lenguaje común entre producto, desarrollo, arquitectura, seguridad y operaciones.
Principios para razonar sobre responsabilidades, contratos y dirección de dependencias.
Operadores para expresar consultas sobre secuencias; su ejecución depende del proveedor.
Solicitud cooperativa para detener trabajo pendiente; no deshace cambios ya confirmados.
Provisión explícita de colaboradores a un componente mediante composición.
Unidad de cambios que se confirma o revierte según las garantías del recurso.
Herramienta de persistencia .NET que traduce consultas y administra cambios en entidades.
Formato consistente para describir errores en respuestas HTTP.
Organización con dependencias orientadas hacia las reglas del negocio.
Abstracción de acceso a entidades o agregados con un propósito definido.
Objeto que describe criterios reutilizables de selección o una regla evaluable.
Enfoque de diseño que utiliza lenguaje del negocio y límites explícitos del dominio.
Separación de responsabilidades de lectura y escritura.
Representación explícita de éxito y rechazos esperados de una operación.
Automatización de integración, verificación y entrega de cambios.
Verificación de una identidad declarada mediante un mecanismo confiable.
Decisión que permite o deniega una acción sobre un recurso en un contexto determinado.
Representación de la identidad que actúa dentro de la aplicación.
Afirmación sobre una identidad o contexto; debe validarse su origen antes de utilizarla.
Identidad independiente asignada a un proceso o servicio para limitar y atribuir sus acciones.
Marco para delegar acceso a recursos mediante permisos y tokens.
Capa de autenticación sobre OAuth 2.0 que comunica al cliente información de la identidad autenticada.
Formato de token con claims. Una firma no cifra su contenido y decodificarlo no lo valida.
Mecanismo que vincula el canje de un código de autorización a un secreto efímero del cliente.
Contexto de continuidad entre solicitudes, con vigencia, renovación y cierre definidos.
Control de acceso que agrupa permisos mediante roles.
Control de acceso que evalúa atributos del sujeto, recurso y contexto.
Falla de autorización a nivel de objeto que permite actuar sobre recursos sin el permiso correspondiente.
Ámbito lógico de aislamiento de datos y permisos; en el caso ficticio corresponde a un grupo.
Interfaz que define operaciones y contratos para la comunicación entre componentes.
Representación explícita de datos de entrada o salida, separada de la entidad interna.
Ejecución solapada de operaciones que puede exigir transacciones o control de versiones.
Llamada de retorno con la que un componente comunica un resultado o evento.
Propiedad que evita repetir el efecto previsto al procesar nuevamente la misma operación.
Controles de frescura y repetición que limitan la reutilización de mensajes válidos.
Distribución de responsabilidades incompatibles entre actores distintos.
Exigencia de autenticación adicional o más reciente ante una operación sensible.
Registro protegido y correlacionable de identidades, acciones, recursos, decisiones y resultados.
Dato, sistema, identidad, proceso o capacidad que tiene valor y necesita protección.
Actor o circunstancia con capacidad de producir un daño.
Estándar OWASP de requisitos técnicos para verificar la seguridad de aplicaciones. Cada referencia debe indicar la versión utilizada.
Marco NIST de prácticas de desarrollo seguro que organiza actividades del ciclo de vida del software.
Disciplina que integra seguridad en todo el ciclo de vida de una aplicación.
Análisis dinámico que prueba una aplicación en ejecución desde sus interfaces expuestas.
Integración de seguridad en los flujos automatizados de desarrollo, entrega y operación.
Conjunto priorizado de acciones para reducir riesgos y mejorar controles de un producto.
Diagrama de flujo de datos que representa actores, procesos, almacenes, flujos y fronteras.
Punto donde datos o acciones cruzan entre contextos con niveles de confianza diferentes.
Condición verificable que determina si un cambio puede avanzar en el pipeline.
Escenario que describe cómo un actor podría utilizar una función de forma no prevista para causar daño.
Asignación exclusiva de los permisos necesarios para una función y un tiempo determinados.
Proceso estructurado para identificar, analizar y tratar amenazas desde el diseño y durante la evolución del sistema.
Posibilidad de que una amenaza aproveche una debilidad y produzca un impacto.
Riesgo que permanece después de aplicar los controles previstos.
Análisis del código o artefactos sin ejecutar la aplicación.
Análisis de componentes y dependencias de terceros, sus versiones, licencias y vulnerabilidades.
Ciclo de vida utilizado para definir, construir, verificar, desplegar, operar y retirar software.
Conjunto de entradas, interfaces, identidades y recursos que un atacante puede intentar utilizar.
Método para explorar suplantación, manipulación, repudio, divulgación, denegación de servicio y elevación de privilegios.
Debilidad técnica, lógica, de configuración o proceso susceptible de explotación.