Iconos SCW
héroe bg sin separador
Blog

¿Qué es Trojan Source y cómo se cuela en su código fuente?

Laura Verheyde
Publicado el 23 de febrero de 2022
Última actualización el 8 de marzo de 2026

A principios de noviembre, la Universidad de Cambridge publicó su investigación titulada Trojan-Source. Esta investigación se centró en cómo se pueden ocultar puertas traseras utilizando caracteres de formato direccionales en el código fuente y en los comentarios. Estos pueden utilizarse para crear código cuya lógica es interpretada de forma diferente por el compilador que por un revisor de código humano.

Esta vulnerabilidad es nueva, aunque Unicode se ha utilizado de forma indebida en el pasado, por ejemplo, ocultando la verdadera extensión de un archivo invirtiendo la dirección de la última parte del nombre del archivo. Las investigaciones más recientes han revelado que muchos compiladores ignoran los caracteres Unicode en el código fuente sin previo aviso, mientras que los editores de texto, incluidos los editores de código, pueden reordenar las líneas con comentarios y el código basado en ellos. Por lo tanto, puede ocurrir que el editor muestre el código y los comentarios de forma diferente y en un orden distinto al que los analiza el compilador, incluso intercambiando el código y los comentarios.

Siga leyendo para obtener más información. O si desea arremangarse y probar el hackeo simulado de Trojan Source, visite nuestra misión pública y gratuita para experimentarlo por sí mismo.

Texto bidireccional

Uno de estos ataques de código fuente troyano utiliza el algoritmo Unicode Bidi (bidireccional), que procesa la combinación de texto con un orden de visualización diferente, como el inglés (de izquierda a derecha) y el árabe (de derecha a izquierda). Los caracteres de formato direccional se pueden utilizar para reorganizar la agrupación y mostrar el orden de los caracteres.

La tabla anterior contiene algunos de los caracteres de anulación bidireccional relevantes para el ataque. Tomemos, por ejemplo,

RLI e d o c PDI

La abreviatura RLI significa «aislar de derecha a izquierda». Aislará el texto de su contexto (delimitado por PDI, aislamiento direccional emergente) y lo leerá de derecha a izquierda. El resultado es:

c o d e

Sin embargo, los compiladores e intérpretes no suelen procesar los caracteres de control de formato, incluidas las sobrescrituras bidireccionales, antes de analizar el código fuente. Si simplemente ignoran los caracteres de formato direccionales, analizan:

e d o c

¿Vino viejo en botellas nuevas?

Por supuesto, esto no es nada nuevo bajo el sol. En el pasado , se utilizaban caracteres de formato direccional en los nombres de los archivos para ocultar su naturaleza maliciosa. Un archivo adjunto de correo electrónico que aparece como «myspecialexe.doc» podría parecer bastante inocente si no fuera por el carácter RLO (sobrescritura de derecha a izquierda) presente, que indica el nombre real «myspecialcod.exe».

El ataque Trojan Source inserta caracteres de formato direccionales en comentarios y cadenas de caracteres del código fuente, ya que estos no generan errores de sintaxis ni de compilación. Estos caracteres de control cambian el orden de visualización de la lógica del código, de modo que el compilador lee algo completamente diferente a lo que lee un ser humano.

Por ejemplo, un archivo que contenga los siguientes bytes en este orden:

Texto Unicode bidireccional

Se reordena de la siguiente manera según los signos de formato direccionales.

Caracteres de formato direccional

De este modo, el código se renderiza de la siguiente manera cuando no se invocan explícitamente los caracteres para el formato direccional:

Caracteres Unicode bidireccionales

El RLO convierte el corchete de cierre en un corchete de apertura y viceversa en la última línea. El resultado de la ejecución de este código sería: «Usted es administrador». La comprobación de administrador se ha comentado, pero los caracteres de control dan la impresión de que todavía estaba presente.

(Fuente: https://github.com/nickboucher/trojan-source/blob/main/C%23/commenting-out.csx)

¿Cómo podría afectarte eso?

Muchos lenguajes son vulnerables a este ataque: C, C++, C#, JavaScript, Java, Rust, Go y Python, y se cree que hay más. Ahora bien, es posible que al desarrollador medio no le guste ver caracteres de formato direccional en el código fuente, pero un principiante podría encogerse de hombros y no darle importancia. Además, la visualización de estos caracteres depende en gran medida del IDE, por lo que nunca se puede garantizar que se reconozcan.

Pero, ¿cómo pudo colarse esta vulnerabilidad en el código fuente? En primer lugar, esto puede suceder cuando se utiliza código fuente de fuentes no fiables, en las que se han pasado por alto contribuciones de código malicioso. En segundo lugar, podría deberse a la simple copia y pegado de código de Internet, algo que la mayoría de los desarrolladores hemos hecho alguna vez. La mayoría de las empresas dependen de componentes de software de varios proveedores. Esto plantea la pregunta de hasta qué punto podemos confiar plenamente en este código y depender de él. ¿Cómo podemos buscar código fuente que contenga puertas traseras ocultas?

¿De quién es ese problema?

Por un lado, los compiladores y los procesos de compilación deberían prohibir las líneas de código fuente con más de una dirección, a menos que una dirección se limite estrictamente a cadenas de caracteres y comentarios. Tenga en cuenta que un carácter de formato direccional en una cadena de caracteres o un comentario puede prolongar un cambio de dirección hasta el final de la línea si no se muestra. En general, los editores de código deben renderizar y resaltar explícitamente los caracteres Unicode sospechosos, como los homógrafos y los caracteres de formato direccional. Desde noviembre, GitHub añade un signo de advertencia y un mensaje a cada línea de código que contiene texto Unicode bidireccional, aunque no resalta dónde se encuentran estos caracteres en la línea. Esto puede seguir dando lugar a que se cuelen cambios de dirección maliciosos junto con cambios de dirección inofensivos.

Es imprescindible sensibilizar a los desarrolladores y revisores de código al respecto. Por este motivo, hemos creado una solución completa que ilustra la vulnerabilidad de seguridad. Actualmente, esta solución completa está disponible para Java, C#, Python, GO y PHP.

Si quieres saber más, prueba nuestra simulación (misiones públicas) de Trojan Source y lee la investigación sobre las fuentes troyanas.

Simulación en Java

Simulación en C#

Simulación en PHP

Simulación en GO

Simulación en Python

Trojaner-Quelle
Trojaner-Quelle
Ver recurso
Ver recurso

¿Te interesa saber más?

Más información

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.

Reservar una demostración
Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Laura Verheyde
Publicado el 23 de febrero de 2022

Laura Verheyde es una desarrolladora de software en Secure Code Warrior centrada en la investigación de vulnerabilidades y la creación de contenidos para Missions y Coding labs.

Compartir en:
marcas de LinkedInSocialx logotipo
Trojaner-Quelle
Trojaner-Quelle

A principios de noviembre, la Universidad de Cambridge publicó su investigación titulada Trojan-Source. Esta investigación se centró en cómo se pueden ocultar puertas traseras utilizando caracteres de formato direccionales en el código fuente y en los comentarios. Estos pueden utilizarse para crear código cuya lógica es interpretada de forma diferente por el compilador que por un revisor de código humano.

Esta vulnerabilidad es nueva, aunque Unicode se ha utilizado de forma indebida en el pasado, por ejemplo, ocultando la verdadera extensión de un archivo invirtiendo la dirección de la última parte del nombre del archivo. Las investigaciones más recientes han revelado que muchos compiladores ignoran los caracteres Unicode en el código fuente sin previo aviso, mientras que los editores de texto, incluidos los editores de código, pueden reordenar las líneas con comentarios y el código basado en ellos. Por lo tanto, puede ocurrir que el editor muestre el código y los comentarios de forma diferente y en un orden distinto al que los analiza el compilador, incluso intercambiando el código y los comentarios.

Siga leyendo para obtener más información. O si desea arremangarse y probar el hackeo simulado de Trojan Source, visite nuestra misión pública y gratuita para experimentarlo por sí mismo.

Texto bidireccional

Uno de estos ataques de código fuente troyano utiliza el algoritmo Unicode Bidi (bidireccional), que procesa la combinación de texto con un orden de visualización diferente, como el inglés (de izquierda a derecha) y el árabe (de derecha a izquierda). Los caracteres de formato direccional se pueden utilizar para reorganizar la agrupación y mostrar el orden de los caracteres.

La tabla anterior contiene algunos de los caracteres de anulación bidireccional relevantes para el ataque. Tomemos, por ejemplo,

RLI e d o c PDI

La abreviatura RLI significa «aislar de derecha a izquierda». Aislará el texto de su contexto (delimitado por PDI, aislamiento direccional emergente) y lo leerá de derecha a izquierda. El resultado es:

c o d e

Sin embargo, los compiladores e intérpretes no suelen procesar los caracteres de control de formato, incluidas las sobrescrituras bidireccionales, antes de analizar el código fuente. Si simplemente ignoran los caracteres de formato direccionales, analizan:

e d o c

¿Vino viejo en botellas nuevas?

Por supuesto, esto no es nada nuevo bajo el sol. En el pasado , se utilizaban caracteres de formato direccional en los nombres de los archivos para ocultar su naturaleza maliciosa. Un archivo adjunto de correo electrónico que aparece como «myspecialexe.doc» podría parecer bastante inocente si no fuera por el carácter RLO (sobrescritura de derecha a izquierda) presente, que indica el nombre real «myspecialcod.exe».

El ataque Trojan Source inserta caracteres de formato direccionales en comentarios y cadenas de caracteres del código fuente, ya que estos no generan errores de sintaxis ni de compilación. Estos caracteres de control cambian el orden de visualización de la lógica del código, de modo que el compilador lee algo completamente diferente a lo que lee un ser humano.

Por ejemplo, un archivo que contenga los siguientes bytes en este orden:

Texto Unicode bidireccional

Se reordena de la siguiente manera según los signos de formato direccionales.

Caracteres de formato direccional

De este modo, el código se renderiza de la siguiente manera cuando no se invocan explícitamente los caracteres para el formato direccional:

Caracteres Unicode bidireccionales

El RLO convierte el corchete de cierre en un corchete de apertura y viceversa en la última línea. El resultado de la ejecución de este código sería: «Usted es administrador». La comprobación de administrador se ha comentado, pero los caracteres de control dan la impresión de que todavía estaba presente.

(Fuente: https://github.com/nickboucher/trojan-source/blob/main/C%23/commenting-out.csx)

¿Cómo podría afectarte eso?

Muchos lenguajes son vulnerables a este ataque: C, C++, C#, JavaScript, Java, Rust, Go y Python, y se cree que hay más. Ahora bien, es posible que al desarrollador medio no le guste ver caracteres de formato direccional en el código fuente, pero un principiante podría encogerse de hombros y no darle importancia. Además, la visualización de estos caracteres depende en gran medida del IDE, por lo que nunca se puede garantizar que se reconozcan.

Pero, ¿cómo pudo colarse esta vulnerabilidad en el código fuente? En primer lugar, esto puede suceder cuando se utiliza código fuente de fuentes no fiables, en las que se han pasado por alto contribuciones de código malicioso. En segundo lugar, podría deberse a la simple copia y pegado de código de Internet, algo que la mayoría de los desarrolladores hemos hecho alguna vez. La mayoría de las empresas dependen de componentes de software de varios proveedores. Esto plantea la pregunta de hasta qué punto podemos confiar plenamente en este código y depender de él. ¿Cómo podemos buscar código fuente que contenga puertas traseras ocultas?

¿De quién es ese problema?

Por un lado, los compiladores y los procesos de compilación deberían prohibir las líneas de código fuente con más de una dirección, a menos que una dirección se limite estrictamente a cadenas de caracteres y comentarios. Tenga en cuenta que un carácter de formato direccional en una cadena de caracteres o un comentario puede prolongar un cambio de dirección hasta el final de la línea si no se muestra. En general, los editores de código deben renderizar y resaltar explícitamente los caracteres Unicode sospechosos, como los homógrafos y los caracteres de formato direccional. Desde noviembre, GitHub añade un signo de advertencia y un mensaje a cada línea de código que contiene texto Unicode bidireccional, aunque no resalta dónde se encuentran estos caracteres en la línea. Esto puede seguir dando lugar a que se cuelen cambios de dirección maliciosos junto con cambios de dirección inofensivos.

Es imprescindible sensibilizar a los desarrolladores y revisores de código al respecto. Por este motivo, hemos creado una solución completa que ilustra la vulnerabilidad de seguridad. Actualmente, esta solución completa está disponible para Java, C#, Python, GO y PHP.

Si quieres saber más, prueba nuestra simulación (misiones públicas) de Trojan Source y lee la investigación sobre las fuentes troyanas.

Simulación en Java

Simulación en C#

Simulación en PHP

Simulación en GO

Simulación en Python

Ver recurso
Ver recurso

Rellene el siguiente formulario para descargar el informe.

Solicitamos su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación segura. Tratamos sus datos personales con el máximo cuidado y nunca los vendemos a otras empresas con fines comerciales.

Enviar
Icono de éxito de SCW
Icono de error scw
Para enviar el formulario, active las cookies de «Analytics». Cuando haya terminado, puede desactivarlas en cualquier momento.
Trojaner-Quelle

A principios de noviembre, la Universidad de Cambridge publicó su investigación titulada Trojan-Source. Esta investigación se centró en cómo se pueden ocultar puertas traseras utilizando caracteres de formato direccionales en el código fuente y en los comentarios. Estos pueden utilizarse para crear código cuya lógica es interpretada de forma diferente por el compilador que por un revisor de código humano.

Esta vulnerabilidad es nueva, aunque Unicode se ha utilizado de forma indebida en el pasado, por ejemplo, ocultando la verdadera extensión de un archivo invirtiendo la dirección de la última parte del nombre del archivo. Las investigaciones más recientes han revelado que muchos compiladores ignoran los caracteres Unicode en el código fuente sin previo aviso, mientras que los editores de texto, incluidos los editores de código, pueden reordenar las líneas con comentarios y el código basado en ellos. Por lo tanto, puede ocurrir que el editor muestre el código y los comentarios de forma diferente y en un orden distinto al que los analiza el compilador, incluso intercambiando el código y los comentarios.

Siga leyendo para obtener más información. O si desea arremangarse y probar el hackeo simulado de Trojan Source, visite nuestra misión pública y gratuita para experimentarlo por sí mismo.

Texto bidireccional

Uno de estos ataques de código fuente troyano utiliza el algoritmo Unicode Bidi (bidireccional), que procesa la combinación de texto con un orden de visualización diferente, como el inglés (de izquierda a derecha) y el árabe (de derecha a izquierda). Los caracteres de formato direccional se pueden utilizar para reorganizar la agrupación y mostrar el orden de los caracteres.

La tabla anterior contiene algunos de los caracteres de anulación bidireccional relevantes para el ataque. Tomemos, por ejemplo,

RLI e d o c PDI

La abreviatura RLI significa «aislar de derecha a izquierda». Aislará el texto de su contexto (delimitado por PDI, aislamiento direccional emergente) y lo leerá de derecha a izquierda. El resultado es:

c o d e

Sin embargo, los compiladores e intérpretes no suelen procesar los caracteres de control de formato, incluidas las sobrescrituras bidireccionales, antes de analizar el código fuente. Si simplemente ignoran los caracteres de formato direccionales, analizan:

e d o c

¿Vino viejo en botellas nuevas?

Por supuesto, esto no es nada nuevo bajo el sol. En el pasado , se utilizaban caracteres de formato direccional en los nombres de los archivos para ocultar su naturaleza maliciosa. Un archivo adjunto de correo electrónico que aparece como «myspecialexe.doc» podría parecer bastante inocente si no fuera por el carácter RLO (sobrescritura de derecha a izquierda) presente, que indica el nombre real «myspecialcod.exe».

El ataque Trojan Source inserta caracteres de formato direccionales en comentarios y cadenas de caracteres del código fuente, ya que estos no generan errores de sintaxis ni de compilación. Estos caracteres de control cambian el orden de visualización de la lógica del código, de modo que el compilador lee algo completamente diferente a lo que lee un ser humano.

Por ejemplo, un archivo que contenga los siguientes bytes en este orden:

Texto Unicode bidireccional

Se reordena de la siguiente manera según los signos de formato direccionales.

Caracteres de formato direccional

De este modo, el código se renderiza de la siguiente manera cuando no se invocan explícitamente los caracteres para el formato direccional:

Caracteres Unicode bidireccionales

El RLO convierte el corchete de cierre en un corchete de apertura y viceversa en la última línea. El resultado de la ejecución de este código sería: «Usted es administrador». La comprobación de administrador se ha comentado, pero los caracteres de control dan la impresión de que todavía estaba presente.

(Fuente: https://github.com/nickboucher/trojan-source/blob/main/C%23/commenting-out.csx)

¿Cómo podría afectarte eso?

Muchos lenguajes son vulnerables a este ataque: C, C++, C#, JavaScript, Java, Rust, Go y Python, y se cree que hay más. Ahora bien, es posible que al desarrollador medio no le guste ver caracteres de formato direccional en el código fuente, pero un principiante podría encogerse de hombros y no darle importancia. Además, la visualización de estos caracteres depende en gran medida del IDE, por lo que nunca se puede garantizar que se reconozcan.

Pero, ¿cómo pudo colarse esta vulnerabilidad en el código fuente? En primer lugar, esto puede suceder cuando se utiliza código fuente de fuentes no fiables, en las que se han pasado por alto contribuciones de código malicioso. En segundo lugar, podría deberse a la simple copia y pegado de código de Internet, algo que la mayoría de los desarrolladores hemos hecho alguna vez. La mayoría de las empresas dependen de componentes de software de varios proveedores. Esto plantea la pregunta de hasta qué punto podemos confiar plenamente en este código y depender de él. ¿Cómo podemos buscar código fuente que contenga puertas traseras ocultas?

¿De quién es ese problema?

Por un lado, los compiladores y los procesos de compilación deberían prohibir las líneas de código fuente con más de una dirección, a menos que una dirección se limite estrictamente a cadenas de caracteres y comentarios. Tenga en cuenta que un carácter de formato direccional en una cadena de caracteres o un comentario puede prolongar un cambio de dirección hasta el final de la línea si no se muestra. En general, los editores de código deben renderizar y resaltar explícitamente los caracteres Unicode sospechosos, como los homógrafos y los caracteres de formato direccional. Desde noviembre, GitHub añade un signo de advertencia y un mensaje a cada línea de código que contiene texto Unicode bidireccional, aunque no resalta dónde se encuentran estos caracteres en la línea. Esto puede seguir dando lugar a que se cuelen cambios de dirección maliciosos junto con cambios de dirección inofensivos.

Es imprescindible sensibilizar a los desarrolladores y revisores de código al respecto. Por este motivo, hemos creado una solución completa que ilustra la vulnerabilidad de seguridad. Actualmente, esta solución completa está disponible para Java, C#, Python, GO y PHP.

Si quieres saber más, prueba nuestra simulación (misiones públicas) de Trojan Source y lee la investigación sobre las fuentes troyanas.

Simulación en Java

Simulación en C#

Simulación en PHP

Simulación en GO

Simulación en Python

Ver seminario web
Empiece
Más información

Haga clic en el enlace de abajo y descargue el PDF de este recurso.

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.

Ver informeReservar una demostración
Ver recurso
Compartir en:
marcas de LinkedInSocialx logotipo
¿Te interesa saber más?

Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Laura Verheyde
Publicado el 23 de febrero de 2022

Laura Verheyde es una desarrolladora de software en Secure Code Warrior centrada en la investigación de vulnerabilidades y la creación de contenidos para Missions y Coding labs.

Compartir en:
marcas de LinkedInSocialx logotipo

A principios de noviembre, la Universidad de Cambridge publicó su investigación titulada Trojan-Source. Esta investigación se centró en cómo se pueden ocultar puertas traseras utilizando caracteres de formato direccionales en el código fuente y en los comentarios. Estos pueden utilizarse para crear código cuya lógica es interpretada de forma diferente por el compilador que por un revisor de código humano.

Esta vulnerabilidad es nueva, aunque Unicode se ha utilizado de forma indebida en el pasado, por ejemplo, ocultando la verdadera extensión de un archivo invirtiendo la dirección de la última parte del nombre del archivo. Las investigaciones más recientes han revelado que muchos compiladores ignoran los caracteres Unicode en el código fuente sin previo aviso, mientras que los editores de texto, incluidos los editores de código, pueden reordenar las líneas con comentarios y el código basado en ellos. Por lo tanto, puede ocurrir que el editor muestre el código y los comentarios de forma diferente y en un orden distinto al que los analiza el compilador, incluso intercambiando el código y los comentarios.

Siga leyendo para obtener más información. O si desea arremangarse y probar el hackeo simulado de Trojan Source, visite nuestra misión pública y gratuita para experimentarlo por sí mismo.

Texto bidireccional

Uno de estos ataques de código fuente troyano utiliza el algoritmo Unicode Bidi (bidireccional), que procesa la combinación de texto con un orden de visualización diferente, como el inglés (de izquierda a derecha) y el árabe (de derecha a izquierda). Los caracteres de formato direccional se pueden utilizar para reorganizar la agrupación y mostrar el orden de los caracteres.

La tabla anterior contiene algunos de los caracteres de anulación bidireccional relevantes para el ataque. Tomemos, por ejemplo,

RLI e d o c PDI

La abreviatura RLI significa «aislar de derecha a izquierda». Aislará el texto de su contexto (delimitado por PDI, aislamiento direccional emergente) y lo leerá de derecha a izquierda. El resultado es:

c o d e

Sin embargo, los compiladores e intérpretes no suelen procesar los caracteres de control de formato, incluidas las sobrescrituras bidireccionales, antes de analizar el código fuente. Si simplemente ignoran los caracteres de formato direccionales, analizan:

e d o c

¿Vino viejo en botellas nuevas?

Por supuesto, esto no es nada nuevo bajo el sol. En el pasado , se utilizaban caracteres de formato direccional en los nombres de los archivos para ocultar su naturaleza maliciosa. Un archivo adjunto de correo electrónico que aparece como «myspecialexe.doc» podría parecer bastante inocente si no fuera por el carácter RLO (sobrescritura de derecha a izquierda) presente, que indica el nombre real «myspecialcod.exe».

El ataque Trojan Source inserta caracteres de formato direccionales en comentarios y cadenas de caracteres del código fuente, ya que estos no generan errores de sintaxis ni de compilación. Estos caracteres de control cambian el orden de visualización de la lógica del código, de modo que el compilador lee algo completamente diferente a lo que lee un ser humano.

Por ejemplo, un archivo que contenga los siguientes bytes en este orden:

Texto Unicode bidireccional

Se reordena de la siguiente manera según los signos de formato direccionales.

Caracteres de formato direccional

De este modo, el código se renderiza de la siguiente manera cuando no se invocan explícitamente los caracteres para el formato direccional:

Caracteres Unicode bidireccionales

El RLO convierte el corchete de cierre en un corchete de apertura y viceversa en la última línea. El resultado de la ejecución de este código sería: «Usted es administrador». La comprobación de administrador se ha comentado, pero los caracteres de control dan la impresión de que todavía estaba presente.

(Fuente: https://github.com/nickboucher/trojan-source/blob/main/C%23/commenting-out.csx)

¿Cómo podría afectarte eso?

Muchos lenguajes son vulnerables a este ataque: C, C++, C#, JavaScript, Java, Rust, Go y Python, y se cree que hay más. Ahora bien, es posible que al desarrollador medio no le guste ver caracteres de formato direccional en el código fuente, pero un principiante podría encogerse de hombros y no darle importancia. Además, la visualización de estos caracteres depende en gran medida del IDE, por lo que nunca se puede garantizar que se reconozcan.

Pero, ¿cómo pudo colarse esta vulnerabilidad en el código fuente? En primer lugar, esto puede suceder cuando se utiliza código fuente de fuentes no fiables, en las que se han pasado por alto contribuciones de código malicioso. En segundo lugar, podría deberse a la simple copia y pegado de código de Internet, algo que la mayoría de los desarrolladores hemos hecho alguna vez. La mayoría de las empresas dependen de componentes de software de varios proveedores. Esto plantea la pregunta de hasta qué punto podemos confiar plenamente en este código y depender de él. ¿Cómo podemos buscar código fuente que contenga puertas traseras ocultas?

¿De quién es ese problema?

Por un lado, los compiladores y los procesos de compilación deberían prohibir las líneas de código fuente con más de una dirección, a menos que una dirección se limite estrictamente a cadenas de caracteres y comentarios. Tenga en cuenta que un carácter de formato direccional en una cadena de caracteres o un comentario puede prolongar un cambio de dirección hasta el final de la línea si no se muestra. En general, los editores de código deben renderizar y resaltar explícitamente los caracteres Unicode sospechosos, como los homógrafos y los caracteres de formato direccional. Desde noviembre, GitHub añade un signo de advertencia y un mensaje a cada línea de código que contiene texto Unicode bidireccional, aunque no resalta dónde se encuentran estos caracteres en la línea. Esto puede seguir dando lugar a que se cuelen cambios de dirección maliciosos junto con cambios de dirección inofensivos.

Es imprescindible sensibilizar a los desarrolladores y revisores de código al respecto. Por este motivo, hemos creado una solución completa que ilustra la vulnerabilidad de seguridad. Actualmente, esta solución completa está disponible para Java, C#, Python, GO y PHP.

Si quieres saber más, prueba nuestra simulación (misiones públicas) de Trojan Source y lee la investigación sobre las fuentes troyanas.

Simulación en Java

Simulación en C#

Simulación en PHP

Simulación en GO

Simulación en Python

Índice

Descargar PDF
Ver recurso
¿Te interesa saber más?

Más información

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.

Reservar una demostraciónDescargar
Compartir en:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos para empezar

Más entradas
Centro de recursos

Recursos para empezar

Más entradas