Tutti gli articoli di Matteo Cappadonna

Anche OpenBSD riceve le patch per Meltdown

Facebooktwittergoogle_plusredditlinkedin

Quando ad inizio anno c’è stato il rush di aggiornamenti per Meltdown sui vari OS, parecchi sistemi BSD sono rimasti indietro.

Tra i sistemi Unix-like come – appunto – BSD, sicuramente il fatto di avere una base utente molto più limitata rispetto ad altre controparti (leggi Linux) ha penalizzato molto l’arrivo di queste patch, sia per una disponibilità molto minore di sviluppatori che per una base utente di test molto ridotta.

Qualche giorno fa vi avevamo parlato dell’arrivo delle patch per Meltdown su FreeBSD, che seppur non sia stato il primo di quella famiglia a riceverle (il primo BSD fu DrabgoFlyBSD che le ricevette il 5 Gennaio), sicuramente è uno dei sistemi Berkeley Software Distribution più utilizzati.

Finalmente anche il fratello OpenBSD, famoso per essere tra i più sicuri della famiglia, riceve queste patch disponibili da ieri, come si evince da un commit nel kernel da parte dello sviluppatore Philip Guenther:

When a syscall, trap, or interrupt takes a CPU from userspace to kernel the trampoline code switches page tables, switches stacks to the thread’s real kernel stack, then copies over the necessary bits from the trampoline stack. On return to userspace the opposite occurs: recreate the iretq frame on the trampoline stack, switch stack, switch page tables, and return to userspace.

Quando una syscall, una trap o un interrupt porta la CPU da userspace al kernel, il codice trampolino scambia le tabelle delle pagine, girando lo stack sul reale thread nel kernel, dopodichè copia i bit necessari dallo stack trampolino. Nel ritorno allo userspace, avviene l’inverso: viene ricreato il frame iretq sullo stack trampolino, vengono girati gli stack, scambiate le tabelle delle pagine e si ritorna allo userspace.

Tecnicismi a parte, in soldoni viene utilizzato uno stack intermedio (chiamato trampolino) per il passaggio dei dati, assicurandosi che questo avvenga solo al cambio di contesto, e mitigando quindi l’applicazione delle vulnerabilità che sfruttano Meltdown.

Su diversi forum e sistemi di commenti impazza la discussione che vede due parti contrapporsi: la prima, valutando il fatto che gli sviluppatori BSD siano venuti a conoscenza di questi bug solo da inizio Gennaio (mentre pare che le discussioni su eventuali mitigation nel kernel Linux siano partite diverse settimane prima) denoti la rapidità del fixing da parte di quegli OS, mentre la seconda sostiene che il fatto di avere patch ad inizio Gennaio per tutti gli OS e vedere i BSD arrivarci solo a fine Febbraio indichi sostanzialmente che la forza lavoro su quegli OS sia decisamente ridotta e poco reattiva.

L’importante è avere le patch, alla fine dei conti, ma ci domandiamo: questo ritardo può pilotare la scelta di uno o l’altro OS per ambienti in cui effettivamente avrebbero senso entrambi?

LibreOffice 6.0 passa il milione di download

Facebooktwittergoogle_plusredditlinkedin

Pochi giorni fa , il 31 Gennaio per l’esattezza, c’è stato il rilascio dell’ultima fiammante versione di LibreOffice, la suite open source completa, alternativa e compatibile con le controparti closed.

Oltre ai cambiamenti estetici, con nuovi stili di tabelle e le icone del set Elementary, è stata migliorata l’integrazione con i documenti di Microsoft Office, migliorato l’import/export di nuovi formati e molto altro.

Beh, le migliorie pare siano piaciute a moltissimi utenti, al punto che in un paio di settimane si è giunti a superare il traguardo di 1 milione di download!

Certo, sicuramente l’essere presente di default in moltissime distribuzioni Linux lo aiuta nella rapida diffusione, ma il fatto che l’aggiornamento di un software open source raggiunga questi numeri in così poco tempo è sicuramente degno di nota.

Attualmente la versione disponibile è la 6.0.1 ma son già previste nelle prossime settimane la 6.0.2 e la 6.0.3, che andranno a correggere i piccoli bug segnalati in questo primo periodo.

Ovviamente sul sito ufficiale potrete trovare tutte le indicazioni su come scaricare ed installare l’ultima versione che, come di consueto, è disponibile per tutti gli OS.

Buon download.

Ubuntu inizierà a collezionare dati dagli utenti

Facebooktwittergoogle_plusredditlinkedin

Con l’arrivo di Ubuntu 18.04 LTS, previsto per fine Aprile di quest’anno, abbiamo già avuto modo di vedere come diverse novità arriveranno sui computer degli affezionati della distribuzione di Canonical.

Dall’abbandono di Unity in favore di GNOME, alla probabile presenza di default del sistema di pacchetti Snap, alla scelta di continuare con X.org invece di passare a Wayland, i sistemi forniti da Shuttleworth vedranno diversi cambiamenti, speriamo in meglio.

Una delle “feature” che però sta facendo storcere il naso a molti è stata data in questi giorni sulla mailing list ufficiale da Will Cooke, membro del team desktop di Ubuntu:

We want to be able to focus our engineering efforts on the things that matter most to our users, and in order to do that we need to get some more data about sort of setups our users have and which software they are running on it.

Vogliamo essere in grado di concentrare il nostro effort ingegneristico sulle cose che sono più importati per i nostri utenti, e per fare questo dobbiamo prendere più informazioni riguardo il tipo di installazioni che i nostri utenti hanno e quali software eseguono su di esse.

La soluzione su come questo probabilmente verrà fatto è dichiarata subito dopo:

We would like to add a checkbox to the installer, exact wording TBD, but along the lines of “Send diagnostics information to help improve Ubuntu”. This would be checked by default.

Vogliamo aggiungere una spunta all’installer, con testo ancora da definire in maniera definitiva, ma che sarà simile a “Invia informazioni diagnostiche per aiutare a migliorare Ubuntu”. Questo sarà selezionato di default.

L’idea è quindi chiara: avere un sistema di default (ma con possibilità di fare opt-out) che prende dati dai computer e li manda a Canonical, con lo scopo di analizzare l’uso dei sistemi Ubuntu e di quello che ci si installa sopra.

Ma quali sono questi dati? Tra quelli che spiccano di più abbiamo:

  • Versione e customizzazione (flavour) di Ubuntu
  • Informazioni sull’hardware (CPU, RAM, dimensione disco, risoluzione schermo, informazioni sulla GPU e sul produttore dell’hardare)
  • Posizione geografica del sistema (basandosi su quanto selezionato in fase di installazione dall’utente)
  • Informazioni sull’installazione (tempo impiegato, installazione degli update in fase di installazione, layout del disco)
  • Informazioni sulle metodologie di utilizzo del sistema e del software (auto login abilitato o meno, utilizzo di software di terze parti, attivazione del LivePatching)

Seppur si assicuri che queste informazioni non siano legate in tempo reale (pare che l’indirizzo IP ad esempio non venga catturato), la perplessità cresce, soprattutto per il fatto che tutti questi dati saranno poi resi pubblici. La speranza è che non ci sia modo di associare i dati pubblicati con i reali utilizzatori, altrimenti si potrebbe intaccare seriamente la privacy degli utenti.

Generalmente l’uso di software open source è sinonimo di trasparenza, e l’annunciare con sufficiente anticipo le intenzioni così nel dettaglio fa pensare che le cose saranno fatte come si deve, ma in ogni caso ci viene chiesto di mandare parecche informazioni a loro (anzi, ci viene chiesto se NON mandare queste informazioni, di default la spunta sarà presente).

Voi cosa sceglierete?

KDE Plasma 5.12: novità e sicurezza

Facebooktwittergoogle_plusredditlinkedin

E’ stato finalmente rilasciato in questi giorni KDE Plasma 5.12 LTS, la nuova versione con supporto a lungo termine del desktop environment ufficiale del progetto KDE.

Le novità principali sono orientate a rendere l’esperienza d’uso ancora più gradevole, con migliorie alla velocità ed alla gestione della memoria, così come tante nuove feature.

Tra queste abbiamo finalmente la possibilità di avere anteprime interattive nelle notifiche, che adesso potranno contenere maggiori informazioni e darci la possibilità di interagire con esse senza dover abbandonare l’applicazione che stiamo usando; il desktop di default sarà il Folder View e, con la nuova feature di spring-loading (caricamento rapido) delle cartelle, spostare i file sarà molto più rapido.

Completano il tutto anche la possibilità di avere i controlli per la riproduzione audio sulla schermata di blocco del sistema così come un nuovo e revisionato sistema di gestione delle impostazioni ed il nuovo “Plasma Vault”, ovvero un metodo per nascondere contenuti di Plasma dietro la richiesta di password.

Qui un breve video con le principali novità

Oltre a tutto questo è stato finalmente risolto un bug molto particolare presente nel sistema di automount dei dispositivi USB: un possibile attaccante con accesso fisico al sistema avrebbe potuto formattare un dispositivo USB con filesystem VFAT (quello utilizzato storicamente da Windows) impostando nel nome dei comandi all’interno dei caratteri o di $(). In questo modo, in fase di automount del dispositivo (una volta inserito nel computer), il comando sarebbe stato automaticamente eseguito, rendendo possibili diverse superfici di attacco.

Fortunatamente il security advisor rilasciato l’8 Febbraio non è passato inosservato, e la versione 5.12 LTS di KDE Plasma non soffre più di questo antipatico malfunzionamento.

La nuova versione è già disponibile nei repository delle distribuzioni più famose, come Kubuntu/Ubuntu, Arch Linux od OpenSuSE, quindi come al solito l’aggiornamento è più che consigliato.

ProjectThings: il framework open per l’IoT

Facebooktwittergoogle_plusredditlinkedin

L’Internet Of Things sta prendendo sempre più piede nelle nostre vite, da semplici lampadine o termostati che possiamo facilmente acquistare per la nostra casa, a veri e propri sistemi integrati che ci permettono, da qualsiasi parte del mondo, di controllare i nostri oggetti fisici.

Uno dei problemi più grossi di queste tecnologie, però, è sempre stata l’interoperabilità: l’assenza di uno standard fa si che ognuno adotti le proprie soluzioni, più o meno aperte, e che gli oramai famosi “accentratori” che permettono di far interagire dispositivi diversi con dialetti diversi (ad esempio, IFTTT o il sistema Echo di Amazon) facciano sempre più fatica a stare dietro alle centinaia di logiche eterogenee presenti sul mercato.

Nell’ottica della standardizzazione si è buttata la famosa azienda Mozilla che, recentemente, ha annunciato “Project Things”, un framework standard ed open per far dialogare i dispositivi su internet.

L’idea, tramite questo framework, è che chiunque lo possa utilizzare per creare il proprio Gateway Things per poter controllare i diversi dispositivi presenti nella nostra rete direttamente da internet. I vantaggi sono non solo quelli di poter standardizzare l’accesso a dispositivi differenti, ma anche la possibilità di mantenere un gestore di apparati IoT privato invece di averne diversi accessibili pubblicamente.

Certo, il fatto di doversi implementare da soli rendere il tutto poco accessibile alle persone non troppo interessate a mettere le mani sui computer, ma grazie ad un semplice tutorial che forniscono per l’installazione su un Raspberry-Pi ed ad una serie di integrazioni già presenti out-of-the-box, il tutto è più semplice di quanto ci si possa aspettare.

Le feature presenti in questa prima release sono già parecchie e degne di nota tra cui:

  • La possibilità di utilizzare il microfono del proprio computer per impartire comandi vocali al sistema
  • Una serie di interfacce che permettono di creare veri e propri workflow basati sulla logica “Se succede questo, fai quest’altro”
  • Un sistema per disegnare la planimetria della nostra casa e associare i dispositivi ad aree specifiche dell’immobile

Oltre a questo, l’autenticazione tramite OAuth e un sistema di add-on completano il tutto rendendolo adattabile all’evoluzione dello stesso ed ai nuovi dispositivi che potremmo inserire, sia in termini di funzionalità che di controllo dello stesso sistema.

Le basi sono state buttate, dunque, resta solo da vedere se il progetto riscuoterà il successo che si spera, e che aiuti i produttori di dispositivi a rendersi conto che, in questo periodo di continui cambiamenti, gettare le basi di uno standard non può che portare benefici sul lungo periodo.

CommandLineHeroes: un podcast di RedHat

Facebooktwittergoogle_plusredditlinkedin

Quando si tratta di ascoltare contenuti audio, molte persone optano per la musica e la radio. Oramai da diversi anni è disponibile anche un altro media molto interessante, i podcast.

Per chi non li conoscesse, in realtà non sono nulla di nuovo (almeno tecnologicamente parlando): il podcast è un contenuto audio o video, generalmente rilasciato in più parti fruibile tramite sottoscrizione a feed rss.

Oramai non solo li troviamo su qualsiasi piattaforma, da software specifici sui vari dispositivi a servizi di streaming come Spotify o CastBox, ma alla fine tutto quello che ci serve per ascoltarli è la registrazione ad un feed rss ed un browser abbastanza recente.

E’ possibile trovare podcast su qualsiasi argomento, ed oramai è un media talmente tanto utilizzato (soprattutto oltre oceano) che molte aziende pubblicano podcast di settore.

E’ il caso di Red Hat che da qualche settimana ha iniziato la pubblicazione di Command Line Heroes. Questo l’incipit sul sito:

A new podcast about the people who transform technology from the command line up.

Un nuovo podcast riguardo le persone che trasformano la tecnologia dalla riga di comando in avanti

Dopo una puntata introduttiva e due relative alla “guerra dei sistemi operativi”, l’ultima uscita riguarda la rivoluzione Agile.

Ho avuto modo di ascoltare i podcast e devo ammettere che, nonostante a volte tendano a romanzare parecchio l’esposizione degli avvenimenti,  risultano molto interessanti, andando a spiegare la nascita di tecnologie e metodologie, interviste a chi ha contribuito a crearle, approfondimenti sulla visione che avevano ed al corso che gli eventi hanno preso successivamente.

Le puntate durano una mezz’ora e vengono rilasciate ogni due settimane, e risultano -almeno per me- di piacevole fruizione; la prossima parlerà del movimento DevOps, com’è nato e in cosa consiste.

Non possiamo che consigliarvi l’ascolto, sul sito ufficiale  potete ascoltare le puntate e trovate tutte le piattaforme di sottoscrizione.

Buon ascolto!

20 anni e non sentirli: tanti auguri OpenSource

Facebooktwittergoogle_plusredditlinkedin

In questi giorni si sta festeggiando un grande compleanno: i 20 annni dell’open source.

Prima che venisse coniato il termine open-source, grazie al contributo di Richard Stallman già si parlava di “free software”; dopo aver scritto una licenza ad-hoc di cui spesso sentiamo parlare, la GPL (General Public License), ed aver fondato la Free Software Foundation ha fondamentalmente creato le basi per il passo successivo.

Passo che è avvenuto il 3 Febbraio del 1998, quando i membri iniziali della Open Source Initiative hanno creato il termine “open source” e pubblicato, qualche giorno dopo, la Open Source Definition.

La differenza sostanziale tra i due movimenti è data dal fatto che il Free Software garantisce, tramite l’applicazione di una licenza, che il software in questione e tutte le successive modifiche rimangano legate alla licenza originale, mantenendo l’accesso al codice anche di esso. Nel caso dell’OpenSource, invece, la situazione è più rilassata e si va ad identificare che il codice sorgente di un particolare prodotto è aperto e disponibile a chiunque. Nulla vieta di prenderlo, adattarlo e ridistribuirlo senza rilasciare queste modifiche (cosa che spesso viene fatta da grandi aziende che insieriscono software OpenSource in apparati hardware, ad esempio).

In ogni caso il più delle volte i termini vengono interscambiati: c’è un software, il codice ne è disponibile.

Questa elasticità maggiore ha fatto si che lo stesso Torvalds iniziò ad abbracciare il termine OpenSource nel momento in cui rilascio il suo famoso sistema operativo Linux, e da li in poi il lavoro della Linux Foundation si strutturò intorno al concetto stessi di OpenSource.

Negli anni il termine OpenSource è stato esteso ad abbracciare anche altre categorie, come l’hardware, creando di base un movimento open che ad oggi muove gran parte della rete.

Utilizzando il termine OpenSource parlando di sistemi operativi, dunque, non solo abbiamo sul tavolo sistemi quali GNU/Linux, ma un intero ventaglio di altri OS sono disponibili, basti pensare ai vari BSD, quali FreeBSD e OpenBSD, giusto per citarne i più famosi.

Come anticipavamo negli anni abbiamo iniziato ad avere anche OpenSource hardware, ovvero componenti fisici che non solo -in genere- sono ottimizzati per l’esecuzione di software ed OS OpenSource, ma di cui spesso i dettagli realizzativi (schemi elettrici e di costruzione) vengono anch’essi rilasciati pubblicamente.

Dal famoso Raspberry Pi, all’Open Compute Project realizzato da Facebook, oramai è possibile avere accesso a tantissima competenza in “formato open”, cosa che può solo aiutare l’evoluzione dei sistemi e di cui noi, come è facile immaginare, siamo molto entusiasti.

E quindi: buon compleanno OpenSource!

Patch Meltdown e Specter: performance non così pessime

Facebooktwittergoogle_plusredditlinkedin

Con il rush dello scorso mese, tutti bene o male abbiamo deciso di patchare i nostri sistemi per evitare le vulnerabilità -o almeno quelle scoperte fino ad oggi- relative a Spectre e Meltdown.

Una delle note più negative che tutti abbiamo dovuto valutare era un presunto calo delle performance dei nostri sistemi variabile in media dal 2% al 19% a seconda del tipo di attività.

Quanto riportato però da Greg Kroah-Hartman, responsabile del branch stable del kernel, relativamente alla release 4.15 del kernel (la prima completamente patchata per i due bug), è però una situazione un pochino meno pessima di quanto ci si aspettasse:

From an email thread forwarded to me about one Linux user benchmarking recent kernel versions on a specific network-heavy load:

“4.15 is 7-9% faster than 4.11”
“Turning kpti on makes 4.15 1-2% slower than 4.11”

So, overall, we are right back where we started from. Which makes me feel good, the recent Meltdown changes turn out to not really be much of a problem overall.

Da un thread di email che mi è stato inoltrato un utente Linux che ha fatto dei benchmark sulle recenti versioni del kernel su un carico di rete molto pesante:

“4.15 è più veloce del 7-9% rispetto al 4.11”
“Attivare il kpti rende il 4.15 l’1-2% più lento rispetto al 4.11”

Quindi, in generale, siamo tornati al punto di partenza. Il che mi fa stare bene, i recenti cambiamenti per Meltdown sono risultati non essere un grosso problema in generale.

Nel frattempo, Michael Larabell, principale autore e benchmarker del famoso sito Phoronix, in alcuni test recenti sui kernel dal 4.0 al 4.15 ha decreato quanto segue:

There are some slowdowns when using the Linux 4.15 kernel … at least in several of the real-world benchmarks, the performance out of Linux 4.15 is fortunately not at the lowest levels we’ve seen with benchmarking these kernel releases of the past three years

Ci sono alcuni rallentamenti durante l’utilizzo del kernel Linux 4.15… in alcuni benchmark nel mondo reale [ndt. su macchine realmente usate], le performance rilevate su Linux 4.15 non sono fortunatamente ai livelli più bassi dei benchmark che abbiamo rilevato nelle release del kernel dei passati 3 anni

Buone notizie, quindi, un calo di performance c’è stato, ma sicuramente niente di così grave da causare grossi problemi sulle macchine di produzione che quotidianamente utilizziamo, sia come amministratori che come utenti. Ovviamente una precisazione, fatta sempre dal buon Greg Kroah-Hartman è necessaria:

But if you are stuck at an old kernel version (i.e. 3.10.y, 4.4.y, or 4.9.y or whatever your distro is camping on for the next decade), that’s a totally different story. Go forth and benchmark! Then go update to a newer kernel version, odds are it will be a good improvement.

Ma se siete bloccati su una vecchia versione del kernel (es: 3.10.y, 4.4.y o 4.9.y o su qualsiasi la vostra distribuzione continuerà a campare per il prossimo decennio), è un discorso completamente differente. Andate e fate i benchmark! Poi andate ed aggiornate ad una nuova versione del kernel, molto probabilmente sarà un bel miglioramento.

Quindi alla fine ritorniamo sempre allo stesso punto: aggiornate gente.

Noi lo abbiamo fatto e siamo soppravvisuti, e voi?