SCW 아이콘
영웅 배경, 구분선 없음
블로그

LLMs: ¿Un enfoque (im) perfectamente humano para proteger la codificación?

피터 다뉴
게시일 : 2024년 2월 1일
마지막 업데이트: 2026년 3월 6일

Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y distribuido aquí.

Desde los primeros rumores sobre las herramientas de IA más novedosas y rompedoras de la cultura, tanto los desarrolladores como los curiosos de la programación las han estado utilizando para generar código con solo tocar un botón. Los expertos en seguridad señalaron rápidamente que, en muchos casos, el código que se estaba produciendo era de mala calidad y vulnerable, y en manos de personas con pocos conocimientos de seguridad, podría provocar una avalancha de aplicaciones y desarrollos web inseguros que afectara a consumidores desprevenidos.

Y luego, hay quienes tienen suficientes conocimientos de seguridad como para usarlos para, bueno, el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe con la misma tecnología que se utiliza para propósitos nefastos. La suplantación de identidad, los vídeos fraudulentos totalmente falsos, la creación de malware, las travesuras de niños con guiones generales... estas actividades disruptivas se pueden llevar a cabo mucho más rápido y con menos barreras de entrada.

No cabe duda de que hay muchos cebos de clics que promocionan esta herramienta como revolucionaria, o al menos triunfa cuando se la combina con una habilidad humana «promedio». Si bien parece inevitable que la tecnología de inteligencia artificial tipo LLM cambie la forma en que abordamos muchos aspectos del trabajo (no solo el desarrollo de software), debemos dar un paso atrás y considerar los riesgos más allá de los titulares.

Y como compañero de programación, sus defectos son quizás su atributo más «humano».

Los patrones de codificación deficientes dominan sus soluciones preferidas

Con ChatGPT entrenado en décadas de código y bases de conocimiento existentes, no sorprende que, a pesar de su maravilla y misterio, también sufra los mismos escollos comunes a los que se enfrentan las personas cuando navegan por el código. Los patrones de codificación deficientes son lo más habitual, y todavía hace falta ser un experto en seguridad para generar ejemplos de codificación seguros formulando las preguntas correctas y proporcionando la ingeniería adecuada con rapidez.

Aun así, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde el punto de vista de la seguridad; la tecnología es propensa a provocar alucinaciones, incluso crear bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, tal y como descubrió Mike Shema. Esto podría llevar a los ciberdelincuentes a «hacer alucinaciones», ya que estarían encantados de lanzar algún tipo de malware disfrazado de la biblioteca inventada que ChatGPT recomienda con total confianza.

En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no esperábamos que los desarrolladores fueran suficientemente conscientes de la seguridad ni, como industria, los hemos preparado adecuadamente para escribir código seguro como estado predeterminado. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación que se han introducido en ChatGPT, y podemos esperar unos resultados de seguridad igualmente mediocres de su producción, al menos al principio. Los desarrolladores deberían ser capaces de identificar los errores de seguridad y corregirlos ellos mismos o diseñar mejores instrucciones para obtener un resultado más sólido.

La primera estudio de usuarios a gran escala El examen de cómo los usuarios interactúan con un asistente de codificación de IA para resolver una variedad de funciones relacionadas con la seguridad, realizado por investigadores de la Universidad de Stanford, respalda esta idea, y una observación concluye:

»Observamos que los participantes que tenían acceso al asistente de IA tenían más probabilidades de introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, pero también más probabilidades de calificar sus respuestas inseguras como seguras en comparación con las de nuestro grupo de control.».

Esto habla de un nivel de confianza predeterminado en el resultado de las herramientas de codificación de IA, ya que producen código que siempre es intrínsecamente seguro, cuando en realidad no lo es.


Entre esto y las inevitables amenazas transmitidas por la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar los estándares de calidad del código sin importar su origen.

El camino hacia el desastre de una violación de datos está lleno de buenas intenciones

No debería sorprendernos que los compañeros de programación de IA sean populares, especialmente porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, a plazos más ajustados y a las ambiciones de innovación de una empresa que recaen sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de conciencia práctica en materia de seguridad a la hora de utilizar la IA para programar conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores con herramientas de inteligencia artificial y aprendizaje automático generarán más código, y el nivel de riesgo de seguridad dependerá de su nivel de habilidad. Las organizaciones deben ser muy conscientes de que las personas no capacitadas generarán código con mayor rapidez, pero también aumentarán la velocidad de la deuda de seguridad técnica.

Incluso nuestra prueba preliminar (abril de 2023) con ChatGPT ha revelado que generará errores muy básicos que podrían tener consecuencias devastadoras. Cuando le pedimos que creara una rutina de inicio de sesión en PHP utilizando una base de datos MySQL, el código funcional se generó rápidamente. Sin embargo, por defecto almacenaba las contraseñas en texto plano en una base de datos, almacenaba las credenciales de conexión a la base de datos en código y utilizaba un patrón de codificación que podía provocar una inyección de SQL (aunque sí filtraba los parámetros de entrada y detectaba errores en la base de datos). Todos los errores de los novatos, se midan desde cualquier punto de vista:

Las recomendaciones de ChatGPT no son necesariamente seguras y pueden resultar peligrosas en algunos casos.


Las instrucciones adicionales aseguraron que se corrigieran los errores, pero se necesitan conocimientos de seguridad significativos para corregir el rumbo. El uso generalizado y descontrolado de estas herramientas no es mejor que dar rienda suelta a tus proyectos a desarrolladores noveles, y si este código sirve para crear infraestructuras delicadas o procesar datos personales, entonces estamos ante una bomba de relojería a punto de estallar.

Por supuesto, al igual que los desarrolladores junior sin duda aumentan sus habilidades con el tiempo, esperamos que las capacidades de AI/ML mejoren. Dentro de un año, es posible que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, esto tendrá el efecto de aumentar drásticamente los conocimientos de seguridad necesarios para detectar los errores de seguridad más graves, ocultos y no triviales que aún corre el riesgo de producir.

Seguimos mal preparados para encontrar y corregir las vulnerabilidades de seguridad, y la IA amplía la brecha

Si bien en este momento se ha hablado mucho de «girar a la izquierda» durante muchos años, el hecho es que, para la mayoría de las organizaciones, existe una falta significativa de conocimientos prácticos sobre seguridad entre la cohorte de desarrollo, y debemos esforzarnos más para proporcionarles las herramientas y la educación adecuadas que les ayuden en su camino.

Tal como están las cosas, no estamos preparados para los errores de seguridad a los que estamos acostumbrados, por no hablar de los nuevos problemas derivados de la IA, como la inyección rápida y las alucinaciones en cuclillas, que representan vectores de ataque completamente nuevos que están a punto de despegar como la pólvora. Las herramientas de codificación basadas en la IA representan el futuro del arsenal de programación de un desarrollador, pero la formación necesaria para utilizar estas armas de productividad de forma segura debe venir ahora mismo.

¿Quieres obtener más información? Descargar nuestro último libro blanco.
Portátil en la oscuridad con rayos de luz que salen de la pantalla.
Portátil en la oscuridad con rayos de luz que salen de la pantalla.
리소스 보기
리소스 보기

Si bien parece inevitable que la tecnología de inteligencia artificial tipo LLM cambie la forma en que abordamos muchos aspectos del trabajo, no solo el desarrollo de software, debemos dar un paso atrás y considerar los riesgos más allá de los titulares. Y como complemento de programación, sus defectos son quizás su atributo más «humano».

더 알고 싶으신가요?

최고 경영자, 회장 겸 공동 설립자

더 알아보세요

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

데모 예약하기
공유하기:
링크드인 브랜드사회적x 로고
저자
피터 다뉴
게시일: 2024년 2월 1일

최고 경영자, 회장 겸 공동 설립자

피터 댄히외는 보안 컨설턴트로 12년 이상 경력을 쌓았으며, 조직, 시스템 및 개인의 보안 취약점을 타겟팅하고 평가하는 방법에 대한 공격 기법을 가르치는 SANS의 수석 강사로 8년 이상 활동한 세계적으로 인정받는 보안 전문가입니다. 2016년에는 호주에서 가장 멋진 기술자 중 한 명으로 선정(비즈니스 인사이더)되었고, 올해의 사이버 보안 전문가(AISA - 호주 정보 보안 협회)로 선정되었으며, GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA 자격증을 보유하고 있습니다.

공유하기:
링크드인 브랜드사회적x 로고
Portátil en la oscuridad con rayos de luz que salen de la pantalla.
Portátil en la oscuridad con rayos de luz que salen de la pantalla.

Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y distribuido aquí.

Desde los primeros rumores sobre las herramientas de IA más novedosas y rompedoras de la cultura, tanto los desarrolladores como los curiosos de la programación las han estado utilizando para generar código con solo tocar un botón. Los expertos en seguridad señalaron rápidamente que, en muchos casos, el código que se estaba produciendo era de mala calidad y vulnerable, y en manos de personas con pocos conocimientos de seguridad, podría provocar una avalancha de aplicaciones y desarrollos web inseguros que afectara a consumidores desprevenidos.

Y luego, hay quienes tienen suficientes conocimientos de seguridad como para usarlos para, bueno, el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe con la misma tecnología que se utiliza para propósitos nefastos. La suplantación de identidad, los vídeos fraudulentos totalmente falsos, la creación de malware, las travesuras de niños con guiones generales... estas actividades disruptivas se pueden llevar a cabo mucho más rápido y con menos barreras de entrada.

No cabe duda de que hay muchos cebos de clics que promocionan esta herramienta como revolucionaria, o al menos triunfa cuando se la combina con una habilidad humana «promedio». Si bien parece inevitable que la tecnología de inteligencia artificial tipo LLM cambie la forma en que abordamos muchos aspectos del trabajo (no solo el desarrollo de software), debemos dar un paso atrás y considerar los riesgos más allá de los titulares.

Y como compañero de programación, sus defectos son quizás su atributo más «humano».

Los patrones de codificación deficientes dominan sus soluciones preferidas

Con ChatGPT entrenado en décadas de código y bases de conocimiento existentes, no sorprende que, a pesar de su maravilla y misterio, también sufra los mismos escollos comunes a los que se enfrentan las personas cuando navegan por el código. Los patrones de codificación deficientes son lo más habitual, y todavía hace falta ser un experto en seguridad para generar ejemplos de codificación seguros formulando las preguntas correctas y proporcionando la ingeniería adecuada con rapidez.

Aun así, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde el punto de vista de la seguridad; la tecnología es propensa a provocar alucinaciones, incluso crear bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, tal y como descubrió Mike Shema. Esto podría llevar a los ciberdelincuentes a «hacer alucinaciones», ya que estarían encantados de lanzar algún tipo de malware disfrazado de la biblioteca inventada que ChatGPT recomienda con total confianza.

En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no esperábamos que los desarrolladores fueran suficientemente conscientes de la seguridad ni, como industria, los hemos preparado adecuadamente para escribir código seguro como estado predeterminado. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación que se han introducido en ChatGPT, y podemos esperar unos resultados de seguridad igualmente mediocres de su producción, al menos al principio. Los desarrolladores deberían ser capaces de identificar los errores de seguridad y corregirlos ellos mismos o diseñar mejores instrucciones para obtener un resultado más sólido.

La primera estudio de usuarios a gran escala El examen de cómo los usuarios interactúan con un asistente de codificación de IA para resolver una variedad de funciones relacionadas con la seguridad, realizado por investigadores de la Universidad de Stanford, respalda esta idea, y una observación concluye:

»Observamos que los participantes que tenían acceso al asistente de IA tenían más probabilidades de introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, pero también más probabilidades de calificar sus respuestas inseguras como seguras en comparación con las de nuestro grupo de control.».

Esto habla de un nivel de confianza predeterminado en el resultado de las herramientas de codificación de IA, ya que producen código que siempre es intrínsecamente seguro, cuando en realidad no lo es.


Entre esto y las inevitables amenazas transmitidas por la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar los estándares de calidad del código sin importar su origen.

El camino hacia el desastre de una violación de datos está lleno de buenas intenciones

No debería sorprendernos que los compañeros de programación de IA sean populares, especialmente porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, a plazos más ajustados y a las ambiciones de innovación de una empresa que recaen sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de conciencia práctica en materia de seguridad a la hora de utilizar la IA para programar conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores con herramientas de inteligencia artificial y aprendizaje automático generarán más código, y el nivel de riesgo de seguridad dependerá de su nivel de habilidad. Las organizaciones deben ser muy conscientes de que las personas no capacitadas generarán código con mayor rapidez, pero también aumentarán la velocidad de la deuda de seguridad técnica.

Incluso nuestra prueba preliminar (abril de 2023) con ChatGPT ha revelado que generará errores muy básicos que podrían tener consecuencias devastadoras. Cuando le pedimos que creara una rutina de inicio de sesión en PHP utilizando una base de datos MySQL, el código funcional se generó rápidamente. Sin embargo, por defecto almacenaba las contraseñas en texto plano en una base de datos, almacenaba las credenciales de conexión a la base de datos en código y utilizaba un patrón de codificación que podía provocar una inyección de SQL (aunque sí filtraba los parámetros de entrada y detectaba errores en la base de datos). Todos los errores de los novatos, se midan desde cualquier punto de vista:

Las recomendaciones de ChatGPT no son necesariamente seguras y pueden resultar peligrosas en algunos casos.


Las instrucciones adicionales aseguraron que se corrigieran los errores, pero se necesitan conocimientos de seguridad significativos para corregir el rumbo. El uso generalizado y descontrolado de estas herramientas no es mejor que dar rienda suelta a tus proyectos a desarrolladores noveles, y si este código sirve para crear infraestructuras delicadas o procesar datos personales, entonces estamos ante una bomba de relojería a punto de estallar.

Por supuesto, al igual que los desarrolladores junior sin duda aumentan sus habilidades con el tiempo, esperamos que las capacidades de AI/ML mejoren. Dentro de un año, es posible que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, esto tendrá el efecto de aumentar drásticamente los conocimientos de seguridad necesarios para detectar los errores de seguridad más graves, ocultos y no triviales que aún corre el riesgo de producir.

Seguimos mal preparados para encontrar y corregir las vulnerabilidades de seguridad, y la IA amplía la brecha

Si bien en este momento se ha hablado mucho de «girar a la izquierda» durante muchos años, el hecho es que, para la mayoría de las organizaciones, existe una falta significativa de conocimientos prácticos sobre seguridad entre la cohorte de desarrollo, y debemos esforzarnos más para proporcionarles las herramientas y la educación adecuadas que les ayuden en su camino.

Tal como están las cosas, no estamos preparados para los errores de seguridad a los que estamos acostumbrados, por no hablar de los nuevos problemas derivados de la IA, como la inyección rápida y las alucinaciones en cuclillas, que representan vectores de ataque completamente nuevos que están a punto de despegar como la pólvora. Las herramientas de codificación basadas en la IA representan el futuro del arsenal de programación de un desarrollador, pero la formación necesaria para utilizar estas armas de productividad de forma segura debe venir ahora mismo.

¿Quieres obtener más información? Descargar nuestro último libro blanco.
리소스 보기
리소스 보기

다음 양식을 작성하여 보고서를 다운로드하십시오.

귀하의 허락을 받아 당사 제품 또는 안전한 암호화 관련 주제에 대한 정보를 보내드리고자 합니다. 귀하의 개인정보는 항상 최대한 신중하게 처리하며, 마케팅 목적으로 타사에 판매하지 않을 것을 약속드립니다.

보내기
scw 성공 아이콘
scw 오류 아이콘
양식을 보내려면 '분석' 쿠키를 활성화하세요. 완료 후에는 언제든지 다시 비활성화해도 됩니다.
Portátil en la oscuridad con rayos de luz que salen de la pantalla.

Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y distribuido aquí.

Desde los primeros rumores sobre las herramientas de IA más novedosas y rompedoras de la cultura, tanto los desarrolladores como los curiosos de la programación las han estado utilizando para generar código con solo tocar un botón. Los expertos en seguridad señalaron rápidamente que, en muchos casos, el código que se estaba produciendo era de mala calidad y vulnerable, y en manos de personas con pocos conocimientos de seguridad, podría provocar una avalancha de aplicaciones y desarrollos web inseguros que afectara a consumidores desprevenidos.

Y luego, hay quienes tienen suficientes conocimientos de seguridad como para usarlos para, bueno, el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe con la misma tecnología que se utiliza para propósitos nefastos. La suplantación de identidad, los vídeos fraudulentos totalmente falsos, la creación de malware, las travesuras de niños con guiones generales... estas actividades disruptivas se pueden llevar a cabo mucho más rápido y con menos barreras de entrada.

No cabe duda de que hay muchos cebos de clics que promocionan esta herramienta como revolucionaria, o al menos triunfa cuando se la combina con una habilidad humana «promedio». Si bien parece inevitable que la tecnología de inteligencia artificial tipo LLM cambie la forma en que abordamos muchos aspectos del trabajo (no solo el desarrollo de software), debemos dar un paso atrás y considerar los riesgos más allá de los titulares.

Y como compañero de programación, sus defectos son quizás su atributo más «humano».

Los patrones de codificación deficientes dominan sus soluciones preferidas

Con ChatGPT entrenado en décadas de código y bases de conocimiento existentes, no sorprende que, a pesar de su maravilla y misterio, también sufra los mismos escollos comunes a los que se enfrentan las personas cuando navegan por el código. Los patrones de codificación deficientes son lo más habitual, y todavía hace falta ser un experto en seguridad para generar ejemplos de codificación seguros formulando las preguntas correctas y proporcionando la ingeniería adecuada con rapidez.

Aun así, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde el punto de vista de la seguridad; la tecnología es propensa a provocar alucinaciones, incluso crear bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, tal y como descubrió Mike Shema. Esto podría llevar a los ciberdelincuentes a «hacer alucinaciones», ya que estarían encantados de lanzar algún tipo de malware disfrazado de la biblioteca inventada que ChatGPT recomienda con total confianza.

En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no esperábamos que los desarrolladores fueran suficientemente conscientes de la seguridad ni, como industria, los hemos preparado adecuadamente para escribir código seguro como estado predeterminado. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación que se han introducido en ChatGPT, y podemos esperar unos resultados de seguridad igualmente mediocres de su producción, al menos al principio. Los desarrolladores deberían ser capaces de identificar los errores de seguridad y corregirlos ellos mismos o diseñar mejores instrucciones para obtener un resultado más sólido.

La primera estudio de usuarios a gran escala El examen de cómo los usuarios interactúan con un asistente de codificación de IA para resolver una variedad de funciones relacionadas con la seguridad, realizado por investigadores de la Universidad de Stanford, respalda esta idea, y una observación concluye:

»Observamos que los participantes que tenían acceso al asistente de IA tenían más probabilidades de introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, pero también más probabilidades de calificar sus respuestas inseguras como seguras en comparación con las de nuestro grupo de control.».

Esto habla de un nivel de confianza predeterminado en el resultado de las herramientas de codificación de IA, ya que producen código que siempre es intrínsecamente seguro, cuando en realidad no lo es.


Entre esto y las inevitables amenazas transmitidas por la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar los estándares de calidad del código sin importar su origen.

El camino hacia el desastre de una violación de datos está lleno de buenas intenciones

No debería sorprendernos que los compañeros de programación de IA sean populares, especialmente porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, a plazos más ajustados y a las ambiciones de innovación de una empresa que recaen sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de conciencia práctica en materia de seguridad a la hora de utilizar la IA para programar conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores con herramientas de inteligencia artificial y aprendizaje automático generarán más código, y el nivel de riesgo de seguridad dependerá de su nivel de habilidad. Las organizaciones deben ser muy conscientes de que las personas no capacitadas generarán código con mayor rapidez, pero también aumentarán la velocidad de la deuda de seguridad técnica.

Incluso nuestra prueba preliminar (abril de 2023) con ChatGPT ha revelado que generará errores muy básicos que podrían tener consecuencias devastadoras. Cuando le pedimos que creara una rutina de inicio de sesión en PHP utilizando una base de datos MySQL, el código funcional se generó rápidamente. Sin embargo, por defecto almacenaba las contraseñas en texto plano en una base de datos, almacenaba las credenciales de conexión a la base de datos en código y utilizaba un patrón de codificación que podía provocar una inyección de SQL (aunque sí filtraba los parámetros de entrada y detectaba errores en la base de datos). Todos los errores de los novatos, se midan desde cualquier punto de vista:

Las recomendaciones de ChatGPT no son necesariamente seguras y pueden resultar peligrosas en algunos casos.


Las instrucciones adicionales aseguraron que se corrigieran los errores, pero se necesitan conocimientos de seguridad significativos para corregir el rumbo. El uso generalizado y descontrolado de estas herramientas no es mejor que dar rienda suelta a tus proyectos a desarrolladores noveles, y si este código sirve para crear infraestructuras delicadas o procesar datos personales, entonces estamos ante una bomba de relojería a punto de estallar.

Por supuesto, al igual que los desarrolladores junior sin duda aumentan sus habilidades con el tiempo, esperamos que las capacidades de AI/ML mejoren. Dentro de un año, es posible que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, esto tendrá el efecto de aumentar drásticamente los conocimientos de seguridad necesarios para detectar los errores de seguridad más graves, ocultos y no triviales que aún corre el riesgo de producir.

Seguimos mal preparados para encontrar y corregir las vulnerabilidades de seguridad, y la IA amplía la brecha

Si bien en este momento se ha hablado mucho de «girar a la izquierda» durante muchos años, el hecho es que, para la mayoría de las organizaciones, existe una falta significativa de conocimientos prácticos sobre seguridad entre la cohorte de desarrollo, y debemos esforzarnos más para proporcionarles las herramientas y la educación adecuadas que les ayuden en su camino.

Tal como están las cosas, no estamos preparados para los errores de seguridad a los que estamos acostumbrados, por no hablar de los nuevos problemas derivados de la IA, como la inyección rápida y las alucinaciones en cuclillas, que representan vectores de ataque completamente nuevos que están a punto de despegar como la pólvora. Las herramientas de codificación basadas en la IA representan el futuro del arsenal de programación de un desarrollador, pero la formación necesaria para utilizar estas armas de productividad de forma segura debe venir ahora mismo.

¿Quieres obtener más información? Descargar nuestro último libro blanco.
웹 세미나 보기
시작하다
더 알아보세요

아래 링크를 클릭하고 이 자료의 PDF를 다운로드하세요.

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

보고서 보기데모 예약하기
리소스 보기
공유하기:
링크드인 브랜드사회적x 로고
더 알고 싶으신가요?

공유하기:
링크드인 브랜드사회적x 로고
저자
피터 다뉴
게시일: 2024년 2월 1일

최고 경영자, 회장 겸 공동 설립자

피터 댄히외는 보안 컨설턴트로 12년 이상 경력을 쌓았으며, 조직, 시스템 및 개인의 보안 취약점을 타겟팅하고 평가하는 방법에 대한 공격 기법을 가르치는 SANS의 수석 강사로 8년 이상 활동한 세계적으로 인정받는 보안 전문가입니다. 2016년에는 호주에서 가장 멋진 기술자 중 한 명으로 선정(비즈니스 인사이더)되었고, 올해의 사이버 보안 전문가(AISA - 호주 정보 보안 협회)로 선정되었으며, GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA 자격증을 보유하고 있습니다.

공유하기:
링크드인 브랜드사회적x 로고

Una versión de este artículo apareció en Lectura oscura. Se ha actualizado y distribuido aquí.

Desde los primeros rumores sobre las herramientas de IA más novedosas y rompedoras de la cultura, tanto los desarrolladores como los curiosos de la programación las han estado utilizando para generar código con solo tocar un botón. Los expertos en seguridad señalaron rápidamente que, en muchos casos, el código que se estaba produciendo era de mala calidad y vulnerable, y en manos de personas con pocos conocimientos de seguridad, podría provocar una avalancha de aplicaciones y desarrollos web inseguros que afectara a consumidores desprevenidos.

Y luego, hay quienes tienen suficientes conocimientos de seguridad como para usarlos para, bueno, el mal. Por cada hazaña alucinante de la IA, parece que hay un contragolpe con la misma tecnología que se utiliza para propósitos nefastos. La suplantación de identidad, los vídeos fraudulentos totalmente falsos, la creación de malware, las travesuras de niños con guiones generales... estas actividades disruptivas se pueden llevar a cabo mucho más rápido y con menos barreras de entrada.

No cabe duda de que hay muchos cebos de clics que promocionan esta herramienta como revolucionaria, o al menos triunfa cuando se la combina con una habilidad humana «promedio». Si bien parece inevitable que la tecnología de inteligencia artificial tipo LLM cambie la forma en que abordamos muchos aspectos del trabajo (no solo el desarrollo de software), debemos dar un paso atrás y considerar los riesgos más allá de los titulares.

Y como compañero de programación, sus defectos son quizás su atributo más «humano».

Los patrones de codificación deficientes dominan sus soluciones preferidas

Con ChatGPT entrenado en décadas de código y bases de conocimiento existentes, no sorprende que, a pesar de su maravilla y misterio, también sufra los mismos escollos comunes a los que se enfrentan las personas cuando navegan por el código. Los patrones de codificación deficientes son lo más habitual, y todavía hace falta ser un experto en seguridad para generar ejemplos de codificación seguros formulando las preguntas correctas y proporcionando la ingeniería adecuada con rapidez.

Aun así, no hay garantía de que los fragmentos de código proporcionados sean precisos y funcionales desde el punto de vista de la seguridad; la tecnología es propensa a provocar alucinaciones, incluso crear bibliotecas inexistentes cuando se le pide que realice algunas operaciones JSON específicas, tal y como descubrió Mike Shema. Esto podría llevar a los ciberdelincuentes a «hacer alucinaciones», ya que estarían encantados de lanzar algún tipo de malware disfrazado de la biblioteca inventada que ChatGPT recomienda con total confianza.

En última instancia, tenemos que enfrentarnos a la realidad de que, en general, no esperábamos que los desarrolladores fueran suficientemente conscientes de la seguridad ni, como industria, los hemos preparado adecuadamente para escribir código seguro como estado predeterminado. Esto se pondrá de manifiesto en la enorme cantidad de datos de formación que se han introducido en ChatGPT, y podemos esperar unos resultados de seguridad igualmente mediocres de su producción, al menos al principio. Los desarrolladores deberían ser capaces de identificar los errores de seguridad y corregirlos ellos mismos o diseñar mejores instrucciones para obtener un resultado más sólido.

La primera estudio de usuarios a gran escala El examen de cómo los usuarios interactúan con un asistente de codificación de IA para resolver una variedad de funciones relacionadas con la seguridad, realizado por investigadores de la Universidad de Stanford, respalda esta idea, y una observación concluye:

»Observamos que los participantes que tenían acceso al asistente de IA tenían más probabilidades de introducir vulnerabilidades de seguridad en la mayoría de las tareas de programación, pero también más probabilidades de calificar sus respuestas inseguras como seguras en comparación con las de nuestro grupo de control.».

Esto habla de un nivel de confianza predeterminado en el resultado de las herramientas de codificación de IA, ya que producen código que siempre es intrínsecamente seguro, cuando en realidad no lo es.


Entre esto y las inevitables amenazas transmitidas por la IA que impregnarán nuestro futuro, ahora más que nunca, los desarrolladores deben perfeccionar sus habilidades de seguridad y elevar los estándares de calidad del código sin importar su origen.

El camino hacia el desastre de una violación de datos está lleno de buenas intenciones

No debería sorprendernos que los compañeros de programación de IA sean populares, especialmente porque los desarrolladores se enfrentan a una responsabilidad cada vez mayor, a plazos más ajustados y a las ambiciones de innovación de una empresa que recaen sobre sus hombros. Sin embargo, incluso con las mejores intenciones, la falta de conciencia práctica en materia de seguridad a la hora de utilizar la IA para programar conducirá inevitablemente a problemas de seguridad evidentes. Todos los desarrolladores con herramientas de inteligencia artificial y aprendizaje automático generarán más código, y el nivel de riesgo de seguridad dependerá de su nivel de habilidad. Las organizaciones deben ser muy conscientes de que las personas no capacitadas generarán código con mayor rapidez, pero también aumentarán la velocidad de la deuda de seguridad técnica.

Incluso nuestra prueba preliminar (abril de 2023) con ChatGPT ha revelado que generará errores muy básicos que podrían tener consecuencias devastadoras. Cuando le pedimos que creara una rutina de inicio de sesión en PHP utilizando una base de datos MySQL, el código funcional se generó rápidamente. Sin embargo, por defecto almacenaba las contraseñas en texto plano en una base de datos, almacenaba las credenciales de conexión a la base de datos en código y utilizaba un patrón de codificación que podía provocar una inyección de SQL (aunque sí filtraba los parámetros de entrada y detectaba errores en la base de datos). Todos los errores de los novatos, se midan desde cualquier punto de vista:

Las recomendaciones de ChatGPT no son necesariamente seguras y pueden resultar peligrosas en algunos casos.


Las instrucciones adicionales aseguraron que se corrigieran los errores, pero se necesitan conocimientos de seguridad significativos para corregir el rumbo. El uso generalizado y descontrolado de estas herramientas no es mejor que dar rienda suelta a tus proyectos a desarrolladores noveles, y si este código sirve para crear infraestructuras delicadas o procesar datos personales, entonces estamos ante una bomba de relojería a punto de estallar.

Por supuesto, al igual que los desarrolladores junior sin duda aumentan sus habilidades con el tiempo, esperamos que las capacidades de AI/ML mejoren. Dentro de un año, es posible que no cometa errores de seguridad tan obvios y sencillos. Sin embargo, esto tendrá el efecto de aumentar drásticamente los conocimientos de seguridad necesarios para detectar los errores de seguridad más graves, ocultos y no triviales que aún corre el riesgo de producir.

Seguimos mal preparados para encontrar y corregir las vulnerabilidades de seguridad, y la IA amplía la brecha

Si bien en este momento se ha hablado mucho de «girar a la izquierda» durante muchos años, el hecho es que, para la mayoría de las organizaciones, existe una falta significativa de conocimientos prácticos sobre seguridad entre la cohorte de desarrollo, y debemos esforzarnos más para proporcionarles las herramientas y la educación adecuadas que les ayuden en su camino.

Tal como están las cosas, no estamos preparados para los errores de seguridad a los que estamos acostumbrados, por no hablar de los nuevos problemas derivados de la IA, como la inyección rápida y las alucinaciones en cuclillas, que representan vectores de ataque completamente nuevos que están a punto de despegar como la pólvora. Las herramientas de codificación basadas en la IA representan el futuro del arsenal de programación de un desarrollador, pero la formación necesaria para utilizar estas armas de productividad de forma segura debe venir ahora mismo.

¿Quieres obtener más información? Descargar nuestro último libro blanco.

목차

PDF 다운로드
리소스 보기
더 알고 싶으신가요?

최고 경영자, 회장 겸 공동 설립자

더 알아보세요

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

데모 예약하기다운로드
공유하기:
링크드인 브랜드사회적x 로고
자원 센터

시작하기 위한 자료

더 많은 게시물
자원 센터

시작하기 위한 자료

더 많은 게시물