Sep 18 2003

L’indirizzo IP


by tonycrypt

La sigla IP è solitamente usata per indicare quel numero di 4 byte (32 bit) che identifica univocamente un qualsiasi computer connesso a Internet, e che andrebbe più correttamente detto indirizzo IP.
Questo numero è definito in modo da contenere almeno qualche indizio sulla collocazione fisica del computer a cui si riferisce, in modo da facilitare le operazioni di collegamento. Poichè Internet è formato dall’unione di tante reti locali, ciò si ottiene dividendo il numero in due parti: la prima (quella più a sinistra) indica la rete locale a cui appartiene il computer, mentre quella più a destra permette di determinare a quale particolare computer di quella rete locale si riferisca quel particolare IP. In questo modo, i computer che indirizzano i dati sulla rete si preoccupano solamente di leggere la prima parte dell’IP e di spedire i dati alla corrispondente rete locale; una volta arrivati là, sarà poi compito dell’hardware di gestione della rete locale di indirizzare i dati al giusto computer. Si ha però un problema: se ad esempio usassimo due byte per indicare la rete e gli altri due per indicare il computer all’interno della rete (o “nodo” della rete locale), potremmo avere al massimo 65536 reti locali in Internet (il massimo numero esprimibile con due byte); ma ce ne sono molte di più! D’altra parte, se decidessimo di usare tre byte per identificare la rete, potremmo avere molte più reti locali, ma per identificare il nodo avanzerebbe un solo byte, e potremmo quindi avere al massimo 256 nodi per ciascuna rete; ma in molte delle reti locali (es. in una Università) i computer connessi alla rete sono molti di più! Per questo motivo è stata pensata una struttura “flessibile”, in cui l’indirizzo è effettivamente suddiviso in due parti, una caratteristica della rete e una del nodo, ma la dimensione delle due parti è variabile. Gli indirizzi IP, pertanto, sono suddivisi in classi, a seconda della grandezza della “parte di IP” usata per esprimere la rete; le classi si distinguono a seconda del valore del primo byte dell’IP. Ed ecco la tabella esatta: si noti che i numeri 0 e 255 sono riservati per scopi speciali, per cui i quattro byte dell’IP possono variare ciascuno tra 1 e 254. Nella tabella, le x indicano la parte di indirizzo riservata all’individuazione del nodo all’interno della rete, e possono essere un qualsiasi numero compreso tra 1 e 254. Per ogni classe di IP sono indicati il massimo numero di reti e il massimo numero di computer per rete (nodi).

Classe Da A Max. reti Max. nodi Note
A 1.x.x.x 126.x.x.x 126 16.387.064 Usato per poche grandi reti
B 128.1.x.x 191.254.x.x 16.256 64.516 Solitamente usato per le reti di medie dimensioni (università, grosse aziende)
C 192.1.1.x 223.254.254.x 2.064.512 254 Usato per le reti di piccole dimensioni
D 224.x.x.x 239.x.x.x Indirizzi per trasmissioni broadcast e multicast (trasmissione contemporanea a più di un computer)
E 240.x.x.x 254.x.x.x Attualmente indefiniti (tranne qualche numero particolare)

Con questo sistema si ha una elevata flessibilità, e diventa possibile assegnare ad ogni ente che si collega ad Internet un numero di IP relativamente adeguato alle sue esigenze. Il problema non è irrilevante, perchè facendo i conti si trova che il massimo numero di computer collegabili a Internet, limitato dagli IP teoricamente disponibili, è di 3 miliardi 654 milioni circa; tenendo conto che un forte spreco di IP è inevitabile, questo numero è inadeguato agli sviluppi previsti per la rete, tanto che sono allo studio nuovi sistemi di indirizzamento. In particolare, è già cominciata la transizione dall’attuale IP versione 4 all’IP versione 6 (o IP Next Generation) che permetterà di avere ben 16 byte di indirizzo, contro i quattro attuali, e quindi avrà teoricamente posto per un numero di computer pari a 2 elevato a 128. Per contro, esso renderà abbastanza difficile ricordarsi a memoria il proprio indirizzo IP…

Vediamo un esempio pratico: consideriamo l’IP 131.192.8.30. Poiche’ il primo byte vale 131, questo e’ un indirizzo di classe B: pertanto i primi due byte (131.192) individueranno univocamente la rete locale a cui appartiene il computer, e saranno uguali per tutti i computer che appartengono a tale rete locale. Gli altri due byte (8.30), invece, servono ad individuare il particolare computer all’interno della rete locale. Questa struttura serve a semplificare la ricerca del singolo computer: difatti, all’esterno della rete locale, l’unica informazione che interessa è come raggiungere il router di ingresso a tale rete, mentre il compito di contattare tutti i computer con IP che inizia per 131.192 potrà essere delegato a tale router.
Tuttavia, molte reti locali sono a loro volta formate da tante
sottoreti (subnets); ad esempio, la rete di una Università contiene solitamente sottoreti separate per le sue varie sedi, e così via. Per contemplare questa possibilità, nelle classi di tipo A o B è possibile che una parte dei byte dedicati all’individuazione del singolo nodo venga in realtà usata per distinguere tra le varie sottoreti. Ad esempio, nell’IP precedentemente citato, il terzo byte (8) potrebbe servire ad individuare la sottorete, e a questo punto l’ultimo (30) servirebbe ad individuare il particolare computer nella sottorete.
Esistono infine alcuni IP particolari. Ad esempio, l’IP
255.255.255.255 indica tutti i computer sulla rete locale del computer dell’utente; analogamente, “riempiendo” con dei 255 le x (vedi tabella) di un indirizzo si ottiene un IP che indica tutti i computer sulla rete locale corrispondente; ad esempio 131.192.255.255 indica tutti i computer sulla rete locale individuata dai due byte 131.192. Messaggi indirizzati a questi IP saranno letti da tutti i computer! Nel caso esista la suddivisione in sottoreti, è possibile applicare lo stesso principio: 131.192.8.255 indica tutti i computer sulla sottorete 8 di 131.192 (ammettendo che 131.192 sia suddivisa in sottoreti). Ovviamente, questo tipo di IP può essere usato solo come destinazione.

Come trovare l’IP di un utente

Conoscere l’indirizzo IP di un utente può risultare molto utile per diversi motivi: si può individuare la posizione geografica di un utente, si possono smascherare finte e-mail, si possono creare delle statistiche sugli utenti connessi ad un determinato sito, si può risalire a persone che hanno commesso abusi su Internet ma…se ne può anche fare un cattivo uso. Conoscere l’indirizzo IP di un utente poco esperto potrebbe infatti consentire di penetrare nel sistema o nella rete della vittima, su cui è possibile anche arrecare danni più o meno gravi. Ma vediamo praticamente in che modo è possibile risalire all’indirizzo IP di un determinato utente;

– CHAT Quando chattate attraverso chat IRC (per esempio ICQ, Mirc e molte altre) il vostro indirizzo IP viene reso pubblico, in un modo o nell’altro. Quindi siete in costante pericolo. Chiunque può conoscere il vostro indirizzo IP, risalire alla vostra collocazione geografica ed eventualmente arrecare danni al vostro computer. Vi consiglio di usare dei firewalls per proteggervi. Sarebbe meglio collegarsi attraverso un server Proxy ma spesso, così facendo, non si ottiene l’accesso alle chat.

– SITI WEB Un altro metodo per conoscere l’indirizzo IP di un utente è quello di attrarlo su un determinato sito internet. Per fare un esempio, in questo momento io potrei conoscereil tuo indirizzo IP e potrei utilizzarlo in diversi modi. In questo caso, comunque, me ne servo per semplici scopi statistici, per capire in modo approssimativo dove ti trovi, a che ora hai visitato il mio sito e così via. In caso di abusi, però, posso consultare il mio archivio e raccogliere tutte le informazioni necessarie per risalire all’autore . Se poi volessi agire in modo brutale, potrei fare uso di strumenti che mi consentono di penetrare nel tuo sistema ed agire come meglio credo. Attenzione! Si tratta solo di un esempio per mettere subito alla luce i rischi reali che si corrono sul web. Non è assolutamente mia intenzione mettere in atto azioni di tal genere contro i miei visitatori.

– VIRUS Esistono dei virus che, una volta eseguiti sul computer di una vittima, inviano continuamente l’IP di quell’utente a chi ha provveduto ad installare il virus, facilitando inoltre il suo accesso al computer della vittima. Quindi prestate la massima attenzione ai files allegati alla posta e, se possibile, evitate di aprire quelli con estensioni exe, com, bat e simili.

– SMS Quando inviate i vostri SMS dal web, ricordatevi che spesso il destinatario visualizza sul proprio cellulare il vostro indirizzo IP. Teoricamente questo, pur non garantendo la vostra privacy, consente al destinatario di reclamare in caso di abusi e di risalire al mittente. In pratica però il destinatario potrebbe farne un uso ben diverso.

Ottenere informazioni da un indirizzo IP

Abbiamo detto che l’indirizzo IP può fornire utili informazioni sulla collocazione fisica del computer a cui è stato assegnato. Accedendo alla sezione anonimato di questo sito sarà possibile effettuare il tracciamento di tutti i passaggi che si compiono per raggiunfere il computer di cui si conosce l’IP, partendo dal proprio. In tal modo, l’ultimo passaggio darà informazioni sulla collocazione geografica del computer che si cerca di identificare. Tutto questo potrà essere effettuato anche graficamente facendo uso del visualroute presente nella sezione anonimato.



Sep 11 2003

Trojan Horse


by tonycrypt

Come suggerisce il nome (tradotto corrisponde a Cavallo di Troia), è costituito da quei programmi che, sotto l’apparente innocuità di un funzionamento lecito e controllato dall’utente, contengono istruzioni nascoste per sabotaggi più o meno gravi dell’integrità del sistema. I cavalli di Troia possono assumere le più diverse sembianze: dall’innocua calcolatrice che, mentre aiuta a fare i conti, cancella i files dall’hard disk, al giochino che, quando l’utente gioca, intasa il disco fisso con un numero enorme di files che bloccano il sistema. Ritengo che facciano parte di questa categoria di virus quei piccoli programmi che i siti hard suggeriscono di scaricare per poter accedere ad immagini o contenuti di natura pornografica. Infatti, dopo il download, ci si ritrova disconnessi dalla rete e viene avanzata la classica richiesta di riconnessione. L’utente, convinto che si tratti di uno di quei normali casi in cui cade la linea, accetta di riconnettersi. E qui si trova l’inganno! Questa volta, infatti, a sua insaputa, non sarà collegato al suo provider ma il suo modem comporrà un numero di un’altra nazione (o spesso di un altro continente). E il povero malcapitato si accorgerà dell’inganno solo all’arrivo della bolletta telefonica, o comunque dopo diverse ore di connessione. E non esiste antivirus che riesca a bloccare un programma di questo tipo che, d’altra parte, agisce senza sabotare l’integrità del sistema e non può quindi essere classificato come virus. Diciamo che questi programmi si “limitano” a sabotare l’integrità del vostro portafogli! Non esiste limite alla fantasia di un programmatore. Un antivirus è un ottimo scudo contro virus ormai noti, ma è fin troppo facile raggirarlo con un programmino creato “in casa”. La migliore arma sarà quindi la massima prudenza quando si lavora con files provenienti da fonti insicure. Non scaricate files da siti che non ritenete affidabili, non aprite allegati di posta inviati da sconosciuti (ma state attenti anche a quelli inviati da chi ritenete affidabile, visto che è anche possibile inviare posta sotto falso nome). Non avrete mai sicurezza assoluta, ma seguendo questi piccoli consigli potrete perlomeno proteggervi dai malintenzionati meno esperti.


Sep 5 2003

Serpent


by tonycrypt

L’algoritmo Serpent è stato sviluppato da Ross Anderson, Eli Biham, e Lars Knudsen dietro richiesta dell’AES. Gli autori hanno utilizzato tecniche combinate per la sua creazione, ispirandosi all’algoritmo DES. Serpent utilizza blocchi di 128 bit con chiavi di 256 bit. Come il DES, contiene delle permutazioni iniziali e finali senza nessuna giustificazione crittografica, che, apparentemente, servono per ottimizzare i dati prima dell’operazione di cifratura. L’algoritmo è stato rilasciato durante la convention “5th International Workshop on Fast Software Encryption”: questa iterazione del Serpent è stata chiamata Serpent 0 e utilizza le S-box originali del DES. Dopo i commenti e le discussioni raccolti durante la convention, le permutazioni sono state cambiate e chiamate Serpent 1. Il nuovo algoritmo ha resistito alla crittanalisi differenziale e lineare.