Galería de mapas mentales CISSP-8-Desarrollo de seguridad de aplicaciones
El mapa mental de desarrollo de seguridad de aplicaciones de la Certificación profesional de seguridad de sistemas de información CISSP incluye principalmente objetivos de aprendizaje de desarrollo de aplicaciones, seguridad de desarrollo de sistemas, modelos de desarrollo de software, conceptos y lenguajes de programación, sistemas de aplicaciones típicos y evaluación de la eficacia de la seguridad del software.
Editado a las 2021-11-10 12:06:10,プロジェクトマネジメントとは、専門的な知識、スキル、ツール、方法論をプロジェクト活動に適用し、限られたリソースの制約の中で、プロジェクトが設定された要件や期待を達成、またはそれ以上にできるようにするプロセスである。 この図は、プロジェクトマネジメントプロセスの8つの構成要素を包括的に示したものであり、一般的なテンプレートとして利用することができる。
プロジェクトマネジメントとは、専門的な知識、スキル、ツール、方法論をプロジェクト活動に適用し、限られたリソースの制約の中で、プロジェクトが設定された要件や期待を達成、またはそれ以上にできるようにするプロセスである。 この図は、プロジェクトマネジメントプロセスの8つの構成要素を包括的に示したものであり、一般的なテンプレートとして利用することができる。
世界的に著名な科学者、航空力学者、中国有人宇宙飛行の創始者、中国科学院および中国工程院の院士、「二元一星勲章」受章者、「中国宇宙飛行の父」、「中国ミサイルの父」、「中国自動制御の父」、「ロケットの王」として知られる。 中国宇宙の父」、「中国ミサイルの父」、「中国自動制御の父」、「ロケット王」として知られる。
プロジェクトマネジメントとは、専門的な知識、スキル、ツール、方法論をプロジェクト活動に適用し、限られたリソースの制約の中で、プロジェクトが設定された要件や期待を達成、またはそれ以上にできるようにするプロセスである。 この図は、プロジェクトマネジメントプロセスの8つの構成要素を包括的に示したものであり、一般的なテンプレートとして利用することができる。
プロジェクトマネジメントとは、専門的な知識、スキル、ツール、方法論をプロジェクト活動に適用し、限られたリソースの制約の中で、プロジェクトが設定された要件や期待を達成、またはそれ以上にできるようにするプロセスである。 この図は、プロジェクトマネジメントプロセスの8つの構成要素を包括的に示したものであり、一般的なテンプレートとして利用することができる。
世界的に著名な科学者、航空力学者、中国有人宇宙飛行の創始者、中国科学院および中国工程院の院士、「二元一星勲章」受章者、「中国宇宙飛行の父」、「中国ミサイルの父」、「中国自動制御の父」、「ロケットの王」として知られる。 中国宇宙の父」、「中国ミサイルの父」、「中国自動制御の父」、「ロケット王」として知られる。
Desarrollo de seguridad de aplicaciones
Objetivos de aprendizaje del desarrollo de aplicaciones
Seguridad del ciclo de vida del desarrollo de software
Enfoque del ciclo de vida del desarrollo de software.
modelo de madurez
Operación y mantenimiento
Gestión del cambio
Equipo de producto integrado
Controles de seguridad en entornos de desarrollo.
Seguridad del entorno de software (lenguaje de programación, bibliotecas, cajas de herramientas, entorno de desarrollo integral, tiempo de ejecución);
Debilidades y vulnerabilidades de seguridad a nivel del código fuente
La gestión de la configuración como componente importante de la codificación segura
Seguridad de la interfaz de la aplicación
Efectos de seguridad del software
Auditar y registrar cambios
Análisis y mitigación de riesgos. (Acción Correctiva, Pruebas y Validación, Pruebas de Regresión)
Pruebas de aceptación del usuario
Preocupaciones sobre el desarrollo de aplicaciones
patrones arquitectónicos
Arquitectura de tres niveles
usuario
Interfaz
Middleware complejo
base de datos
Funciones de seguridad y seguimiento de errores
Servidor de cliente
Cliente: interfaz de usuario, operación de base de datos local, mecanismo de comunicación
Servidor: ejecutar y procesar solicitudes de datos y devolver resultados
navegador/servidor
Control ambiental V Control de aplicaciones
Equilibrio de múltiples métodos de control
Comprender los límites entre los controles ambientales y los controles de aplicaciones.
Funcionalidad de seguridad V
Equilibrio entre la funcionalidad del software y las medidas de seguridad
Equilibrio de requisitos funcionales, requisitos de seguridad y mecanismos de seguridad.
Experiencia de usuario de Seguridad V
generalmente inversamente proporcional a
Función de seguridad V configuración seguridad
La instalación predeterminada no garantiza la seguridad
La seguridad de configuración no está habilitada (el acceso debe estar denegado de forma predeterminada)
No seguir el principio de instalación mínima.
Instalación posterior al parche
Seguridad del desarrollo del sistema
SDLC
Inicio del proyecto
Aclarar los requisitos y determinar los objetivos básicos de seguridad del producto.
Evaluación de análisis de riesgos, evaluación de amenazas y vulnerabilidades, Estimar la relación costo/beneficio de diferentes contramedidas de seguridad.
Gestión de riesgos
Análisis de riesgo
análisis de la demanda
Requerimientos de seguridad
Requisitos funcionales del sistema o aplicación
normas y directrices
restricciones a la exportación
Nivel de sensibilidad de los datos
Políticas de seguridad relacionadas
Resultados del análisis costo/beneficio
Nivel de protección requerido para alcanzar los objetivos.
El equipo de desarrollo de proyectos y gestión de requisitos lleva a cabo un análisis complejo de los requisitos funcionales actuales y futuros probables para garantizar que el nuevo sistema cumpla con los requisitos del usuario final.
Los miembros del equipo del proyecto también revisarán los documentos generados durante la fase inicial del proyecto y los revisarán y actualizarán según sea necesario.
Para proyectos relativamente pequeños, los procesos anteriores suelen incluirse en las etapas iniciales del proyecto.
Los requisitos de seguridad también deben formularse en consecuencia. (Los requisitos de seguridad se determinan durante la fase de análisis de requisitos, El personal de seguridad debe estar involucrado durante la etapa de requisitos)
diseño de sistemas
Desarrollo de software como parte del diseño del sistema.
El hardware es diferente del software.
Generalmente, las funciones implementadas por el software se deciden durante el diseño del sistema.
La verificación del software debe tener en cuenta todo el contexto en el que está diseñado el sistema.
Considere las especificaciones
La diferencia entre software y hardware.
El software puede tener ramas y el software puede ejecutar diferentes comandos según diferentes entradas, por lo que el software es complejo;
El software no es físico y por tanto no se desgasta;
El software se puede cambiar fácil y rápidamente;
El proceso de desarrollo de software debe planificarse, controlarse y registrarse completamente para detectar y corregir resultados inesperados causados por cambios de software.
Los componentes de software no están estandarizados ni reemplazables con tanta frecuencia como el hardware.
Herramientas para describir los requisitos del usuario y el comportamiento interno del sistema.
Incluye todas las actividades relacionadas con el diseño de sistemas y software.
Diseñar la arquitectura del sistema, las salidas del sistema y las interfaces del sistema.
Establecer requisitos de entrada de datos, flujo de datos y salida de datos y, en general, diseñar funciones de seguridad de software basadas en la arquitectura de seguridad de la empresa.
diseño
diseño de datos
Extraiga datos de diseño de datos y modelos de información y conviértalos en estructuras de datos.
Diseño arquitectónico
Define las principales estructuras y relaciones entre los componentes de la aplicación.
diseño de procesos
Convertir componentes estructurados en procesos descriptivos
enfoque de diseño de seguridad
Modelado de amenazas (STRIDE)
Análisis de minimización de la superficie de ataque.
Entrada y salida limpias
Preguntas a considerar
Estructura de desglose del trabajo (EDT) para fases posteriores
Detalles del producto y el entorno en el que se implementa.
Problemas de modularización y reutilización de productos.
Desarrollo e implementación de software.
el trabajo principal
Se ha generado el código fuente y se han desarrollado escenarios y casos de prueba en consecuencia.
Comience a implementar pruebas unitarias y de integración
Los procedimientos y sistemas también comienzan a documentarse para el mantenimiento y luego pasan a las pruebas de aceptación y transición de producción.
Tipo de prueba
prueba de unidad
Verificar la estructura de datos, la lógica y las condiciones límite.
Pruebas de integración
Verificar que los componentes funcionen juntos de acuerdo con las especificaciones de diseño.
prueba del sistema
Función/rendimiento
Examen de ingreso
Asegúrese de que el código satisfaga las necesidades del cliente
Pruebas de regresión
Después de realizar los cambios en el sistema, se volverán a probar para Garantizar niveles de funcionalidad, rendimiento y protección.
prueba de funcionamiento
Pruebas de rendimiento
prueba de carga
test de presión
Pruebas de fuzzing
Enviar datos complejos/aleatorios al software para provocar errores de software. Se utiliza principalmente para identificar desbordamientos de búfer, DOS, inyecciones, errores de verificación y otros errores que pueden provocar que el software se congele, falle o se produzca.
Escaneo de vulnerabilidades
Utilice herramientas automatizadas para verificar los errores principales del programa, como errores de lenguaje fuertemente tipado, errores de desarrollo y configuración, fallas de secuencia de transacciones (fallas de secuencia de transacciones), condiciones de activación de mapeo (condiciones de activación de mapeo), etc., generalmente más manualmente. Se requiere trabajo después de la investigación del escaneo.
Prueba manual
Al analizar un programa a través de la experiencia y la intuición humanas, a menudo utilizando tecnología informática, los evaluadores pueden localizar errores de diseño, como errores lógicos. Incluye pruebas de penetración.
Análisis dinámico
El análisis dinámico es un análisis oportuno de un programa en ejecución. Generalmente se ejecuta después del análisis estático y después de que se hayan resuelto los problemas básicos del programa.
Separación de ambientes y separación de responsabilidades
verificar (verificación)
Garantizar que se cumplan las especificaciones del producto.
confirmar (validación)
Asegurar que se cumplan los principales objetivos del proyecto.
Centrarse en cómo utilizar y operar el sistema o aplicación desarrollado.
Certificación (Certificación)
características de seguridad técnicas y no técnicas de un sistema de TI y sus Evaluación de seguridad de las medidas de protección, midiendo cómo se cumplen los diseños e implementaciones específicos. Un conjunto definido de requisitos de seguridad para respaldar el proceso de acreditación.
Un proceso para examinar y evaluar los controles de seguridad.
Ejecutado por una agencia de inspección externa independiente.
Confirmar el cumplimiento de las políticas y estándares de seguridad.
Tasación o Aprobación (Acreditación)
Un organismo autorizado declara oficialmente que un sistema de TI ha sido aprobado y puede capaz de operar en un modo de seguridad específico que emplea un conjunto definido de medidas de seguridad que cumplen con un nivel aceptable de riesgo
Aprobación del sistema por parte de la dirección
clara aceptación del riesgo
Migraciones y correcciones
En esta etapa, el sistema pasa de la etapa de aceptación al entorno de producción real.
Las actividades de esta fase incluyen la obtención de homologaciones de seguridad. (acreditación de seguridad);
Capacitar a los usuarios según el plan;
Implementar el sistema, incluida la instalación y conversión de datos;
Si es necesario, realice operaciones paralelas.
Operación y mantenimiento
Configurar correctamente el entorno de seguridad
Realice continuamente pruebas de vulnerabilidad, supervise la actividad del sistema y audite eventos (Se descubre una vulnerabilidad durante la fase de mantenimiento y la acción tomada es informar)
Si se producen cambios importantes, realice una evaluación de riesgos, y realizar procesos de certificación y acreditación (recertificación, reacreditación)
Disponer (desecho)
Destruya datos según la confidencialidad de los datos.
Método de destrucción
daño físico
Desmagnetización
Sobrescribir
Ciclo de vida de la ingeniería de sistemas SELC (Ciclo de Vida de Ingeniería de Sistemas)
Análisis de requisitos, diseño, implementación, verificación, operación. Análisis de requisitos, Diseño, Implementación, Verificación, Operación
Gestión de cambios y configuración.
Modelo de Capacidad de Madurez (MMC)
Inicial (ad hoc)
repetible
Definido
Gestionado (Administrado, métrico)
Optimización (mejora continua)
Integración del modelo de madurez de capacidad (CMMI)
1, 3, 5 son iguales, 2. Gestionado, 4. Cuantificado y gestionado
Equipo de producto integrado
Desarrollo Integrado de Productos y Procesos (IPPD) desarrollo integrado de productos y procesos
Técnicas de gestión que optimizan los procesos de diseño, fabricación y soporte integrando todas las actividades de adquisición necesarias simultáneamente utilizando equipos multidisciplinarios.
IPPD facilita el cumplimiento de los objetivos de costos y rendimiento desde el concepto del producto hasta la producción, incluido el soporte in situ
Un principio clave de IPPD es el modelo de colaboración multidisciplinaria de equipos de productos integrados (IPT).
IPT
Representantes de todas las disciplinas funcionales trabajan con el líder del equipo para crear programas exitosos y equilibrados, identificar y resolver problemas y tomar decisiones acertadas y oportunas.
Es posible que los miembros del equipo no necesariamente contribuyan con el 100% de su tiempo al proyecto y un miembro puede estar en varios equipos de IPT.
El propósito de los IPT es tomar decisiones en equipo basadas en aportes en tiempo real de todos los equipos (por ejemplo, gestión de proyectos, ingeniería, fabricación, pruebas, lógica, gestión financiera, adquisiciones y gestión de contratos), incluidos clientes y proveedores.
Los miembros del equipo de los ITP están compuestos por miembros de nivel de gerente de proyecto, incluidos miembros de la empresa y contratistas de sistemas/subsistemas.
Un IPT típico está a nivel de programa y puede consistir, por ejemplo, en las siguientes disciplinas funcionales: ingeniería de diseño, fabricación, ingeniería de sistemas, pruebas y evaluación, subcontratación, garantía de calidad, capacitación, finanzas, confiabilidad, mantenibilidad, soporte, adquisiciones. Gestión de contratos, proveedores y clientes.
DevOps
concepto
en principio
Desarrollar y probar sistemas de producción similares.
Implemente con un proceso confiable y repetible
Monitorear y verificar la calidad operativa.
Ampliar el circuito de retroalimentación
modelo de desarrollo de software
modelo de cascada
Planificación, análisis de requisitos, diseño de software, redacción de programas, pruebas de software, operación y mantenimiento.
modelo espiral
Desarrollo de programación estructurada.
desarrollo iterativo
modelo prototipo
abandonar
Mejorar
creación rápida de prototipos
Explora el modelo
Desarrollo de análisis conjunto
Desarrollo rápido de aplicaciones (RAD)
Reutilizar modelos
cuarto limpio
desarrollo de componentes
Desarrollo ágil
XP de programación extrema
Melé
Inclinarse
Manifiesto Ágil 4 frases
Individuos e interacciones sobre procesos y herramientas Software de trabajo por encima de la documentación exhaustiva. Cooperación con el cliente por encima de la negociación de contratos Responder al cambio mejor que seguir el plan
Lenguajes y conceptos de programación.
programación estructurada
Análisis y diseño de arriba hacia abajo; Implementación ascendente, paso a paso
Perspectiva orientada al usuario, distingue estrictamente las etapas de trabajo.
Desventajas: ciclo de desarrollo largo, proceso de desarrollo complejo y engorroso La auditoría es más difícil y la comunicación con el usuario no es intuitiva.
programación orientada a objetos
Se compone de dos partes: clase y objeto.
amable (Clase)
La clase define las características abstractas de una cosa.
Una clase define las propiedades de una cosa y lo que puede hacer (su comportamiento)
Los métodos y propiedades de una clase se llaman "miembros".
objeto (Objeto)
El objeto es una instancia de una clase.
El sistema asigna espacio de memoria a objetos pero no a clases; Las clases son abstractas. Es imposible que el sistema asigne espacio a cosas abstractas. Los objetos son concretos.
objeto = método de propiedad
Atributos:
Describe la estructura y las características de estado del objeto.
método:
La función o proceso que un objeto puede realizar.
Métodos de comunicación entre objetos: paso de mensajes.
Polimorfismo (polimorfismo)
La comprensión más simple de encapsulación es el empaquetado, que se refiere a ocultar las propiedades y los detalles de implementación de un objeto. Sólo la interfaz está expuesta al mundo exterior, es decir, el estado interno del objeto es transparente al mundo exterior.
Encapsulación (Encapsulación)
significa ocultar información del objeto
miembros públicos
miembro privado
heredar (herencia)
Es un mecanismo para crear uno o más subtipos a partir de una clase existente.
Arquitectura de software
estructura de datos
Representación de relaciones lógicas entre elementos de datos.
escalar
lista enlazada
árbol jerárquico
cohesión y acoplamiento (alta cohesión, bajo acoplamiento)
cohesión
Refleja cuántos tipos diferentes de tareas puede realizar un módulo
Cuanto mayor sea la cohesión, más fácil será actualizarla y modificarla, sin afectar otros módulos que interactúan con otros
acoplamiento
Cuánta interacción necesita un módulo para realizar sus tareas
El bajo acoplamiento facilita la reutilización y las modificaciones no afectarán a otros módulos.
Computación distribuída
Arquitectura de agente de solicitud de objetos comunes (CORBA)
Modelo COM/DCOM de Microsoft
EJB
API
API es un conector para IoT (Internet de las cosas) que permite que los dispositivos se conecten entre sí
API de transferencia de estado representacional (REST)
Consejos de uso de expertos en seguridad REST
Tres caminos seguros para las API REST
Sistema de aplicación típico
seguridad web
recoger mensaje (Recopilación de información)
Interfaz de gestión (Interfaces administrativas)
Autenticación y control de acceso (Autenticación y control de acceso)
Validación de entrada (Validación de entrada)
respuesta
Ataque de desbordamiento de búfer
Ataque de secuencias de comandos entre sitios XSS
Ataque de inyección SQL
Validación de parámetros (Validación de parámetros)
Gestión de sesiones (Gestión de sesiones)
Gestión de base de datos
sistema de administración de base de datos (SGBD)
Asambleas que gestionan y controlan el acceso a los datos.
Organizar y almacenar datos en un formato determinado, Registre archivos que permitan a los usuarios acceder, administrar y actualizar
Enfoque: recopilación, almacenamiento y recuperación de datos
Más preocupado por la integridad, seguido de la disponibilidad y finalmente la confidencialidad.
metadatos
Esencia: datos sobre datos
Datos clave relacionados con la definición de fuente de datos, definición de destino, reglas de conversión, etc.
Características:
consistencia de los datos
Las operaciones deben cumplir con la política de integridad de cada base de datos, Datos de transacción completos consistentes
compartir datos
Varios usuarios pueden acceder a la base de datos al mismo tiempo. Con control de concurrencia
Recuperación de datos
En caso de error o falla del sistema, el sistema se puede recuperar. Verifique las transacciones que se están procesando en el momento del bloqueo o la reversión, O se ha completado una transacción para mantener la coherencia de los datos.
Los puntos de control son una técnica de recuperación común
controlar de forma segura
Proporciona varios controles de seguridad para limitar el acceso de los usuarios.
lenguaje de base de datos
Lenguaje de definición de datos (DDL), Por ejemplo: CREATE, DROP, ALTER y otras declaraciones.
Lenguaje de manipulación de datos (DML), Por ejemplo: SELECT (consulta), INSERT (insertar), ACTUALIZAR (modificar), BORRAR (eliminar) declaraciones.
Lenguaje de control de datos (DCL), Por ejemplo: GRANT, REVOKE y otras declaraciones.
Declaración de control de transacciones (TCL), Por ejemplo: COMMIT, ROLLBACK y otras declaraciones.
Garantizar un enfoque o proceso eficaz
Compresión: la capacidad de comprimir datos y ahorrar espacio de almacenamiento y E/S.
Reorganizar: recuperar espacio no utilizado
Refactorización: agregar y cambiar registros, datos, controles de acceso, Capacidades de procesamiento y configuración del disco
modelo de base de datos
modelo de base de datos jerárquico
Una estructura de árbol lógico que consta de registros y campos que están relacionados en la estructura de árbol lógico.
Una estructura de árbol contiene muchas ramas, cada rama tiene muchas hojas o campos de datos.
El acceso requiere un camino claro, No apto para cambios frecuentes, apto para consultas frecuentes
Ejemplo: Protocolo ligero de acceso a directorios LDAP, estructura de registro
Modelo de base de datos de red
Utilice gráficos dirigidos para representar tipos de entidades y relaciones entre entidades. Una estructura redundante similar a una red, no una estructura de árbol estricta
Cada elemento de datos tiene múltiples nodos principales y nodos secundarios.
Recuperación más rápida en comparación con los modelos jerárquicos
modelo de base de datos relacional
Características: atributos/campos (columnas) y tuplas/registros (filas)
Combinación de productos cartesianos.
Claves primarias y externas
La clave principal identifica de forma única un registro.
Clave externa: si el valor de un atributo en una tabla coincide con una clave principal en otra tabla, y se establece una determinada relación, entonces este atributo se considera una clave externa
Componentes básicos:
Lenguaje de definición de datos (DDL)
Definir la estructura de la base de datos (Estructura) y la estructura de datos (Esquema)
Estructura: describe el tamaño de la tabla, la ubicación de las claves, las vistas y las relaciones entre los elementos de datos.
Esquema: describe los tipos de datos y sus propiedades que la base de datos almacena y opera.
Definir la organización, operaciones de acceso y procedimientos de integridad de la base de datos.
Lenguaje de manipulación de datos (DML)
Comando de operación del usuario
Lenguaje de control de datos (DCL)
Crear objetos de acceso y autorización de usuarios.
Lenguaje de consulta (QL)
Realizar una solicitud de consulta a la base de datos.
generador de informes
Salida del proceso de datos de forma definida por el usuario
(RDBMS) integridad relacional
Integridad de la entidad (Integridad de la entidad)
Cada registro se identifica de forma única mediante el valor de la clave principal.
integridad semántica (Integridad semántica)
Asegurar que se sigan las reglas estructurales y las reglas semánticas. Evite que datos semánticamente incorrectos ingresen a la base de datos. Esto se puede lograr mediante reglas restringidas por reglas.
(referencia) integridad referencial (Integridad referencial)
Ningún registro de base de datos puede hacer referencia a una clave primaria inexistente. Si se elimina un registro que contiene una clave primaria, Todos los registros a los que se hace referencia deben eliminarse. (clave externa)
Diccionario de datos:
Es una biblioteca central que describe elementos de datos y sus relaciones. Puede almacenar información clave como el uso de datos, las relaciones de datos, las fuentes de datos y los formatos de datos.
El diccionario de datos es una parte de gestión centralizada que controla los datos de la base de datos. Describe las referencias cruzadas entre elementos de datos y bases de datos.
Describe una colección de definiciones de elementos de datos, objetos de esquema y claves de referencia.
Los objetos de esquema incluyen tablas, vistas, índices, procedimientos, funciones y activadores.
El software de gestión de datos lee el diccionario de datos, determina si el módulo existe y comprueba si hay datos específicos. Los permisos de acceso del proceso de usuario también definen la configuración de permisos de visualización para cada usuario.
Actualice el diccionario de datos cuando sea necesario agregar nuevos registros, tablas, vistas o esquemas
modelo de base de datos orientada a objetos
Combinando el modelo de datos de objetos en la programación orientada a objetos con DBMS, Puede almacenar imágenes, voz, vídeo y otros datos.
Las bases de datos orientadas a objetos utilizan clases para definir las propiedades y procedimientos de sus objetos.
modelo de base de datos relacional de objetos
Interfaz de programación de base de datos
Conectividad de base de datos abierta, ODBC
Conexión de objetos e incrustación de base de datos, OLEDB
Objetos de datos ActiveX, ADO
Interconexión de bases de datos Java, JDBC
Vulnerabilidades y amenazas de bases de datos
integridad (integridad)
Retroceder
Terminar la transacción actual, cancelar cambios y restaurar el estado anterior
entregar
Enviar, finalizar la transacción actual y ejecutar las modificaciones realizadas por el usuario, Si no se puede ejecutar correctamente, retroceda
punto de guardado/punto de control (punto de control)
Si se detecta un error, el usuario puede regresar a la ubicación correspondiente.
Utilice mecanismos de bloqueo para hacer frente a la amenaza de operaciones concurrentes
polimerización (Agregación)
Algunas piezas de información no son confidenciales por separado, pero lo son juntas.
Solución
Controlar estrictamente el acceso a funciones agregadas
Los usuarios tienen prohibido acceder directamente a los datos a través de vistas.
razonamiento (Inferencia)
Agrega el resultado deseado
El razonamiento no puede obtener la información disponible para mostrar.
Solución:
Control de acceso
Control de acceso basado en contenido
Control de acceso sensible al contexto
inhibición unitaria (Supresión celular)
Técnicas utilizadas para ocultar unidades específicas.
Partición de base de datos (partición de base de datos)
Dividir la base de datos en diferentes partes.
ruido y molestias (ruido y perturbación)
Técnicas para insertar información falsa en bases de datos
Vista de base de datos
Múltiples instancias (MRDBMS)
Crea múltiples tuplas con la misma clave primaria y Relaciones entre instancias definidas por niveles de seguridad
punto muerto (Bloqueo)
Otras amenazas
base de datos
Procesamiento de transacciones en línea, OLTP
Principios ÁCIDOS
Atomicidad
O se confirman todos los cambios o se revierte la base de datos
Consistencia
Siga la integridad de la base de datos, Garantizar la coherencia de los datos en diferentes bases de datos.
Aislamiento
Las transacciones no se afectan entre sí.
Durabilidad
Una vez enviado, no se puede revertir.
Procesamiento analítico en línea, OLAP
OLAP es la principal aplicación de los sistemas de almacenamiento de datos.
Adecuado para tomadores de decisiones y altos directivos
Almacenamiento de datos y minería de datos.
Para permitir la recuperación de información y el análisis de datos, Combine múltiples bases de datos o fuentes de datos en una base de datos grande
procesamiento de datos
Clasificación: agrupar datos basándose en similitudes comunes.
Posibilidad: Identificar interdependencias entre datos, y aplicar posibilidades a sus relaciones
Experto en Sistemas
programación basada en reglas
Las reglas se basan en unidades lógicas si-entonces.
composición
máquina de inferencia
El motor de inferencia proporciona capacidades de interfaz de usuario, archivos externos, planes y acceso a programas.
base de conocimientos
La base de conocimientos contiene datos relacionados con un problema o dominio específico.
IDS suele utilizar sistemas expertos para revisar automáticamente los registros de seguridad.
Redes neuronales artificiales
Modelo electrónico basado en la estructura neuronal del cerebro humano.
El cerebro almacena información en forma de patrones.
Cuando aprendes algo y lo usas con frecuencia, Se fortalecerá la ruta de conexión a la unidad de almacenamiento de información
Las redes neuronales están programadas para tener capacidades de aprendizaje y toma de decisiones. Mejorar su funcionalidad a través de un proceso extenso de toma de decisiones de prueba y error.
amenazar
desbordamiento del buffer (Desbordamiento de búfer)
pasaje encubierto Convertir canal
momento
almacenamiento
Reutilización de memoria/reutilización de objetos (Reutilización de memoria/Reutilización de objetos)
Ingeniería social
Trampilla/puerta trasera (Trampilla/Puerta trasera)
ataque de suplantación de identidad (ataque de suplantación de identidad)
seguridad web
vandalismo
Reemplace la imagen y el título emitidos con la imagen y el título modificados
percepción y realidad
fraude financiero
Engaño de servicios y transacciones en entornos virtuales
acceso privilegiado
Restringir el acceso a usuarios privilegiados
Robar información de transacciones
robo de propiedad intelectual
Ataque de denegación de servicio
seguridad especifica
recoger mensaje
Interfaz de gestión
Autenticación y control de acceso
Gestión de configuración
Ingrese la confirmación
Confirmación de parámetros
Gestión de sesiones
SAML
Lenguaje de marcado de afirmación de seguridad SAML, Es un protocolo basado en XML. Es un estándar de identidad federado. Se utiliza para transmitir información de autenticación y autorización en diferentes dominios de seguridad y se puede utilizar para implementar el inicio de sesión único. De manera similar a Kerberos que depende de KDC, SAML depende de IDP (proveedor de identidad). SAML tiene una función llamada aplicación de políticas.
OAuth2.0
OAuth (Autorización Abierta) es un estándar abierto, Permitir que los usuarios permitan que aplicaciones de terceros accedan a recursos privados (como fotos, vídeos, listas de contactos) almacenados por el usuario en un sitio web, Sin dar tu usuario y contraseña a aplicaciones de terceros.
El OAuth original emitirá un token con un período de validez muy largo (normalmente un año o sin límite de validez). En OAuth 2.0, el servidor emitirá un token de acceso de corta duración y un token de actualización de larga duración. Esto permitirá al cliente obtener un nuevo token de acceso sin necesidad de que el usuario lo vuelva a hacer y también limita el período de validez del token de acceso.
mover código
subprograma de java
El lenguaje Java se compone de código de bytes y máquina virtual Java. Conviértalo en código de máquina que la máquina pueda reconocer.
El subprograma se ejecuta en una caja de arena. (La zona de pruebas ayuda a lograr una autorización mínima, Es un medio eficaz para hacer frente a ataques de códigos maliciosos. alternativa al software antivirus)
control ActiveX
Código malicioso
Virus
Características: Reproducción y destrucción, requiere huésped.
macro virus
Virus del sector de arranque
Puede eliminar los datos en el área de inicio o reiniciar el área
Virus de compresión
Adjuntarse al programa ejecutable y comprimirlo usando los permisos del usuario.
virus encubierto
Ocultar los cambios que realizó en el registro de inicio del cuadro de archivos
virus metamórfico
Haz una copia de ti mismo cambiante, pero aún utilizable
A través de ruido o instrucciones falsificadas, motores de mutación y números aleatorios Generador para cambiar el orden de las instrucciones y evadir la detección.
virus dividido
Infecta el sector de arranque del disco duro y los archivos ejecutables simultáneamente
virus autoinfligido
Evadir la detección por parte del software antivirus ofuscando su propio código
virus de secuencia de comandos
virus del túnel
Instálese bajo un programa antivirus, software antivirus Al detectar virus, siete intercepta esta llamada
gusano
Puede autorreplicarse sin un host
Distribuido a través de correos electrónicos, descargas de sitios web, etc.
Red de bots
Un bot es un tipo de malware, un virus latente código
caballo de Troya
Un programa disfrazado de otro programa
rootkit
bomba lógica
Una bomba lógica se ejecuta cuando ocurre un evento específico.
software antivirus
método de detección característico (firma)
Detección heurística (heurístico) Comportamiento anormal detectado
Contador de sospechas
Algunos programas antivirus crean sospechosamente una zona de pruebas, Analizar dinámicamente código sospechoso
Clasificación:
Revisar información sobre un fragmento de código se llama análisis estático.
Permitir que parte del código se ejecute en una máquina virtual se denomina análisis dinámico.
Programa de inmunización
Apunta a un virus y hazle creer que está infectado.
bloqueador de comportamiento
Programa antivirus
Proteger contra virus a través de métodos administrativos, físicos y técnicos.
Detección de spam
filtrado bayesiano
Ataque de denegación de servicio (DOS) (Parece una actividad normal)
Características
Consumir el ancho de banda de la red de la víctima
Consumir los recursos de la víctima.
Clasificación
ataque pitufo
Explotación de fallas en el protocolo ICMP
ataque fragmentado
Explotación de fallas del protocolo UDP
smurf y farggle son dos formas de explotar fallas de protocolo y Ejemplo de uso de red amplificada para iniciar DoS
Ataque de inundación SYN
Utilizando el protocolo de enlace de tres vías de una conexión TCP
Se superó el límite de la cola de conexión
ataque de lágrima
Aproveche este defecto de diseño enviando paquetes fragmentados muy pequeños
Ataque distribuido de denegación de servicio (DDDOS)
El enrutamiento de sumideros es una de las formas de lidiar con DDOS
Evaluar la eficacia de la seguridad del software.
Certificación y acreditación
efecto
Incorporar capacidades de seguridad de la información en los sistemas de información federales mediante la aplicación de controles de seguridad técnicos, operativos y de gestión de mejores prácticas.
Mantener el conocimiento del estado de seguridad de los sistemas de información a través del fortalecimiento continuo de los procesos de monitoreo.
Proporcionar información importante para que los altos directivos impulsen decisiones, incluida la aceptación de riesgos para las operaciones de la organización y riesgos para los activos, individuos, otras organizaciones o países que surjan del uso y operación de los sistemas de información;
Auditoría y registro de cambios.
Función de auditoría de información.
Los procedimientos de auditoría ayudan a detectar cualquier actividad inusual.
El nivel y el tipo de auditoría dependen de los requisitos de auditoría del software instalado y de la sensibilidad de los datos procesados o almacenados por el sistema.
Los recursos del sistema deben protegerse cuando estén disponibles.
El papel de la auditoría de registros
La necesidad de establecer una línea de base
Rendimiento de diferentes servidores y sistemas.
Funciones de la aplicación y problemas de operación y mantenimiento.
Detección eficaz de intrusiones
análisis forense
Cumplir con diversas leyes y regulaciones.
Integridad de la información
La aplicación compara o concilia lo procesado con lo que se espera procesar.
Comparar totales
comprobar el número de serie
exactitud de la información (control de aplicaciones)
Verifique la precisión de la entrada: la validación de datos y las verificaciones de validación deben integrarse en las aplicaciones apropiadas.
Verificaciones de caracteres: compare los caracteres de entrada con los tipos de caracteres esperados, como números o letras.
Verificaciones de rango: valide los datos de entrada con los límites superior e inferior de la reserva.
Verificaciones de relaciones: compare los datos de entrada con los datos del archivo de registro principal
control de plausibilidad (Verificaciones de razonabilidad): comparar los datos de entrada con los estándares esperados, otras formas de verificaciones de integridad.
Límites de transacción: Verifique los datos de entrada y compárelos con los límites establecidos por la administración en la transacción.
Análisis y mitigación de riesgos.
Gestión de riesgos
La gestión de riesgos es un proceso continuo que abarca todo el ciclo de vida del proyecto.
El proceso de gestión de riesgos incluye la planificación, identificación, análisis, seguimiento y control de riesgos.
La identificación de riesgos comienza antes de que se inicie el proyecto y el número de riesgos aumenta a medida que el proyecto madura.
El proceso de documentación de riesgos incluye la mitigación de riesgos y la planificación de la continuidad.
Las medidas de reducción del riesgo pueden reducir la probabilidad de que ocurra un evento. La mitigación del riesgo generará costos y requiere un análisis de costo-beneficio;
La planificación de la continuidad o una serie de actividades realizadas durante o antes de que ocurra un evento pueden ser actividades preventivas antes de que ocurra un riesgo o actividades después de que ocurra un riesgo.
Análisis de riesgos y estrategias de mitigación
Integrarse en el proceso SDLC, así como en el proceso de gestión de cambios de la organización.
Utilice métodos estandarizados de evaluación de riesgos e informe los riesgos a las partes interesadas.
Realizar un seguimiento y gestionar las debilidades identificadas durante la evaluación, la gestión de cambios y el seguimiento continuo.
Acciones correctivas: gestión de parches
Ajustes básicos
Investigación
Comparación MD5 de huellas dactilares y firmas digitales
Comprobación de integridad de archivos
Evaluación y pruebas
Pruebe parches en un entorno de prueba
Mitigación ("reversión")
Implementación ("implementación")
Ahora implementado en sistemas menos críticos
Validación, informes y registro
Registro, registro y archivo de actualización de parches
Probar y verificar
La implementación de medidas de control de riesgos requiere pruebas
Los asesores de seguridad u otras entidades independientes verifican y confirman las vulnerabilidades que requieren verificación.
en grandes organizaciones
Los equipos independientes de verificación y validación (IV&V) determinan si se han resuelto los problemas de seguridad y las vulnerabilidades.
Los desarrolladores y propietarios de sistemas no pueden autorizar declaraciones de que los riesgos han sido mitigados sin el consentimiento de una entidad independiente.
firma de código
La firma de código es una técnica que se utiliza para garantizar la integridad del código, identificar quién lo desarrolló y determinar para qué pretendía el desarrollador que se utilizara ese código.
Los certificados de firma de código y los certificados digitales ayudan a los usuarios a evitar la descarga de archivos o aplicaciones con fugas
Cuando se firma el código, se puede determinar su autenticidad y detectar si ha sido modificado por alguien que no sea el desarrollador.
La firma de código se utiliza para
Asegúrese de que los fragmentos de código no se modifiquen
Identificar la fuente del código (desarrollador o firmante)
Determinar si el código merece confianza para un objetivo específico
La firma de código consta de tres partes.
Sellos, certificados digitales e identificadores únicos
Lo que la firma de código no puede hacer
No se garantiza que los fragmentos de código estén libres de vulnerabilidades de seguridad
No hay garantía de que la aplicación no cargue código inseguro o modificado (como complementos que no funcionan) durante la ejecución.
No es una tecnología de gestión de derechos digitales (DRM) ni de protección de copia.
Pruebas de regresión y aceptación. Pruebas de regresión y aceptación
Consideraciones de prueba
Pruebe errores rápidamente
Observe los efectos secundarios del parche.
Escriba un plan de prueba de regresión para cada corrección de errores.
Si dos o más pruebas son similares, determine cuál es menos eficiente y deséchela.
Identificar planes de prueba y entregarlos y documentarlos continuamente.
Preocupación por cuestiones funcionales más que por diseño.
Determine los cambios en los datos, independientemente del tamaño, y encuentre cualquier corrupción resultante.
Seguimiento del impacto de los cambios en la memoria del programa
Pruebas de regresión
El enfoque más eficaz es una biblioteca de pruebas basada en un conjunto de casos de prueba estándar que se pueden ejecutar cada vez que se crea una nueva versión.
La dificultad al crear una biblioteca de pruebas es determinar qué casos de prueba incluir
Las pruebas y casos de prueba automatizados también implican condiciones límite y tiempos, todos los cuales pertenecen a la biblioteca de pruebas.
Para que las pruebas automatizadas sean efectivas, es rentable y eficiente integrar suficientes variables como parte de una metodología de prueba compleja.
examen de ingreso (Examen de ingreso)
Pruebas formales realizadas para determinar si un sistema cumple con sus criterios de aceptación y para permitir que el cliente determine si acepta el sistema.
En el desarrollo ágil, las pruebas/criterios de aceptabilidad suelen ser establecidos por el cliente empresarial y descritos en el lenguaje del dominio empresarial.
Etapa SwA (garantía de software) (Asegúrese de que el software desarrollado o comprado cumpla con los requisitos de seguridad Modelo de madurez de SAMM Software Assurance SAMM es un marco utilizado para diseñar software seguro y adaptado a los riesgos específicos de una organización).
etapa de planificación
Obtenga los requisitos identificados para servicios o productos de software, identifique métodos de software sustitutos potenciales e identifique los riesgos de sustitución.
Los requisitos de desarrollo están incluidos en la declaración de trabajo.
Establecer estrategias de adquisición e incluir la identificación de riesgos asociados con diversas estrategias de adquisición de software.
Desarrollar criterios de evaluación y plan de evaluación.
Etapa de licitación
Crear/emitir Solicitud de Propuesta (RFP) con descripción del trabajo, descripción del oferente, términos y condiciones, precalificación y certificación.
Evaluar las propuestas presentadas por los proveedores en respuesta a la Solicitud de propuesta (RFP) o la Invitación a licitar (ITT)
Negociaciones contractuales completas, incluidos cambios en los términos y condiciones.
Fase de seguimiento y aceptación
Esta etapa se trata principalmente de monitorear el trabajo del proveedor y aceptar la entrega final del servicio o producto según lo acordado en el contrato.
Establecer y acordar el cronograma de trabajo del contrato.
Implementar procedimientos de control de cambios.
Revisar y aceptar entregables de software
fase de seguimiento
Sostenimiento (incluida la gestión de riesgos, la gestión de casos de uso de aseguramiento y la gestión de cambios)
Eliminación y fuera de línea
En las fases posteriores, los riesgos del software deben gestionarse mediante un análisis de casos de uso de aseguramiento continuo y ajustarse para reducir el riesgo.
Los profesionales de seguridad deben garantizar que existan políticas y procedimientos de SwA bien documentados en toda la empresa.
Los errores inesperados conducen a operaciones defectuosas
Insertar código malicioso deliberadamente
Robar información importante o sensible
Robar información personal
Cambiar productos, insertar agentes o destruir información