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 y profesionales relacionados en este campo en cuál es la . 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 sino en cumplir con su meta u objetivo a alcanzar, pero ¿que tan valido es este punto de vista? en esta época donde la 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 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 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 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.

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

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.

  1. (Arquitecto) ¿En qué fase del ciclo de vida del software contemplan la seguridad?
  2. (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 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 de pruebas de seguridad, ¿pero a qué se debe esto? Una de las razones es la falta de conciencia y la metodología de enseñanza que aplican las universidades donde nunca abordan este tema y que es de mayor importancia para todo el mundo no solo para los profesionales involucrados con las NTIC .

Después de haber Mencionado estos aspectos y en mi poca experiencia profesional como ingeniero de software recalco una de las mejores guías o estándares que me he encontrado en temas de seguridad y que debería utilizar todos los ingenieros de software y personas involucrados en estas ramas el cual es OWASP donde el punto vital de ellos es demostrar que la seguridad de la información y el software puede operar junto para poder tener un producto de software que tengan los más grandes estándares de calidad esto se obtiene realizando las pruebas de seguridad que se le debería realizar a todos nuestros productos donde esté involucrado el software.

Buenos para los que no conocen que es owasp le dare una breve introduccion sacada de internet la cual dice que OWASP es un proyecto de código abierto dedicado a determinar y combatir las causas que hacen que el software sea inseguro. .

La Fundación OWASP es un organismo sin ánimo de lucro que apoya y gestiona los proyectos e infraestructura de OWASP. La comunidad OWASP está formada por empresas, organizaciones educativas y particulares de todo mundo. Juntos constituyen una comunidad de seguridad que trabaja para crear artículos, metodologías, documentación, herramientas y tecnologías que se liberan y pueden ser usadas gratuitamente por cualquiera.
Por último y unos de mis favoritos es el Top 10 del 2010 que saca OWASP encontramos:

  1. Inyecciones: Vulnerabilidades de inyección de código, desde SQL hasta comandos del sistema.
  2. Cross-site Scripting: Una de las vulnerabilidades más extendidas y a la par subestimada.
  3. Gestión defectuosa de sesiones y autenticación: Comprende los errores y fallos en las funciones de gestión de sesiones y autenticación.
  4. Referencias directas a objetos inseguras: Errores al exponer partes privadas o internas de una aplicación sin control y accesibles públicamente.
  5. Cross-site Request Forgery.: Vulnerabilidad consistente en el desencadenamiento de acciones legitimas por parte un usuario autenticado, de manera inadvertida por este último y bajo el control de un atacante.
  6. Ausencia de, o mala, configuración de seguridad.: Más que un error en el código se trata de la falta o mala configuración de seguridad de todo el conjunto de elementos que comprende el despliegue de una aplicación web, desde la misma aplicación hasta la configuración del sistema operativo o el servidor web.
  7. Almacenamiento con cifrado inseguro: Referida a la ausencia o mal uso de los sistemas de cifrado en relación a los datos almacenados o manejados por la aplicación.
  8. Falta de restricciones en accesos por URL: Falta de validación en el procesamiento de URLs que podrían ser usadas para invocar recursos sin los derechos apropiados o páginas ocultas.
  9. Protección insuficiente de la capa de transporte: Relacionada con A7 pero orientada a la protección del tráfico de red. Elección de un cifrado débil o mala gestión de certificados.
  10. Datos de redirecciones y destinos no validados: Errores en el tratamiento de redirecciones y uso de datos no confiables como destino.

Bueno para finalizar quiero retar a los lectores que utilicen las métricas provistas por OWASP y categoricen en cuál de las 10 posiciones de vulnerabilidades se encuentran, y si su respuesta es ninguna le aconsejo que realice las pruebas con más detalle ya que los que estamos en el mundo de la seguridad y el software sabemos que un producto no es 100% seguro, como lo hacemos ver.

Pablo Andrés Garzón
Estudiante de Maestría en Dirección Estratégica en ingeniería de Software
Colombia


Si te ha gustado el post, compartelo y ayudanos a crecer.

Unete a nuestra Fanpage Siguenos en Twitter

Autor: DragoN

Ingeniero en Sistemas y Telecomunicaciones de la Universidad de Manizales. Information Security Researcher con más de 10 años de experiencias en Ethical Hacking, Pen Testing y Análisis Forense. Docente Universitario en Pre y Post-Grado, Speaker y Organizador de diferentes eventos de Seguridad Informática, Co-Fundador del ACK Security Conference y Fundador de DragonJAR SAS y de La Comunidad DragonJAR, una de las comunidades de seguridad informática mas grandes de habla hispana y referente en el sector.

Compartir este Artículo
  • http://www.dragonjar.org hernandgr

    Muy interesante el artículo, y muy cierto también. Desafortunadamente en muchos proyectos de desarrollo de software la seguridad no es un tema prioritario, cosa que si debe serlo.

  • Pingback: Tweets that mention Seguridad Informatica, un reto para la Ingenieria del Software o una necesidad -- Topsy.com

  • Tamara

    Excelente nota. Estoy leyendo la guía de pruebas OWASP, esta muy interesante. Es un tema que me gustaría profundizar el de la seguridad INCORPORADA al ciclo de vida de desarrollo de software, me parece muy importante.
    saludos

  • JBackground

    muy buen tema, tienes mucha razón que se debe implementar en cada fase del ciclo de vida así se mitigan los costo y tiempo, este es un tema que los arquitectos no están valorando incluso al aprender Ingeniería de software es extraño que en el termino de cada fase del ciclo de vida no se pronuncien pruebas de seguridad, en muchos desarrollo quieren apurar los procesos, creo que el cliente puede perdonar la demora de un producto software pero lo que no perdona es la falta de calidad y de seguridad de la información.

  • http://hotfixed.net d-virus

    Gran artículo, es verdad lo que mencionas, actualmente estoy viendo la materia de ingeniería de software y en las fases de los proyectos nunca se tiene en cuenta estos aspectos de seguridad.

  • alex@lvarez

    Pablo muchisimas gracias por tu aporte
    muy interesante.
    Saludos.

  • http://victor.MX nouter

    es demasiado bueno:d

  • Flashacker

    Excelente aporte, de gran utilidad para poder entender poco a poco que la seguridad no es “juego de niños” hoy en dia.

  • http://www.hackeruna.com JUCA

    Interesante el articulo

  • pablo

    Gracias muchachos por sus comentarios este articulo es el primero de muchos que vendran bueno no siendo mas gracias nuevamente y exitos.

  • ELIAS EL INMORTAL

    QUIERO DESTACAR ALGO QUE ME PARECE NOTABLE :

    EL QUE ESCRIBIO ESTO NUNCA EN SU VIDA PROGRAMO ALGO DECENTE , POR QUE YO COMO PROGRAMADOR HUBIERA SEÑALADO LO SIGUIENTE :

    1 – CUANTO TIEMPO HABIA PARA HACER EL DESARROLLO ???????????

    2 – CUANTO DINERO HABIA PARA HACER EL DESARROLLO ??????????

    3 – CUANTAS PERSONAS PARTICIPABAN DEL DESARROLLO ?????????

    4 – EL QUE SUPUESTAMENTE ESTABA PREPARADO ACORDE A LOS TITULOS UNIVERSITARIOS PARA CONOCER LA TEORIA DEL DESARROLLO DEL SOFTWARE , TIENE IDEA DE LO QUE ES DESARROLLAR UN SOFTWARE ???????????

    5 – ESTOS PLANTEOS ME HUELEN A MEDICO QUE RECIEN SE RECIBIO Y TODAVBIA ( TODAVBIA = aca no se si hiba con v larga o b corta ) LE FALTAN HACER LOS 5 AÑOS DE RESIDENCIA

    6 – LOS VERDADEROS PROGRAMADORES EN EL 99% DE LOS CASOS CAEN EN MANOS DE IGNORANTES CON TITULOS UNIVERSITARIOS QUE ENCABEZAN PROYECTOS EN LOS CUALES LO UNICO QUE SABEN HACER ES METER PRESION Y PAGAR MUY POCO

    SERA JUSTICIA !!!!!!!!!!!!!

  • solocquenocnada

    muy bueno sigue con mas articulos :)))

  • @v3f3n8x

    Elias respeto tu comentarios,para tu informacion soy ingeniero de desarrollo y si eh trabajado en proyectos buenos y con muy buenas empresas y por esta razon pueda argumentar mi punto de vista en la falta de seguridad informatica que se le aplica a la ingenieria de software y si tu dices estas en esta contradiccion y aplicas la seguridad en cada fase de ciclo de vida del software uhy te felicito pq creeme que eres el primero programador asi como te llamas que aplicas la seguridad en cada fase y el gerente de tu empresa si que tiene una alta vision de la seguridad,y me gustaria sabe que metologia aplicas para la seguridad en la fase del ciclo de vida y porque no nos podrias regalar un articulo a tu alto nivel de educacion ya que esos es lo que hablas y otra cosa si tu dices que eres programador dejame decirte que me da lastima q digas lo del dinero porque un verdadero programador no le da mucha importancia al dinero si no en innovar y demostrar que lo imposible se puede hacer bueno no siendo mas exitos y esperamos tu comentarios respecto a estos temas y como dice mi amigo willy marroquin y creo que todos los que trabajamos con software pensamos una vez.

    ” De niño soñaba con hacer que las máquinas que veía por T.V pudieren ser comandadas por algo que había construido. Hoy por hoy vivo mi sueño… Amo mi oficio, soy un NINJA Developer.”

  • @v3f3n8x

    a elias y por ultimo si no sabes manejar la presion no eres un verdadero developer te aconsejo que primero pienses si el desarrollo es lo tuyo.

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

  • Pingback: Seguridad Informática, un reto para la Ingeniería del Software o una necesidad | SinapsysMx.Net

  • HGR

    @elias el inmortal… creo que al tener que las empresas tomar más conciencia de lo importante de la seguridad en el proceso de desarrollo de software, creo que también deberán ser concientes de que ello implica tambien mas trabajo, tiempo y recursos.

    Lo que si es inadmisible para uno como desarrollador es excusarse en que no hay tiempo o dinero como justificación para que un software quede mal hecho. Un equipo técnico empezando desde un arquitecto hasta diseñadores y desarrolladores debe tener conciencia de este tema y hacerse sentir ante la parte gerencial.

    Si bien hay proyectos en los que toca trabajar contra calendario y las estimaciones son mal hechas, por lo menos se debe sentar el precedente por parte del equipo técnico, al cual normalmente le cae luego el agua sucia cuando algo queda mal hecho por culpa de factores ajenos a él.

  • Pingback: Seguridad Informática, un reto para la Ingeniería del Software o una necesidad | Shadow Security

  • ELIAS EL INMORTAL

    ME PARECE QUE USTEDES CONFUNDEN O CREEN QUE HACER UN DESARROLLO DONDE SE MANEJAN BASES DE DATOS ES PROGRAMAR , YO NO LO VEO ASI

    -y aplicas la seguridad en cada fase de ciclo de vida del software uhy te felicito –

    CHE v3f3n8x LAS EMPRESAS DE LAS QUE HABLAS DE QUE PAIS SON , DE FANTASILANDIA ????????

    -y porque no nos podrias regalar un articulo a tu alto nivel de educacion ya que esos es lo que hablas y otra cosa si tu dices que eres programador dejame decirte que me da lastima q digas lo del dinero porque un verdadero programador no le da mucha importancia al dinero si no en innovar -

    YO PRESENTE MI ULTIMO DESARROLLO EN EL FORO DE DRAGONJAR, ERA EL DESARROLLOO TEORICO DEL PROGRAMA QUE YA TERMINE , LO EMPESE POR UN AUTODESAFIO POR UN ARTICULO QUE PUBLICO DRAGON SOBRE EL USO DE PROCESADORES NVIDIA EN PARALELO PARA ATAQUE CON FUERZA BRUTA

    DE ALLI SURGE UNA SERIE DE ALGORITMOS DE ENCRYPTACION EN LOS QUE TRABAJE MAS DE AÑO Y MEDIO Y CULMINO EN LO QUE PODREAS VER SI PONES “ALGORITMO FLAMEL” EN GOOGLE EL PROGRAMA TIENE DOS VERSIONES INSTALABLE Y PORTABLE

    SIGUE EN EL PROXIMO POST …..

  • ELIAS EL INMORTAL

    Y , LA VERDAD ME DUELE QUE DIGAS

    -dejame decirte que me da lastima q digas lo del dinero porque un verdadero programador no le da mucha importancia al dinero si no en innovar y demostrar que lo imposible se puede hacer bueno no siendo mas exitos-

    LOS DESARROLLOS QUE HE HECHO EN MI VIDA HAN SIDO A BASE DE CAGARME DE HAMBRE , NINGUNA EMPRESA NI EMPRESARIO TIENE EL NIVEL PARA PATROCINAR UN DESARROLLO INNOVADOR , SALVO EN FANTASILANDIA , DONDE VIVIS VOS !!!!!!!

    PARA HACER ESE DEASARROLLO ESTUDIE DURANTE MESES LOS FUENTES DE TODOS LOS ALGORITMOS DISPONIBLES COMERCIALMENTE , Y NADIE ME PAGO UN CENTAVO POR ELLO !!!!!!!!!!!!

    LO HICE POR PURO PLACER , ASI COMO SE HARA TODA LA LINEA DE ALGORITMOS QUE SEGUIRAN SALIENDO Y PARA LOS QUE INVERTI MAS DE AÑO Y MEDIO DE DESARROLLO TEORICO Y NADIE ME PAGO NI UN CENTAVO

    EL TAMAÑO DE CLAVES Y HASHES QUE DESARROLLE NO LOS VI EN NINGUN LADO TODAVIA , PERO SEGURO EN FANTASILANDIA LOS EMPRESARIOS QUE VOS CONOCES PATROCINAN PROYECTOS COMO EN EL QUE ESTOY TRABAJANDO !!!!!
    HABLAR ES GRATIS PARECE !!!!!!!!!!!!!

    SIGUE ………..

  • ELIAS EL INMORTAL

    - a elias y por ultimo si no sabes manejar la presion no eres un verdadero developer te aconsejo que primero pienses si el desarrollo es lo tuyo

    DE LAS PERSONAS QUE METEN PRESION SOBRE LOS PROGRAMADORES , NO HE VISTO A NINGUNO QUE SE LA CAIGA UNA IDEA ORIGINAL DE LA CABEZA !!!!!!!!!!!

    -Un equipo técnico empezando desde un arquitecto hasta diseñadores y desarrolladores debe tener conciencia de este tema y hacerse sentir ante la parte gerencial.

    LA TEORIA BELLISIMA , PERO LA REALIDAD REAL BRILLA POR SU AUSENCIA !!!!!!!!!!

    -Si bien hay proyectos en los que toca trabajar contra calendario y las estimaciones son mal hechas, por lo menos se debe sentar el precedente por parte del equipo técnico, al cual normalmente le cae luego el agua sucia cuando algo queda mal hecho por culpa de factores ajenos a él.

    BUENO POR LO MENOS YA ESTAS RECONOCIENDO ALGO , NO COMO @v3f3n8x QUE SALIO DE DISNEYLANDIA Y CAYO EN FANTASILANDIA !!!!

    PD : EL HILO ESTA LINDO PARA DEBATIRSE EN EL FORO , PERO DRAGON Y LOS ADMINISTRADORES SIEMPRE ME BORRAN TODO POR QUE ESCRIBO EN MAYUSCULAS Y ME DISCRIMINAN !!!!!!!

  • @v3f3n8x

    Bueno gracias a todos por sus comentarios y para elseñor elias la verdad no voy gastar mi tiempo en hablar con una persona que pareciera que no tuviera decencia y no tenga los conceptos bien definidos te recomiendo leas mas porque gracias a personas como usted se tira al demas gremio y deje de ser tan resentido que aca estamos es para aportar y aprender y no de criticar d ela forma que usted lo hace que es d ela forma de atacar y formar problema dragon considero que evalues el comportamiento del señor elias porque creeme que si el manejo del foro se maneja a este nivel optare en no seguir publicando mas articulos en este sitio que es tan bueno pero lastimosamente tiene personas problematicas como elias.

    • ELIAS EL INMORTAL

      @v3f3n8x QUEDATE TRANQUILO QUE YO ME RETIRO PARA SIEMPRE PARA QUE VOS NO TE VAYAS , AHORA SI ,COMO DESPEDIDA DEJAME DECIRTE LO SIGUIENTE :

      - te recomiendo leas mas porque gracias a personas como usted se tira al demas gremio

      SI POR HACER SOFTWARES ORIGINALES TIRO ABAJO EL GREMIO , POR DEDICAR MINIMO 2 AÑOS A CADA SOFTWARE QUE DESARROLLO TIRO ABAJO EL GREMIO , PUES , TE DIGO CON EL CORAZON ,NUNCA PERTENECERIA A ESE GREMIO !!!!!

      - y deje de ser tan resentido

      SI SOY RESENTIDO POR QUE DISPONGO DEL TIEMPO PARA DESARROLLAR LOS SOFTWARES QUE QUIERO Y COMO QUIERO , NO ENTIENDO DONDE ENTRA MI RESENTIMIENTO ????????

      - aca estamos es para aportar y aprender..

      PERO APRENDER DE LA REALIDAD REAL Y NO DE LA TEORIA , POR QUE SI ALGUIEN DICE QUE ALGO DE A LO QUE YO ME REFERI ES MENTIRA O NADA TIENE QUE VER LA REALIDAD , POBRE DE LOS PROGRAMADORES QUE CAIGAN EN MANOS DE LOS QUE METEN PRESION Y NUNCA DESARROLLARON UN SISTEMA COMPLETO EN SU VIDA !!!!!!

      - es d ela forma de atacar y formar problema

      MIRA LO QUE ME DIJISTE ACA :

      -decirte que me da lastima q digas lo del dinero porque un verdadero programador no le da mucha importancia al dinero si no en innovar ….

      MACHO VOS NO PODES HABLARME A MI DE INOVACION , TE FALTAN VARIAS REENCARNACIONES PARA LLEGARME A LOS TALONES

      - a elias y por ultimo si no sabes manejar la presion no eres un verdadero developer te aconsejo que primero pienses si el desarrollo es lo tuyo

      VOS MUY BIEN QUE DIGAMOS LA PRESION SE NOTA QUE NO LA MANEJAS , SI SALIS CORRIENDO Y AMENAZAS CON IRTE POR 3 ESTROFAS QUE ESCRIBI !!! Y QUE SEGUN VOS SON DELIRIOS

      VOS PRETENDES HUMILLAR Y DESPUES TE QUEJAS ????????

      TE REPITO , EN TU VIDA VAS A HABER PROGRAMADO EL 5% DE LO QUE YO HE PROGRAMADO , NI HABLAR DE LO QUE SIGO HACIENDO

      PIDO DISCULPAS A DRAGON SI LO OFENDI Y ME DESPIDO PARA SIEMPRE DE ESTE FORO , SUERTE A TODOS !!!!!!!

      PD : DRAGON ME ACABA DE MANDAR UN SMS Y DICE LO SIGUIENTE :

      - DRAGONJAR : ELIAS POR FAVOR ASEGURATE DE NO VOLVER MAS !!!!!!!!!!!!

  • @v3f3n8x

    Buenos dias a todos primero que todo quiero pedirles disculpas a toda la comunidad por el problema que se presento en este tema de antemano tambien agradezco sus comentarios sobre el tema y respecto a los temas seguire preparandolos para publicarlos en el sitio enfocados tanto a los tecnico como a lo teorico.

    PD: a las personas que van a ir al 3 congreso de hacking etico nos veremos alla seria buena una forma de reunir al grupo de dragonjar que ira para conocernos y discutir temas que nos interesa a todos sobre estos temas.

  • mister19

    yo apoyo la seguridad debe ser mejora en p’ro de los usuarios de los diferentes servicios que tiene internet y la informatica… pero les dejo un famoso refran de reflexion !Nadie sabe lo que tiene Hasta que lo pierde¡

  • Pingback: Boletín de la Comunidad DragonJJAR #0015

  • Pingback: Instalación de TFS, SQL Server 2008 y SDL

  • Jhon Arley

    Gracias por el aporte, empiezo a preocuparme por la seguridad de la información en la Ingeniería de Software.

    Saludos desde Medellín – Colombia

  • Pingback: Dilemas de la seguridad en el desarrollo de software

  • Javi

    Estimado amigo, me dirijo a ti como estudiante de 1 de ingeniería informática en España. Verás, quería preguntarte si para especializarme en seguridad en informática debo elejir la rama de ingeniería en software ?, no siendo así que rama debería seguir?