Come può un osservatore di rete identificare i computer che eseguono vecchie versioni di Java?

10

Ho ricevuto un'email oggi dal mio ISP (un'università). L'e-mail legge (in parte):

Your network connection has been disabled because your version of Java is not patched for the most recent security vulnerabilities. This leaves your computer open to attack. If these vulnerabilities are not patched, your computer could come under the control of a hacker.

Non ho installato Java sul mio computer, quindi questo mi è sembrato un evidente falso positivo. Li ho contattati e ho ricevuto una risposta affermando che:

Our system automatically detects these vulnerabilities, and false positives are rare.

Sembra quindi che stiano eseguendo scansioni automatiche contro gli host sulla rete per cercare di identificare vecchie versioni di Java (e probabilmente di altri software). Sembra strano che sarei stato identificato da:

  • Blocco tutto il traffico in entrata eccetto ICMP e porta 22 (SSH); i test eseguiti dopo l'incidente confermano che il firewall funziona come previsto sia su LAN che WAN

  • Tutto il mio traffico legato a Internet viene instradato su un tunnel OpenVPN crittografato su un server remoto. Ho confermato dopo l'incidente che tutto il traffico, incluso il DNS, viene instradato attraverso questo tunnel (come previsto).

Nell'interesse di evitare futuri falsi positivi, che tipo di metodi vengono in genere utilizzati per questo tipo di scansioni automatiche delle vulnerabilità? Il mio interesse riguarda specificamente software come Java che non funziona in background o agisce come un server.

Alcuni background:

  • Il mio sistema sta eseguendo Debian stable. Nessun JDK o anche JRE è (o è mai stato) installato sul sistema.

  • L'ISP è in grado di monitorare tutto il traffico o eseguire scansioni, ma non di accedere al mio computer in alcun modo. Non ho mai installato alcun software dall'ISP o richiesto.

posta Tom Marthenal 23.09.2013 - 21:44
fonte

2 risposte

10

Beh, ovviamente, qualunque sia l'euristica che l'ISP impiega è sbagliata nel tuo caso, dal momento che non hai affatto Java. Possiamo immaginare alcuni scenari:

  • Il rilevamento dell'ISP si basa sul rilevamento dei download dal sito di Oracle: il loro sistema non è riuscito a rilevare alcun download di un aggiornamento dal computer e ha quindi concluso che Java "deve essere vecchio". (Sarebbe un sistema di rilevamento abbastanza stupido e inaffidabile).

  • C'è una pagina Web dell'Università che hai visitato, al di fuori della tua VPN, e quella pagina Web include un meccanismo di rilevamento del plugin Java (come questo ). Alcuni metodi di rilevamento coinvolgono solo alcuni Javascript che esaminano le proprietà del browser e che Javascript potrebbe essere diventato piuttosto confuso riguardo al tuo browser che non è Internet Explorer, e non a Windows.

  • L'ISP utilizza indirizzi IP dinamici e il sistema di rilevamento Java non ne è a conoscenza. Il computer di qualcun altro ha un vecchio Java e utilizzava un indirizzo IP che ti è stato assegnato e il sistema di rilevamento ha deciso che sei il colpevole.

  • A causa della cattiveria o (più spesso) errata configurazione, un altro utente con un vecchio Java ha temporaneamente utilizzato il proprio indirizzo IP come proprio. Stesso risultato dello scenario precedente: il rapporto su Java non assegnato va al ragazzo sbagliato (voi).

Per rilevare quale versione del plugin Java è installata nel browser di un utente, qualcosa di deve accadere con quel browser: il browser deve essere attivo ed eseguire un'applet Java o qualche Javascript che esegue la scansione del proprietà del browser. A parte il fatto che il tuo browser si connette a un sito che controllano, il loro unico metodo non stupido è quello di esaminare passivamente le richieste HTTP; quando qualche codice Java esegue una connessione HTTP ad alcuni server (molte applet comunicano al loro server di origine come parte della loro operazione), la richiesta HTTP includerà una riga di intestazione User-Agent con la versione di Java VM inclusa alla fine (ad es. "Java / 1.5.0_19"). Posso immaginare un "sistema di rilevamento Java" che aspetta che tale stringa appaia come parte di un'intestazione User-Agent nel traffico di rete.

    
risposta data 23.09.2013 - 22:11
fonte
0

Mi sembra una specie di attacco di phishing. Non è possibile che il tuo ISP possa determinare quale versione di java potrebbe essere in esecuzione.

E ovviamente, se hai ricevuto questa email, l'affermazione "la tua connessione di rete è stata disabilitata" è falsa.

    
risposta data 26.09.2013 - 22:15
fonte

Leggi altre domande sui tag