Quali meccanismi mantengono i processi di rete (e le applicazioni) in modalità sandbox

0

Questa domanda deriva da mia altra domanda , scusa se è troppo simile Ora vorrei sapere quale meccanismo viene utilizzato per i processi di rete sandbox e (se rilevanti) i singoli programmi, se non del tutto?

Ovviamente, se la macchina locale è comporomizzata e qualcuno ha installato un programma di screensaver o un keylogger, tutte le scommesse sono disattivate. Inoltre, ora che il processore è in modalità sandbox in anelli di protezione e le informazioni sulla rete sono separate in alcuni livelli dello stack del protocollo, probabilmente da qualche parte nei livelli IP / TCP / sessione / applicazione insieme ai loro numeri di porta univoci utilizzati per l'identificazione. (Ulteriori chiarimenti sui miei due precedenti punti vaghi su anelli e strati in relazione alla mia domanda sarebbero informativi).

Scenario: stai facendo operazioni bancarie sul tuo browser web con la porta in uscita 80 e le porte casuali non comuni in ingresso. Apro un programma Java locale legittimo che accede a informazioni su Internet su una porta diversa. Che tipo di diafonia può essere possibile? (Se il linguaggio conta, cioè qualcosa di diverso da Java, per favore spiega).

Come nella mia altra domanda, non sto parlando di software malefico. Più simile a ciò che è possibile per il programma Java o il browser Web per rilevare l'uno sull'altro in un ambiente normale. Ovviamente, sarebbe considerato dannoso per entrambi i programmi ottenere e inviare informazioni sul processo di rete senza il permesso dell'utente ... ma quanto lontano può raggiungere ogni processo?

Analogy For Asking: gli hub originali funzionavano trasmettendo informazioni su tutte le porte a tutti i client che ponevano un significativo problema alla LAN. Tutto quello che un adattatore NIC doveva fare per ascoltare era non scartare i frame non destinati a se stesso. Tuttavia, questo è stato considerato normale. C'è qualche ragione per cui non dovrei eseguire contemporaneamente operazioni bancarie e altri programmi Java esterni? Se la macchina è completamente comporomizzata, ovviamente questo non fa differenza. Ma ti sto chiedendo ... beh spero che tu lo sappia ormai.

CHIARIMENTO: La mia domanda riguarda generalmente i programmi che stanno creando socket e così via. Ovviamente, tutti questi programmi condividono una base comune, la CPU e la memoria, ma i programmi che non aprono le porte, o sono bloccati dal firewall del software per impostazione predefinita, non mi riguardano tanto. O dovrebbero?

    
posta user58446 04.12.2014 - 16:44
fonte

3 risposte

1

Ciò di cui stai parlando riguarda alcuni livelli diversi del modello OSI:

Sul livello 7 (Applicazione) hai la tua web-app che inizia a comunicare con l'host della banca (ad esempio). Avvia una richiesta di comunicazioni gestita da Layer 5 (Session) che crea e mantiene il canale di comunicazione tra le applicazioni. Il risultato è chiamato socket in termini comuni. Tutti i dati trasportati sono gestiti dal layer 4 (Transport) che a sua volta è diretto da Layer 3 (Network) che guida il frame ethernet / IP Packet verso la sua destinazione, il quale attraversa il layer 2 (DataLink) che è responsabile per gestire la modifica dei frame per il trasporto su Layer 1 (fisico) del filo o della comunicazione wireless.

Il livello 6 (presentazione) converte o modifica i dati inviati, in modo che possano essere compresi a entrambe le estremità dalle applicazioni che utilizzano i dati.

Ogni applicazione in esecuzione, che richiede comunicazioni di rete, passa attraverso quel tipo di processo e le informazioni da ciascun socket vengono fornite all'applicazione che l'ha aperta. Come per la maggior parte dei programmi non maliziosi, essi (probabilmente) non ottengono o visualizzano le informazioni inviate su altri socket. Quindi, per rispondere alla tua domanda, in genere non c'è motivo di non eseguire più applicazioni contemporaneamente. Le app basate su Java usano ancora i propri socket e il sistema operativo gestisce quali informazioni vanno dove.

Tuttavia, poiché TUTTE le informazioni passano attraverso una sezione comune di livello 2 e livello 1 (NIC / cavo / radio), è possibile creare applicazioni che possano acquisire e registrare TUTTO IL TRAFFICO DI RETE localmente sul proprio computer. (In effetti esistono molti, ad esempio Wireshark). In questo caso, è molto probabile che alcune applicazioni visualizzino o eseguano azioni basate su tali dati acquisiti. Ci sono alcuni altri attacchi che possono essere utilizzati per dirottare la sessione (socket) e ottenere le informazioni anche a quel livello.

Cosa si può fare per proteggerlo? La crittografia dei dati a livelli diversi può impedire l'acquisizione di dati leggibili o utilizzabili da parte di programmi che potrebbero voler "sbirciare" le tue informazioni. Ma questo è un mostro molto diverso e viene fornito con i propri pezzi divertenti.

Sono relativamente nuovo all'intera rete, ma comprendere il modello OSI e il modo in cui concettualizza il networking richiede un lungo cammino per comprenderlo.

    
risposta data 04.12.2014 - 17:27
fonte
1

Esistono infatti soluzioni per impedire ai processi di accedere al traffico di altri processi, sebbene abbiano i loro limiti e di solito siano limitati a una rete locale. Ma almeno per alcuni ambienti di sicurezza, è sufficiente.

La parola chiave qui sarebbe "Netlabel". Quelle sono etichette aggiunte ai pacchetti IP, contenenti informazioni di sicurezza sul contenuto trasferito.

Non sono aggiornato su questo argomento, ma sembra che SElinux fornisca una sorta di funzionalità di etichettatura. Dato che posso pubblicare solo due link con il mio rappresentante, chiedi a google "nb networking selinux". Il primo hit fornisce alcune informazioni su quell'argomento riguardante SElinux.

Inoltre, ci sono soluzioni commerciali che spesso usano CIPSO per l'etichettatura. Un breve sommario di CIPSO è disponibile qui e qui è la bozza. CIPSO è piuttosto vecchio quando si sta guardando la bozza, ma è utilizzata oggi proprio per questo scopo: proteggere il contenuto che scorre attraverso le reti, assicurandosi che i soggetti non autorizzati non saranno in grado di acquisire i dati.

    
risposta data 05.12.2014 - 01:30
fonte
0

I sistemi monouso sono l'unico metodo contro gli attacchi interdominio. Paradossalmente, la legge di Moore lo ha reso impossibile.

Esistono tecniche di mitigazione su ciascuno dei livelli OSI, ma fondamentalmente funzionano solo in una banda ristretta. Una volta preso in considerazione l'aspetto politico / strutturale delle cose, scoprirai che l'unico modo per salvaguardare qualsiasi cosa è produrre un modo di trasferimento estremamente strutturato. E per avere processi di mitigazione in atto per fermare le interruzioni.

    
risposta data 05.12.2014 - 00:36
fonte

Leggi altre domande sui tag