<?xml version="1.0" encoding="UTF-8"?>
<record
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"
    xmlns="http://www.loc.gov/MARC21/slim">

  <leader>10823nam a22001937a 4500</leader>
  <controlfield tag="003">OSt</controlfield>
  <controlfield tag="005">20250403143732.0</controlfield>
  <controlfield tag="008">220326b        |||||||| |||| 00| 0 eng d</controlfield>
  <datafield tag="020" ind1=" " ind2=" ">
    <subfield code="a">978-958-778-638-5</subfield>
  </datafield>
  <datafield tag="040" ind1=" " ind2=" ">
    <subfield code="a">B-ISTTENA</subfield>
  </datafield>
  <datafield tag="041" ind1=" " ind2=" ">
    <subfield code="a">Esp</subfield>
  </datafield>
  <datafield tag="245" ind1=" " ind2=" ">
    <subfield code="a">Desarrollo seguro en ingen&#xED;eria del software.</subfield>
    <subfield code="b">Aplicaciones seguras con android, nodejs, phyton y C++.</subfield>
    <subfield code="c">Ortega Jos&#xE9; </subfield>
  </datafield>
  <datafield tag="250" ind1=" " ind2=" ">
    <subfield code="a">1era Ed.</subfield>
  </datafield>
  <datafield tag="260" ind1=" " ind2=" ">
    <subfield code="a">Colombia</subfield>
    <subfield code="b">Alfaomega Grupo Editor</subfield>
    <subfield code="c">2020</subfield>
  </datafield>
  <datafield tag="300" ind1=" " ind2=" ">
    <subfield code="a">386 P&#xE1;g.</subfield>
    <subfield code="c">23 x 17 cm.</subfield>
  </datafield>
  <datafield tag="505" ind1=" " ind2=" ">
    <subfield code="a">Cap&#xED;tulo 1. Introducci&#xF3;n al desarrollo seguro:
1.1. Propiedades del software seguro,
1.2. Principios de dise&#xF1;o seguro de aplicaciones,
1.2.1. Minimizar el &#xE1;rea de la superficie de ataque,
1.2.2. Seguridad por defecto,
1.2.3. Privilegios m&#xED;nimos,
1.2.4. Validaci&#xF3;n de datos de entrada,
1.2.5. Defensa en profundidad,
1.2.6. Control seguro de errores,
1.2.7. Separaci&#xF3;n de funciones,
1.2.8. Evitar la seguridad por oscuridad,
1.3. An&#xE1;lisis de requisitos de seguridad.
- Cap&#xED;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&#xF3;n de la seguridad desde las primeras etapas de desarrollo,
2.4.2. Validaci&#xF3;n de las entradas del cliente,
2.4.3. Desbordamientos del b&#xFA;fer,
2.4.4. Gesti&#xF3;n de sesiones,
2.4.5. Implementaci&#xF3;n de controles de acceso,
2.4.6. Implementaci&#xF3;n de controles de identidad y autenticaci&#xF3;n,
2.4.7. Autenticaci&#xF3;n por m&#xFA;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&#xF3;n de las consultas en bases de datos,
2.6.1. Introducci&#xF3;n a SQL Injection,
2.6.2. Problemas que pueden causar este tipo de ataques,
2.6.3. Ejemplo de inyecci&#xF3;n de SQL,
2.6.4. Escapar caracteres especiales utilizados en las consultas SQL,
2.6.5. Delimitaci&#xF3;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&#xED;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&#xE1;s comunes y explotadas,
3.3. Find Security Bugs,
3.3.1. Inyecci&#xF3;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&#xE1;lisis est&#xE1;tico,
3.8. Checklist de seguridad.
- Cap&#xED;tulo 4. Seguridad en aplicaciones Android:
4.1. Introducci&#xF3;n al protocolo HTTPS,
4.1.1. Conceptos b&#xE1;sicos sobre certificados,
4.1.2. Despliegues en producci&#xF3;n,
4.1.3. Certificado de servidor autofirmado,
4.1.4. CA no encontrada dentro de la cadena de certificados,
4.1.5. Configuraci&#xF3;n de seguridad,
4.1.6. Actualizaci&#xF3;n de proveedores criptogr&#xE1;ficos,
4.1.7. Android Certificate Pinning,
4.1.8. Cifrado extremo a extremo,
4.1.9. Firmando una aplicaci&#xF3;n Android,
4.2. Principios fundamentales de desarrollo en Android,
4.2.1. Componentes en Android,
4.2.2. Android Lint,
4.3. Ingenier&#xED;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&#xF3;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&#xE1;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&#xF3;n,
4.4.4. Evitar almacenar datos confidenciales en el dispositivo,
4.4.5. Uso adecuado del componente WebView,
4.4.6. Usar m&#xE9;todo POST para el env&#xED;o de datos confidenciales,
4.4.7. Validar los certificados SSL/TLS,
4.4.8. Restricci&#xF3;n de uso de la aplicaci&#xF3;n a determinados dispositivos,
4.4.9. Gesti&#xF3;n de logs,
4.4.10. Comprobar la conexi&#xF3;n de red,
4.4.11. Realizar operaciones de red en un hilo separado,
4.4.12. Permisos de localizaci&#xF3;n,
4.4.13. Optimizar el c&#xF3;digo en Android y memoria cach&#xE9;,
4.4.14. Implementaci&#xF3;n segura de proveedores de contenido,
4.4.15. Almacenamiento de preferencias compratidas (SharedPreferences),
4.4.16. Almacenamiento seguro de preferencias,
4.4.17. Almacenamiento  en ficheros,
4.4.18. Almacenamiento externo,
4.4.19. Almacenamiento segura de Intents,
4.4.20. Almacenamiento segura de servicios,
4.4.21. Almacenamiento segura de broadcast receivers,
4.4.22. Almacenamiento 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&#xE1;ficos,
4.4.26. Uso de java.util.String para almacenar informaci&#xF3;n sensible,
4.4.27. Proteger la configuraci&#xF3;n de la aplicaci&#xF3;n,
4.4.28. Cifrado en base de datos SQLite,
4.4.29. Optimizaci&#xF3;n y ofuscaci&#xF3;n del c&#xF3;digo con ProGuard,
4.5. Metodolog&#xED;as OASAM.

- Cap&#xED;tulo 5. Seguridad en proyectos NodeJS:
5.1. Introducci&#xF3;n a NodeJS,
5.2. Modelo Event-Loop,
5.3. Gesti&#xF3;n de paquetes,
5.4. Programaci&#xF3;n as&#xED;ncrona,
5.5. Problema del c&#xF3;digo piramidal,
5.6. M&#xF3;dulo para administrar el sistema de archivos,
5.7. M&#xF3;dulo http,
5.8. Utilizaci&#xF3;n del Middleware Express,
5.8.1. Middleware de nivel de aplicaci&#xF3;n,
5.8.2. Middleware de nivel de direccionamiento,
5.8.3. Middleware de terceros,
5.9. Autenticaci&#xF3;n de NodeJS,
5.9.1. Auth0,
5.9.2. PassportJS,
5.10. OWASP top en NodeJS,
5.10.1. OWASP NodeGOAT,
5.10.2. Inyecci&#xF3;n de c&#xF3;digo,
5.10.3. Funci&#xF3;n eval,
5.10.4. Ataque de denegaci&#xF3;n de servicio,
5.10.5. Uso de patrones y expresiones regulares,
5.10.6. Acceso al sistema de ficheros,
5.10.7. Inyecci&#xF3;n de SQL,
5.10.8. Inyecci&#xF3;n de NoSQL,
5.10.9. Inyecci&#xF3;n de logs,
5.10.10. Gesti&#xF3;n de la sesi&#xF3;n y autenticaci&#xF3;n,
5.10.11. Protegiendo credenciales de usuarios,
5.10.12. Tiempos de espera de sesi&#xF3;n y protecci&#xF3;n de cookies,
5.10.13. Secuestro de sesi&#xF3;n (Session hijacking)
5.10.14. M&#xF3;dulo helmet,
5.10.15. Cross-site scripting (XSS),
5.10.16. Referencias de objetos directos inseguros,
5.10.17. Mala configuraci&#xF3;n de seguridad,
5.10.18. Deshabilitar fingerprinting,
5.10.19. Exposici&#xF3;n de datos sensibles,
5.10.20. Configuraci&#xF3;n 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&#xF3;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&#xF3;n de cabeceras HTTP,
5.10.28. Pol&#xED;tica de seguridad de contenido (CSP),
5.10.29. Cross-site request forgery (CSRF),
5.10.30 Ejecutar c&#xF3;digo JavaScript de forma aislada,
5.10.31. Eso de componentes con vulnerabilidades conocidas,
5.10.32. NodeJsScan.

- Cap&#xED;tulo 6. Seguridad en proyecto Python,
6.1. Componentes inseguros en Python,
6.2. Validaci&#xF3;n incorrecta de entrada/salida,
6.3.  Funci&#xF3;n eval0,
6.4. Serializaci&#xF3;n y deserializaci&#xF3;n de datos con pickle,
6.5. Ataques de inyecci&#xF3;n de entrada,
6.5.1. Inyecci&#xF3;n de comandos,
6.5.2. Inyecci&#xF3;n de SQL,
6.6. Acceso seguro al sistema de archivos y ficheros temporales,
6.7. Inyecci&#xF3;n de XSS,
6.8. Inyecci&#xF3;n de SSTI,
6.9. Servicios para comprobar la seguridad de proyectos Python,
6.9.1. Pyunp,
6.9.2. LGTM en proyectos Python,
6.9.3. Sanitizaci&#xF3;n de las URL,
6.9.4. Uso de un algoritmo criptogr&#xE1;fico roto o d&#xE9;bil,
6.9.5. Peticiones con resquest sin validaci&#xF3;n de certificado,
6.9.6. Uso de la versi&#xF3;n insegura SSL/TLS,
6.9.7. Deserializaci&#xF3;n de entrada no confiable,
6.9.8. Vulnerabilidades de XSS,
6.9.9. Exposici&#xF3;n de informaci&#xF3;n a trav&#xE9;s de una excepci&#xF3;n,
6.9.10. Conexi&#xF3;n con hots remotos mediante SSH utilizando Paramiko,
6.10. An&#xE1;lisis est&#xE1;tico de c&#xF3;digo Python,
6.10.1. Python Taint,
6.10.2. Bandit,
6.10.3. Hawkeye,
6.10.4. DLint,
6.11. Gesti&#xF3;n de dependencias,
6.11.1. Instalaci&#xF3;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&#xE1;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&#xF3;n ante ataques XSS,
6.14.2. Protecci&#xF3;n ante ataques CSRF,
6.14.3. Protecci&#xF3;n ante inyecci&#xF3;n de SQL,
6.14.4. Protecci&#xF3;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&#xED;tulo 7. An&#xE1;lisis est&#xE1;tico y din&#xE1;mico en aplicaciones c/c++:
7.1. An&#xE1;lisis est&#xE1;tico,
7.1.1. Code Analyzer,
7.2. An&#xE1;lisis est&#xE1;tico de c&#xF3;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&#xE1;lisis din&#xE1;mico,
7.3.1. An&#xE1;lisis din&#xE1;mico en C/C++ con Valgrind,
7.4. Herramientas de an&#xE1;lisis.
- Cap&#xED;tulo 8. Metodolog&#xED;as de desarrollo,
8.1. Metodolog&#xED;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&#xED;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&#xED;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&#xED;a del software,
8.8. Bibliograf&#xED;a y fuentes de informaci&#xF3;n,
8.9. Conclusiones.
- Cap&#xED;tulo 9. Glosario de t&#xE9;rminos.
 
</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2=" ">
    <subfield code="b">Desarrollo de aplicaciones web</subfield>
  </datafield>
  <datafield tag="942" ind1=" " ind2=" ">
    <subfield code="a">B-ISTTENA</subfield>
    <subfield code="c">BOOK</subfield>
    <subfield code="p">26/03/2022</subfield>
    <subfield code="q">Ruth O.</subfield>
    <subfield code="n">05/06/2023</subfield>
  </datafield>
  <datafield tag="999" ind1=" " ind2=" ">
    <subfield code="c">64</subfield>
    <subfield code="d">64</subfield>
  </datafield>
  <datafield tag="952" ind1=" " ind2=" ">
    <subfield code="a">BISTT</subfield>
    <subfield code="d">2021-10-21</subfield>
    <subfield code="e">Donaci&#xF3;n</subfield>
    <subfield code="i">ISTT-DS-0071</subfield>
    <subfield code="p">ISTT-DS-0071</subfield>
    <subfield code="t">Eje. 1/2</subfield>
    <subfield code="v">58.00</subfield>
    <subfield code="y">BOOK</subfield>
  </datafield>
  <datafield tag="952" ind1=" " ind2=" ">
    <subfield code="a">BISTT</subfield>
    <subfield code="d">2023-04-14</subfield>
    <subfield code="e">DONACION</subfield>
    <subfield code="i">ISTT-DS-0253</subfield>
    <subfield code="p">ISTT-DS-0253</subfield>
    <subfield code="t">Eje. 2/2</subfield>
    <subfield code="v">36.21</subfield>
    <subfield code="y">BOOK</subfield>
  </datafield>
  <datafield tag="952" ind1=" " ind2=" ">
    <subfield code="a">BISTT</subfield>
    <subfield code="d">2023-06-05</subfield>
    <subfield code="e">DONACI&#xD3;N</subfield>
    <subfield code="i">ISTT-DS-0264</subfield>
    <subfield code="p">ISTT-DS-0264</subfield>
    <subfield code="t">Eje: 2/3</subfield>
    <subfield code="y">BOOK</subfield>
  </datafield>
</record>
