Sicurezza del porto chiuso

2

Ho quello che penso sia una domanda di sicurezza IT (sono più un programmatore me stesso).

Supponendo che eseguo una macchina dedicata (ad esempio un PC) per un singolo programma, il che significa che l'unica porta visibile e aperta verso l'esterno è la porta su cui è in ascolto questo programma.

Ulteriori ipotesi:

  • Il codice del programma non ha exploit, il che significa che nessun pacchetto esterno può far sì che il programma invii informazioni o cambi qualcosa sul disco rigido della macchina.

  • Tutte le comunicazioni da e verso la macchina sono crittografate in PGP o AES + RSA in qualche altro modo, incluse tutte le condizioni supplementari richieste da detti algoritmi (lunghezza delle chiavi, schema di riempimento e quant'altro).

Quali possibilità rimangono per un utente malintenzionato di decodificare i messaggi trasmessi da e verso la macchina?

Aggiungo la porta singola e nessuna ipotesi di exploit, dal momento che immagino che dato un PC normale che gestisce un sistema operativo con 40 porte aperte, questo dà a un utente malintenzionato l'opzione di infiltrarsi nella macchina tramite dette porte e installare un keylogger o qualcosa di simile.

L'idea qui è quella di creare un sistema di chat di massima sicurezza per due persone su reti aperte usando, ad esempio, un netbook dedicato sul wifi pubblico.

    
posta Legion 26.01.2012 - 14:49
fonte

3 risposte

5

se:

  • tutte le porte sono chiuse tranne quella che porta al tuo software server;
  • il tuo software server è privo di exploit;
  • l'implementazione, da parte del sistema operativo, della meccanica TCP / IP è priva di exploit;
  • l'implementazione, da parte del sistema operativo, dei servizi di rete non TCP (ad es. ICMP ) è senza exploit;
  • non esiste un accesso alla macchina alternativo controllabile dalla rete (come IPMI o KVM basato su rete ), o, se esiste, quell'accesso è privo di qualsiasi buco sfruttabile;
  • la crittografia viene eseguita correttamente, secondo gli standard, utilizzando standard per i quali non è noto o sospetto alcun problema di sicurezza e senza perdite di informazioni attraverso collaterali canali ;
  • tutto ciò che si trova all'altra estremità della comunicazione è allo stesso modo protetto e privo di exploit;
  • si presume che gli aggressori siano in grado di intercettare la rete e modificare a piacimento i byte, ma non di ottenere l'accesso fisico alle macchine coinvolte o alle reti locali o di ignorare i firewall che impongono il blocco delle porte;

quindi , in effetti, gli hacker non saranno in grado di ottenere informazioni sui dati scambiati, salvarne l'esistenza, le dimensioni approssimative e gli orari esatti in cui i blocchi di dati vengono inviati avanti e indietro (che può già abbastanza rivelatore , storicamente, ha permesso all'esercito statunitense di prevedere l'attacco giapponese su Midway nel giugno 1942). Gli autori di attacchi possono ancora bloccare i dati, duplicare i messaggi o reindirizzarli, e potrebbero eventualmente apprendere informazioni attraverso le reazioni del mittente e del destinatario in questi casi.

È un sacco di "se", però.

    
risposta data 26.01.2012 - 15:38
fonte
1

The programs code has no exploits

È facile da dire e difficile da implementare

All communication to and from the machine are encoded

Intendevi "crittografato"?

Ora sul serio: Devi rispondere a poche domande prima di andare allo sviluppo:

  1. Devi preoccuparti dell'autenticazione, come fai a saperlo stanno parlando con l'altro lato e non con l'aggressore?
  2. Utilizzerai i certificati lato cliente? Come li revochi?
  3. Come pubblichi il tuo IP? (Hai menzionato il WiFi pubblico, quindi suppongo che tu non abbia IP statico)
  4. C'è qualche server coinvolto che rende la connessione / sincronizzazione dei client?

Saluti

A

    
risposta data 26.01.2012 - 15:36
fonte
0

Sono un po 'confuso, affermi:

Assuming I am runing a dedicated machine (say a PC) for a single program, meaning that the only port visible and open to the outside is the port this program is listening on.

Con "programma singolo" Prendo questo per indicare solo il tuo programma, nessun browser web, nessun client DHCP, nessun client di posta elettronica, nessun bluetooth, nessuna tastiera o mouse wireless ecc. Inoltre, significa che il tuo sistema operativo non sta funzionando programmi o servizi. e che gli utenti non saranno in grado di installare o eseguire altri programmi su questi computer.

Se è così, significa che il tuo computer deve avere un indirizzo IP fisso che esclude in modo efficace l'uso in un bar, ecc., in cui solitamente è necessario accedere con un browser web e utilizzare un indirizzo IP dinamico.

È questo che intendi?

    
risposta data 26.01.2012 - 17:59
fonte

Leggi altre domande sui tag