Connect with us

Articoli

Un’eredità eccessiva e pericolosa!

OverlayFS, molto usato sui server Unix moderni, permette di unire più cartelle creando filesystem virtuali. Il problema è che vengono ereditati tutti i permessi dei vari file, anche quelli che permettono a un utente di diventare root…

Avatar

Pubblicato

il

Uno dei punti di forza dei sistemi GNU/Linux è la rigorosa gestione dei permessi per l’esecuzione dei programmi. Una volta, su questi sistemi esistevano sostanzialmente due sole modalità: quella privilegiata e quella non privilegiata. I file eseguibili dei programmi privilegiati avevano un particolare bit tra i loro metadati, chiamato convenzionalmente SUID. Quando un file eseguibile ha questo bit impostato viene eseguito con i permessi dell’utente che ne è proprietario, a prescindere da chi lo abbia lanciato. Se, per esempio, un eseguibile è proprietà dell’utente root ma viene eseguito da un utente comune, verrà comunque avviato con privilegi di root. Questo bit viene impostato come “vero” solo per alcuni particolari software “sicuri” che ne abbiano davvero bisogno, se si impostasse per qualsiasi programma non ci sarebbe più una separazione tra i privilegi degli utenti. Chiaramente, si tratta di un meccanismo un po’ rigido: il bit può essere attivo oppure no, i privilegi sono da utente normale oppure da root, non ci sono mezze misure. Un modo per limitare parzialmente il potere di SUID è rendere proprietario del file non l’utente root ma un altro utente che, tramite i gruppi a cui appartiene, possa avere accesso a un set limitato di file. Per esempio, se si avvia il server web Apache a nome dell’utente www-data, che appartiene al gruppo www-data, si avrà accesso opzione predefinita per mettere in piedi una applicazione server: i container. Ormai è quasi impossibile trovare del software open source che non venga pubblicato con almeno un’immagine docker. I container sono estremamente utili non soltanto perché separano i vari eseguibili, impedendo che un eventuale attacco su un programma possa ripercuotersi su altri software o sul sistema in generale, ma anche perché permettono di avere diverse versioni dello stesso software sul sistema, senza causare conflitti tra le dipendenze. Un container è autonomo: contiene tutte le librerie necessarie per il funzionamento del programma. Se ce ne sono di più sullo stesso sistema, ciascuno di essi contiene tutte le librerie necessarie a se stesso. Naturalmente, questo comporta un importante consumo di spazio: molte librerie e molti eseguibili saranno sempre gli stessi tra tutti i vari container, ed è uno spreco occupare il doppio, il triplo o anche più dello spazio. Ed è per risolvere questo problema che esiste OverlayFS.

Il bug permette la copia di un file eseguibile SUID da un filesystem dell’utente al filesystem principale, mantenendo il bit SUID. FONTE: https://www.wiz.io/blog/ubuntu-overlayfs-vulnerability

Millefoglie

OverlayFS è un meccanismo di memorizzazione dei file pensato per l’union mounting: si tratta di unire virtualmente più cartelle, facendole apparire come una sola. Il vantaggio è che si possono creare più cartelle con versioni differenti dello stesso software, da montare volta per volta a seconda della versione necessaria in un filesystem completo. Immaginiamo di avere bisogno di MySql 5 in un container e MySql 8 in un altro container, ma per il resto dello stesso sistema di base. Il grosso del sistema può risiedere in una cartella, poi basta averne una per MySql 5 e una per MySql 8. In un container verrà montata la cartella della versione 5 sopra il sistema base, e viceversa nell’altro. In questo modo si risparmia lo spazio che verrebbe sprecato mantenendo sul disco due volte i file del sistema base. Naturalmente, è un po’ più complesso di così, si possono di fatto avere più versioni degli stessi file con una sorta di logica incrementale: quando si fanno modifiche a un container vengono memorizzati solo i file cambiati rispetto all’immagine docker di partenza, sempre per risparmiare spazio. La domanda che si ci potrebbe porre è: cosa succede ai permessi di file e cartelle, capabilities incluse, una volta che vengono montati dentro altre cartelle? Si può immaginare che vengano ereditate, ma è chiaro che si tratti di una situazione complessa, con tanti container che montano gli stessi file in modo diverso. Il problema nasce dal fatto che un malintenzionato potrebbe abusare di OverlayFS per fare in modo che il kernel copi dei file eseguibili con capabilities da amministratore da un punto di mount realizzato appositamente a delle cartelle sul filesystem principale. Facendo la copia, un sistema GNU/Linux non patchato manterrebbe la capability sul file, offrendo quindi al malintenzionato un file con capability da amministratore sul filesystem principale. Siccome OverlayFS può essere usato tramite FUSE anche da utenti semplici, senza alcun privilegio, questo significa che il malintenzionato deve solo crearsi un filesystem (lower, nell’esempio) su un proprio sistema e inserire un eseguibile con capability da amministrazione:

setcap cap_sys_admin +eip lower/suid

Poi deve solo copiare quel filesystem sul sistema da attaccare e montarlo (nella cartella upper):

mount -t overlay overlay -o rw,

lowerdir=lower,upperdir

=upper,workdir=workdir mount

 

A quel punto si può accedere al file eseguibile dal sistema vittima:

touch mount/suid

getcap lower/suid

E si scopre che la capabilities sono rimaste intatte:

lower/suid = cap_dac_override,

cap_sys_admin+eip

 

 

Vulnerabilità

Nessuna delle modifiche da parte degli sviluppatori di Ubuntu ha introdotto vulnerabilità di per se, ma nel 2020 era stata scoperta proprio una vulnerabilità in overlayFS che permetteva l’impostazione di attributi speciali ai file. Il fix è stato applicato alla linea originale di overlayFS, ma non alla versione modificata da Ubuntu. Nello specifico, quando si tratta di gestire i permessi di un file la versione originale chiama una funzione di servizio che è stata realizzata appositamente per assicurarsi che non vengano dati più permessi a file che non dovrebbero averli. Invece, la versione di ubuntu utilizza direttamente la chiamata di sistema __vfs_setxattr_noperm. Il problema è proprio che il flusso di Ubuntu non prevede dei controlli, che invece nel Linux “originale” sono stati inseriti, per evitare di trasferire le capabilities da un filesystem all’altro.

Un dettaglio che è importante ricordare è che questa vulnerabilità ha un impatto su OverlayFS in sé, ma non su docker o più in generale sui container. Un sistema che utilizza docker non è di per se stesso vulnerabile, lo è solo per il fatto che ha certamente lo stack di overlayfs e quindi chi accede al sistema host potrebbe montare filesystem OverlayFS. Ma chi ha accesso solo a un container non può comunque uscire e danneggiare il sistema host.

 

La soluzione

Le patch per l’implementazione di Ubuntu sono state rilasciate a un mese dalla scoperta delle vulnerabilità, e sono disponibili per le release da Ubuntu 20.04 al più recente 23.10. Purtroppo è vulnerabile anche Ubuntu Bionic (18.04) ma, non essendo più supportata, per questa non è disponibile alcuna patch.

 

Il codice di Ubuntu contiene ancora la chiamata al kernel vulnerabile, mentre in overlayfs mainstream è stata sostituita con un controllo.

 

Leggi anche: “Utenti Ubuntu sotto attacco

[wpdevart_facebook_comment curent_url="http://developers.facebook.com/docs/plugins/comments/" order_type="social" title_text="Facebook Comment" title_text_color="#000000" title_text_font_size="22" title_text_font_famely="monospace" title_text_position="left" width="100%" bg_color="#d4d4d4" animation_effect="random" count_of_comments="7" ]

Articoli

Come ottenere una Bash facilissima

Fatevi aiutare dagli LLM a fare il vostro lavoro di sysadmin generando script Bash utili e sicuri per risparmiare tempo e denaro!

Avatar

Pubblicato

il

Scrivere un buon prompt per generare uno script Bash richiede precisione, consapevolezza dei rischi di sistema e conoscenza delle convenzioni Unix. La shell è uno strumento potenzialmente distruttivo, quindi il prompt deve guidare attentamente il modello, specialmente quando si lavora con file, permessi o comandi che incidono sul sistema. Rispetto ad altri prompt un aspetto è fondamentale: indicate sempre i limiti di sicurezza. La shell può eseguire comandi pericolosi (rm, mv, >, dd, ecc.), quindi includete sempre indicazioni come “Evita operazioni distruttive” e richiedete sempre conferme manuali o backup, quando possibile. Riducete inoltre le assunzioni implicite, ancora di più che per altri contesti. Specificate quindi l’ambiente previsto: è Linux? Se sì, quale distro? Quale versione di Bash? Quali comandi di base
sono disponibili (grep, awk, jq, ecc.)? Richiedete poi sempre commenti e controlli di sicurezza. Chiedete al modello di inserire commenti nel
codice e controlli ([[ -f ]] prima di eliminare file, per esempio).

Compatibilmente con le esigenze dello script, usate protezioni esplicite: richiedete l’inserimento della riga set -euo pipefail all’inizio dello script, per interrompere l’esecuzione in caso di errori o variabili non inizializzate. Naturalmente, e lo specifichiamo anche se dovrebbe essere consuetudine, verificate sempre prima di agire.
Non eliminate o sovrascrivete file senza controllare:

if [[ -f “$file” ]]; then
rm “$file”
fi

A meno che non ne abbiate assolutamente e categoricamente bisogno, evitate operazioni su / o ~: specificate che non devono essere usati percorsi assoluti pericolosi se non richiesto esplicitamente. Cercate di non usare mai rm -rf senza motivazione e conferma e, se proprio necessario, richiedete almeno un dry-run di prova.

 

I prompt più utili

Non metteremo LLM contro LLM qui perché da varie prove abbiamo visto che tutti si comportano bene. Invece vi diamo spunti per script molto utili per semplificare il lavoro del sysadmin o comunque dell’utente Linux:
Scrivi uno script per archiviare e comprimere tutti i file più vecchi di 30 giorni in /var/log su Almalinux”.
Crea uno script per monitorare un processo e riavviarlo se si blocca su Linux”.
Scrivi uno script per controllare lo spazio su disco, per qualsiasi disco collegato, e inviare un avviso via email se l’utilizzo supera il 90%”. Qui opzionalmente potete aggiungere il sistema di invio che preferite.
Crea uno script per eseguire il backup di un database PostgreSQL con nome del file con data e ora su Linux e salvarlo in /opt/backups”.
Questi sono solo alcuni degli esempi, molto brevi e concisi. Potete naturalmente pensare alle vostre specifiche esigenze e farne realizzare di appropriati. Con un po’ di disciplina e prove potete ricavare da qualsiasi buon modello, Mistral incluso che ha avuto qualche problemino nei nostri test, risultati che vi fanno risparmiare tempo e denaro.

 

 

Leggi anche: “IA: l’importanza del prompt

Continua a Leggere

Articoli

Immagini da favola con l’IA

Creare fotografie o illustrazioni con l’IA è ormai la norma ma come si produce un’immagine fedelissima ai vostri desideri?

Avatar

Pubblicato

il

Chiedere a un modello linguistico di grandi dimensioni di generare un testo è una cosa. Chiedergli di generare un’immagine è una sfida completamente diversa, sia più vincolante sia, paradossalmente, più aperta. Nella generazione di immagini, il prompt deve fare il lavoro di una telecamera, di un regista, di un tecnico delle luci,
di un costumista e talvolta anche di un concept artist. Ogni parola diventa una pennellata, ogni ambiguità un rischio di fraintendimento. E a differenza della generazione di testi, in cui un input vago può comunque produrre una prosa coerente, i suggerimenti visivi vaghi spesso producono immagini surreali, incoerenti o semplicemente noiose. Per
capire perché la richiesta di informazioni è così critica nella generazione di immagini, è utile sapere cosa succede sotto il cofano.

 

Come funziona il modello

Quando si inserisce una richiesta testuale in un modello di immagine AI – che si tratti di DALL-E, Midjourney o Stable
Diffusion – si innesca un processo che traduce il linguaggio in una rappresentazione visiva attraverso un modello addestrato su enormi serie di dati di coppie immagine-didascalia. Questi sistemi hanno imparato ad associare parole, frasi e spunti stilistici a specifici modelli visivi. Il modello costruisce quindi l’immagine in modo incrementale, spesso attraverso un processo di diffusione: partendo da un rumore e perfezionandolo gradualmente in un’immagine coerente che si allinea statisticamente con la richiesta. Grazie a questa architettura, la precisione della richiesta ha un impatto diretto sulla qualità, la chiarezza e la composizione dell’output. Non si tratta solo di ciò che si descrive, ma anche di come lo si fa. Una buona richiesta di immagine unisce specificità e struttura: nomina gli oggetti, definisce le
relazioni, imposta l’ambiente e, se necessario, evoca uno stato d’animo o uno stile artistico.

 

Un esempio pratico

Una richiesta come:
“un uomo in una foresta”

può produrre qualcosa di tecnicamente accurato ma visivamente insipido o generico. In contrasto con:

“Un escursionista solitario che indossa una giacca rossa si trova in mezzo a pini imponenti, la nebbia mattutina che si arriccia intorno ai suoi stivali, una luce morbida e dorata che filtra attraverso la chioma – un film, una profondità di campo ridotta”

Questa seconda versione fa diverse cose: stabilisce un soggetto centrale, aggiunge un contesto, specifica il colore e l’illuminazione, introduce l’atmosfera e suggerisce uno stile visivo. Le migliori pratiche per una presentazione efficace delle immagini iniziano con una descrizione gerarchica.
Ciò significa iniziare con il soggetto principale, quindi stratificare i dettagli in un ordine logico:

Cosa sta facendo il soggetto?
Dove si trova?
Qual è lo stato d’animo?
Che ora del giorno è?
C’è una tavolozza di colori, una composizione o uno stile specifico a cui si mira?

L’esplicitezza in questo caso è fondamentale. Dire “fotorealistico” rispetto a “pittura digitale” o “olio su tela” guida il modello di rendering verso librerie di texture e presupposti visivi diversi. Menzionare la terminologia della macchina fotografica come “obiettivo da 35 mm”, “bokeh” o “grandangolo” spesso produce composizioni più professionali, anche se il modello non comprende appieno l’ottica: ha imparato statisticamente il tipo di immagini a cui quei termini sono legati. È anche saggio fornire dei vincoli. Dire “minimalista” o “composizione simmetrica” può evitare il disordine visivo. Descrivere le condizioni di illuminazione – “controluce drammatico”, “ombre morbide” o “sole a
mezzogiorno” – può aiutare ad ancorare l’immagine a un ambiente specifico. È possibile anche creare uno stato d’animo utilizzando spunti emotivi come “malinconico”, “sereno” o “teso”, soprattutto per i modelli che si sono formati su fotografie d’arte o fotogrammi di film con didascalia. E ora vediamo come se la cavano gli LLM…

 

IL PROMPT DA UTILIZZARE CON GPT-4o – GROK – GEMINI – STABLE DIFFUSION

Per mettere alla prova i modelli LLM abbiamo scelto questo prompt, in questo caso in inglese per non introdurre
problemi di lingua: “A futuristic library at sunset, built inside a glass dome in the middle of a lush forest. The structure
is illuminated from within, with soft golden light glowing through the transparent panels. Inside, towering
bookshelves spiral upward around a central tree growing through the dome, its branches extending toward the ceiling. A person in minimalist white clothing sits cross-legged on a floating platform, reading a glowing book. Style:
ultra-detailed, photorealistic, cinematic lighting, wideangle shot, 35mm lens, shallow depth of field, ambient fog
outside, warm color palette”.

 

I RISULTATI:

GTP-4o: un buon compromesso
L’LLM di OpenAI si è comportato piuttosto bene. C’è la foresta, la pedana flottante dà l’idea del futuro, l’illuminazione è corretta e l’immagine è fotorealistica. La libreria però non è molto realistica nella sua geometria e soprattutto non è a spirale.

 

Grok: poco futuristico e non fedele
L’immagine di Grok ha due problemi principali. Il primo è che non è futuristica: non si vedono davvero elementi che facciano pensare al futuro. E, come per GPT-4o, la libreria non è a spirale, oltre ad avere una geometria pessima.

 

Gemini: risultato perfetto
Cosa dire dell’immagine creata dall’LLM di Google? Praticamente nulla: futuristica, ben illuminata, fotorealistica e soprattutto con una libreria a spirale esattamente come avevamo chiesto. Persino il contrasto è ineccepibile. Ottimo lavoro!

 

Stable Diffusion: bella, ma…
Questo modello dà il meglio quando riceve parametri aggiuntivi specifici, quindi sapevamo che avrebbe avuto problemi. L’immagine è tecnicamente bella ma mancano quasi tutti i parametri essenziali richiesti dal nostro prompt.

 

EVITARE GLI ERRORI COMUNI GENERANDO IMMAGINI

In questo articolo avete visto come creare il prompt perfetto per creare immagini; ma è importante
anche sapere cosa NON fare! Ecco le cose da evitare quando si generano immagini… Anzitutto evitate di essere
troppo vaghi. Prompt come “un bel paesaggio” o “una città futuristica” possono sembrare stimolanti, ma producono risultati piatti o cliché. Bellezza e futurismo hanno significati radicalmente diversi a seconda del contesto visivo e il modello si orienterà verso le interpretazioni statisticamente più comuni. Non mettete poi troppe idee insieme.
Cercare di accatastare più elementi non correlati (“un gatto, un’astronave e una sala da ballo vittoriana”) in un
unico prompt di solito porta a una confusione visiva, a meno che non si definiscano attentamente le relazioni
e la gerarchia. In caso contrario, il modello può confondere o oscurare gli elementi in modi poco utili. Inoltre,
frasi come “la sensazione del tempo che rallenta” o “un momento di tensione sospesa” possono essere
significative nella scrittura umana, ma sono troppo vaghe per i modelli di immagini senza ulteriori ancore
visive. Abbinate sempre concetti astratti a immagini concrete. Inoltre non ignorate mai le indicazioni di
composizione e stile. Se non si specifica l’inquadratura (per esempio, “orientamento ritratto”, “primo piano”, “grandangolo”) o lo stile (“illustrazione cyberpunk”, “pittura a olio del XIX secolo”), il modello è libero di tirare a indovinare, spesso con risultati incoerenti o non voluti. Infine, come per altri temi, inondare l’input di parole chiave nella speranza di “massimizzare” il risultato può in realtà essere controproducente. La ridondanza può confondere il
modello o far sembrare il risultato “sintetico” e troppo processato.

 

 

Leggi anche: “Il prompt che attacca l’IA

Continua a Leggere

Articoli

IA: l’importanza del prompt

Perché è importante fare le domande giuste e come funziona la procedura di domanda e risposta negli LLM?

Avatar

Pubblicato

il

Ogni interazione con un modello linguistico di grandi dimensioni inizia con un prompt. È l’istruzione, il suggerimento, l’input che dice al modello cosa si vuole e come lo si vuole. Sebbene possa sembrare una semplice richiesta in un linguaggio semplice, un prompt ben fatto è tutt’altro che banale. È la differenza tra una risposta vaga e una precisa, tra un output generico e una soluzione su misura.

Un prompt non si limita ad attivare il modello, ma lo guida, definisce i confini della risposta e stabilisce il tono e il contesto. Man mano che questi sistemi diventano più avanzati, in grado di gestire compiti molto complessi, l’onere della chiarezza si sposta sempre più sull’utente.

Non basta sapere cosa si vuole, bisogna esprimerlo in modo che il modello lo capisca senza ambiguità. Un prompt non è solo una domanda, ma una specifica. Può definire la struttura, il tono, il formato, la prospettiva e persino l’intento. Lo stesso modello può generare un riassunto esecutivo, un tweet sarcastico, un’email formale o una storia della buonanotte, con le giuste istruzioni. La sfida sta nel trovare la frase esatta che sblocca il comportamento desiderato. Il modello deve sapere quale voce usare, cosa tralasciare e a chi sta parlando. In sostanza, il prompt engineering non consiste solo nel porre domande, ma anche nel progettare interazioni.

Servizi come ChatGPT o Claude danno accesso ai loro LLM tramite API. Attenzione però a un aspetto importante: le risposte che arrivano dall’API sono un po’ diverse da quelle della chat, in parte perché quest’ultima ha accesso al Web

 

Come funziona tecnicamente

Quando un Large Language Model (LLM) riceve un prompt, entra in azione un processo complesso ma ben definito che trasforma il testo d’ingresso in una risposta coerente e pertinente, che parte con la tokenizzazione del prompt. I modelli non ragionano, infatti, direttamente sulle parole o sulle lettere, ma su token, che sono unità linguistiche minime (possono essere una parola intera, una parte di parola, o anche solo una lettera nei casi più complessi).
I token vengono poi inviati nel cuore del modello: una rete neurale transformer. Qui, ogni token passa attraverso strati composti da meccanismi chiamati self-attention e feedforward. Questi permettono al modello di capire il contesto globale (cioè ogni parola rispetto alle altre), assegnare pesi e priorità semantiche a parole chiave e memorizzare informazioni rilevanti tramite i cosiddetti embedding vettoriali. Il transformer, strato dopo strato,
costruisce una rappresentazione interna del prompt, cercando di “capire” cosa l’utente sta chiedendo. Una volta compreso il prompt, il modello procede, token per token, a generare la risposta. A ogni passaggio, il modello analizza i token già generati (il contesto), calcola una distribuzione di probabilità su tutti quelli possibili e sceglie il token successivo in base a questa distribuzione. Questo processo si ripete iterativamente, finché non si raggiunge un token di fine sequenza (<end>) o un limite massimo di lunghezza. Una volta generati tutti i token della risposta, questi vengono decodificati (cioè trasformati da ID numerici in testo leggibile) dal tokenizer inverso. Per esempio,
i token [4213, 128, 603, 2] potrebbero essere ricostruiti come “Certo, ecco una email”. In ambienti come ChatGPT o l’API di Claude, dopo la generazione, la risposta può passare attraverso filtri di sicurezza (per rimuovere contenuti offensivi o pericolosi), troncamenti o formattazioni e postelaborazioni in base all’applicazione (per esempio,
strutturare il testo in HTML).

 

 

Leggi anche: “Il ransomware che usa modelli LLM

Continua a Leggere

Articoli

Il virus bancario creato con l’IA

Un malware che si diffonde su WhatsApp e ruba credenziali bancarie: la minaccia arriva dal Brasile, ma potrebbe presto varcare i confini

Avatar

Pubblicato

il

Un nuovo malware fa parlare di sé nel mondo della cybersicurezza: si chiama Maverick ed è un trojan bancario – un tipo di virus che mira a rubare credenziali e soldi dai conti online – scoperto dai ricercatori del team GReAT di Kaspersky. La sua particolarità? Parte del suo codice è stato generato dall’intelligenza artificiale, rendendolo più sofisticato, veloce da sviluppare e difficile da individuare. Al momento Maverick colpisce soprattutto gli utenti in Brasile, ma gli esperti temono che possa presto diffondersi anche in altri Paesi, come già successo con altri trojan brasiliani, tra cui Grandoreiro e Guildma.

Trojan bancari brasiliani diffusi in tutto il mondo nel 2025. Il Brasile è in testa alla classifica

 

Come si diffonde Maverick

Il virus si propaga attraverso file LNK dannosi, ovvero scorciatoie (i classici “collegamenti” di Windows) inviate tramite WhatsApp. Basta un clic su un collegamento apparentemente innocuo per attivare l’infezione.
Una volta eseguito, Maverick comunica con un server di comando e controllo (C2) che verifica l’origine del file: solo se proviene da un canale “autorizzato” l’attacco procede, in modo da evitare di essere scoperto dai sistemi di sicurezza. Il malware si comporta anche come un worm, cioè è in grado di auto-diffondersi inviandosi a sua volta tramite le app di messaggistica delle vittime. Nei primi dieci giorni di ottobre, le soluzioni di Kaspersky hanno bloccato oltre 62.000 tentativi di esecuzione del file infetto solo in Brasile.

Codici generati dall’intelligenza artificiale di Maverick

 

Cosa riesce a fare

Dopo l’infezione, Maverick può prendere il controllo totale del computer:

  • cattura schermate e registra ciò che digiti sulla tastiera (keylogger);

  • controlla il mouse o blocca lo schermo quando visiti il sito della tua banca;

  • mostra pagine di phishing sovrapposte a quelle reali per rubare username e password;

  • monitora l’attività su 26 siti di banche brasiliane, su sei piattaforme di criptovalute e su un sito di pagamenti digitali.

Il tutto avviene “in memoria”, cioè senza lasciare quasi tracce sul disco, sfruttando strumenti legittimi come PowerShell e .NET. Questo lo rende particolarmente insidioso, perché è più difficile da individuare dai software antivirus tradizionali.

Il ruolo dell’IA

Secondo Kaspersky, Maverick utilizza frammenti di codice generati da sistemi di IA per alcune funzioni cruciali, come la decodifica dei certificati di sicurezza. In pratica, i cybercriminali sfruttano l’AI come un assistente di programmazione, capace di scrivere o modificare porzioni di codice in modo rapido e preciso.
Un esempio? Come un utente può chiedere a un chatbot di scrivere un testo, un hacker può chiedergli di “ottimizzare” una funzione o di nascondere un comando per eludere i controlli di sicurezza.

Le soluzioni per difendersi

Per ridurre il rischio di cadere vittima di trojan bancari come Maverick, Kaspersky raccomanda alcune buone pratiche:

  • Non aprire file o link ricevuti via messaggistica, anche se arrivano da contatti noti: il loro account potrebbe essere stato compromesso.

  • Diffidare dei messaggi che mettono fretta o pressione, una tattica comune dei truffatori.

  • Usare una soluzione di sicurezza completa con la funzione Safe Money, che verifica la legittimità dei siti bancari e dei sistemi di pagamento online.

  • Aggiornare regolarmente sistema operativo e programmi, scaricandoli solo da fonti ufficiali.

La scoperta di Maverick è l’ennesimo esempio di come l’intelligenza artificiale, se usata male, possa potenziare il cybercrimine. Ma è anche un invito a essere più consapevoli: ogni clic, ogni file aperto, può essere una porta d’ingresso per un attacco digitale.

*Illustrazione progettata da Securelist

Continua a Leggere

Articoli

L’estetica dell’errore

Dalla corruzione dei dati alla generazione algoritmica: come l’arte glitch e la cultura hacker stanno ridefinendo i confini dell’espressione visiva e sonora

Avatar

Pubblicato

il

L’hacking non è solo una questione di codice, sicurezza e sistemi informatici. È una forma d’arte, un processo creativo che sfrutta l’errore, il glitch e la sperimentazione per dare vita a nuove forme d’espressione visiva e sonore.
Negli ultimi decenni, poi, la cultura hacker ha non solo influenzato profondamente l’arte contemporanea, ma anche spinto artisti e creativi a esplorare le possibilità offerte dalle tecnologie digitali attraverso pratiche non convenzionali.

UNA MAGGIORE ANALISI

Partiamo dal termine glitch, che indica un errore imprevisto in un sistema digitale, un malfunzionamento che può generare risultati inaspettati. Se nel contesto tecnologico rappresenta un problema, nel mondo dell’arte è diventato un linguaggio espressivo. L’arte glitch si basa sulla corruzione di dati digitali, file audio e immagini per ottenere effetti visivi e sonori unici. L’artista-hacker non crea da zero, manipola e distorce ciò che già esiste, generando opere che riflettono il caos e l’imprevedibilità del mondo digitale. Un esempio significativo è l’uso della databending, una tecnica che altera i dati di un file immagine con strumenti pensati per altri formati, come software di editing audio applicati a immagini. Il risultato è una composizione di pixel distorti e colori esplosi, una sorta di “errore controllato” che diventa arte.

Esempi di arte generativa realizzati con il software Processing. Utilizzato da artisti, designer e creativi di tutto il mondo, questo software combina la potenza del codice con un’interfaccia intuitiva, permettendo di esplorare nuove forme espressive attraverso la programmazione.

 

ARTE GENERATIVA E ALGORITMI CREATIVI

Gli hacker artisti non si limitano a lavorare con glitch casuali, ma spesso progettano nuovi algoritmi generativi per creare immagini e suoni. Software come Processing e p5.js vengono utilizzati per sviluppare codici che generano forme artistiche autonome, spesso basate su schemi matematici e casualità controllata.
Uno degli aspetti più affascinanti dell’arte generativa è la sua imprevedibilità: l’artista imposta le regole, ma il risultato finale è sempre differente. Questo approccio richiama la filosofia hacker, basata sulla sperimentazione e sull’adattamento creativo ai sistemi tecnologici.

 

L’HACKING NELL’ARTE CONTEMPORANEA

L’hacking è anche un atto politico e sociale. Molti artisti-hacker utilizzano la tecnologia per criticare il controllo digitale, la sorveglianza e l’omologazione dei media. Le opere di artisti come JODI (Joan Heemskerk e Dirk Paesmans) dimostrano come la manipolazione del codice possa essere usata per sovvertire l’estetica tradizionale del Web e della grafica digitale. In ambito sonoro, il glitch si è affermato come un genere musicale a sé stante. Artisti come Oval e Alva Noto hanno costruito intere discografie su suoni ottenuti dalla manipolazione digitale di CD e file audio corrotti.

Harold Cohen sviluppò e perfezionò il software AARON presso la University of California, San Diego, dedicando anni di ricerca all’aggiornamento del suo codice per renderlo sempre più sofisticato.

 

NUOVE FRONTIERE

Con l’avvento degli NFT (Non-Fungible Token), la cultura hacker ha trovato nuovi spazi di espressione e critica. Alcuni artisti hanno utilizzato vulnerabilità nelle piattaforme blockchain per creare opere d’arte che si autodistruggono o cambiano aspetto nel tempo, dimostrando come l’arte digitale sia legata all’ecosistema hacker.Un esempio iconico è Pak, un artista digitale che ha sfidato il concetto di unicità nell’arte NFT, giocando con smart contract e generando opere che si modificano a seconda delle interazioni del pubblico.

 

IN FUTURO…

L’arte glitch e l’hacking condividono una radice comune: il desiderio di esplorare, sperimentare e sovvertire i sistemi esistenti. In un’epoca in cui la tecnologia domina ogni aspetto della nostra vita, la fusione tra hacking e arte diventa una forma di resistenza culturale e un’opportunità per ridefinire la creatività nell’era digitale. Il futuro dell’arte hacker è ancora in evoluzione, con nuove tecnologie come l’intelligenza artificiale e la realtà aumentata che offrono possibilità sempre più complesse. Una cosa è certa: l’hacker-artista continuerà a essere una figura chiave nel panorama culturale attuale, spingendo i confini della creatività oltre i limiti imposti dai sistemi tradizionali.

 

 

Leggi anche: “Attacchi ai servizi di rete

Continua a Leggere

Articoli

Avere router a prova di attacco

Le opzioni che non puoi tralasciare se vuoi proteggere connessione di rete e dati personali

Avatar

Pubblicato

il

La sicurezza dei dati personali e delle password è un argomento che sta molto a cuore da sempre, a tutti noi. Purtroppo, gli attacchi informatici sono all’ordine del giorno e non solo sui principali siti di tutto il mondo: phishing, ransomware e via discorrendo, infatti, rendono la vita difficile a chiunque, per non parlare poi dei vicini ficcanaso che provano a “bucare” la nostra Wi-Fi. E considerando che gran parte degli attacchi fanno leva su disattenzioni umane, errori di configurazione e vulnerabilità di applicazioni, sistemi operativi e dispositivi, cosa si può fare per tenerli a bada? Semplice: restare vigili e informati! Pronti, insomma. Sempre!

 

IL PRIMO PASSO

Partiamo dal presupposto che una persona che abbia sufficienti competenze, tempo e risorse economiche, sarà quasi sempre in grado di violare qualunque sistema, anche quello ritenuto più sicuro. Succede ovunque e a qualunque livello ma, ovviamente, una cosa è violare i server della CIA, una cosa ben diversa è penetrare una rete Wi-Fi e sottrarre gli account salvati su un file pensando fossero al sicuro.
Basandoci su questa premessa, nel tutorial contenuto nella pagina di fianco, vedremo come rendere sicura una rete Wi-Fi che, non bisogna dimenticarlo mai, ha spesso connessi smartphone, smart TV, PC e device d’ogni tipo… con tutto quello che ne segue!

 

PER UN ROUTER IMPENETRABILE

Evitare intrusioni e vulnerabilità è fondamentale per garantire una rete Wi-Fi affidabile. Ecco gli accorgimenti necessari per preservare sicurezza e privacy.

Nascondere il nome
I router trasmettono ai dispositivi vicini l’SSID di rete; meglio disattivare quest’opzione, per cui effettuare l’accesso alla pagina di configurazione del router (nel nostro caso un Fritz!Box) e cercare l’impostazione simile a Trasmissione SSID o SSID visibile e disattiviamola.

 

Usare la criptazione
Meglio evitare di essere pigri: se il router di default utilizza ancora l’obsoleta criptazione WEP, attivare la WPA2 o, meglio ancora, la WPA3. Solitamente nei router la voce per attivare la modalità di criptazione si trova nella sezione Sicurezza.

 

Aggiornare il firmware
Per evitare che qualcuno possa sfruttare una vulnerabilità del firmware del router assicurarsi di avere sempre l’ultimo firmware. È possibile scaricarlo accedendo al sito del produttore o direttamente dal router cercando la voce Aggiornamento firmware, Update o simili, solitamente nella sezione Sistema.

 

Modificare la password
Per fornire accesso alla Wi-Fi utilizzare la connessione ospite tramite la voce Accesso ospite, Ospite, Abilita rete ospite o simili all’interno di una sezione Rete Wireless, Wireless, Wi-Fi o Impostazioni aggiuntive. Anche in questo caso è possibile impostare a piacimento il nome della rete e la password.

 

Non usare il WPS
Il WPS è molto comodo, ma poco sicuro, quindi meglio disabilitarlo. Accedere alla pagina di configurazione e cercare l’opzione WPS Attiva, Abilita WPS o simile. Dopo aver disattivato l’opzione è consigliabile riavviare il router.

 

Impostare una password “forte”
I roouter in commercio vengono venduti utilizzando credenziali standard (semplici e alla portata di molti “smanettoni”). Per cambiarle, accedere al router  e , nella sezione Sicurezza, modificare username e password.

 

Leggi anche: “A cosa servono i router e gli switch

Continua a Leggere

Articoli

Test hardware: ODROID-H4 Ultra

L’SBC giusto se dovete realizzare progetti che richiedono tanta potenza di calcolo e un buon numero di dischi

Avatar

Pubblicato

il

ODROID-H4 Ultra è indicato come SBC (computer su singola scheda) dal produttore, ma in realtà si avvicina olto a un miniPC. Rispetto ad altri SBC si distingue per il fatto di essere animato da una CPU Intel e per la sua elevata potenza e capacità di gestire carichi di lavoro intensi. È un’alternativa agli SBC basati su ARM come la Raspberry Pi e rispetto all’altro SBC recensito in questo numero è più adatto a progetti che richiedono una potenza di calcolo piuttosto elevata. Anche le sue dimensioni sono maggiori rispetto a quelle “classiche” e sono pari a 12×12 cm.

 

Due punti di forza

Il cuore della scheda è una CPU Intel Core i3 N305 Alder Lake-N con 8 core e 8 thread, 6 MB di cache e una frequenza massima di 3,8 GHz. Questo garantisce notevoli capacità di calcolo per qualsiasi progetto hardware/software. La GPU è integrata, adatta per l’uso desktop e per progetti da maker/prototipazione, ma non per il gaming intensivo. Supporta fino a 48 GB di memoria RAM DDR5-4800, un tipo di RAM recente e veloce che contribuisce alle prestazioni. È però presente un solo slot per la RAM, nella parte inferiore della scheda, il che impedisce di sfruttare il dual channel. La connettività è un altro dei punti di forza di ODROID-H4 Ultra. Dispone di
due porte USB 3.0 e due USB 2.0. Per il video, offre una porta HDMI 2.0 e due DisplayPort 1.2, consentendo di collegare fino a tre schermi, anche in 4K. Per la rete, ci sono due porte Ethernet da 2,5 Gbit. Completano la dotazione le porte audio due jack da 3,5mm (input e output) e una porta audio digitale S/PDIF. Troviamo poi un GPIO da
24 pin per l’interfacciamento con altri dispositivi o la creazione di circuiti. Non ci sono Wi-Fi o Bluetooth integrati.

 

60W almeno

Passiamo allo storage. ODROID-H4 Ultra offre diverse opzioni. Ha un connettore per unità eMMC, che però non sono particolarmente famose per la loro velocità. Per installare il sistema operativo, sono compatibili sia Linux sia Windows, conviene sfruttare lo slot M.2 PCIe 3.0 x 4 che supporta gli SSD NVMe 2280. Inoltre, per progetti che
richiedono più dischi, come un NAS, la scheda offre ben quattro porte SATA3 6 Gbps con connettori di alimentazione dedicati. Per l’alimentazione, il produttore suggerisce un alimentatore da 60W (che sul sito di Cecchi S.r.l., che ci ha fornito il sample, ha un costo di 15 €). Tuttavia, collegando quattro dischi SATA,
potrebbe essere necessario un alimentatore da 133W o superiore. Accessori utili includono un case (16 €) e una ventola (9 €), sempre disponibili su https://odroid.info/shop. La CPU include di serie un dissipatore passivo, ma la ventola può essere utile sotto carichi pesanti, risultando comunque silenziosa nei test. Il montaggio di case, NVMe e modulo RAM è molto semplice. La scheda può essere acquistata su questo sito a 340 euro.

 

Scheda tecnica
CPU: Intel Core i3 N305 Alder Lake-N, 8 core, 8 thread, 6 MB cache, 3,8 GHz
GPU: Intel UHD Graphics, 32 EU, 1,25 GHz
RAM: max 48 GB DDR5 PC5-384000 4800MHz (singolo slot, no integrata)
Storage: slot per eMMC, quattro porte SATA 3.0, e linee PCIe 3.0 per NVMe M.2
Video: 1 HDMI 2.0 e 2 DisplayPort 1.2
Audio: 2x jack 3,5mm (input/output), 1x porta audio digitale S/PDIF
Porte: 2x USB 3.0, 2x USB 2.0, GPIO 24 pin
Connettività: 2 Ethernet 2,5 Gbit

 

 

Leggi anche: “Test hardware: Youyeetoo X1

Continua a Leggere

Trending