¿Existe el riesgo de que cURL se permita desde mi máquina?

1

Actualmente tengo varios scripts de actualización que ejecuto periódicamente, que usan curl para extraer e instalar actualizaciones desde varios lugares. Sin embargo, en mi configuración actual, tengo curl bloqueado por mi firewall, y debo permitirlo manualmente cada vez que ejecuto estos scripts. La vida sería más sencilla si pudiera siempre permitir curl desde mi máquina (al menos a algunos sitios específicos como github.com , sobre http y https ). ¿Hay alguna razón para no permitir esto? ¿Hay efectos secundarios potencialmente insidiosos al ejecutar curl de esta manera?

    
pregunta orome 04.02.2017 - 14:09
fuente

2 respuestas

2

Bueno, es posible que curl contenga una falla aún no descubierta, como un desbordamiento de búfer, y que un sitio cuidadosamente diseñado por ahí pueda contener datos que, cuando se extraen con curl, ejecuten código malicioso en su máquina con el derechos del usuario que ejecutó curl.

Dependiendo de qué tan aislada esté su máquina, abrir un agujero en su firewall para curl podría llevar a otro proceso malicioso en su máquina usando el mismo agujero para extraer datos de su máquina y cargarlos en uno de los sitios curl se le permitió conectarse a.

El primer escenario es poco probable, pero dentro del ámbito de lo posible. El segundo escenario asume que su máquina está altamente aislada y le preocupa que se extraigan secretos de ella. En ese caso, probablemente no debería estar conectado a Internet en absoluto, por lo que el escenario dos probablemente no sea realmente relevante.

Si estás hablando de una máquina de escritorio normal, no me preocuparía por los rizos.

Actualizado para responder a tu comentario: Un rizo que funcione correctamente y que estaba bajo tu control no enviaría datos arbitrarios. Pero si lograra instalar un programa malintencionado en su máquina, podría decirle que use curl para publicar datos que robé de su máquina a uno de los sitios a los que permitió que Curl se conecte.

La explicación técnica para esto es que curl envía una solicitud HTTP y recibe la respuesta en una Respuesta HTTP. Una solicitud HTTP puede contener datos arbitrarios; Así es como se diseña HTTP. Si solo desea permitir solicitudes HTTP muy específicas, tendrá que configurar su firewall para utilizar la inspección profunda de paquetes para bloquear todo excepto las solicitudes HTTP en la lista blanca.

Incluso eso no será suficiente para estar perfectamente seguro, ya que una vez que haya un agujero en su firewall, el proceso de otro podría imitar la curvatura y enviar información utilizando un canal secreto (como el envío de información). no en los bytes reales que envía, sino en la frecuencia de las solicitudes).

Sin embargo, es probable que no tenga que preocuparse por tales ataques a menos que esté realizando un trabajo muy importante o muy secreto que pueda interesar a los adversarios a nivel estatal.

    
respondido por el Pascal 04.02.2017 - 14:17
fuente
0

El proyecto de rizo consta de dos partes. Primero, hay libcurl , que es una biblioteca de C que se ocupa de realizar solicitudes de red de muchos tipos (incluida http). Luego está curl , la utilidad de línea de comandos que se basa en libcurl.

Libcurl es extremadamente utilizado. Hay una una larga lista de aplicaciones que la utilizan que no está remotamente cerca para completar. (Hay una lista igualmente grande e incompleta de empresas que también utilizan libcurl ). Incluso para las personas que no lo hacen utilícelo directamente, forma la base de las bibliotecas de solicitudes http más populares. La página de inicio tiene esto para decir:

  

curl se usa en líneas de comando o scripts para transferir datos. También se usa en automóviles, televisores, enrutadores, impresoras, equipos de audio, teléfonos móviles, tabletas, decodificadores, reproductores de medios y es la red troncal de transferencia de Internet para miles de aplicaciones de software que afectan a miles de millones de personas diariamente. .

El punto aquí es que el bloqueo de bloqueo evitará que la mayoría del software que utiliza la red funcione correctamente.

Ahora, ¿por qué hay una configuración incorporada (supongo) para esto en su firewall? A los gusanos les gusta propagarse, a los troyanos les gusta meter puertas traseras, a las botnets les gusta contactar a los servidores de control, a los atacantes les gusta exfiltrar (es decir, robar) datos privados, y todas estas cosas tienen una posibilidad razonable de usar curl. Esto no es porque curl sea popular entre los hackers, sino porque curl es popular entre los programadores. Entonces, ¿el bloqueo del rizo ayudará a prevenir este tipo de ataques? Posiblemente, aunque dependiendo de cómo se implemente, es probable que sea bastante fácil moverse. Y mantener esa configuración activada probablemente también te cause grandes dolores de cabeza. No parece que valga la pena, excepto en un entorno muy cerrado, en el que probablemente solo quieras agregar a la lista blanca las conexiones permitidas.

    
respondido por el Xiong Chiamiov 04.02.2017 - 16:34
fuente

Lea otras preguntas en las etiquetas