Un socket di rete è un endpoint per lo scambio di dati in una rete. Pensa a un socket come a un indirizzo fisico: le informazioni che passano attraverso la rete del computer vengono instradate a un socket specifico nel computer stesso. Un raw socket è un tipo di socket di rete che consente a un’applicazione software sul computer di inviare e ottenere pacchetti di informazioni dalla rete senza utilizzare il sistema operativo del computer come intermediario. In altre parole, consente la comunicazione diretta tra un programma e una fonte esterna senza l’intervento del sistema operativo primario del computer.
Il vantaggio principale dell’utilizzo della gestione della rete raw socket è che elimina l’intermediario. Poiché il sistema operativo non gestisce i dati in modo specifico, riduce il sovraccarico sulla rete, risparmiando cicli di CPU (Central Processing Unit) e riducendo lo stress sull’hardware del sistema. Un socket non elaborato fornisce un tunnel rapido tra un’applicazione e una fonte esterna. Né il sistema operativo né alcun altro programma sul computer ha la capacità di interferire con una connessione non elaborata.
Le interfacce di rete raw socket hanno uno svantaggio. anche se. Gli hacker utilizzano comunemente connessioni raw socket per organizzare attacchi TCP (Transmission Control Protocol) su una rete. Durante un attacco TCP, un hacker invia un bit di dati contraffatto alla rete tramite una connessione socket non elaborata. Questi dati contraffatti contengono un segnale di ripristino per la connessione TCP, che a sua volta interrompe e blocca le connessioni di rete correnti sul computer.
Per questo motivo, alcuni sistemi operativi hanno ritirato il supporto per i socket non elaborati. La ragione di ciò è che può aiutare a garantire la sicurezza della rete. Le aziende di software possono limitare la capacità degli utenti di utilizzare i socket non elaborati impiegando quello che viene chiamato un “hotfix”, un aggiornamento permanente del sistema operativo. Questi aggiornamenti non hanno avuto un impatto negativo significativo sull’esperienza dell’utente, perché i vantaggi dei socket raw sono diminuiti con il miglioramento della tecnologia.
Per i computer moderni, la quantità di elaborazione aggiuntiva richiesta per gestire le normali connessioni socket rispetto ai socket non elaborati è così minima da essere in gran parte irrilevante. Con i moderni processori disponibili nelle varietà dual-, quad- e anche six-core, le possibilità che le normali connessioni socket di rete rilascino il computer sono trascurabili. Per questo motivo, a meno che non vi sia una giustificazione specifica per l’utilizzo di una connessione raw socket su un socket di rete standard, il rischio rappresentato dagli hacker e dagli attacchi TCP alla rete supera qualsiasi vantaggio.