Dilemas de la seguridad en el desarrollo de software

Esta es la quinta entrega de la serie de seguridad Informática en la ingeniería de software que nos envía el amigo Pablo Andrés Garzón, si no has leído los anteriores artículos, te invito que lo hagas. Formación de Seguridad con Security Development Lifecycle de Microsoft Seguridad Informática, un reto para la Ingeniería del Software o una necesidad Instalación de TFS, SQL Server 2008 y SDL Requerimientos para Security Development Lifecycle de Microsoft En esta entrega pablo nos trae una presentación que realizó para un diplomado, donde nos explica cuales son los dilemas actuales de la seguridad en el desarrollo de software, los modelos de desarrollo seguro y las amenazas mas comunes. Escrito por: Pablo Andrés Garzón Vera Ingeniero de Sistemas (Universidad Manuela Beltrán) Magister  en Dirección Estratégica en Ingeniería de software (Universidad de León). Para La Comunidad...

Leer Más

Requerimientos para Security Development Lifecycle de Microsoft

Esta es la cuarta entrega de la serie de seguridad Informática en la ingeniería de software que nos envía el amigo Pablo Andrés Garzón, si no has leído los anteriores artículos, te invito que lo hagas. Formación de Seguridad con Security Development Lifecycle de Microsoft Seguridad Informática, un reto para la Ingeniería del Software o una necesidad Instalación de TFS, SQL Server 2008 y SDL El tercer artículo cubrirá el primer nivel tratado en el SDL el cual se enfoca en la necesidad de considerar los aspectos de seguridad en una fase temprana del ciclo de vida, ya que es fundamental para el desarrollo de un sistema seguro, para esto se debe definir en la fase de la planificación ya que permite que los desarrolladores y arquitecto identifiquen los principales problema que se pueden presentar en la implementación de los controles de seguridad y así tener medidas que controle atrasos en la integración con los diferentes módulos desarrollados por el equipo. Los análisis de requisitos enfocados con la seguridad permiten conocer cómo será el diseño de la aplicación contemplando los requisitos de seguridad mínimo que se debe tener, también contempla como será su comportamiento en un entorno operativo planificado y como se manejara el temas de las vulnerabilidades para el control y seguimiento de estas recordando que el temas de control de bugs es de gran importancia para el ciclo de vida del software ya que una mala implementación de este nos podría producir costos elevados en tiempo y en dinero lo cual sería un problema para la empresa u organización. Calidad Gates/Barra de Errores La barra de error es una de las tareas más difíciles que puede enfrentar un equipo de desarrollo de software durante la evolución de ciclo de vida, para esto decidir el nivel de importancia que se le dará a un error y la probabilidad de que ese error no se pueda corregir en el tiempo de entrega de la versión puede tener muchos problemas que afecta al grupo de desarrollo. Aunque uno de los puntos más difíciles de tratar es que los programadores, arquitectos y otros miembros del grupo tienen diferentes puntos de vista de la clasificación del error o la probabilidad de poder gestionarlo en la fase de entrega de la versión, pero estos grupos cometen errores en sus decisiones de clasificación por factores individuales o por la experiencia ya tratada en una anterior clasificación recordando que la clasificación de un error puede variar dependiendo el proyecto a realizar y sobre esto se enfocan en los siguientes puntos como: Cuánto código tendría que regresión-probarse una vez realizada la corrección. Cómo cerrar para liberar...

Leer Más

Formación de Seguridad con Security Development Lifecycle de Microsoft

Esta es la tercera entrega de la serie de seguridad Informática en la ingeniería de software que nos envía el amigo Pablo Andrés Garzón, si no has leído los anteriores artículos, te invito que lo hagas. Seguridad Informática, un reto para la Ingeniería del Software o una necesidad Instalación de TFS, SQL Server 2008 y SDL El tercer artículo cubrirá el primer nivel tratado en el SDL el cual se enfoca en la capacitación de seguridad que deben tomar los miembros de un equipo de Desarrollo (Software) pero que tan cumplido es esto si tenemos en cuenta que la mayoría de proyectos no cubren este aspecto de capacitación a sus miembros en temas de seguridad ya que en la mayoría de veces la excusa es la falta de tiempo o la prioridad a otras fases del proyecto, pero estos equipos no saben el gran error que están cometiendo ya que en cada fase se incrementara el tiempo ajustado al cronograma que se tenía estimado. Pero que debe conocer el equipo de Desarrollo de software en temas de seguridad para esto los grandes aspectos a considerar y tener en cuenta por el equipo son los siguientes. Conceptos Básicos: Seguridad de diseño, que incluye los siguientes temas: Superficie de reducción de ataque. Defensa en profundidad. Principio de privilegios mínimos. Valores predeterminados de seguridad. Modelado de amenazas, incluyendo los siguientes temas: Visión general de modelado de amenazas. Diseño de un modelo de amenazas. Codificación a un modelo de amenazas. Pruebas para un modelo de amenazas. Segura de codificación, incluidos los temas siguientes: Saturaciones de búfer. Errores de entero aritméticos. Cross site scripting. Inyección de SQL. Criptografía débil. Cuestiones de código administrado (Microsoft .NET y Java). Pruebas de seguridad, incluidos los temas siguientes: Pruebas frente a pruebas funcionales de seguridad. Evaluación del riesgo. Metodologías de prueba automatización de pruebas. Privacidad, incluyendo los siguientes temas: Tipos de datos de privacidad. Las mejores prácticas de diseño de privacidad análisis de riesgos. Mejores prácticas de desarrollo de privacidad. Pruebas de las mejores prácticas de privacidad. Para estos temas se recomienda la guía de OWASP donde cubre los aspectos en temas de seguridad en aplicaciones webs donde se tratan algunos temas de los mencionados anteriormente y ya que es la guía fundamental en temas de seguridad por la comunidad involucrada en software. Por lo general los equipos de software no manejan la mayoría de temas básicos en seguridad llegando así a cometer errores en diseño, Arquitectura y codificación produciendo un nivel bajo en nivel de calidad teniendo en cuenta que un producto de calidad debe tener los aspectos de seguridad cubiertos en cada proceso realizado. Conceptos Avanzados:...

Leer Más

Instalación de TFS, SQL Server 2008 y SDL

Pablo Andrés Garzón Vera, quien ya ha compartido con nosotros artículos como “Seguridad Informática, un reto para la Ingeniería del Software o una necesidad” enfocados principalmente en la ingeniería de software y la participación de la seguridad informática en este proceso, se ha comprometido con nosotros a publicar mas de esta serie de artículos, que aportan tanto a la comunidad hispanohablante debido a la falta de documentación sobre el tema en nuestro idioma. Para que puedas llevar a la practica, las actividades de los próximos artículos, es necesarios que instales una serie de software como lo es el Microsoft SQL Server 2008, Microsoft  Team Fundation Server y Microsoft Security Development Lifecycle, que nos permitirán aplicar la seguridad informática en el desarrollo de software, enfocado principalmente en plataformas Microsoft. INSTALACIÓN DE SQL SERVER 2008 Para iniciar la instalación deberán instalar el SP1 de .Net Framework 3.5 y el Windows Installer 4.5 (los cuales vienen incluidos en el instalador). Una vez instalados estos dos componentes aparecerá la pantalla del SQL Server installation Center Para iniciar la instalación debemos ir a Installation y luego seleccionar New SQL Server stand-alone installation or add features to an existing installation (Aplica para el tipo de instalación que describimos en este post) El instalador ejecutará primeramente una revisión para identificar problemas que podrían ocurrir durante la instalación o limitaciones que podrían ocasionar que no podamos instalar SQL Server 2008. Luego debemos seleccionar la edición que deseamos instalar o ingresar el product key del SQL Server 2008. (En este caso voy a instalar la edición Enterprise de prueba) Aceptamos los téminos de licencia y damos clic en Next. A continuación se ejecutarán los archivos para la instalación de SQL Server 2008. A continuación el instalador ejecutará las acciones del Setup Support Rules (Estas se deben cumplir para poder continuar con la instalación) Luego deben seleccionar los componentes que desean instalar (estoy seleccionando todos los componentes): En este caso no tengo ninguna instancia de SQL Server y voy a proceder a instalar en el Default instance (En este paso pueden tambien renombrar el ID de la instancia y cambiar el directorio de la misma). Luego el instalador validará el espacio disponible de disco. Luego deberán configurar las cuentas con la que se inicará cada servicio de SQL Server 2008 (Yo tengo una cuenta creada con permisos administrativos en el servidor para iniciar sólo servicios de SQL Server). En este paso deberán seleccionar el modo de autenticación de SQL Server y agregar las cuentas que serán administradores de la instancia. Además podrán cambiar los directorios para la data, datos de usuarios, logs, Temp DB, Temp DB Log y el...

Leer Más

Seguridad Informática, un reto para la Ingeniería del Software o una necesidad

Para este primer artículo quise tocar un tema que me llama mucho la atención y que es un gran reto para los Ingenieros de software y profesionales relacionados en este campo en cuál es la seguridad. Para esto quiero enfatizarme en el ciclo de vida del software el cual es utilizado por los ingenieros de software, arquitectos entre otros profesionales involucrados en la rama, pero que tan efectivo es la metodología usada por estos profesionales en los desarrollos de software que realizan, esto lo menciono porque la mayoría de profesionales en el campo del software nunca piensan en el tema de la seguridad sino en cumplir con su meta u objetivo a alcanzar, pero ¿que tan valido es este punto de vista? en esta época donde la seguridad a tomado mucha importancia para las empresas y personas consientes que saben que la información que manejan es de mayor importancia y no puede ser mostrada divulgada a todo el mundo. Con esto quiero recalcar que la seguridad es importante aplicarla al ciclo de vida del software para con el fin de tener calidad en los productos desarrollados y cumplir con los tres objetivos de la seguridad que son la integridad, confidencialidad y disponibilidad ya que en esta época la tecnología va creciendo donde y encontramos que la información que necesitan las personas ya es accesible desde internet, con esto quiero enfatizar que la seguridad debe ser aplicada en cada fase del ciclo de vida del software para no tener dificultades más adelante en el diseño, arquitectura, pruebas entre otros. Después de tocar este tema de mayor importancia por los profesionales de seguridad hay dos preguntas que siempre les realizo a los arquitectos y gerentes de proyectos. (Arquitecto) ¿En qué fase del ciclo de vida del software contemplan la seguridad? (Gerentes de Proyectos) ¿En los cronogramas donde se estima el tiempo para pruebas de seguridad? Para la primera pregunta la mayoría de arquitectos responde las pruebas son realizadas al final del desarrollo ya que en ese momento podemos detectar los bug y corregirlos, pues lastimosamente para estos arquitectos la respuesta es incorrecta ya que las pruebas de seguridad deben estar en cada fase del ciclo de vida del software ya que entre más temprano encontremos problemas de seguridad más rápido podemos abordarlas y tendremos menos costo. La segunda pregunta es una de mis favoritas porque la mayoría de gerentes de proyectos se queda callados como si les estuviera haciendo una pregunta para medirlos que tanto saben, pero no es así, esta pregunta la realizo porque en ningún cronograma que allá visto en mi vida como ingeniero de software exponen un tema...

Leer Más

Siguenos!

O Puedes Subscribete

ANTES DE

SALIRTE ...

NO TE

ARREPENTIRÁS

!Gracias¡

NO OLVIDES NUESTRAS REDES SOCIALES

Aprende ONLINE Técnicas HACKING y Seguridad Informática guiad@ por Profesionales RECONOCIDOS con más de 10 años de experiencia REAL en el campo de la Seguridad Informática

Toma acción !AHORA¡
miles ya lo han hecho

NUNCA te enviaremos spam.

  • No necesitas conocimiento previo (De 0 a Ninja)
  • Docentes reconocidos en el medio y con experiencia REAL
  • Clases ONLINE en VIVO que luego podrás repasar si lo deseas desde cualquier parte o cualquier dispositivo
  • Contenidos EXCLUSIVOS generados por nuestros docentes
  • Contacto constante con el docente por distintos medios, antes, durante y después de las clases
  • Laboratorios en linea para que nuestros alumnos practiquen sus conocimientos sin problemas
  • Exclusivo FORO VIP de Alumnos y Ex-Alumnos donde se continúa el aprendizaje y se comparte conocimiento
  • Te entregamos un diploma de certificación por cada curso
  • Miles de ex-alumnos felices