Esecuzione di processi esterni dalla sicurezza Java

0

Quali sono le implicazioni sulla sicurezza dell'esecuzione di processi esterni utilizzando Java ProcessBuilder / Process? Ad esempio:

Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("processExecutable");
InputStream is = proc.getInputStream();
int c;
while ((c = is.read()) != -1) {
  System.out.print((char) c);
}
int exitVal = proc.waitFor();

Da quanto ho capito, la comunicazione tra Java e processi esterni avviene tramite pipe, quindi mi interessa quanto sia difficile per qualcuno ascoltare e ricevere dati da un processo su Java su Unix? Solo gli utenti che hanno effettuato l'accesso allo stesso computer possono potenzialmente intercettare? Qualsiasi utente registrato avrà il potenziale o solo amministratori o utenti nello stesso gruppo, ecc. Come utente che esegue l'app Java che ha eseguito il processo esterno?

    
posta Miles 03.06.2014 - 17:25
fonte

1 risposta

1

Le pipe sono accessibili tramite / proc // fd /. Ciò significa che in una configurazione predefinita, solo la root e il proprietario del processo possono aprirli. Pertanto, puoi considerare il pipe sicuro quanto il filesystem locale.

    
risposta data 03.06.2014 - 18:30
fonte

Leggi altre domande sui tag