MARC details
000 -CABECERA |
campo de control de longitud fija |
10763nam a2200385 a 4500 |
003 - IDENTIFICADOR DEL NÚMERO DE CONTROL |
campo de control |
OSt |
005 - FECHA Y HORA DE LA ÚLTIMA TRANSACCIÓN |
campo de control |
20240404153832.0 |
008 - DATOS DE LONGITUD FIJA--INFORMACIÓN GENERAL |
campo de control de longitud fija |
240404s2020 ck a|||g |||| 001 0 spa d |
020 ## - NÚMERO INTERNACIONAL ESTÁNDAR DEL LIBRO |
Número Internacional Estándar del Libro |
9789587786385 |
040 ## - FUENTE DE LA CATALOGACIÓN |
Agencia de catalogación original |
Co-BrCUA |
Idioma de catalogación |
spa |
Normas de descripción |
RCAA2 |
Centro/agencia transcriptor |
Co-BrCUA |
082 04 - NÚMERO DE LA CLASIFICACIÓN DECIMAL DEWEY |
Número de clasificación |
005.1 |
Clave de autor |
O771 2020 |
Número de edición |
23 |
100 1# - ENTRADA PRINCIPAL--NOMBRE DE PERSONA |
Nombre de persona |
Ortega Candel,José Manuel |
9 (RLIN) |
29166 |
245 ## - MENCIÓN DE TÍTULO |
Título |
Desarrollo seguro en ingeniería del software : |
Mención de responsabilidad, etc. |
José Manuel Ortega Candel. |
Resto del título |
aplicaciones seguras con android, nodejs, python y c**. |
250 ## - MENCIÓN DE EDICIÓN |
Mención de edición |
Primera edición. |
260 ## - PUBLICACIÓN, DISTRIBUCIÓN, ETC. |
Lugar de publicación, distribución, etc. |
Bogotá : |
Nombre del editor, distribuidor, etc. |
Alpha Editorial, |
Fecha de publicación, distribución, etc. |
2020. |
300 ## - DESCRIPCIÓN FÍSICA |
Extensión |
386 páginas. |
Otras características físicas |
Ilustraciones. |
Dimensiones |
24 cm. |
336 ## - TIPO DE CONTENIDO |
Fuente |
rdacontent |
Término de tipo de contenido |
Texto |
Código de tipo de contenido |
txt |
337 ## - TIPO DE MEDIO |
Fuente |
rdamedia |
Nombre/término del tipo de medio |
Sin mediación |
Código del tipo de medio |
n |
338 ## - TIPO DE SOPORTE |
Fuente |
rdacarrier |
Nombre/término del tipo de soporte |
Volumen |
Código del tipo de soporte |
nc |
500 ## - NOTA GENERAL |
Nota general |
Incluye índice, página 9 |
500 ## - NOTA GENERAL |
Nota general |
Incluye glosario de términos. |
505 ## - NOTA DE CONTENIDO CON FORMATO |
Nota de contenido con formato |
Capítulo 1. Introducción al desarrollo seguro<br/>1.1 Propiedades del software seguro.<br/>1.2 Principios de diseño seguro de aplicaciones. <br/>1.2.1 Minimizar el área de la superficie de ataque.<br/>1.2.2 Seguridad por defecto.<br/>1.2.3 Privilegios mínimos.<br/>1.2.4 Validación de datos de entrada.<br/>1.2.5 Defensa en profundidad.<br/>1.2.6 Control seguro de errores.<br/>1.2.7 Separación de funciones.<br/>1.2.8 Evitar la seguridad por oscuridad.<br/>1.3 Análisis de requisitos de seguridad.<br/> |
505 ## - NOTA DE CONTENIDO CON FORMATO |
Nota de contenido con formato |
Capítulo 2. Aspectos fundamentales de desarrollo seguro<br/>2.1 Controles proactivos.<br/>2.2 OWASP (Open Web Application Security Project).<br/>2.3. OWASP Mobile Security Project.<br/>2.4 Controles proactivos OWASP.<br/>2.4.1 Verificación de la seguridad desde las primeras etapas de desarrollo.<br/>2.4.2 Validación de las entradas del cliente.<br/>2.4.3 Desbordamientos del búfer.<br/>2.4.4 Gestión de sesiones.<br/>2.4.5 Implementación de controles de acceso.<br/>2.4.6 Implementación de controles de identidad y autenticación.<br/>2.4.7 Autenticación por múltiples factores.<br/>2.4.8 Manejo de errores y excepciones.<br/>2.5 Ataques en aplicaciones web.<br/>2.5.1 Vectores de ataque.<br/>2.5.2 Cross-site scripting (XSS).<br/>2.5.3 Cross-site request forgery (CSRF).<br/>2.5.4 Seguridad en las redirecciones.<br/>2.6 SQL Injection: parametrización de las consultas en bases de datos.<br/>2.6.1 Introducción a SQL Injection.<br/>2.6.2 Problemas que pueden causar este tipo de ataques.<br/>2.6.3 Ejemplo de inyección de SQL.<br/>2.6.4 Escapar caracteres especiales utilizados en las consultas SQL. <br/>2.6.5 Delimitación de los valores de las consultas.<br/>2.6.6 Uso de sentencias preparadas parametrizadas<br/>2.6.7 Uso de procedimientos almacenados.<br/>2.7 Seguridad en AJAX.<br/> |
505 ## - NOTA DE CONTENIDO CON FORMATO |
Nota de contenido con formato |
Capítulo 3. Herramientas OWASP<br/>3.1 DefectDojo.<br/>3.2 SonarQube.<br/>3.2.1 El cuadro de mando de SonarQube.<br/>3.2.2 Issues por nivel de criticidad.<br/>3.2.3 Perfiles de calidad.<br/>3.2.4 Reglas SonarQube.<br/>3.2.5 Informes de seguridad en SonarQube.<br/>3.2.6 SonarQube Plugins.<br/>3.2.7 Vulnerabilidades más comunes y explotadas.<br/>3.3 Find Security Bugs.<br/>3.3.1 Inyección potencial de Android SQL.<br/>3.3.2 Abrir un socket sin cifrar.<br/>3.4 LGTM.<br/>3.5 OSS Index.<br/>3.6 Snyk.<br/>3.7 Otras herramientas de análisis estático.<br/>3.8 Checklist de seguridad.<br/> |
505 ## - NOTA DE CONTENIDO CON FORMATO |
Nota de contenido con formato |
Capítulo 4. Seguridad en aplicaciones Android<br/>4.1 Introducción al protocolo HTTPS.<br/>4.1.1 Conceptos básicos sobre certificados.<br/>4.1.2 Despliegues en producción. <br/>4.1.3 Certificado de servidor autofirmado.<br/>4.1.4 CA no encontrada dentro de la cadena de certificados.<br/>4.1.5 Configuración de seguridad.<br/>4.1.6 Actualización de proveedores criptográficos.<br/>4.1.7 Android Certificate Pinning.<br/>4.1.8 Cifrado extremo a extremo.<br/>4.1.9 Firmando una aplicación Android.<br/>4.2 Principios fundamentales de desarrollo en Android.<br/>4.2.1 Componentes en Android.<br/>4.2.2 Android Lint.<br/>4.3 Ingeniería inversa en Android.<br/>4.3.1 ADB (Android Debug Bridge).<br/>4.3.2 Dex2jar.<br/>4.3.3 JD-GUI.<br/>4.3.4 jadx - Dex to Java decompiler.<br/>4.3.5 Apktool.<br/>4.3.6 Código smali y Mobylizer.<br/>4.3.7 Androwarn.<br/>4.3.8 Mobile Security Framework (MobSF).<br/>4.3.9 ClassyShark.<br/>4.3.10 Drozer.<br/>4.3.11 QARK.<br/>4.3.12 SanDroid.<br/>4.3.13 Yaazhini.<br/>4.4 Buenas prácticas de desarrollo seguro en Android. <br/>4.4.1 Seguridad en AndroidManifest.xml.<br/>4.4.2 Modelo de permisos en Android.<br/>4.4.3 Asegurando la capa de aplicación.<br/>4.4.4 Evitar almacenar datos confidenciales en el dispositivo.<br/>4.4.5 Uso adecuado del componente WebView. 4.4.6 Usar método POST para el envío de datos confidenciales.<br/>4.4.7 Validar los certificados SSL/TLS.<br/>4.4.8 Restricción de uso de la aplicación a determinados dispositivos.<br/>4.4.9 Gestión de logs.<br/>4.4.10 Comprobar la conexión de red.<br/>4.4.11 Realizar operaciones de red en un hilo separado.<br/>4.4.12 Permisos de localización.<br/>4.4.13 Optimizar el código en Android y memoria caché.<br/>4.4.14 Implementación segura de proveedores de contenido.<br/>4.4.15 Almacenamiento de preferencias compartidas (SharedPreferences).<br/>4.4.16 Almacenamiento seguro de preferencias.<br/>4.4.17 Almacenamiento en ficheros.<br/>4.4.18 Almacenamiento externo.<br/>4.4.19 Implementación segura de Intents.<br/>4.4.20 Implementación segura de servicios.<br/>4.4.21 Implementación segura de broadcast receivers.<br/>4.4.22 Implementación segura de content providers.<br/>4.4.23 Invocar actividades de forma segura.<br/>4.4.24 Implementar almacenamiento de datos seguro.<br/>4.4.25 Algoritmos criptográficos.<br/>4.4.26 Uso de java.util.String para almacenar información sensible.<br/>4.4.27 Proteger la configuración de la aplicación.<br/>4.4.28 Cifrado en base de datos SQLite.<br/>4.4.29 Optimización y ofuscación del código con ProGuard.<br/>4.5 Metodología OASAM.<br/> |
505 ## - NOTA DE CONTENIDO CON FORMATO |
Nota de contenido con formato |
Capítulo 5. Seguridad en proyectos NodeJS<br/>5.1 Introducción a NodeJS<br/>5.2 Modelo Event-Loop.<br/>5.3 Gestión de paquetes.<br/>5.4 Programación asíncrona.<br/>5.5 Problema del código piramidal.<br/>5.6 Módulo para administrar el sistema de archivos.<br/>5.7 Módulo http. <br/>5.8 Utilización del Middleware Express.<br/>5.8.1 Middleware de nivel de aplicación.<br/>5.8.2 Middleware de nivel de direccionamiento.<br/>5.8.3 Middleware de terceros.<br/>5.9 Autenticación en NodeJS.<br/>5.9.1 Auth0.<br/>5.9.2 PassportJS.<br/>5.10 OWASP top 10 en NodeJS.<br/>5.10.1 OWASP NodeGOAT.<br/>5.10.2 Inyección de código.<br/>5.10.3 Función eval.<br/>5.10.4 Ataque de denegación de servicio.<br/>5.10.5 Uso de patrones y expresiones regulares.<br/>5.10.6 Acceso al sistema de ficheros. <br/>5.10.7 Inyección de SQL.<br/>5.10.8 Inyección de NoSQL.<br/>5.10.9 Inyección de logs.<br/>5.10.10 Gestión de la sesión y autenticación.<br/>5.10.11 Protegiendo credenciales de usuario.<br/>5.10.12 Tiempo de espera de sesión y protección de cookies. <br/>5.10.13 Secuestro de sesión (Session hijacking).<br/>5.10.14 Módulo helmet.<br/>5.10.15 Cross-site scripting (XSS).<br/>5.10.16 Referencias de objetos directos inseguros.<br/>5.10.17 Mala configuración de seguridad.<br/>5.10.18 Deshabilitar fingerprinting.<br/>5.10.19 Exposición de datos sensibles.<br/>5.10.20 Configurando SSL/TLS.<br/>5.10.21 Forzar peticiones HTTPS.<br/>5.10.22 Falta de control de acceso.<br/>5.10.23 Redirecciones no validadas.<br/>5.10.24 Denegación de servicio mediante expresiones regulares.<br/>5.10.25 Validar datos de entrada con validator.<br/>5.10.26 Validar datos de entrada con express-validator.<br/>5.10.27 Configuración de cabeceras HTTP. <br/>5.10.28 Política de seguridad de contenido (CSP).<br/>5.10.29 Cross-site request forgery (CSRF).<br/>5.10.30 Ejecutar código JavaScript de forma aislada.<br/>5.10.31 Uso de componentes con vulnerabilidades conocidas.<br/>5.10.32 NodeJsScan.<br/> |
505 ## - NOTA DE CONTENIDO CON FORMATO |
Nota de contenido con formato |
Capítulo 6. Seguridad en proyectos Python<br/>6.1 Componentes inseguros en Python.<br/>6.2 Validación incorrecta de entrada/salida.<br/>6.3 Función eval().<br/>6.4 Serialización y deserialización de datos con pickle.<br/>6.5 Ataques de inyección de entrada.<br/>6.5.1 Inyección de comandos.<br/>6.5.2 Inyección de SQL.<br/>6.6 Acceso seguro al sistema de archivos y ficheros temporales.<br/>6.7 Inyección de XSS.<br/>6.8 Inyección de SSTI.<br/>6.9 Servicios para comprobar la seguridad de proyectos Python.<br/>6.9.1 Pyup.<br/>6.9.2 LGTM en proyectos Python.<br/>6.9.3 Sanitización de las URL.<br/>6.9.4 Uso de un algoritmo criptográfico roto o débil. <br/>6.9.5 Peticiones con requests sin validación de certificado.<br/>6.9.6 Uso de la versión insegura SSL/TLS.<br/>6.9.7 Deserialización de entrada no confiable.<br/>6.9.8 Vulnerabilidades de XSS.<br/>6.9.9 Exposición de información a través de una excepción.<br/>6.9.10 Conexión con hosts remotos mediante SSH utilizando Paramiko.<br/>6.10 Análisis estático de código Python.<br/>6.10.1 Python Taint.<br/>6.10.2 Bandit<br/>6.10.3 Hawkeye.<br/>6.10.4 DLint.<br/>6.11 Gestión de dependencias.<br/>6.11.1 Instalación de dependencias.<br/>6.11.2 Require .io.<br/>6.11.3 Safety.<br/>6.11.4 Paquetes maliciosos en PyPI.<br/>6.12 Python code checkers.<br/>6.12.1 Pyflakes.<br/>6.12.2 PyLint.<br/>6.13 Escáner de seguridad de aplicaciones web.<br/>6.13.1 WAScan.<br/>6.13.2 SQLmap.<br/>6.13.3 XSScrapy.<br/>6.14 Seguridad en Django.<br/>6.14.1 Protección ante ataques XSS.<br/>6.14.2 Protección ante ataques CSRF.<br/>6.14.3 Protección de inyección de SQL.<br/>6.14.4 Protección de clickjacking.<br/>6.14.5 SSL/HTTPS.<br/>6.15 Otras herramientas de seguridad.<br/>6.15.1 Yosai.<br/>6.15.2 Flask-Security.<br/>6.15.3 OWASP Python Security Project.<br/><br/> |
505 ## - NOTA DE CONTENIDO CON FORMATO |
Nota de contenido con formato |
Capítulo 7. Análisis estático y dinámico en aplicaciones C/C++<br/>7.1 Análisis estático.<br/>7.1.1 Code Analyzer<br/>Análisis estático de código C/C++..<br/>7.2.1 Flawfinder<br/>7.2.3 Uso de variables sin inicializar<br/>7.2.4 Uso inseguro de funciones<br/>7.2.5 RATS<br/>7.2.6 Vulnerabilidad cadena de formato (format string)<br/>7.2.7 Pscan para detectar vulnerabilidades format string<br/>7.2.8 Buffer overflow |
505 ## - NOTA DE CONTENIDO CON FORMATO |
Nota de contenido con formato |
Capítulo 8. Metodologías de desarrollo<br/>8.1. Metodologías de desarrollo de software seguro.<br/>8.1.1 Correctness by Construction (CbyC).<br/>8.1.2 Security Development Lifecycle (SDLC).<br/>8.1.3 Fases de la metodología SDC.<br/>8.1.4 Vulnerabilidades en SDLC.<br/>8.1.5 Tipos de SDLC.<br/>8.1.5.1 Microsoft Trustworthy Computing SDL.<br/>8.1.5.2 CLASP.<br/>8.1.5.3 TSP-Secure.<br/>8.1.5.4 Oracle Software Security Assurance.<br/>8.1.5.5 Propuesta híbrida.<br/>8.1.6 Tipos de pruebas de seguridad SDLC.<br/>8.1.7 Conclusiones de ciclo de vida de desarrollo de software (SDLC).<br/>8.2 Modelado de amenazas.<br/>8.2.1 Modelado de amenazas con STRIDE.<br/>8.3 Perspectiva del atacante.<br/>8.4 Patrones de ataque.<br/>8.5 OWASP Testing Framework y perfiles para pruebas de seguridad.<br/>8.6 OWASP Security Knowledge Framework (SKF).<br/>8.7 Seguridad en ingeniería del software.<br/>8.8 Bibliografía y fuentes de información.<br/>8.9 Conclusiones.<br/><br/> |
650 10 - PUNTO DE ACCESO ADICIONAL DE MATERIA--TÉRMINO DE MATERIA |
Término de materia o nombre geográfico como elemento de entrada |
Desarrollo de software de aplicaciones |
9 (RLIN) |
21646 |
650 10 - PUNTO DE ACCESO ADICIONAL DE MATERIA--TÉRMINO DE MATERIA |
Término de materia o nombre geográfico como elemento de entrada |
Ingeniería de software |
Subdivisión general |
Medidas de seguridad |
9 (RLIN) |
624 |
650 10 - PUNTO DE ACCESO ADICIONAL DE MATERIA--TÉRMINO DE MATERIA |
Término de materia o nombre geográfico como elemento de entrada |
Lenguajes de programación (computadores) |
9 (RLIN) |
35420 |
650 10 - PUNTO DE ACCESO ADICIONAL DE MATERIA--TÉRMINO DE MATERIA |
Término de materia o nombre geográfico como elemento de entrada |
Seguridad en computadores |
9 (RLIN) |
2739 |
942 ## - ELEMENTOS DE PUNTO DE ACCESO ADICIONAL (KOHA) |
Fuente del sistema de clasificación o colocación |
Dewey Decimal Classification |
Tipo de ítem Koha |
Libro de Reserva |
Parte de la signatura que identifica el ejemplar (Parte del ítem) |
005.1 O771 2020 |