Connect with us

Articoli

Un pericoloso scambio di identità

Il servizio EKS di Amazon Web Services utilizza il sistema di identità AWS IAM per gestire gli utenti e li traduce nel sistema di ruoli e permessi tipici di Kubernetes. Questa traduzione, però, nasconde un punto debole

Avatar

Pubblicato

il

Amazon Web Services è il cloud di Amazon, una delle principali piattaforme cloud disponibili. La quantità di servizi che offre è enorme, praticamente qualsiasi cosa si possa immaginare nel mondo del cloud computing, e sono solitamente indicati con delle sigle. S3, per esempio, è un semplice storage cloud. EC2 offre macchine virtuali. Mentre EKS (Elastic Kubernetes Service) è l’implementazione in chiave Amazon di Kubernetes. Naturalmente, nella logica di Amazon, tutti i vari servizi sono interconnessi, in particolare per quanto riguarda l’autenticazione. Su Kubernetes è, infatti, presente un meccanismo di autenticazione basato su utenti e ruoli, per cui a ogni utente vengono assegnati dei token identificativi e una serie di autorizzazioni per l’accesso a specifiche risorse. Questo permette di definire con estrema precisione quali attività possano essere svolte da ciascun utente, rendendo l’ambiente molto sicuro, perché non è necessario dare a qualcuno più permessi di quanti ne servono. L’aspetto interessante è che già da prima che esistesse Kubernetes, il sistema di autenticazione di Amazon, AWS IAM, funzionava con la stessa logica.

 

DOVE RISIEDE LA VULNERABILITÀ

Per evitare di dover ripetere tutto due volte, cosa piuttosto complicata in aziende con centinaia o migliaia di dipendenti, Amazon ha deciso di integrare il proprio IAM con la sua implementazione di Kubernetes, così è possibile utilizzare le utenze AWS preesistenti, magari già in uso per accedere a servizi come S3 o CloudFront, per accedere anche alle risorse allocate sul cluster Kubernetes. È quindi stato pubblicato il modulo AWS IAM authenticator for Kubernetes, che permette l’utilizzo del sistema di autenticazione di Amazon per accedere alle risorse di un cluster Kubernetes (uno qualsiasi, in realtà, non necessariamente EKS). Kubernetes è infatti open source, quindi chiunque può realizzarsi un cluster sul proprio hardware, e Amazon ha rilasciato come open source anche la propria implementazione, col nome di “EKS Anywhere”. E chiunque può decidere di utilizzare come autenticatore il servizio IAM di Amazon, su qualsiasi cluster Kubernetes. Semplicemente, Kubernetes continua a gestire i suoi ruoli e permessi come al solito, ma per l’autenticazione di un accesso non si fa il classico scambio di chiave direttamente in Kubernetes: l’utente si autentica su Amazon e riceve un token di autorizzazione temporaneo, che viene poi utilizzato nelle varie chiamate alle KubeAPI per collegare l’attività all’utente. Il modulo  aws-iam-authenticator si occupa proprio di mettere in relazione i ruoli nativi di Kubernetes con l’autenticazione di Amazon. Ed è in questa “traduzione” che è stato trovata una vulnerabilità, a meno di un anno dalla pubblicazione di EKS Anywhere.

Figura 1 – Il problema è che il nome utente viene cercato come lowercase, quindi è possibile che due nomi, che differiscono solo per le maiuscole, vengano confusi. [Fonte]

 

UN DIZIONARIO PER LA TRADUZIONE

La procedura di autenticazione percorre sostanzialmente sei passi:

  1. L’utente invia una richiesta alle API di EKS, per ottenere delle risorse Kubernetes (per esempio, “kubectl get pods”). La richiesta include un token di autorizzazione nell’intestazione, che è una stringa base64 di AWS Security Token Service.
  2. Il server riceve la richiesta, estrae il token, e lo invia nel corpo della richiesta verso il server di AWS IAM.
  3. Il server di autenticazione di AWS IAM riceve il token dal server API, lo decodifica e lo verifica. Se è corretto, il server IAM invia la richiesta di autenticazione firmata ad AWS STS.
  4. AWS STS riceve la richiesta e contolla la firma. Se la firma è valida, poi invia i dettagli dell’identità IAM dell’utente come risposta alla chiamata GetCallerIdentityResponse (chiamata che IAM fa a STS).
  5. L’autenticatore IAM riceve la risposta della propria chiamata GetCallerIdentityResponse da STS e traduce l’identità IAM collegata a quel token in un serviceaccount di Kubernetes, basandosi sulle regole scritte nella ConfigMap aws-auth. L’identità Kubernetes che viene riconosciuta grazie a questa ConfigMap deve ovviamente essere presente nel cluster, e avere delle regole RBAC che le permettano l’accesso a delle risorse. AWS IAM passa l’identità Kubernetes corrispondente alla propria alle API di EKS.
  6. Il server delle API riceve l’identità, controlla i permessi tramite RBAC, e verifica se la richiesta (“get pods”, nell’esempio) è autorizzata per questo serviceaccount. In caso positivo, esegue la richiesta e restituisce il risultato direttamente al chiamante.

Uno dei punti deboli è che è possibile modificare la ConfigMap, come si farebbe con una qualsiasi altra ConfigMap:

kubectl edit configmaps aws-auth -n kube-system

Se si aggiungesse un elemento di questo tipo alla sezione mapUsers:

mapUsers: |
– userarn: arn:aws:iam::000000000000:user/testuser
username: user:

Sarebbe possibile assegnare una access key IAM arbitraria (per esempio la propria) all’utente testuser. Naturalmente, per poterlo fare bisogna prima di tutto avere l’accesso alla ConfigMap in questione, ma è possibile che un utente possa accedere al namespace kube-system senza però avere altri privilegi. Con questo meccanismo, potrebbe modificare la ConfigMap e assegnarsi un serviceaccount Kubernetes che ha maggiori privilegi, andando quindi a impersonare un altro ruolo. Ci si potrebbe chiedere: ma, se viene mappato un utente già presente nella ConfigMap, non dovrebbe generare un errore? La realtà è che questo non accade a causa di questo bug nella lettura della ConfigMap da parte del sistema di verifica dei token:

queryParamsLower.Set(strings.ToLower(key), values[0])

Come si può vedere, la chiave (l’utente) viene trasformata in minuscolo. È quindi possibile modificare la ConfigMap per sostituire l’utente “amministratore” con un piccolo trucco: basta aggiungere la propria access key per l’utente “Amministratore”. Siccome le due stringhe sono diverse, non ci sarà una sovrascrittura e nessun errore nell’inserimento. Poi, quando AWS cercherà di confrontare le varie access key, selezionerà questa stringa ma trasformandola in minuscolo, quindi dando l’accesso al service account “amministratore”.

 

LA SOLUZIONE

Amazon ha risolto il problema semplicemente aggiungendo al codice una funzione che faccia un vero controllo dei duplicati, per assicurarsi che nessuno aggiunga una seconda volta l’access key per un utente già esistente. Il nuovo codice è stato caricato su tutte le istanze EKS gestite da Amazon, e per quelle installate dagli utenti sul proprio hardware basta fare un aggiornamento di EKS Anywhere. A ogni modo, il bug era presente fin dal 2020, e non sappiamo se sia stato sfruttato da qualcuno prima che venisse scoperto e corretto, quindi conviene assicurarsi che i permessi degli utenti nel proprio cluster EKS siano rimasti come previsto. In particolare, all’amministratore basta controllare la ConfigMap aws-auth nel namespace kube-system, per assicurarsi che non ci siano “duplicati” (pur con differenze tra maiuscole e minuscole) dei nomi degli account.

Figura 2 – Il problema è stato risolto con una nuova funzione che controlla la presenza di eventuali utenti duplicati  a prescindere da maiuscole e minuscole, e segnala l’errore. [Fonte]

[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