In teoria - sì , il tuo computer può comunque essere compromesso anche se tutte le porte TCP e UDP sono chiuse e non hai malware in esecuzione. Tuttavia, le probabilità di hackerare il tuo computer, se tutte le porte sono chiuse, sono decisamente inferiori rispetto a un sistema in cui un server web è in ascolto su una porta accessibile pubblicamente.
Per fare un esempio, ci sono alcuni protocolli che non hanno il concetto di porte in primo luogo, per esempio ICMP, IPv4 o Ethernet. Se lo Stack di rete del tuo sistema operativo ha un'implacabile implementazione ICMP, IPv4 o Ethernet, allora, in teoria, tale errore potrebbe essere usato come backdoor per ottenere il controllo parziale o completo del tuo computer. Vedi il bug di Ping of Death che ha permesso agli aggressori di bloccare i computer arbitrari con implementazioni ICMP vulnerabili anche se non erano aperte porte UDP o TCP .
Nel complesso, se un computer può essere violato, allora è sempre:
- un bug di implementazione (ad esempio, un ingegnere del software ha commesso un errore nel suo codice. Vedi vulnerabilità OpenSSL Heartbleed o Ping of Death);
- un bug di progettazione (ad esempio, le persone che progettavano il protocollo non pensavano abbastanza bene agli aspetti dell'autenticazione; vedi vulnerabilità del protocollo POOLLE o del protocollo WEP SSLv3); o
- un bug nelle istruzioni che l'amministratore utilizza per eseguire il provisioning dell'host (ad esempio utilizzando password deboli o eseguendo determinati software che non impongono l'autenticazione in zone non attendibili o semplicemente [un] eseguendo intenzionalmente software vecchio e buggato)
Quando valuti la sicurezza, consiglio sempre ad altri ingegneri del software di pensare in termini di
How much execution flow of the code running on system attacker can control, before your code
will drop this IP packet as malicious. The earlier this drop of malicious packet happens the more secure the system is.
Ad esempio, se tutte le porte sono chiuse, l'attaccante può ancora "eseguire" il codice dello spazio del kernel fino alla gestione del protocollo TCP e UDP, dove il pacchetto verrebbe eliminato perché non c'è una porta di destinazione aperta - mentre molto improbabile, c'è ancora potrebbero essere bug nel codice di gestione IP o TCP nel kernel di cui nessuno oggi è a conoscenza. Tuttavia, se si hanno porte aperte, questo significa che l'attaccante potrebbe tentare di sfruttare i bug non solo nello spazio del kernel ma anche nello spazio utente (es. Implementazione HTTP - il server Web in ascolto sulla porta 80)
Inoltre, l'altra risposta menziona potenziali bug di sicurezza nel codice lato "client", ad esempio, Browser Web. Questi sono più difficili da sfruttare perché l'autore dell'attacco dovrebbe essere nel percorso tra l'host e il server prova a parlare; quindi intercettare la sessione HTTP; e alterare la comunicazione nella speranza di esporre un potenziale bug nel tuo browser web. Tuttavia, nella tua domanda hai premessa "conoscendo solo l'indirizzo IP" che interpreto come "Un altro ragazzo di diversa posizione fisica che tenta di hackerare il tuo computer". Tuttavia, se questo altro ragazzo si trova nello stesso dominio di trasmissione L2, può falsificare ARP per trovarsi all'improvviso nel percorso tra il tuo browser e server; In effetti, potrebbe sfruttare un nuovo set di bug che esistono nel tuo browser.