Aprovechar las ventajas de la innovación en IA depende de empezar con un código seguro

Publicado el 09 de abril de 2024
por Secure Code Warrior
ESTUDIO DE CASO

Aprovechar las ventajas de la innovación en IA depende de empezar con un código seguro

Publicado el 09 de abril de 2024
por Secure Code Warrior
Ver recurso
Ver recurso

Los desarrolladores de software han demostrado que están preparados y dispuestos a hacer uso de la inteligencia artificial (IA) generativa para escribir código, y en general han visto algunos resultados favorables. Pero también hay muchos indicios de que podrían estar jugando a un juego peligroso.

Según una encuesta reciente de GitHub, más del 90 % de los desarrolladores estadounidenses utilizan herramientas de codificación con IA, citando ventajas como tiempos de ejecución más rápidos, resolución rápida de incidencias y un entorno más colaborativo, algo que consideran importante. Trabajar con herramientas de IA permite a los desarrolladores desprenderse de tareas rutinarias, lo que les permite trabajar en tareas más creativas que benefician a sus empresas y, no por casualidad, reduce las posibilidades de agotamiento en el trabajo.

Sin embargo, los estudios también han demostrado que las herramientas de IA son propensas a introducir fallos al escribir código. Según una encuesta de Snyk, aunque el 75,8% de los encuestados afirma que el código de IA es más seguro que el código humano, el 56,4% admite que la IA a veces introduce problemas de codificación. Y lo que es más alarmante, el 80% de los encuestados afirma que se salta las políticas de seguridad del código de IA durante el desarrollo.

Desde que ChatGPT de OpenAI debutó en noviembre de 2022, el uso de modelos de IA generativa se ha extendido con la velocidad del rayo por todo el proceso de desarrollo de código en los servicios financieros, al igual que en muchos otros campos. La rápida aparición de otros modelos, como GitHub Copilot, OpenAI Codex y una lista creciente de otros, sugiere que solo hemos arañado la superficie de lo que la IA generativa puede hacer y del impacto que puede tener. Pero para que ese impacto sea positivo, tenemos que asegurarnos de que el código que genera es seguro.

Los errores de codificación pueden propagarse rápidamente

Ya sea creado por desarrolladores humanos o por modelos de IA, el código va a contener algunos errores. Con la IA ayudando a acelerar el desarrollo de código para satisfacer las demandas cada vez mayores en entornos informáticos altamente distribuidos y basados en la nube, podrían aumentar las posibilidades de que el código defectuoso se propague ampliamente antes de ser detectado. 

Los modelos de IA que se entrenan para escribir código ingieren miles de ejemplos de código que realizan diversas tareas y, a partir de ellos, pueden crear su propio código. Pero si las muestras a partir de las que trabaja contienen fallos o vulnerabilidades -ya hayan sido creadas originalmente por un humano o por otra IA-, el modelo podría transferir esos fallos a un nuevo entorno. 

Teniendo en cuenta que la investigación ha demostrado que los modelos de IA no son capaces de reconocer de forma fiable los fallos del código que utilizan, hay pocas defensas integradas contra la propagación de fallos y vulnerabilidades. La IA no sólo cometerá errores de codificación, sino que repetirá sus propios errores y los de otras fuentes hasta que la vulnerabilidad se identifique en algún momento, tal vez en forma de violación de una empresa que utilice el software creado por ella.

La verdadera defensa contra la proliferación de fallos de codificación es que los humanos y los modelos de IA trabajen juntos. Los desarrolladores humanos deben supervisar la escritura del código de la IA y servir de control contra las prácticas de codificación inseguras y el código vulnerable. Pero para que esto ocurra, los desarrolladores deben estar bien formados en las mejores prácticas de escritura de código seguro para que puedan identificar los errores de codificación que pueda cometer una IA y corregirlos rápidamente.

Los retos de la creación y corrección de códigos de IA

La repentina explosión de los grandes modelos lingüísticos (LLM) como ChatGPT ha sido una especie de arma de doble filo. Por un lado, las empresas y los usuarios de a pie han experimentado un enorme aumento de la productividad gracias al uso de la IA para realizar tareas que requieren mucho tiempo, son onerosas o difíciles. Por otro lado, ha habido muchos ejemplos de lo que puede salir mal cuando se confía ciegamente en la IA para que se encargue del trabajo.

Los modelos de inteligencia artificial han cometido errores flagrantes, han mostrado sesgos y han producido alucinaciones. En muchos casos, la raíz del problema estaba en unos datos de entrenamiento inadecuados o irresponsables. Cualquier modelo de IA es tan bueno como los datos con los que se entrena, por lo que es esencial que los datos de entrenamiento sean exhaustivos y se examinen cuidadosamente. Sin embargo, incluso entonces se cometerán algunos errores.

El uso de la IA para la codificación se enfrenta a muchos de los mismos obstáculos. Se ha demostrado que el código generado por la IA contiene una serie de fallos, como vulnerabilidades de secuencias de comandos en sitios cruzados e inyección de código, así como ataques específicos de la IA y el aprendizaje automático (ML), como la inyección puntual. Los modelos de IA también operan en una caja negra porque sus procesos no son transparentes, lo que impide que un equipo de seguridad o desarrollo vea cómo una IA llega a sus conclusiones. Como resultado, el modelo puede repetir los mismos errores una y otra vez. Las mismas deficiencias que pueden afectar a la escritura de código también se trasladan al uso de la IA para la corrección de código y el cumplimiento de los requisitos de conformidad. 

La posibilidad de que los modelos de IA creen o repitan fallos ha crecido hasta el punto de que los LLM cuentan ahora con su propia lista de las diez principales vulnerabilidades del Open Web Application Security Project (OWASP).

Los desarrolladores y la IA pueden colaborar para crear código seguro

La preocupación por los posibles fallos del código generado por IA puede hacer que algunas organizaciones se cuestionen, aunque sea brevemente, si seguir adelante con esta tecnología. Pero los beneficios potenciales son demasiado grandes para ignorarlos, sobre todo a medida que los desarrolladores de IA siguen innovando y mejorando sus modelos. Es poco probable que el sector de los servicios financieros vuelva a meter al genio en la botella. Los bancos y las empresas de servicios financieros ya están impulsados por la tecnología y operan en un campo en el que siempre buscan una ventaja competitiva. 

La clave está en implantar los modelos de IA de forma que se minimicen los riesgos. Y eso significa contar con desarrolladores concienciados con la seguridad y formados a fondo en las mejores prácticas de codificación segura, para que puedan escribir ellos mismos código seguro y supervisar de cerca el código que producen los modelos de IA. Si los motores de IA y los desarrolladores humanos trabajan juntos en estrecha colaboración, con los desarrolladores teniendo la última palabra, las empresas pueden cosechar los beneficios de una mayor productividad y eficiencia, al tiempo que mejoran la seguridad, limitan el riesgo y garantizan el cumplimiento. 

Para obtener una visión completa de cómo la codificación segura puede ayudar a garantizar el éxito, la seguridad y los beneficios de las empresas de servicios financieros, puede leer la guía recién publicada Secure Code Warrior : La guía definitiva sobre tendencias de seguridad en los servicios financieros.

Consulte las páginas del Secure Code Warrior para obtener más información sobre la ciberseguridad, el panorama cada vez más peligroso de las amenazas y saber cómo puede emplear tecnología innovadora y formación para proteger mejor a su organización y a sus clientes.

Ver recurso
Ver recurso

Autor

Secure Code Warrior

Secure Code Warrior crea una cultura de desarrolladores orientados a la seguridad, dotándoles de las habilidades necesarias para codificar de forma segura. Nuestro buque insignia es Agile Learning Platform , que ofrece itinerarios basados en habilidades relevantes, prácticas en missions y herramientas contextuales para que los desarrolladores aprendan, desarrollen y apliquen rápidamente sus habilidades para escribir código seguro a gran velocidad.

¿Quieres más?

Sumérjase en nuestras últimas ideas sobre codificación segura en el blog.

Nuestra amplia biblioteca de recursos tiene como objetivo potenciar el enfoque humano de la mejora de la codificación segura.

Ver blog
¿Quieres más?

Obtenga las últimas investigaciones sobre la seguridad impulsada por los desarrolladores

Nuestra amplia biblioteca de recursos está repleta de recursos útiles, desde libros blancos hasta seminarios web, que le ayudarán a iniciarse en la codificación segura orientada a los desarrolladores. Explórela ahora.

Centro de recursos

Aprovechar las ventajas de la innovación en IA depende de empezar con un código seguro

Publicado el 09 de abril de 2024
Por Secure Code Warrior

Los desarrolladores de software han demostrado que están preparados y dispuestos a hacer uso de la inteligencia artificial (IA) generativa para escribir código, y en general han visto algunos resultados favorables. Pero también hay muchos indicios de que podrían estar jugando a un juego peligroso.

Según una encuesta reciente de GitHub, más del 90 % de los desarrolladores estadounidenses utilizan herramientas de codificación con IA, citando ventajas como tiempos de ejecución más rápidos, resolución rápida de incidencias y un entorno más colaborativo, algo que consideran importante. Trabajar con herramientas de IA permite a los desarrolladores desprenderse de tareas rutinarias, lo que les permite trabajar en tareas más creativas que benefician a sus empresas y, no por casualidad, reduce las posibilidades de agotamiento en el trabajo.

Sin embargo, los estudios también han demostrado que las herramientas de IA son propensas a introducir fallos al escribir código. Según una encuesta de Snyk, aunque el 75,8% de los encuestados afirma que el código de IA es más seguro que el código humano, el 56,4% admite que la IA a veces introduce problemas de codificación. Y lo que es más alarmante, el 80% de los encuestados afirma que se salta las políticas de seguridad del código de IA durante el desarrollo.

Desde que ChatGPT de OpenAI debutó en noviembre de 2022, el uso de modelos de IA generativa se ha extendido con la velocidad del rayo por todo el proceso de desarrollo de código en los servicios financieros, al igual que en muchos otros campos. La rápida aparición de otros modelos, como GitHub Copilot, OpenAI Codex y una lista creciente de otros, sugiere que solo hemos arañado la superficie de lo que la IA generativa puede hacer y del impacto que puede tener. Pero para que ese impacto sea positivo, tenemos que asegurarnos de que el código que genera es seguro.

Los errores de codificación pueden propagarse rápidamente

Ya sea creado por desarrolladores humanos o por modelos de IA, el código va a contener algunos errores. Con la IA ayudando a acelerar el desarrollo de código para satisfacer las demandas cada vez mayores en entornos informáticos altamente distribuidos y basados en la nube, podrían aumentar las posibilidades de que el código defectuoso se propague ampliamente antes de ser detectado. 

Los modelos de IA que se entrenan para escribir código ingieren miles de ejemplos de código que realizan diversas tareas y, a partir de ellos, pueden crear su propio código. Pero si las muestras a partir de las que trabaja contienen fallos o vulnerabilidades -ya hayan sido creadas originalmente por un humano o por otra IA-, el modelo podría transferir esos fallos a un nuevo entorno. 

Teniendo en cuenta que la investigación ha demostrado que los modelos de IA no son capaces de reconocer de forma fiable los fallos del código que utilizan, hay pocas defensas integradas contra la propagación de fallos y vulnerabilidades. La IA no sólo cometerá errores de codificación, sino que repetirá sus propios errores y los de otras fuentes hasta que la vulnerabilidad se identifique en algún momento, tal vez en forma de violación de una empresa que utilice el software creado por ella.

La verdadera defensa contra la proliferación de fallos de codificación es que los humanos y los modelos de IA trabajen juntos. Los desarrolladores humanos deben supervisar la escritura del código de la IA y servir de control contra las prácticas de codificación inseguras y el código vulnerable. Pero para que esto ocurra, los desarrolladores deben estar bien formados en las mejores prácticas de escritura de código seguro para que puedan identificar los errores de codificación que pueda cometer una IA y corregirlos rápidamente.

Los retos de la creación y corrección de códigos de IA

La repentina explosión de los grandes modelos lingüísticos (LLM) como ChatGPT ha sido una especie de arma de doble filo. Por un lado, las empresas y los usuarios de a pie han experimentado un enorme aumento de la productividad gracias al uso de la IA para realizar tareas que requieren mucho tiempo, son onerosas o difíciles. Por otro lado, ha habido muchos ejemplos de lo que puede salir mal cuando se confía ciegamente en la IA para que se encargue del trabajo.

Los modelos de inteligencia artificial han cometido errores flagrantes, han mostrado sesgos y han producido alucinaciones. En muchos casos, la raíz del problema estaba en unos datos de entrenamiento inadecuados o irresponsables. Cualquier modelo de IA es tan bueno como los datos con los que se entrena, por lo que es esencial que los datos de entrenamiento sean exhaustivos y se examinen cuidadosamente. Sin embargo, incluso entonces se cometerán algunos errores.

El uso de la IA para la codificación se enfrenta a muchos de los mismos obstáculos. Se ha demostrado que el código generado por la IA contiene una serie de fallos, como vulnerabilidades de secuencias de comandos en sitios cruzados e inyección de código, así como ataques específicos de la IA y el aprendizaje automático (ML), como la inyección puntual. Los modelos de IA también operan en una caja negra porque sus procesos no son transparentes, lo que impide que un equipo de seguridad o desarrollo vea cómo una IA llega a sus conclusiones. Como resultado, el modelo puede repetir los mismos errores una y otra vez. Las mismas deficiencias que pueden afectar a la escritura de código también se trasladan al uso de la IA para la corrección de código y el cumplimiento de los requisitos de conformidad. 

La posibilidad de que los modelos de IA creen o repitan fallos ha crecido hasta el punto de que los LLM cuentan ahora con su propia lista de las diez principales vulnerabilidades del Open Web Application Security Project (OWASP).

Los desarrolladores y la IA pueden colaborar para crear código seguro

La preocupación por los posibles fallos del código generado por IA puede hacer que algunas organizaciones se cuestionen, aunque sea brevemente, si seguir adelante con esta tecnología. Pero los beneficios potenciales son demasiado grandes para ignorarlos, sobre todo a medida que los desarrolladores de IA siguen innovando y mejorando sus modelos. Es poco probable que el sector de los servicios financieros vuelva a meter al genio en la botella. Los bancos y las empresas de servicios financieros ya están impulsados por la tecnología y operan en un campo en el que siempre buscan una ventaja competitiva. 

La clave está en implantar los modelos de IA de forma que se minimicen los riesgos. Y eso significa contar con desarrolladores concienciados con la seguridad y formados a fondo en las mejores prácticas de codificación segura, para que puedan escribir ellos mismos código seguro y supervisar de cerca el código que producen los modelos de IA. Si los motores de IA y los desarrolladores humanos trabajan juntos en estrecha colaboración, con los desarrolladores teniendo la última palabra, las empresas pueden cosechar los beneficios de una mayor productividad y eficiencia, al tiempo que mejoran la seguridad, limitan el riesgo y garantizan el cumplimiento. 

Para obtener una visión completa de cómo la codificación segura puede ayudar a garantizar el éxito, la seguridad y los beneficios de las empresas de servicios financieros, puede leer la guía recién publicada Secure Code Warrior : La guía definitiva sobre tendencias de seguridad en los servicios financieros.

Consulte las páginas del Secure Code Warrior para obtener más información sobre la ciberseguridad, el panorama cada vez más peligroso de las amenazas y saber cómo puede emplear tecnología innovadora y formación para proteger mejor a su organización y a sus clientes.

Nos gustaría contar con su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación segura. Siempre trataremos sus datos personales con el máximo cuidado y nunca los venderemos a otras empresas con fines de marketing.

Enviar
Para enviar el formulario, habilite las cookies "Analytics". Siéntase libre de desactivarlas de nuevo una vez que haya terminado.