Ci sono rischi per consentire cURL dalla mia macchina?

1

Al momento ho diversi script di aggiornamento che eseguo periodicamente, che utilizzano curl per estrarre e installare aggiornamenti da varie posizioni. Nella mia attuale configurazione, tuttavia, ho curl bloccato dal mio firewall e devo permetterlo manualmente ogni volta che eseguo questi script. La vita sarebbe più semplice se potessi sempre consentire curl dalla mia macchina (almeno in alcuni siti specifici come github.com , oltre http e https ). C'è qualche ragione per non permetterlo? Ci sono potenziali effetti collaterali insidiosi nell'eseguire curl in questo modo?

    
posta orome 04.02.2017 - 14:09
fonte

2 risposte

2

Beh, è possibile che il ricciolo contenga una falla ancora sconosciuta, come un buffer overflow, e che un sito accuratamente predisposto in uscita possa contenere dati che, se tirati con arricciatura, eseguiranno codice dannoso sulla tua macchina con diritti dell'utente che si è arricciato.

A seconda di quanto è isolata la tua macchina, l'apertura di un buco nel tuo firewall per l'arricciatura potrebbe portare a un altro processo dannoso sulla tua macchina utilizzando lo stesso buco del firewall per estrarre i dati dalla tua macchina e caricarla su uno dei siti arricciati è stato permesso di connettersi a.

Il primo scenario è improbabile, ma nel regno del possibile. Il secondo scenario presuppone che la tua macchina sia altamente isolata e che tu sia preoccupata che i segreti vengano estratti da essa. In tal caso, probabilmente non dovrebbe essere collegato a Internet, quindi lo scenario due non è probabilmente rilevante.

Se stai parlando di una normale macchina desktop, non mi preoccuperei di arricciare.

Aggiornato per rispondere al tuo commento: un ricciolo funzionante che era sotto il tuo controllo non avrebbe inviato dati arbitrari. Ma se sono riuscito a installare un programma dannoso sulla tua macchina, potrei quindi dirgli di usare curl per pubblicare i dati che ho rubato dalla tua macchina a uno dei siti a cui hai permesso di arricciare la connessione.

La spiegazione tecnica per questo è che Curl invia una richiesta HTTP e riceve la risposta in una risposta HTTP. Una richiesta HTTP può contenere dati arbitrari; questo è il modo in cui è progettato HTTP. Se si desidera consentire solo richieste HTTP molto specifiche, è necessario configurare il firewall in modo da utilizzare l'ispezione deep packet per bloccare tutto tranne le richieste HTTP elencate in bianco.

Anche questo non sarà sufficiente per essere perfettamente al sicuro, poiché una volta che c'è un buco nel firewall, un processo un altro potrebbe imitare il ricciolo e inviare informazioni usando un canale nascosto (come l'invio di informazioni non nei byte effettivi che invia, ma nella frequenza delle richieste).

Tuttavia, probabilmente non devi preoccuparti di tali attacchi a meno che tu non stia facendo un lavoro molto importante o molto segreto che potrebbe interessare agli avversari di livello statale.

    
risposta data 04.02.2017 - 14:17
fonte
0

Il progetto curl è composto da due parti. Innanzitutto, c'è libcurl , che è una libreria C che gestisce le richieste di rete di molti tipi (incluso http). Poi c'è curl , l'utilità della riga di comando che è costruita su libcurl.

Libcurl è estremamente usato. Esiste un lungo elenco di applicazioni che lo utilizzano che non è in remoto vicino al completamento. (Esiste anche un elenco ampio e incompleto di aziende che usano libcurl .) Anche per le persone che non lo fanno usarlo direttamente, costituisce la base delle più popolari librerie di richieste http. La home page ha questo da dire:

curl is used in command lines or scripts to transfer data. It is also used in cars, television sets, routers, printers, audio equipment, mobile phones, tablets, settop boxes, media players and is the internet transfer backbone for thousands of software applications affecting billions of humans daily.

Il punto qui è che blocco arricciatura impedirà la maggior parte del software che utilizza la rete di funzionare correttamente.

Ora, perché c'è un'impostazione integrata (sto indovinando) per questo sul tuo firewall? A Worm piace diffondersi, ai Trojan piace colpire backdoor, alle botnet piace contattare i server di controllo, agli hacker piace estrarre (cioè rubare) dati privati, e tutte queste cose hanno una ragionevole possibilità di usare il curl. Questo non perché il ricciolo è popolare tra gli hacker, ma perché il ricciolo è popolare tra i programmatori. Quindi bloccare il ricciolo aiuterà a prevenire questi tipi di attacchi? Probabilmente, anche se a seconda di come è implementato è probabilmente abbastanza facile andare in giro. E mantenere questa impostazione attivata probabilmente causerà grossi grattacapi. Non sembra utile se non in un ambiente molto bloccato, in cui probabilmente desideri semplicemente autorizzare le connessioni consentite.

    
risposta data 04.02.2017 - 16:34
fonte

Leggi altre domande sui tag