000 00619nam a2200193Ia 4500
999 _c62750
_d62750
003 OSt
005 20181023043908.0
008 24418b pe ||||| |||| 00| 0 spa d
040 _cTranscribing agency
082 _a005.1.ORTE.00
100 _aOrtega Candel, José Manuel
100 _eAutor
245 0 _aDesarrollo Seguro en Ingenieria del Software. Aplicaciones Seguras con Android, Nodejs, Python y C++
250 _a1A. ed
260 _aESPAÑA
260 _bMARCOMBO
260 _c2020
300 _a386
300 _c24.0
505 _aCapítulo 1. Introducción al Desarrollo Seguro . -- 1.1 Propiedades del Software Seguro . -- 1.2 Principios de Diseño Seguro de Aplicaciones . -- 1.2.1 Minimizar el Área de la Superficie de Ataque . -- 1.2.2 Seguridad por Defecto . -- 1.2.3 Privilegios Mínimos . -- 1.2.4 Validación de Datos de Entrada . -- 1.2.5 Defensa en Profundidad . -- 1.2.6 Control Seguro de Errores . -- 1.2.7 Separación de Funciones . -- 1.2.8 Evitar la Seguridad por Oscuridad . -- 1.3 Análisis de Requisitos de Seguridad . -- Capítulo 2. Aspectos Fundamentales de Desarrollo Seguro . -- 2.1 Controles Proactivos . -- 2.2 Owasp (Open Web Application Security Project) . -- 2.3. Owasp Mobile Security Project . -- 2.4 Controles Proactivos Owasp . -- 2.4.1 Verificación de la Seguridad Desde las Primeras Etapas de Desarrollo . -- 2.4.2 Validación de las Entradas del Cliente . -- 2.4.3 Desbordamientos del Búfer . -- 2.4.4 Gestión de Sesiones . -- 2.4.5 Implementación de Controles de Acceso . -- 2.4.6 Implementación de Controles de Identidad y Autenticación . -- 2.4.7 Autenticación por Múltiples Factores . -- 2.4.8 Manejo de Errores y Excepciones . -- 2.5 Ataques en Aplicaciones Web . -- 2.5.1 Vectores de Ataque . -- 2.5.2 Cross-Site Scripting (Xss) . -- 2.5.3 Cross-Site Request Forgery (Csrf) . -- 2.5.4 Seguridad en las Redirecciones . -- 2.6 Sql Injection: Parametrización de las Consultas en Bases de Datos . -- 2.6.1 Introducción a Sql Injection . -- 2.6.2 Problemas que Pueden Causar Este Tipo de Ataques . -- 2.6.3 Ejemplo de Inyección de Sql . -- 2.6.4 Escapar Caracteres Especiales Utilizados en las Consultas Sql . -- 2.6.5 delimitación de los Valores de las Consultas . -- 2.6.6 Uso de Sentencias Preparadas Parametrizadas . -- 2.6.7 Uso de Procedimientos Almacenados . -- 2.7 Seguridad en Ajax . -- Capítulo 3. Herramientas Owasp . -- 3.1 Defectdojo . -- 3.2 Sonarqube . -- 3.2.1 el Cuadro de Mando de Sonarqube . -- 3.2.2 Issues por Nivel de Criticidad . -- 3.2.3 Perfiles de Calidad . -- 3.2.4 Reglas Sonarqube . -- 3.2.5 Informes de Seguridad en Sonarqube . -- 3.2.6 Sonarqube Plugins . -- 3.2.7 Vulnerabilidades Más Comunes y Explotadas . -- 3.3 Find Security Bugs . -- 3.3.1 Inyección Potencial de Android Sql . -- 3.3.2 Abrir un Socket Sin Cifrar . -- 3.4 Lgtm . -- 3.5 Oss Index . -- 3.6 Snyk . -- 3.7 Otras Herramientas de Análisis Estático . -- 3.8 Checklist de Seguridad . -- Capítulo 4. Seguridad en Aplicaciones Android . -- 4.1 Introducción al Protocolo Https . -- 4.1.1 Conceptos Básicos Sobre Certificados . -- 4.1.2 Despliegues en Producción . -- 4.1.3 Certificado de Servidor Autofirmado . -- 4.1.4 Ca no Encontrada Dentro de la Cadena de Certificados . -- 4.1.5 Configuración de Seguridad . -- 4.1.6 Actualización de Proveedores Criptográficos . -- 4.1.7 Android Certificate Pinning . -- 4.1.8 Cifrado Extremo a Extremo . -- 4.1.9 Firmando una Aplicación Android . -- 4.2 Principios Fundamentales de Desarrollo en Android . -- 4.2.1 Componentes en Android . -- 4.2.2 Android Lint . -- 4.3 Ingeniería Inversa en Android . -- 4.3.1 Adb (Android Debug Bridge) . -- 4.3.2 Dex2jar . -- 4.3.3 Jd-Gui . -- 4.3.4 Jadx - Dex To Java Decompiler . -- 4.3.5 Apktool . -- 4.3.6 Código Smali y Mobylizer . -- 4.3.7 Androwarn . -- 4.3.8 Mobile Security Framework (Mobsf) . -- 4.3.9 Classyshark . -- 4.3.10 Drozer . -- 4.3.11 Qark . -- 4.3.12 Sandroid . -- 4.3.13 Yaazhini . -- 4.4 Buenas Prácticas de Desarrollo Seguro en Android . -- 4.4.1 Seguridad en Androidmanifest.Xml . -- 4.4.2 Modelo de Permisos en Android . -- 4.4.3 Asegurando la Capa de Aplicación . -- 4.4.4 Evitar Almacenar Datos Confidenciales en el Dispositivo . -- 4.4.5 Uso Adecuado del Componente Webview . -- 4.4.6 Usar Método Post para el Envío de Datos Confidenciales . -- 4.4.7 Validar los Certificados Ssl/Tls . -- 4.4.8 Restricción de Uso de la Aplicación a Determinados Dispositivos . -- 4.4.9 Gestión de Logs . -- 4.4.10 Comprobar la Conexión de Red . -- 4.4.11 Realizar Operaciones de Red en un Hilo Separado . -- 4.4.12 Permisos de Localización . -- 4.4.13 Optimizar el Código en Android y Memoria Caché . -- 4.4.14 Implementación Segura de Proveedores de Contenido . -- 4.4.15 Almacenamiento de Preferencias Compartidas (Sharedpreferences) . -- 4.4.16 Almacenamiento Seguro de Preferencias . -- 4.4.17 Almacenamiento en Ficheros . -- 4.4.18 Almacenamiento Externo . -- 4.4.19 Implementación Segura de Intents . -- 4.4.20 Implementación Segura de Servicios . -- 4.4.21 Implementación Segura de Broadcast Receivers . -- 4.4.22 Implementación Segura de Content Providers . -- 4.4.23 Invocar Actividades de Forma Segura . -- 4.4.24 Implementar Almacenamiento de Datos Seguro . -- 4.4.25 Algoritmos Criptográficos . -- 4.4.26 Uso de Java.Util.String para Almacenar Información Sensible . -- 4.4.27 Proteger la Configuración de la Aplicación . -- 4.4.28 Cifrado en Base de Datos Sqlite . -- 4.4.29 Optimización y Ofuscación del Código con Proguard . -- 4.5 Metodología Oasam . -- Capítulo 5. Seguridad en Proyectos Nodejs . -- 5.1 Introducción a Nodejs . -- 5.2 Modelo Event-Loop . -- 5.3 Gestión de Paquetes . -- 5.4 Programación Asíncrona . -- 5.5 Problema del Código Piramidal . -- 5.6 Módulo para Administrar el Sistema de Archivos . -- 5.7 Módulo Http . -- 5.8 Utilización del Middleware Express . -- 5.8.1 Middleware de Nivel de Aplicación . -- 5.8.2 Middleware de Nivel de Direccionamiento . -- 5.8.3 Middleware de Terceros . -- 5.9 Autenticación en Nodejs . -- 5.9.1 Auth0 . -- 5.9.2 Passportjs . -- 5.10 Owasp Top 10 en Nodejs . -- 5.10.1 Owasp Nodegoat . -- 5.10.2 Inyección de Código . -- 5.10.3 Función Eval . -- 5.10.4 Ataque de Denegación de Servicio . -- 5.10.5 Uso de Patrones y Expresiones Regulares . -- 5.10.6 Acceso al Sistema de Ficheros . -- 5.10.7 Inyección de Sql . -- 5.10.8 Inyección de Nosql . -- 5.10.9 Inyección de Logs . -- 5.10.10 Gestión de la Sesión y Autenticación . -- 5.10.11 Protegiendo Credenciales de Usuario . -- 5.10.12 Tiempo de Espera de Sesión y Protección de Cookies . -- 5.10.13 Secuestro de Sesión (Session Hijacking) . -- 5.10.14 Módulo Helmet . -- 5.10.15 Cross-Site Scripting (Xss) . -- 5.10.16 Referencias de Objetos Directos Inseguros . -- 5.10.17 Mala Configuración de Seguridad . -- 5.10.18 Deshabilitar Fingerprinting . -- 5.10.19 Exposición de Datos Sensibles . -- 5.10.20 Configurando Ssl/Tls . -- 5.10.21 Forzar Peticiones Https . -- 5.10.22 Falta de Control de Acceso . -- 5.10.23 Redirecciones no Validadas . -- 5.10.24 Denegación de Servicio Mediante Expresiones Regulares . -- 5.10.25 Validar Datos de Entrada con Validator . -- 5.10.26 Validar Datos de Entrada con Express-Validator . -- 5.10.27 Configuración de Cabeceras Http . -- 5.10.28 Política de Seguridad de Contenido (Csp) . -- 5.10.29 Cross-Site Request Forgery (Csrf) . -- 5.10.30 Ejecutar Código Javascript de Forma Aislada . -- 5.10.31 Uso de Componentes con Vulnerabilidades Conocidas . -- 5.10.32 Nodejsscan . -- Capítulo 6. Seguridad en Proyectos Python . -- 6.1 Componentes Inseguros en Python . -- 6.2 Validación Incorrecta de Entrada/Salida . -- 6.3 Función Eval() . -- 6.4 Serialización y Deserialización de Datos con Pickle . -- 6.5 Ataques de Inyección de Entrada . -- 6.5.1 Inyección de Comandos . -- 6.5.2 Inyección de Sql . -- 6.6 Acceso Seguro al Sistema de Archivos y Ficheros Temporales . -- 6.7 Inyección de Xss . -- 6.8 Inyección de Ssti . -- 6.9 Servicios para Comprobar la Seguridad de Proyectos Python . -- 6.9.1 Pyup . -- 6.9.2 Lgtm en Proyectos Python Desarrollo Seguro en Ingeniería del Software . -- 6.9.3 Sanitización de las Url . -- 6.9.4 Uso de un Algoritmo Criptográfico Roto o Débil . -- 6.9.5 Peticiones con Requests Sin Validación de Certificado . -- 6.9.6 Uso de la Versión Insegura Ssl/Tls . -- 6.9.7 Deserialización de Entrada no Confiable . -- 6.9.8 Vulnerabilidades de Xss . -- 6.9.9 Exposición de Información a Través de una Excepción . -- 6.9.10 Conexión con Hosts Remotos Mediante Ssh Utilizando Paramiko . -- 6.10 Análisis Estático de Código Python . -- 6.10.1 Python Taint . -- 6.10.2 Bandit . -- 6.10.3 Hawkeye . -- 6.10.4 Dlint . -- 6.11 Gestión de Dependencias . -- 6.11.1 Instalación de Dependencias . -- 6.11.2 Requires.Io . -- 6.11.3 Safety . -- 6.11.4 Paquetes Maliciosos en Pypi . -- 6.12 Python Code Checkers . -- 6.12.1 Pyflakes . -- 6.12.2 Pylint . -- 6.13 Escáner de Seguridad de Aplicaciones Web . -- 6.13.1 Wascan . -- 6.13.2 Sqlmap . -- 6.13.3 Xsscrapy . -- 6.14 Seguridad en Django . -- 6.14.1 Protección Ante Ataques Xss . -- 6.14.2 Protección Ante Ataques Csrf . -- 6.14.3 Protección de Inyección de Sql . -- 6.14.4 Protección de Clickjacking . -- 6.14.5 Ssl/Https . -- 6.15 Otras Herramientas de Seguridad . -- 6.15.1 Yosai . -- 6.15.2 Flask-Security . -- 6.15.3 Owasp Python Security Project . -- Capítulo 7. Análisis Estático y Dinámico en Aplicaciones C/C++ . -- 7.1 Análisis Estático . -- 7.1.1 Code Analyzer . -- 7.2 Análisis Estático de Código C/C++ . -- 7.2.1 Flawfinder . -- 7.2.2 Clang . -- 7.2.3 Uso de Variables Sin Inicializar . -- 7.2.4 Uso Inseguro de Funciones . -- 7.2.5 Rats . -- 7.2.6 Vulnerabilidad Cadena de Formato (Format String) . -- 7.2.7 Pscan para Detectar Vulnerabilidades Format String . -- 7.2.8 Buffer Overflow . -- 7.2.9 Tipos de Heap Overflow . -- 7.2.10 Vulnerabilidad Use After Free . -- 7.2.11 Dereference After Free . -- 7.2.12 Vulnerabilidad Double Free . -- 7.2.13 Vulnerabilidad Off By One . -- 7.2.14 Vulnerabilidades Race Condition . -- 7.2.15 Vulnerabilidad Integer Overflow . -- 7.2.16 Uso de Stackoverflow . -- 7.3. Análisis Dinámico . -- 7.3.1. Análisis Dinámico en C/C++ con Valgrind . -- 7.4 Herramientas de Análisis . -- Capítulo 8. Metodologías de Desarrollo . -- 8.1. Metodologías de Desarrollo de Software Seguro . -- 8.1.1 Correctness By Construction (Cbyc) . -- 8.1.2 Security Development Lifecycle (Sdlc) . -- 8.1.3 Fases de la Metodología Sdlc . -- 8.1.4 Vulnerabilidades en Sdlc . -- 8.1.5 Tipos de Sdlc . -- 8.1.5.1 Microsoft Trustworthy Computing Sdl . -- 8.1.5.2 Clasp . -- 8.1.5.3 Tsp-Secure . -- 8.1.5.4 Oracle Software Security Assurance . -- 8.1.5.5 Propuesta Híbrida . -- 8.1.6 Tipos de Pruebas de Seguridad Sdlc . -- 8.1.7 Conclusiones de Ciclo de Vida de Desarrollo de Software (Sdlc) . -- 8.2 Modelado de Amenazas . -- 8.2.1 Modelado de Amenazas con Stride . -- 8.3 Perspectiva del Atacante . -- 8.4 Patrones de Ataque . -- 8.5 Owasp Testing Framework y Perfiles para Pruebas de Seguridad . -- 8.6 Owasp Security Knowledge Framework (Skf) . -- 8.7 Seguridad en Ingeniería del Software . -- 8.8 Bibliografía y Fuentes de Información . -- 8.9 Conclusiones . -- Capítulo 9. Glosario de Términos
650 _aINGENIERIA DE SISTEMAS
700 _aOrtega Candel, José Manuel
942 _cTM001
_2ddc