UPNP si interpreta come segue: per un computer privato, la funzione UPnP di BitComet può far sì che il modulo NAT del gateway o del router effettui una mappatura automatica delle porte e mappe la porta che BitComet ascolta dal gateway o router al computer intranet. Il modulo firewall di rete del gateway o del router inizia ad aprire questa porta verso altri computer su Internet. La tecnologia di attraversamento NAT consente alle applicazioni web di rilevare se si trovano dietro un dispositivo NAT compatibile UPnP. Questi programmi ottengono quindi un indirizzo IP globale condiviso e configurano la mappatura delle porte per inoltrare i pacchetti dalle porte esterne NAT alle porte interne utilizzate dall'applicazione – tutto automaticamente, senza la necessità degli utenti di mappare manualmente le porte o fare altro. La tecnologia di attraversamento NAT consente ai dispositivi di rete o alle applicazioni peer-to-peer di comunicare con il mondo esterno tramite gateway NAT aprendo e chiudendo dinamicamente porte di comunicazione con servizi esterni. In altre parole, può essere riassunto come segue: l'efficienza di conversione di un semplice NAT non è elevata e, se viene lanciata la tecnologia UPNP, l'efficienza della conversione dei dati NAT può essere migliorata. Sembra una cosa positiva. Ma che cosa???
UPNP presenta gravi carenze: ecco un estratto:
Il primo difetto è che l'uso dei buffer non viene controllato e limitato. Gli attaccanti esterni possono ottenere privilegi di controllo sull'intero sistema grazie a questo! Poiché la funzione UPnp deve utilizzare le porte del computer per funzionare, un attaccante che prende il controllo può anche utilizzare queste porte per raggiungere l'obiettivo dell'attaccante. Le conseguenze di questo difetto sono molto gravi, indipendentemente dalla versione del sistema Windows, finché UPnP è in funzione, c'è questo pericolo! Ma a rigor di termine, questo non è interamente un problema della tecnologia UPnP in sé, bensì più una svista di programmazione. Il secondo difetto riguarda il meccanismo di funzionamento dell'UPnP. Il difetto si presenta nella fase di "scoperta del dispositivo" quando UPnP è in funzione. La scoperta di un dispositivo può essere suddivisa in due situazioni: se un computer compatibile UPnP avvia con successo e si connette alla rete, invierà immediatamente una "broadcast" alla rete, notificando al dispositivo UPnP sulla rete che è pronto, e a livello di programmazione, il contenuto broadcast è un'istruzione M-SEARCH (messaggio). La trasmissione sarà "ascoltata" da tutti i dispositivi all'interno della "portata sonora". E inviare al computer le informazioni rilevanti per scopi di controllo successivi. Analogamente, se un dispositivo è appena connesso alla rete, invierà anche una "notifica" alla rete che è pronto ad accettare il controllo dalla rete, che è un'indicazione NOTIFY a livello di programmazione. Sarà inoltre accettato da tutti i computer nell'intervallo di "portata sonora". Il computer "percepirà" che il dispositivo ha "riferito a se stesso". Infatti, le istruzioni NOTIFY non vengono solo inviate ai computer, ma possono anche essere ascoltate da altri dispositivi di rete. È nella trasmissione e nell'ascolto sopra menzionato che c'è un problema! Se un hacker invia un'istruzione NOTIFY al sistema di un utente, il sistema dell'utente riceverà questa istruzione NOTIFY e si collegherà a un server specifico secondo le sue istruzioni, per poi richiedere un servizio di download al server corrispondente - scaricare il contenuto del servizio da eseguire. Il server ovviamente risponderà a questa richiesta. Il sistema di servizio UPnP spiegherà la descrizione del dispositivo, richiedendo l'invio di altri file, e il server dovrà rispondere a tali richieste. In questo modo si forma un ciclo "richiesta-risposta", che occupa una grande quantità di risorse di sistema e fa rallentare o addirittura fermare la velocità del servizio UPnP. Quindi, questo difetto renderà possibile un attacco di "negazione del servizio"!
In altre parole, la funzione UPNP consuma costantemente le proprie risorse di rete durante la fase di utilizzo, e quando le risorse di rete del dispositivo si esauriscono si verificherà un fenomeno di animazione sospesa. Basta guardare le informazioni sopra. |