it-swarm-eu.dev

Perché una connessione desktop remoto potrebbe danneggiare il mio PC?

Quando provo a connettermi a un desktop remoto, appare un messaggio che dice qualcosa come "Assicurati di fidarti di questo PC, la connessione a un computer non affidabile potrebbe danneggiare il tuo PC". Perché potrebbe danneggiare il mio PC? Posso capire che se sto condividendo risorse locali o qualcosa del genere, ma se mi sto semplicemente connettendo a un desktop remoto, ciò danneggerebbe il mio computer? non è come sandbox? in che modo il desktop remoto accederà al mio PC?

17
user15119

Questa è una buona domanda! Innanzitutto un disclaimer che non sono veramente qualificato per dare una risposta completa, dato che finora sono stato abbastanza bravo a evitare RDP problemi di sicurezza in ambienti non attendibili. Uso sia client che server RDP, ma sempre e solo su host fidati. Detto questo, ho alcuni pensieri sul perché stiamo vedendo tali avvertimenti;

Sarebbe abbastanza ragionevole supporre che la maggior parte dei rischi per la sicurezza sarebbe stata intrapresa eseguendo un server RDP (ciò che Microsoft chiama Remote Desktop Services) e in passato c'erano alcuni exploit piuttosto famigerati, ad esempio la vulnerabilità al pass-the-hash or MiTM attacchi a connessioni non crittografate. Probabilmente tutti ricordiamo ancora di disabilitare Assistenza remota e di rimuovere le eccezioni delle porte associate nei firewall come una delle prime cose che abbiamo fatto durante l'installazione di Windows XP, ad esempio. Ma i rischi associati all'uso di un client RDP (o Connessione desktop remoto nella terminologia di Microsoft) non sembra così ovvio.

Per una spiegazione più approfondita sulla terminologia utilizzata e sulla distinzione tra un client RDP e un server RDP, consultare l'aggiornamento alla fine della mia risposta. Ma per chiarire le cose, questa è la finestra di avvertimento di cui OP sta parlando nella domanda:

This remote connection could harm your local or remote computer. Make sure that you trust the remote computer before you connect.

Anche se non sono stato in grado di trovare documentazione su recenti exploit auto-propaganti (ad es. Virus, trojan o worm) sfruttando Collegamenti desktop remoto tramite l'uso dell'aggiornamento Client di protocollo RDP, in particolare quelli che utilizzano TLS , sussistono ancora alcuni rischi connessi con la connessione a server RDP non attendibili:

  • Tracciamento delle attività dell'utente e keylogging : In sostanza, un server RDP non attendibile potrebbe registrare tutte le tue attività sul server, inclusi siti Web visitati, file scaricati, documenti hai effettuato l'accesso e stavi cambiando, le password immesse per accedere ai servizi remoti tramite il server RDP, in sostanza tengono traccia della tua sessione utente completa.

  • Infezione del client tramite file ospitati in remoto : Qualsiasi file scaricato dal server che ospita una sessione RDP potrebbe essere manomesso o infettato da malware. Potresti assumere falsamente fiducia in uno di questi file, pensando che quando li hai messi lì durante la tua precedente sessione RDP che non erano stati manomessi o infetti nel frattempo, trasferiscili sul tuo client RDP e apri/esegui/...

  • Man-in-the-middle : simile al rilevamento delle attività dell'utente, solo che questa volta l'attaccante è attivo sul server RDP a cui ti connetti e ascolti sulla connessione del client RDP al server RDP, dal server RDP alla LAN remota/WAN connessioni, o possibilmente entrambi. Oltre a poter ispezionare i contenuti dei pacchetti di rete scambiati, man-in-the-middle è anche in grado di modificarne i contenuti. La sessione RDP può essere crittografata tramite TLS, impedendo efficacemente di intercettarla, ma non è necessariamente il caso in cui altro ti connetti (LAN remota o WAN) utilizzando il server RDP.

  • Attacchi di ingegneria sociale : potresti essere vittima di un attacco di ingegneria sociale in cui l'attaccante guadagna la tua fiducia con false pretese e ti fa entrare in un server RDP indirizzo che ritieni possa essere attendibile nel tuo client RDP mentre stabilisci una nuova sessione, ma l'indirizzo che hai inserito è in realtà la scelta dell'aggressore. L'autore dell'attacco potrebbe ospitare un server RDP su quell'indirizzo al solo scopo di registrare le credenziali di accesso per un altro server RDP reale a cui intendevi connetterti. Grazie a @emtunc per avermi ricordato questa minaccia!

Onestamente, probabilmente ho lasciato fuori molte altre possibilità di abusare della fiducia degli utenti nel server RDP con cui stanno stabilendo una sessione, specialmente quando il server RDP non può essere attendibile ma l'utente si assume comunque questa fiducia, non riuscendo a vedere il potenziale pericolo nel farlo. Ma questi quattro vettori di attacco di esempio dovrebbero essere abbastanza per dimostrare che c'è una chiara necessità di tali avvisi che stai ricevendo.


Modifica per aggiungere : vedendo che c'è un po 'di confusione riguardo alla terminologia usata nelle mie e altre risposte (che tutti noi usiamo allo stesso modo per quanto posso dire), Voglio chiarire quali delle due estremità coinvolte in una sessione del PSR sono considerate un client e quale un server (o un host). Questi sono gli estratti di Wikipedia, per escludere qualsiasi spiegazione distorta e basata sull'opinione:

Wikipedia su Client (informatica) : un client è un componente hardware o software del computer che accede a un servizio reso disponibile da un server. Il server si trova spesso (ma non sempre) su un altro sistema informatico, nel qual caso il client accede al servizio tramite una rete. Il termine si applica a programmi o dispositivi che fanno parte di un modello client-server

Un client è un programma per computer che, come parte del suo funzionamento, si basa sull'invio di una richiesta a un altro programma per computer (che può o meno trovarsi su un altro computer). Ad esempio, i browser Web sono client che si connettono ai server Web e recuperano pagine Web per la visualizzazione. I client di posta elettronica recuperano la posta elettronica dai server di posta. La chat online utilizza una varietà di client, che variano in base al protocollo di chat utilizzato. I videogiochi multiplayer o i videogiochi online possono essere eseguiti come client su ciascun computer. Il termine "client" può anche essere applicato a computer o dispositivi che eseguono il software client o utenti che utilizzano il software client.

Wikipedia su Server (informatica) : un server è un sistema (software e hardware adatto) che risponde alle richieste attraverso un rete di computer per fornire o aiutare a fornire un servizio di rete. I server possono essere eseguiti su un computer dedicato, spesso definito anche "server", ma molti computer in rete sono in grado di ospitare server. In molti casi, un computer può fornire diversi servizi e avere diversi server in esecuzione.

I server operano all'interno di un'architettura client-server, i server sono programmi per computer in esecuzione per soddisfare le richieste di altri programmi, i client. Pertanto, il server esegue alcune attività per conto dei client. I client in genere si connettono al server attraverso la rete ma possono essere eseguiti sullo stesso computer. Nel contesto della rete IP (Internet Protocol), un server è un programma che funziona come listener di socket.

Per mettere questo in prospettiva come questa terminologia si applica a una sessione RDP, sto includendo anche estratti dal server RDP precedentemente collegato (Servizi Desktop remoto) e Client RDP (Connessione desktop remoto) Pagine Wikipedia:

Connessione desktop remoto (RDC, noto anche come Desktop remoto, precedentemente noto come Microsoft Terminal Services Client o mstsc) è l'applicazione client per Servizi Desktop remoto. Consente a un utente di accedere in remoto a un computer in rete che esegue il server dei servizi terminal. RDC presenta l'interfaccia desktop (o la GUI dell'applicazione) del sistema remoto, come se fosse accessibile localmente.

Il componente server di Servizi Desktop remoto è Terminal Server (termdd.sys), in ascolto sulla porta TCP 3389. Quando un RDP il client si connette a questa porta, è taggato con un SessionID univoco e associato a una sessione di console appena generata (Sessione 0, tastiera, mouse e interfaccia utente in modalità carattere). Viene quindi avviato il sottosistema di accesso (winlogon.exe) e il sottosistema grafico GDI, che gestisce il lavoro di autenticazione dell'utente e presentazione della GUI.

E per dirla visivamente, il client di Connessione desktop remoto su Windows 8 è simile a questo prima di stabilire una sessione RDP:

Remote Desktop Connection client on Windows 8

16
TildalWave

Un client RDP di base, per impostazione predefinita, condividerà gli Appunti attraverso la sessione RDP (perché è molto conveniente). Questo da solo consente al server remoto di ottenere una copia di tutto ciò che selezioni e "copia" sul tuo client, che si tratti di estratti di testo, file ... che è un evidente problema di sicurezza quando l'host remoto è ostile. Allo stesso modo, un server ostile può iniettare codice ostile nel meccanismo copia e incolla: se si esegue una copia e incolla di un file da una directory sul sistema desktop in un'altra directory sul sistema desktop, quindi il server ostile può intercettare la copia e alterare il file in transito, iniettando così un virus (se il file è eseguibile in qualche modo).

La teoria è che un server ostile non può fare nulla di male al client se sono vere tutte le seguenti condizioni:

  • Non esiste una risorsa condivisa tra client e server.
  • Il server non riceverà alcun input (come la pressione dei tasti e i movimenti del mouse) a meno che l'utente umano non lo scelga esplicitamente.
  • Il codice client RDP convalida debitamente tutti i dati dal server e non presenta vulnerabilità come un overflow del buffer nella gestione dei messaggi di protocollo ottenuti dal server.

Scommettere che una di queste tre condizioni sia soddisfatta, figuriamoci se tutte e tre sono soddisfatte, mi sembrerebbe piuttosto rischioso ...

Anche la situazione molto più semplice di fare una connessione SSH di solo testo a un server non attendibile è possibilmente pericolosa .

8
Tom Leek

Una connessione desktop remoto consente a qualcun altro di accedere completamente a un computer. Dall'altro lato, il computer a cui è stato effettuato l'accesso potrebbe tentare di inviare qualsiasi tipo di pacchetto di dati sospetti e/o dannosi utilizzando la connessione desktop remota "attendibile" stabilita.

Nell'analisi del malware (ad esempio), non ci si collegherebbe mai a un sistema non attendibile e potenzialmente infetto senza prendere le precauzioni appropriate come usare un VM che può essere eliminato in seguito quando diventa evidente che il sistema infetto stai analizzando è davvero infetto e diffonde le sue cose brutte usando qualsiasi connessione di rete disponibile. Nel tuo caso, quella sarebbe la connessione desktop remoto che stai per "fidati" quando si fa clic sul pulsante OK.

E questo è il motivo per cui è necessario leggere per accertarsi di connettersi a un computer attendibile.

Tieni sempre presente che una connessione desktop remoto è - nel suo nucleo - nient'altro che una connessione di rete bidirezionale tra due computer. Pertanto, tutti i rischi relativi alla rete sono rilevanti qui.

Per quel che vale, quel messaggio potrebbe anche dire: "sei sicuro che l'altro sistema non sia compromesso e che la persona che usa l'altro sistema non abbia intenzioni malevole?"

Non puoi immaginare quanti pacchetti non benigni ho visto trasportati su connessioni desktop remote mentre analizzavo i sistemi. Questi avrebbero immediatamente infettato il tuo sistema e nella maggior parte dei casi probabilmente non lo noteresti prima che il danno sia fatto. Fidati di me, questa è l'ultima cosa che vuoi che accada ...

Il messaggio potrebbe sollevare un sopracciglio quando lo leggi per la prima volta, ma non appena ti rendi conto di ciò che stai per fare (crea una connessione di rete "- affidabile" a un sistema remoto), l'avviso ha sicuramente senso.

[~ ~ #] modifica [~ ~ #]

Nel caso in cui l'avessi perso: l'11 giugno 2013, Microsoft ha dovuto chiamare una patch particolarmente importante (MS12-037) che risolveva (tra le altre cose) un difetto critico nel protocollo del desktop remoto di all Sistemi operativi Windows (RDP). Se vuoi essere il più sicuro possibile, assicurati di aver applicato gli ultimi aggiornamenti e le patch di sicurezza al tuo sistema.

1
e-sushi