Piero V.

BadUSB

Ormai siamo a Dicembre 2014 e non si può di certo dire che questo sia stato un anno molto fortunato per la sicurezza: Heartbleed e OpenSSL, Poodle e SSL 3, Shellshock e BASH e l’ultimo, che secondo me è passato molto più in sordina, è BadUSB.

Ieri mi sono stupito leggendo di articoli su internet che parlavano di una grossissima falla su USB, la più grande del protocollo, a detta di alcuni.

Ma veniamo al dunque: USB, al contrario di interfacce più vecchie molto più semplici, può fornire molte funzionalità: da periferiche HID (Human Interface Device) tipo mouse, a memorie, a schede audio etc… Perciò i dispositivi necessitano di un software che gestisca anche questo aspetto, come anche chi si è dilettato un po’ con l’elettronica digitale sa.

Ma questa è una funzionalità di USB, se i produttori di chip non fanno il loro lavoro, la colpa non è di USB. Non si può negare che sia preoccupante quest’apparente facilità nel riprogrammare i firmware dichiarata dai media, ma a me sembra solo un abuso da parte di media che cercano di attirare lettori.

In ogni caso non sono preoccupato: penso mi accorgerei di un’interfaccia di rete in più…

Comunque magari questa sfortuna del 2014 potrebbe essere vista invece positivamente: abbiamo chiuso bug di anni e anni fa…

Python SSH Tunnel Server

SSH tunnels are great!

They allow to bypass firewalls and NAT problems, and you can use as unprivileged user, since you don’t have to install virtual network devices such as TUN or TAP.

Another good reason to chose SSH is that it is a standard protocol, so there are many implementations: OpenSSH on most Unices, PuTTY on Windows and cross platform libraries (Java, Python…).

However there is a great disadvantage: the SSH server. If you have a server you probably already use SSH, therefore you don’t want to share your custom port and grant access to your server, or create accounts to allow it.

A solution could be creating a chroot or something like that, but I wasn’t really confident in it, therefore I looked for an alternative SSH server, and I’ve come up with this library: TunnelServer.

Python already has a brilliant SSH library: Paramiko. It’s very transparent: it manages the packages for you, but you are the one who should manage the rest (login check, shell comunication, PTY allocation…, socket-ssh channel synchronization). That’s great, but sometimes unhandy, so I’ve written this class, which is a middleware: the class user still has to check login, but you don’t have to create threads to listen on forwards etc… … [Leggi il resto]

Debian Wiizi

Mi sono accorto che nessuno aveva ancora mai fatto il gioco di parole tra Wheezy e Wiizi, così, prima che Jessie diventi ufficialmente stable (ci sarà il freeze dal 6 novembre), ho deciso di comunicare queste istruzioni, che comunque penso andranno bene anche per il prossimo rilascio.

Premetto che non ho intenzione di rilasciare un’immagine o un archivio pronto per essere decompattato e avviato, visto il peso. Invece scriverò le istruzioni, comunque abbastanza semplici e rilascerò il Kernel (purtroppo non come .deb, in quanto non potremo fare un’installazione standard).

Attenzione: non mi assumo alcuna responsabilità per danni causati dalla guida, né a persone, né a oggetti, né a dati o a qualsiasi altra cosa. L’utente che sceglie di seguire questa guida se ne assume tutta la responsabilità.

Requisiti

Per completare questa guida avrete bisogno di una box con Linux: Debian sarà il nostro target, ma vanno bene anche le sue derivate come Ubuntu, o le ultime versioni di Fedora e derivate da questa: tutte hanno il pacchetto Debootstrap. In realtà qualunque box linux va bene, ma l’installazione di debootstrap sarà più difficile. Seppure tecnicamente anche altri Unix come OS X e BSD dovrebbero poter far girare debootstrap, non sono compatibili perché avremo di un chroot per completare l’operazione. … [Leggi il resto]

VDSL2 Fastweb e TD-W8970 [OpenWRT]

I provider italiani più grandi, già da qualche anno, si stanno impegnando per portare agli utenti connessioni con bande superiori ai 20Mbit/s, le cosiddette NGN, o New Generation Networks.

Tuttavia, anziché impegnarsi per risolvere una buona volta il problema del divario digitale, lo stanno incrementando, realizzando queste reti tramite una tecnologia che cerca di sfruttare ulteriormente il vecchio doppino telefonico: VSDL2.

Il nome commerciale di queste offerte è fibra, ma di fibra c’è ben poco: salvo alcuni casi, come Torino, Milano, Roma e Napoli, la fibra arriva direttamente all’armadio di quartiere, un po’ come accade in realtà anche con ADSL, solo che con ultimo miglio molto più breve: il segnale VDSL2 si degrada molto in fretta, diventando come un’ADSL2+.

Discussioni etiche a parte, ho deciso di provare la VDSL2 di Fastweb a Padova con il mio router TP-Link TD-W8970, sul quale ho installato OpenWRT.

Il costruttore non prevede questa tecnologia per il dispositivo, è presente invece nel dispositivo più avanzato, il TD-W8980, che ha anche la wireless dual band e quindi costa molto di più. La verità è che questa è una mera questione di marketing: i dispositivi sono praticamente identici, anche per quanto riguarda la parte modem: l’unica differenza è appunto la scheda WLAN. … [Leggi il resto]

Plugin flash e Chromium: ancora problemi

Ultimamente su Debian si sono ripetuti i problemi con il plugin flash (pepper) su chromium: non veniva proprio rilevato.

Ancora non conosco la causa, penso un cambiamento di API che ha portato la necessità di creare un file di configurazione nella directory /etc/chromium.d con le impostazioni del plugin.

Nel file update-pepperflashplugin-nonfree c’è un’istruzione per inserirlo, tuttavia non so come mai non abbia funzionato.

La soluzione del problema sta nel linkare o copiare manualmente da root il file necessario, facendo così:

ln -s /usr/lib/pepperflashplugin-nonfree/etc-chromium-default.txt /etc/chromium.d/pepperflashplugin-nonfree

Una volta riavviato il browser, il plugin torna a funzionare.