TCP/IP, alcune implementazioni a rischio

Torna alla ribalta una nota vulnerabilitÓ legata al numero di sequenza del protocollo TCP/IP che metterebbe a serio repentaglio la sicurezza di quei sistemi che ancor oggi utilizzano un'implementazione fallata del protocollo

TCP/IP, alcune implementazioni a rischioWeb - La scorsa settimana il CERT ha dedicato un corposo advisory riguardo una ben nota vulnerabilitÓ che affligge alcune implementazioni del TCP/IP.

La vulnerabilitÓ riguarda il famigerato ISN (Initial Sequence Numbers), un valore casuale conosciuto soltanto da host ricevente e host trasmittente per tenere informazioni sulla sessione in corso e ricostruire i dati spediti su Internet nei file originari.

Il problema sta nel fatto che, in alcune implementazioni del TCP/IP, questo numero potrebbe essere indovinato e consentire ad un hacker malizioso di dirottare (hijacking) il flusso originario dei dati o mascherare (IP spoofing) la propria identitÓ con quella di una macchina appartenente ad una rete protetta.
Anche recentemente alcune societÓ di sicurezza, fra cui Guardent e BindView, hanno dimostrato che gli stack TCP/IP di alcuni dei pi¨ noti sistemi operativi sul mercato, fra cui Windows 95/98, Solaris, AIX, HPUX e alcune vecchie versioni di Windows NT, sono ancora vulnerabili al problema legato alla generazione casuale dell'ISN.

Vengono invece promossi a pieni voti gli stack del kernel Linux 2.2 (e si presume anche 2.4) e della gran parte delle pi¨ recenti versioni di OpenBSD e FreeBSD.

Per risolvere una volta per tutte questa vulnerabilitÓ, il CERT propone soluzioni giÓ note, fra cui l'adozione di un protocollo crittografato o l'implementazione del RFC1948 pubblicato nel 1996, un documento che propone una piccola modifica all'implementazione del TCP/IP come alternativa alla crittografia.
TAG: sicurezza
10 Commenti alla Notizia TCP/IP, alcune implementazioni a rischio
Ordina
  • Capisco che a molti la Microsoft stia sulle palle, ma si poteva essere piu` chiari.

    Perche` non si dice nulla di Windows 2000? Perche` si e` cosi vaghi su Windows NT ("alcune versioni")
    e non si dice se la 4 funziona bene o no? (mentre il buon Linux viene promosso perche` il Kernel xx e` ok).

    non+autenticato
  • visto che ci sono voci insistenti che lo stack TCP di W2K sia quello di BSD, io direi che stiamo al sicuro...

    Ciao
    MaKs

    - Scritto da: Shadowalker
    > Capisco che a molti la Microsoft stia sulle
    > palle, ma si poteva essere piu` chiari.
    >
    > Perche` non si dice nulla di Windows 2000?
    > Perche` si e` cosi vaghi su Windows NT
    > ("alcune versioni")
    > e non si dice se la 4 funziona bene o no?
    > (mentre il buon Linux viene promosso perche`
    > il Kernel xx e` ok).
    >
    non+autenticato
  • tra l'altro, la cosa non è nota, ma stranotissima da *ANNI*, ci si chiede come mai ogni tot di mesi si esce con la stessa argomentazione.


    - Scritto da: MaKs
    > visto che ci sono voci insistenti che lo
    > stack TCP di W2K sia quello di BSD, io direi
    > che stiamo al sicuro...
    >
    > Ciao
    > MaKs
    >
    > - Scritto da: Shadowalker
    > > Capisco che a molti la Microsoft stia
    > sulle
    > > palle, ma si poteva essere piu` chiari.
    > >
    > > Perche` non si dice nulla di Windows 2000?
    > > Perche` si e` cosi vaghi su Windows NT
    > > ("alcune versioni")
    > > e non si dice se la 4 funziona bene o no?
    > > (mentre il buon Linux viene promosso
    > perche`
    > > il Kernel xx e` ok).
    > >
    non+autenticato


  • - Scritto da: Shadowalker
    > Capisco che a molti la Microsoft stia sulle
    > palle, ma si poteva essere piu` chiari.
    >
    > Perche` non si dice nulla di Windows 2000?
    > Perche` si e` cosi vaghi su Windows NT
    > ("alcune versioni")
    > e non si dice se la 4 funziona bene o no?
    > (mentre il buon Linux viene promosso perche`
    > il Kernel xx e` ok).

    beh... vediamo un po' di dati no? nmap. un tool di scansione che fa l'analisi dei pacchetti e dei numeri di sequenza. Tutte le persone che ho scansionato erano a conoscenza del fatto che lo stavo facendo. trattandosi di qualcosa di illegale, mi sono premunito di avvertirli, dato che li conosco di persona (tra l'altro)

    questa e' una windows 2000

    [root@quela /root]# nmap -sS -O 62.211.34.*

    Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ )
    Interesting ports on (62.211.34.*):
    (The 1520 ports scanned but not shown below are in state: closed)
    Port       State       Service
    135/tcp    open        loc-srv
    139/tcp    open        netbios-ssn
    1025/tcp   open        listen

    TCP Sequence Prediction: Class=random positive increments
                             Difficulty=9966 (Worthy challenge)
    No OS matches for host (If you know what OS is running on it, see http://www.insecure.org/cgi-bin/nmap-submit.cgi).
    TCP/IP fingerprint:
    TSeq(Class=RI%gcd=1%SI=167ED)
    TSeq(Class=RI%gcd=1%SI=9263)
    TSeq(Class=RI%gcd=1%SI=26EE)
    T1(Resp=Y%DF=N%W=1B12%ACK=S++%Flags=AS%Ops=MNWNNT)
    T2(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=)
    T3(Resp=Y%DF=N%W=1B12%ACK=S++%Flags=AS%Ops=MNWNNT)
    T4(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=)
    T5(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=)
    T6(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=)
    T7(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=)
    T7(Resp=N)
    PU(Resp=N)
    PU(Resp=Y%DF=N%TOS=0%IPLEN=38%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)


    Nmap run completed -- 1 IP address (1 host up) scanned in 193 seconds

    vorrei farvi notare il parametro TCP sequence prediction, che e' quello in ballo. 9966 = abbastanza difficile.

    vediamo una win98


    [root@quela scsi]# nmap -sS -O 151.26.133.*

    Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ )
    Interesting ports on *.26-151.libero.it (151.26.133.*):
    (The 1520 ports scanned but not shown below are in state: closed)
    Port       State       Service
    139/tcp    open        netbios-ssn
    12345/tcp filtered    NetBus
    12346/tcp filtered    NetBus

    TCP Sequence Prediction: Class=random positive increments
                             Difficulty=86 (Medium)
    Remote operating system guess: Windows NT4 / Win95 / Win98

    Nmap run completed -- 1 IP address (1 host up) scanned in 274 seconds
    [root@quela scsi]#

    medium. Solo 86. A seconda delle condizioni, quel medium scende fino ad un effettivo di 10-30, per i quali e' un "trivial joke"

    vediamo linux? vediamo linux...

    [root@quela /root]# nmap -sS -O 127.0.0.1

    Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ )
    Interesting ports on localhost.localdomain (127.0.0.1):
    (The 1520 ports scanned but not shown below are in state: closed)
    Port       State       Service
    25/tcp     open        smtp
    631/tcp    open        unknown
    6000/tcp   open        X11

    TCP Sequence Prediction: Class=random positive increments
                             Difficulty=5040172 (Good luck!)
    No OS matches for host (If you know what OS is running on it, see http://www.insecure.org/cgi-bin/nmap-submit.cgi).
    TCP/IP fingerprint:
    TSeq(Class=RI%gcd=1%SI=4CE98B)
    TSeq(Class=RI%gcd=2%SI=267481)
    TSeq(Class=RI%gcd=1%SI=4CE82C)
    T1(Resp=Y%DF=Y%W=7FFF%ACK=S++%Flags=AS%Ops=MNNTNW)
    T2(Resp=N)
    T3(Resp=Y%DF=Y%W=7FFF%ACK=S++%Flags=AS%Ops=MNNTNW)
    T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
    T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
    T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
    T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
    PU(Resp=Y%DF=Y%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)


    Nmap run completed -- 1 IP address (1 host up) scanned in 8 seconds
    [root@quela /root]#

    5 milioni e rotti... buona fortuna!
    Effettuare un dirottamento di sessione non e' una cosa facile (del tipo... non e' che la fanno i ragazzini) ma forse e' da considerare meno pericolosa? certo... la crittografia ci viene in aiuto, visto che provvede a garantire una coerenza dei dati nel tunnel criptato a livello applicazione, ma e' forse prudente andare in giro ai 300 all'ora ricoperti solo di panna montata, solo perche' sotto si ha una tuta di kevlar?
    non+autenticato

  • - Scritto da: munehiro
    [...]
    > 5 milioni e rotti... buona fortuna!
    > Effettuare un dirottamento di sessione non
    > e' una cosa facile (del tipo... non e' che
    > la fanno i ragazzini) ma forse e' da
    > considerare meno pericolosa?

    Ovviamente una connessione prevedendo il sequence number per effettuare con un blind spoofing non e' certamente un giochino da dilettanti soprattutto su macchine con un traffico importante.
    Si può affermare che le possibilita' di riuscita gia' anche con NT o anche con macchine configurate per rispettare il vecchio standard del TCP (con un salto di sequence fisso) in uno scenario come quello sopra sono paragonabili ad una cinquina al lottoSorride
    Tu puoi prevedere a quanto sara' la prossima connessione ma se devi pure prevedere quante ne sono state gia' "servite" mentre tu usi il numero che ti sei calcolato non e' proprio un giochino di semplice riuscitaOcchiolino

    Su questo versante non credo ci sia da preoccuparsi diciamo che i rischi più comuni sono dovuti a misconfigurazioni e varie implementazione dei servizi e su questi andrebbe concentrata l'attenzione insieme ad un architettura meno sensibile a problematiche di sicurezzaSorride

    E se si esamina l'intero stack tcp/ip sono alcune opzioni più esoteriche ad offrire maggiore problemi di sicurezza tipo source routing, icmp redirect che potrebbero permettere sicuramente di superare sistemi di sicurezza mal configuratiSorride

    ByeZOcchiolino
    non+autenticato
  • IPV4 a IPV6, TCP/IP in panne, VHS-Video al posto del sistema betamax-Video, 640 Kbyte di Memoria.
    Ecco il risultato di aver guardato troppo vicino.
    Io avrei preso la strada dell'IPV512, oppure avrei scelto la strada di un'IP a grandezza dinamica, magari prendendo spunto dal funzionamento della trasmissione video a 16/9 su televisori con schermo normale, così gli indirizzi rusultano in pratica infiniti.
    Contando che tra qualche anno avremmo collegamenti a fibre ottiche bhè... guardare nel futuro non è poi così male. Avere già pronto un nuovo sistema di protocolli internet adeguati alle esigenze odierne e future.

    Sono un tantino off topic no?
    Tanto sono il primo ^_^
    TCP/IP=Macchina Vecchia
    Bug=Rottura macchina
    Patch=Toppa

    non+autenticato


  • - Scritto da: TheNinja
    > IPV4 a IPV6, TCP/IP in panne, VHS-Video al
    > posto del sistema betamax-Video, 640 Kbyte
    > di Memoria.

    Ai tempi, un bit in più o in meno facevano la differenza, con le linee superlente che avevano.
    Chi mai avrebbe pensato, con un centinaio di computer collegati, di superare il limite di 2^8*2^8*2^8*2^8? (ovviamente non sarà superato, ma la tipologia delle sottoreti porterà a superarlo (virtualmente).
    E poi... IPV6 è soprattutto un protocollo + sicuro, e tra l'altro, la sua implementazione può essere progressiva perchè compatibile all'indietro (cosa ormai difficile a credersi, data la cultura M$ che porta a convincersi che ogni nuova relase è incompatibile con la precedente)
    640 Kbyte erano dovuti al processore, che aveva il bus a 20bit.
    Quindi 640Kbit... e il rimanente in memoria estesa, per mantenere la compatibilità con i primi processori Intel della serie x86, che indirizzavano 512K.
    E in un momento dove il C128 che indirizzava 128k era un PC dedicato ai "professionisti", mentre il C64 avava abbastanza Ram per gli utenti comuni, 512K erano un bel andare.


    non+autenticato


  • - Scritto da: l <MCfc>

    > E poi... IPV6 è soprattutto un protocollo +
    > sicuro, e tra l'altro, la sua
    > implementazione può essere progressiva
    > perchè compatibile all'indietro

    bello sopratutto il fatto che si riconoscera' la nazione/provincia del computer unicamente dall'ip

    cosi' sara' + facile censurare i siti.. opss che dico mai ? intendevo dire sara' piu' facile far vedere all'utente le pagine + CONSONE a lui
    non+autenticato

  • > .....
    > 640 Kbyte erano dovuti al processore, che
    > aveva il bus a 20bit.

    ????

    Il bus interno era a 16 bit.
    20 bit era lo spazio di indirizzamento della memoria ottenuto mediante il sistema dei segmenti di memoria.

    > Quindi 640Kbit... e il rimanente in memoria
    > estesa, per mantenere la compatibilità con i
    > primi processori Intel della serie x86, che
    > indirizzavano 512K.

    512 K ?

    2^20 = 1048576 => 1024 Kbyte indirizzabili

    suddivisi in:

    640 kbyte RAM
    384 kbyte ROM + memoria video
    non+autenticato


  • > Io avrei preso la strada dell'IPV512, oppure
    > avrei scelto la strada di un'IP a grandezza
    > dinamica, magari prendendo spunto dal

    Io avrei fatto le autostrade a 20 corsie per lato ,purtroppo le cose costano e si cerca di fare un buon compromesso dato che il protocollo ha retto bene per 30 anni in un mondo dove mediamente la tecnologia e' superata dopo 30 minuti direi che hanno fatto un ottimo lavoro.
    Certo e' ora di cambiare ma ci vorra il suo tempo...

    non+autenticato