Por qué las inyecciones SQL son las cucarachas del mundo de la AppSec (y cómo los CISOs pueden erradicarlas de una vez por todas)
Es bien conocida la teoría de que las cucarachas pueden sobrevivir a todo, incluso a una explosión nuclear. Aunque esa teoría sólo es cierta hasta cierto punto, su sencilla composición corporal las hace extremadamente resistentes para su tamaño y difíciles de erradicar en la mayoría de las condiciones.
He estado pensando... si las cucarachas tuvieran un equivalente en el mundo digital, tendrían que ser las vulnerabilidades de inyección SQL (SQLi) en el código. Se trata de una vulnerabilidad conocida desde hace más de veinte años y, sin embargo, las organizaciones son víctimas de ellas una y otra vez. El extenso y costoso ataque a Target fue el resultado de la inyección SQL, al igual que un caso de piratería electoral en Illinois en el que se expusieron 200.000 registros de votantes, lo que llevó al FBI a recomendar a todos los administradores de TI que trabajaran rápidamente para reforzar sus prácticas de seguridad.
El Informe de la Iniciativa de Inteligencia de Hackers de Imperva reveló que entre 2005 y 2011, los ataques SQLi se utilizaron en el 83% de todas las violaciones de datos reportadas. Hoy en día, las vulnerabilidades de inyección siguen siendo la amenaza número uno en el Top 10 de OWASP. Son relativamente sencillas, pero no mueren.
Parece ridículo que esta misma vulnerabilidad siga apareciendo en un número importante de análisis de seguridad de aplicaciones. Sabemos cómo funciona y sabemos cómo detenerla. ¿Cómo es posible? La verdad es que la seguridad de nuestro software tiene un amplio margen de mejora.
El informe de Veracode sobre el estado de la seguridad del software -basado en 400.000 escaneos de aplicaciones en 2017- reveló una estadística alarmante: solo el 30% de las aplicaciones pasaron la política OWASP Top 10. Este ha sido un tema constante en los últimos cinco años, con inyecciones SQL que aparecen en casi 1 de cada 3 aplicaciones recién escaneadas. Esto evidencia un problema endémico; no estamos aprendiendo de nuestros errores, y los CISOs parecen enfrentarse a una ardua batalla para poder conseguir suficiente talento en seguridad. Normalmente, la proporción de especialistas en seguridad de aplicaciones con respecto a los desarrolladores es de 1:100.
¿Por qué la seguridad de los programas informáticos está en peligro de extinción?
No es ningún secreto que el talento especializado en seguridad es escaso, pero también debemos prestar atención al hecho de que los desarrolladores no están solucionando los problemas a medida que surgen, y están claramente mal equipados para no introducir vulnerabilidades en primer lugar. En el mismo informe de Veracode, se divulgó que había mitigaciones documentadas para sólo el 14,4% de todas las vulnerabilidades de desarrollo. En otras palabras, la mayoría de las vulnerabilidades se presentaron sin mitigación de desarrollo. Menos de un tercio de las vulnerabilidades se cerraron en los primeros 90 días, y el 42% de las vulnerabilidades nunca se cerraron dentro del periodo de desarrollo.
Hablo todo el tiempo con profesionales de la seguridad, CISOs y CEOs, y anecdóticamente, me he dado cuenta de que muchas empresas se frustran tanto con el número de vulnerabilidades encontradas que no pueden ser mitigadas (además de la plaga conocida como falsos positivos), que dejan de escanear en busca de ellas por completo, cruzando los dedos y esperando lo mejor.
¿Por qué los profesionales de la seguridad de las aplicaciones dejan que esto ocurra?
No se equivoque: La gente de AppSec es dolorosamente consciente de los problemas en el código. Después de todo, esa es una de sus principales habilidades que los convierte en un recurso de equipo tan valioso. Sin embargo, a menudo se ven obstaculizados por varios factores.
Por ejemplo, un director de AppSec encontrará un problema y preguntará al desarrollador: "¿puedes arreglar el código?". La respuesta a esta importante pregunta difiere de una organización a otra, pero en general, el desarrollador está tan apretado cumpliendo estrictos sprints de entrega de características que simplemente no tiene tiempo para arreglar estos problemas, ni herramientas decentes para ayudarles. Los propios profesionales de la seguridad de las aplicaciones pueden ser capaces de identificar las vulnerabilidades, pero a menudo no tienen las habilidades y/o el acceso para remediarlas en el acto.
También debemos darnos cuenta de que para cada problema hay que encontrar una solución, aplicarla y probarla. Para el más mínimo problema que se encuentre en el código, el tiempo que puede llevar arreglarlo, por no hablar de los recursos necesarios, es inmenso. Hay más de 700 vulnerabilidades que pueden introducirse en el software, y es sencillamente imposible que una sola persona pueda defenderse de todas ellas. Por esta razón, la mayoría de las empresas se limitan a seguir el Top 10 de OWASP. Mientras tanto, los desarrolladores siguen construyendo características y, a su vez, siguen introduciendo vulnerabilidades en el código que escriben.
¿Cuál es la solución?
El hecho es que no damos a nuestros desarrolladores las herramientas y la formación necesarias para fomentar el éxito de la codificación segura. No hay normas que obliguen a las organizaciones a garantizar que los desarrolladores posean las habilidades de seguridad adecuadas, y es una triste realidad que la mayoría de las universidades y las prácticas no preparan a los desarrolladores junior para codificar de forma segura, tampoco.
Cuando alguien quiere pilotar un avión, hay un proceso muy riguroso que garantiza la formación, la experiencia práctica, los controles médicos, los conocimientos de seguridad y los exámenes antes de poder volar. Nadie se atrevería a imaginar que se le dejaría suelto en el cielo sin esta amplia preparación y validación de habilidades, y sin embargo esto es lo que ocurre en el día a día con la escritura de código.
Tenemos que dedicar tiempo a educar a los desarrolladores en la escritura de código seguro. Sin embargo, en el mundo actual, en el que el desarrollo de software es rápido y los buenos desarrolladores y profesionales de la seguridad escasean, nunca parece ser una prioridad. Es hora de cambiar la conversación.
Un reciente titular del Foro Económico Mundial gritaba: "No puede haber economía digital sin seguridad", y el contenido que lo acompañaba argumentaba la necesidad de que la seguridad sea una parte fundamental de cualquier estrategia de transformación digital. "La seguridad es lo que protege a las empresas, permitiéndoles innovar y crear nuevos productos y servicios. Más allá de un papel defensivo, la seguridad proporciona a las empresas una ventaja estratégica de crecimiento."
Mejorar las habilidades y los resultados de la codificación segura añadirá una poderosa capa de ciberprotección para las organizaciones, ayudándolas a crear un código mejor y más rápido. Los desarrolladores no necesitan convertirse en expertos en seguridad, pero hay que capacitarlos de forma positiva y práctica para que sean la primera línea de defensa contra los ciberataques. Los desarrolladores pueden ser los próximos héroes de la seguridad y la innovación. Son personas muy inteligentes, resuelven problemas de forma creativa y, por lo general, están dispuestos a desarrollar sus habilidades. Aproveche sus puntos fuertes con la formación especializada que se merecen y comprométase con un mayor nivel de seguridad del software. Lea nuestro libro blanco para saber más.
Cuando alguien quiere pilotar un avión, hay un proceso muy riguroso que garantiza la formación, la experiencia práctica, los controles médicos, los conocimientos de seguridad y los exámenes antes de poder volar. Nadie se atrevería a imaginar que se le dejaría suelto en el cielo sin esta amplia preparación y validación de habilidades, y sin embargo esto es lo que ocurre en el día a día con la escritura de código.
Es bien conocida la teoría de que las cucarachas pueden sobrevivir a cualquier cosa, incluso a una explosión nuclear.
Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónMatias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Matías es un investigador y desarrollador con más de 15 años de experiencia práctica en seguridad de software. Ha desarrollado soluciones para empresas como Fortify Software y su propia empresa Sensei Security. A lo largo de su carrera, Matías ha dirigido múltiples proyectos de investigación sobre seguridad de aplicaciones que han dado lugar a productos comerciales y cuenta con más de 10 patentes en su haber. Cuando está lejos de su escritorio, Matias ha servido como instructor para la formación de seguridad de aplicaciones avanzadas courses y regularmente habla en conferencias mundiales como la Conferencia RSA, Black Hat, DefCon, BSIMM, OWASP AppSec y BruCon.
Matías es doctor en Ingeniería Informática por la Universidad de Gante, donde estudió la seguridad de las aplicaciones mediante la ofuscación de programas para ocultar el funcionamiento interno de una aplicación.
Es bien conocida la teoría de que las cucarachas pueden sobrevivir a todo, incluso a una explosión nuclear. Aunque esa teoría sólo es cierta hasta cierto punto, su sencilla composición corporal las hace extremadamente resistentes para su tamaño y difíciles de erradicar en la mayoría de las condiciones.
He estado pensando... si las cucarachas tuvieran un equivalente en el mundo digital, tendrían que ser las vulnerabilidades de inyección SQL (SQLi) en el código. Se trata de una vulnerabilidad conocida desde hace más de veinte años y, sin embargo, las organizaciones son víctimas de ellas una y otra vez. El extenso y costoso ataque a Target fue el resultado de la inyección SQL, al igual que un caso de piratería electoral en Illinois en el que se expusieron 200.000 registros de votantes, lo que llevó al FBI a recomendar a todos los administradores de TI que trabajaran rápidamente para reforzar sus prácticas de seguridad.
El Informe de la Iniciativa de Inteligencia de Hackers de Imperva reveló que entre 2005 y 2011, los ataques SQLi se utilizaron en el 83% de todas las violaciones de datos reportadas. Hoy en día, las vulnerabilidades de inyección siguen siendo la amenaza número uno en el Top 10 de OWASP. Son relativamente sencillas, pero no mueren.
Parece ridículo que esta misma vulnerabilidad siga apareciendo en un número importante de análisis de seguridad de aplicaciones. Sabemos cómo funciona y sabemos cómo detenerla. ¿Cómo es posible? La verdad es que la seguridad de nuestro software tiene un amplio margen de mejora.
El informe de Veracode sobre el estado de la seguridad del software -basado en 400.000 escaneos de aplicaciones en 2017- reveló una estadística alarmante: solo el 30% de las aplicaciones pasaron la política OWASP Top 10. Este ha sido un tema constante en los últimos cinco años, con inyecciones SQL que aparecen en casi 1 de cada 3 aplicaciones recién escaneadas. Esto evidencia un problema endémico; no estamos aprendiendo de nuestros errores, y los CISOs parecen enfrentarse a una ardua batalla para poder conseguir suficiente talento en seguridad. Normalmente, la proporción de especialistas en seguridad de aplicaciones con respecto a los desarrolladores es de 1:100.
¿Por qué la seguridad de los programas informáticos está en peligro de extinción?
No es ningún secreto que el talento especializado en seguridad es escaso, pero también debemos prestar atención al hecho de que los desarrolladores no están solucionando los problemas a medida que surgen, y están claramente mal equipados para no introducir vulnerabilidades en primer lugar. En el mismo informe de Veracode, se divulgó que había mitigaciones documentadas para sólo el 14,4% de todas las vulnerabilidades de desarrollo. En otras palabras, la mayoría de las vulnerabilidades se presentaron sin mitigación de desarrollo. Menos de un tercio de las vulnerabilidades se cerraron en los primeros 90 días, y el 42% de las vulnerabilidades nunca se cerraron dentro del periodo de desarrollo.
Hablo todo el tiempo con profesionales de la seguridad, CISOs y CEOs, y anecdóticamente, me he dado cuenta de que muchas empresas se frustran tanto con el número de vulnerabilidades encontradas que no pueden ser mitigadas (además de la plaga conocida como falsos positivos), que dejan de escanear en busca de ellas por completo, cruzando los dedos y esperando lo mejor.
¿Por qué los profesionales de la seguridad de las aplicaciones dejan que esto ocurra?
No se equivoque: La gente de AppSec es dolorosamente consciente de los problemas en el código. Después de todo, esa es una de sus principales habilidades que los convierte en un recurso de equipo tan valioso. Sin embargo, a menudo se ven obstaculizados por varios factores.
Por ejemplo, un director de AppSec encontrará un problema y preguntará al desarrollador: "¿puedes arreglar el código?". La respuesta a esta importante pregunta difiere de una organización a otra, pero en general, el desarrollador está tan apretado cumpliendo estrictos sprints de entrega de características que simplemente no tiene tiempo para arreglar estos problemas, ni herramientas decentes para ayudarles. Los propios profesionales de la seguridad de las aplicaciones pueden ser capaces de identificar las vulnerabilidades, pero a menudo no tienen las habilidades y/o el acceso para remediarlas en el acto.
También debemos darnos cuenta de que para cada problema hay que encontrar una solución, aplicarla y probarla. Para el más mínimo problema que se encuentre en el código, el tiempo que puede llevar arreglarlo, por no hablar de los recursos necesarios, es inmenso. Hay más de 700 vulnerabilidades que pueden introducirse en el software, y es sencillamente imposible que una sola persona pueda defenderse de todas ellas. Por esta razón, la mayoría de las empresas se limitan a seguir el Top 10 de OWASP. Mientras tanto, los desarrolladores siguen construyendo características y, a su vez, siguen introduciendo vulnerabilidades en el código que escriben.
¿Cuál es la solución?
El hecho es que no damos a nuestros desarrolladores las herramientas y la formación necesarias para fomentar el éxito de la codificación segura. No hay normas que obliguen a las organizaciones a garantizar que los desarrolladores posean las habilidades de seguridad adecuadas, y es una triste realidad que la mayoría de las universidades y las prácticas no preparan a los desarrolladores junior para codificar de forma segura, tampoco.
Cuando alguien quiere pilotar un avión, hay un proceso muy riguroso que garantiza la formación, la experiencia práctica, los controles médicos, los conocimientos de seguridad y los exámenes antes de poder volar. Nadie se atrevería a imaginar que se le dejaría suelto en el cielo sin esta amplia preparación y validación de habilidades, y sin embargo esto es lo que ocurre en el día a día con la escritura de código.
Tenemos que dedicar tiempo a educar a los desarrolladores en la escritura de código seguro. Sin embargo, en el mundo actual, en el que el desarrollo de software es rápido y los buenos desarrolladores y profesionales de la seguridad escasean, nunca parece ser una prioridad. Es hora de cambiar la conversación.
Un reciente titular del Foro Económico Mundial gritaba: "No puede haber economía digital sin seguridad", y el contenido que lo acompañaba argumentaba la necesidad de que la seguridad sea una parte fundamental de cualquier estrategia de transformación digital. "La seguridad es lo que protege a las empresas, permitiéndoles innovar y crear nuevos productos y servicios. Más allá de un papel defensivo, la seguridad proporciona a las empresas una ventaja estratégica de crecimiento."
Mejorar las habilidades y los resultados de la codificación segura añadirá una poderosa capa de ciberprotección para las organizaciones, ayudándolas a crear un código mejor y más rápido. Los desarrolladores no necesitan convertirse en expertos en seguridad, pero hay que capacitarlos de forma positiva y práctica para que sean la primera línea de defensa contra los ciberataques. Los desarrolladores pueden ser los próximos héroes de la seguridad y la innovación. Son personas muy inteligentes, resuelven problemas de forma creativa y, por lo general, están dispuestos a desarrollar sus habilidades. Aproveche sus puntos fuertes con la formación especializada que se merecen y comprométase con un mayor nivel de seguridad del software. Lea nuestro libro blanco para saber más.
Cuando alguien quiere pilotar un avión, hay un proceso muy riguroso que garantiza la formación, la experiencia práctica, los controles médicos, los conocimientos de seguridad y los exámenes antes de poder volar. Nadie se atrevería a imaginar que se le dejaría suelto en el cielo sin esta amplia preparación y validación de habilidades, y sin embargo esto es lo que ocurre en el día a día con la escritura de código.
Es bien conocida la teoría de que las cucarachas pueden sobrevivir a todo, incluso a una explosión nuclear. Aunque esa teoría sólo es cierta hasta cierto punto, su sencilla composición corporal las hace extremadamente resistentes para su tamaño y difíciles de erradicar en la mayoría de las condiciones.
He estado pensando... si las cucarachas tuvieran un equivalente en el mundo digital, tendrían que ser las vulnerabilidades de inyección SQL (SQLi) en el código. Se trata de una vulnerabilidad conocida desde hace más de veinte años y, sin embargo, las organizaciones son víctimas de ellas una y otra vez. El extenso y costoso ataque a Target fue el resultado de la inyección SQL, al igual que un caso de piratería electoral en Illinois en el que se expusieron 200.000 registros de votantes, lo que llevó al FBI a recomendar a todos los administradores de TI que trabajaran rápidamente para reforzar sus prácticas de seguridad.
El Informe de la Iniciativa de Inteligencia de Hackers de Imperva reveló que entre 2005 y 2011, los ataques SQLi se utilizaron en el 83% de todas las violaciones de datos reportadas. Hoy en día, las vulnerabilidades de inyección siguen siendo la amenaza número uno en el Top 10 de OWASP. Son relativamente sencillas, pero no mueren.
Parece ridículo que esta misma vulnerabilidad siga apareciendo en un número importante de análisis de seguridad de aplicaciones. Sabemos cómo funciona y sabemos cómo detenerla. ¿Cómo es posible? La verdad es que la seguridad de nuestro software tiene un amplio margen de mejora.
El informe de Veracode sobre el estado de la seguridad del software -basado en 400.000 escaneos de aplicaciones en 2017- reveló una estadística alarmante: solo el 30% de las aplicaciones pasaron la política OWASP Top 10. Este ha sido un tema constante en los últimos cinco años, con inyecciones SQL que aparecen en casi 1 de cada 3 aplicaciones recién escaneadas. Esto evidencia un problema endémico; no estamos aprendiendo de nuestros errores, y los CISOs parecen enfrentarse a una ardua batalla para poder conseguir suficiente talento en seguridad. Normalmente, la proporción de especialistas en seguridad de aplicaciones con respecto a los desarrolladores es de 1:100.
¿Por qué la seguridad de los programas informáticos está en peligro de extinción?
No es ningún secreto que el talento especializado en seguridad es escaso, pero también debemos prestar atención al hecho de que los desarrolladores no están solucionando los problemas a medida que surgen, y están claramente mal equipados para no introducir vulnerabilidades en primer lugar. En el mismo informe de Veracode, se divulgó que había mitigaciones documentadas para sólo el 14,4% de todas las vulnerabilidades de desarrollo. En otras palabras, la mayoría de las vulnerabilidades se presentaron sin mitigación de desarrollo. Menos de un tercio de las vulnerabilidades se cerraron en los primeros 90 días, y el 42% de las vulnerabilidades nunca se cerraron dentro del periodo de desarrollo.
Hablo todo el tiempo con profesionales de la seguridad, CISOs y CEOs, y anecdóticamente, me he dado cuenta de que muchas empresas se frustran tanto con el número de vulnerabilidades encontradas que no pueden ser mitigadas (además de la plaga conocida como falsos positivos), que dejan de escanear en busca de ellas por completo, cruzando los dedos y esperando lo mejor.
¿Por qué los profesionales de la seguridad de las aplicaciones dejan que esto ocurra?
No se equivoque: La gente de AppSec es dolorosamente consciente de los problemas en el código. Después de todo, esa es una de sus principales habilidades que los convierte en un recurso de equipo tan valioso. Sin embargo, a menudo se ven obstaculizados por varios factores.
Por ejemplo, un director de AppSec encontrará un problema y preguntará al desarrollador: "¿puedes arreglar el código?". La respuesta a esta importante pregunta difiere de una organización a otra, pero en general, el desarrollador está tan apretado cumpliendo estrictos sprints de entrega de características que simplemente no tiene tiempo para arreglar estos problemas, ni herramientas decentes para ayudarles. Los propios profesionales de la seguridad de las aplicaciones pueden ser capaces de identificar las vulnerabilidades, pero a menudo no tienen las habilidades y/o el acceso para remediarlas en el acto.
También debemos darnos cuenta de que para cada problema hay que encontrar una solución, aplicarla y probarla. Para el más mínimo problema que se encuentre en el código, el tiempo que puede llevar arreglarlo, por no hablar de los recursos necesarios, es inmenso. Hay más de 700 vulnerabilidades que pueden introducirse en el software, y es sencillamente imposible que una sola persona pueda defenderse de todas ellas. Por esta razón, la mayoría de las empresas se limitan a seguir el Top 10 de OWASP. Mientras tanto, los desarrolladores siguen construyendo características y, a su vez, siguen introduciendo vulnerabilidades en el código que escriben.
¿Cuál es la solución?
El hecho es que no damos a nuestros desarrolladores las herramientas y la formación necesarias para fomentar el éxito de la codificación segura. No hay normas que obliguen a las organizaciones a garantizar que los desarrolladores posean las habilidades de seguridad adecuadas, y es una triste realidad que la mayoría de las universidades y las prácticas no preparan a los desarrolladores junior para codificar de forma segura, tampoco.
Cuando alguien quiere pilotar un avión, hay un proceso muy riguroso que garantiza la formación, la experiencia práctica, los controles médicos, los conocimientos de seguridad y los exámenes antes de poder volar. Nadie se atrevería a imaginar que se le dejaría suelto en el cielo sin esta amplia preparación y validación de habilidades, y sin embargo esto es lo que ocurre en el día a día con la escritura de código.
Tenemos que dedicar tiempo a educar a los desarrolladores en la escritura de código seguro. Sin embargo, en el mundo actual, en el que el desarrollo de software es rápido y los buenos desarrolladores y profesionales de la seguridad escasean, nunca parece ser una prioridad. Es hora de cambiar la conversación.
Un reciente titular del Foro Económico Mundial gritaba: "No puede haber economía digital sin seguridad", y el contenido que lo acompañaba argumentaba la necesidad de que la seguridad sea una parte fundamental de cualquier estrategia de transformación digital. "La seguridad es lo que protege a las empresas, permitiéndoles innovar y crear nuevos productos y servicios. Más allá de un papel defensivo, la seguridad proporciona a las empresas una ventaja estratégica de crecimiento."
Mejorar las habilidades y los resultados de la codificación segura añadirá una poderosa capa de ciberprotección para las organizaciones, ayudándolas a crear un código mejor y más rápido. Los desarrolladores no necesitan convertirse en expertos en seguridad, pero hay que capacitarlos de forma positiva y práctica para que sean la primera línea de defensa contra los ciberataques. Los desarrolladores pueden ser los próximos héroes de la seguridad y la innovación. Son personas muy inteligentes, resuelven problemas de forma creativa y, por lo general, están dispuestos a desarrollar sus habilidades. Aproveche sus puntos fuertes con la formación especializada que se merecen y comprométase con un mayor nivel de seguridad del software. Lea nuestro libro blanco para saber más.
Cuando alguien quiere pilotar un avión, hay un proceso muy riguroso que garantiza la formación, la experiencia práctica, los controles médicos, los conocimientos de seguridad y los exámenes antes de poder volar. Nadie se atrevería a imaginar que se le dejaría suelto en el cielo sin esta amplia preparación y validación de habilidades, y sin embargo esto es lo que ocurre en el día a día con la escritura de código.
Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Ver el informeReservar una demostraciónMatias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Matías es un investigador y desarrollador con más de 15 años de experiencia práctica en seguridad de software. Ha desarrollado soluciones para empresas como Fortify Software y su propia empresa Sensei Security. A lo largo de su carrera, Matías ha dirigido múltiples proyectos de investigación sobre seguridad de aplicaciones que han dado lugar a productos comerciales y cuenta con más de 10 patentes en su haber. Cuando está lejos de su escritorio, Matias ha servido como instructor para la formación de seguridad de aplicaciones avanzadas courses y regularmente habla en conferencias mundiales como la Conferencia RSA, Black Hat, DefCon, BSIMM, OWASP AppSec y BruCon.
Matías es doctor en Ingeniería Informática por la Universidad de Gante, donde estudió la seguridad de las aplicaciones mediante la ofuscación de programas para ocultar el funcionamiento interno de una aplicación.
Es bien conocida la teoría de que las cucarachas pueden sobrevivir a todo, incluso a una explosión nuclear. Aunque esa teoría sólo es cierta hasta cierto punto, su sencilla composición corporal las hace extremadamente resistentes para su tamaño y difíciles de erradicar en la mayoría de las condiciones.
He estado pensando... si las cucarachas tuvieran un equivalente en el mundo digital, tendrían que ser las vulnerabilidades de inyección SQL (SQLi) en el código. Se trata de una vulnerabilidad conocida desde hace más de veinte años y, sin embargo, las organizaciones son víctimas de ellas una y otra vez. El extenso y costoso ataque a Target fue el resultado de la inyección SQL, al igual que un caso de piratería electoral en Illinois en el que se expusieron 200.000 registros de votantes, lo que llevó al FBI a recomendar a todos los administradores de TI que trabajaran rápidamente para reforzar sus prácticas de seguridad.
El Informe de la Iniciativa de Inteligencia de Hackers de Imperva reveló que entre 2005 y 2011, los ataques SQLi se utilizaron en el 83% de todas las violaciones de datos reportadas. Hoy en día, las vulnerabilidades de inyección siguen siendo la amenaza número uno en el Top 10 de OWASP. Son relativamente sencillas, pero no mueren.
Parece ridículo que esta misma vulnerabilidad siga apareciendo en un número importante de análisis de seguridad de aplicaciones. Sabemos cómo funciona y sabemos cómo detenerla. ¿Cómo es posible? La verdad es que la seguridad de nuestro software tiene un amplio margen de mejora.
El informe de Veracode sobre el estado de la seguridad del software -basado en 400.000 escaneos de aplicaciones en 2017- reveló una estadística alarmante: solo el 30% de las aplicaciones pasaron la política OWASP Top 10. Este ha sido un tema constante en los últimos cinco años, con inyecciones SQL que aparecen en casi 1 de cada 3 aplicaciones recién escaneadas. Esto evidencia un problema endémico; no estamos aprendiendo de nuestros errores, y los CISOs parecen enfrentarse a una ardua batalla para poder conseguir suficiente talento en seguridad. Normalmente, la proporción de especialistas en seguridad de aplicaciones con respecto a los desarrolladores es de 1:100.
¿Por qué la seguridad de los programas informáticos está en peligro de extinción?
No es ningún secreto que el talento especializado en seguridad es escaso, pero también debemos prestar atención al hecho de que los desarrolladores no están solucionando los problemas a medida que surgen, y están claramente mal equipados para no introducir vulnerabilidades en primer lugar. En el mismo informe de Veracode, se divulgó que había mitigaciones documentadas para sólo el 14,4% de todas las vulnerabilidades de desarrollo. En otras palabras, la mayoría de las vulnerabilidades se presentaron sin mitigación de desarrollo. Menos de un tercio de las vulnerabilidades se cerraron en los primeros 90 días, y el 42% de las vulnerabilidades nunca se cerraron dentro del periodo de desarrollo.
Hablo todo el tiempo con profesionales de la seguridad, CISOs y CEOs, y anecdóticamente, me he dado cuenta de que muchas empresas se frustran tanto con el número de vulnerabilidades encontradas que no pueden ser mitigadas (además de la plaga conocida como falsos positivos), que dejan de escanear en busca de ellas por completo, cruzando los dedos y esperando lo mejor.
¿Por qué los profesionales de la seguridad de las aplicaciones dejan que esto ocurra?
No se equivoque: La gente de AppSec es dolorosamente consciente de los problemas en el código. Después de todo, esa es una de sus principales habilidades que los convierte en un recurso de equipo tan valioso. Sin embargo, a menudo se ven obstaculizados por varios factores.
Por ejemplo, un director de AppSec encontrará un problema y preguntará al desarrollador: "¿puedes arreglar el código?". La respuesta a esta importante pregunta difiere de una organización a otra, pero en general, el desarrollador está tan apretado cumpliendo estrictos sprints de entrega de características que simplemente no tiene tiempo para arreglar estos problemas, ni herramientas decentes para ayudarles. Los propios profesionales de la seguridad de las aplicaciones pueden ser capaces de identificar las vulnerabilidades, pero a menudo no tienen las habilidades y/o el acceso para remediarlas en el acto.
También debemos darnos cuenta de que para cada problema hay que encontrar una solución, aplicarla y probarla. Para el más mínimo problema que se encuentre en el código, el tiempo que puede llevar arreglarlo, por no hablar de los recursos necesarios, es inmenso. Hay más de 700 vulnerabilidades que pueden introducirse en el software, y es sencillamente imposible que una sola persona pueda defenderse de todas ellas. Por esta razón, la mayoría de las empresas se limitan a seguir el Top 10 de OWASP. Mientras tanto, los desarrolladores siguen construyendo características y, a su vez, siguen introduciendo vulnerabilidades en el código que escriben.
¿Cuál es la solución?
El hecho es que no damos a nuestros desarrolladores las herramientas y la formación necesarias para fomentar el éxito de la codificación segura. No hay normas que obliguen a las organizaciones a garantizar que los desarrolladores posean las habilidades de seguridad adecuadas, y es una triste realidad que la mayoría de las universidades y las prácticas no preparan a los desarrolladores junior para codificar de forma segura, tampoco.
Cuando alguien quiere pilotar un avión, hay un proceso muy riguroso que garantiza la formación, la experiencia práctica, los controles médicos, los conocimientos de seguridad y los exámenes antes de poder volar. Nadie se atrevería a imaginar que se le dejaría suelto en el cielo sin esta amplia preparación y validación de habilidades, y sin embargo esto es lo que ocurre en el día a día con la escritura de código.
Tenemos que dedicar tiempo a educar a los desarrolladores en la escritura de código seguro. Sin embargo, en el mundo actual, en el que el desarrollo de software es rápido y los buenos desarrolladores y profesionales de la seguridad escasean, nunca parece ser una prioridad. Es hora de cambiar la conversación.
Un reciente titular del Foro Económico Mundial gritaba: "No puede haber economía digital sin seguridad", y el contenido que lo acompañaba argumentaba la necesidad de que la seguridad sea una parte fundamental de cualquier estrategia de transformación digital. "La seguridad es lo que protege a las empresas, permitiéndoles innovar y crear nuevos productos y servicios. Más allá de un papel defensivo, la seguridad proporciona a las empresas una ventaja estratégica de crecimiento."
Mejorar las habilidades y los resultados de la codificación segura añadirá una poderosa capa de ciberprotección para las organizaciones, ayudándolas a crear un código mejor y más rápido. Los desarrolladores no necesitan convertirse en expertos en seguridad, pero hay que capacitarlos de forma positiva y práctica para que sean la primera línea de defensa contra los ciberataques. Los desarrolladores pueden ser los próximos héroes de la seguridad y la innovación. Son personas muy inteligentes, resuelven problemas de forma creativa y, por lo general, están dispuestos a desarrollar sus habilidades. Aproveche sus puntos fuertes con la formación especializada que se merecen y comprométase con un mayor nivel de seguridad del software. Lea nuestro libro blanco para saber más.
Cuando alguien quiere pilotar un avión, hay un proceso muy riguroso que garantiza la formación, la experiencia práctica, los controles médicos, los conocimientos de seguridad y los exámenes antes de poder volar. Nadie se atrevería a imaginar que se le dejaría suelto en el cielo sin esta amplia preparación y validación de habilidades, y sin embargo esto es lo que ocurre en el día a día con la escritura de código.
Índice
Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Evaluación comparativa de las competencias en materia de seguridad: optimización del diseño seguro en la empresa
El movimiento Secure-by-Design es el futuro del desarrollo de software seguro. Conozca los elementos clave que las empresas deben tener en cuenta cuando piensan en una iniciativa Secure-by-Design.
DigitalOcean reduce su deuda de seguridad con Secure Code Warrior
El uso por parte de DigitalOcean de la formación Secure Code Warrior ha reducido significativamente la deuda de seguridad, permitiendo a los equipos centrarse más en la innovación y la productividad. La mejora de la seguridad ha reforzado la calidad de sus productos y su ventaja competitiva. De cara al futuro, SCW Trust Score les ayudará a seguir mejorando las prácticas de seguridad y a continuar impulsando la innovación.
Recursos para empezar
La puntuación de confianza revela el valor de las iniciativas de mejora de la seguridad mediante el diseño
Nuestra investigación ha demostrado que la formación en código seguro funciona. Trust Score, que utiliza un algoritmo basado en más de 20 millones de puntos de datos de aprendizaje procedentes del trabajo de más de 250 000 alumnos en más de 600 organizaciones, revela su eficacia a la hora de reducir las vulnerabilidades y cómo hacer que la iniciativa sea aún más eficaz.
Seguridad reactiva frente a seguridad preventiva: Prevenir es mejor que curar
La idea de introducir la seguridad preventiva en el código y los sistemas heredados al mismo tiempo que en las aplicaciones más recientes puede parecer desalentadora, pero un planteamiento basado en el diseño seguro, aplicado mediante la mejora de las competencias de los desarrolladores, puede aplicar las mejores prácticas de seguridad a esos sistemas. Es la mejor oportunidad que tienen muchas organizaciones de mejorar su seguridad.
Ventajas de la evaluación comparativa de las competencias de seguridad de los desarrolladores
La creciente atención que se presta al código seguro y a los principios del diseño seguro exige que los desarrolladores reciban formación en ciberseguridad desde el principio del proceso de desarrollo de software, con herramientas como Secure Code Warrior's Trust Score, que ayudan a medir y mejorar sus progresos.
Impulsando iniciativas de seguridad por diseño para empresas con éxito significativo
Nuestro último documento de investigación, Benchmarking Security Skills: Streamlining Secure-by-Design in the Enterprise, es el resultado de un análisis profundo de iniciativas reales de Secure-by-Design a nivel empresarial y de la derivación de enfoques de mejores prácticas basados en hallazgos basados en datos.