Connect with us

Articoli

Crittoanalisi a singolo bit

Pubblicato

il

Crittografia a singolo bit

Apprendiamo i principi della crittografia a flusso di cifre che, anziché cifrare i dati in un blocco, sfrutta un algoritmo che lavora su ogni singolo bit.

La crittografia simmetrica vanta innumerevoli algoritmi. Nel numero 221 abbiamo analizzato alcuni dei più famosi appartenenti all’insieme del metodo a blocchi. Nel numero 223 di HJ abbiamo invece deciso di occuparci del secondo grande contenitore, vale a dire quello dei sistemi a flussi di cifre.

Lavoro certosino

Il termine sistema a flusso di cifre è evocativo: indica un algoritmo che, anziché cifrare i dati in un blocco, lavora su ogni singolo bit. La chiave necessaria alla cifratura viene quindi inclusa nelle stesse informazioni criptate.

In fase di crittografia vengono creati una serie di bit a caso che in gergo sono definiti keystream. Questi, a loro volta, sono combinati con il testo non cifrato per originare quello criptato. L’operazione che si occupa di questa combinazione è di tipo simmetrico ed è conosciuta con il termine XOR od “or esclusivo”. Si tratta di un operatore logico che origina determinate condizioni solo al verificarsi di alcune. Il principale vantaggio dei sistemi a flusso di cifre è la velocità. Rispetto alla crittografia a blocchi, inoltre, operano con molte meno risorse hardware e sono quindi l’ideale se abbiamo bisogno di avere risultati immediati e senza troppe spese.

C’è però da dire che, in quanto a sicurezza, le possibilità di compromissione sono più alte, soprattutto se vengono usati in modo non strettamente corretto. L’errore più grave che si può commettere quando abbiamo a che fare con i cifrari a flusso, consiste nel ripetere la sequenza di partenza a intervalli troppo corti. In questo caso le correlazioni salterebbero fuori e farebbero da tallone d’Achille.

Se vuoi sapere esattamente di quali algoritmi parliamo, corri in edicola oppure acquista il nuovo numero in versione digitale qui!

[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

Una distro tagliata su misura

Costruire una distro con Linux From Scratch significa libertà totale: niente compromessi, solo i pacchetti scelti e controllati da voi

Pubblicato

il

Sicuramente le distribuzioni Linux pronte all’uso sono comode. Installate Ubuntu, Fedora o Debian e avete subito a
disposizione un sistema completo. Ma questa comodità porta con sé vincoli e compromessi: pacchetti scelti da altri, servizi attivi di default, librerie che non userete mai… Con Linux From Scratch (LFS) il paradigma si ribalta. Qui siete voi a decidere tutto: dal compilatore al gestore di init, dal kernel alle librerie utente. Non c’è software imposto e nessun pacchetto superfluo. Questo vi permette di ottenere un sistema più snello, cucito sulle vostre esigenze. Non solo: eliminando i livelli di astrazione tipici delle distro generaliste, avrete un controllo totale sulla superficie d’attacco e anche sulla manutenzione. Se vi interessa un server che faccia solo quello che volete, senza processi nascosti, o un ambiente desktop minimale che non sprechi risorse, LFS è la strada più diretta.

 

Preparare il terreno di lavoro

Il primo passo è predisporre l’ambiente. LFS non si installa “sopra” come una normale distro: si costruisce da zero all’interno di uno spazio dedicato. Potete usare un vecchio PC, un server secondario o una macchina virtuale: l’importante è avere una partizione vuota o un disco dedicato. Il progetto consiglia di partire da una distro Linux funzionante che faccia da “host”, ossia l’ambiente in cui compilerete i sorgenti. Qui installerete i pacchetti indispensabili: compilatore GCC, binutils, make, bash, tar e altri strumenti di base. Il metodo LFS si articola in due fasi. Nella prima create una toolchain temporanea: compilatore, linker e librerie essenziali isolati dal sistema host. Questo garantisce che i pacchetti successivi vengano costruiti in un ambiente controllato, senza dipendere da configurazioni esterne. Una volta pronta la toolchain, entrate in un chroot nella nuova partizione: da qui in avanti lavorerete come se foste già dentro la vostra futura distro. Ogni pacchetto viene scaricato dai sorgenti ufficiali, verificato con checksum, scompattato, configurato, compilato e installato in sequenza. Non è un’operazione rapida: LFS introduce il concetto di SBU (Standard Build Unit), cioè il tempo impiegato a compilare binutils sul vostro hardware. Ogni altro pacchetto viene stimato in multipli di quell’unità: alcuni richiedono pochi minuti, altri ore intere. In questa fase scegliete già l’impronta del sistema: se sarà un server ridotto all’osso o la base per un desktop più ampio.

Il progetto Linux From Scratch mette a disposizione non solo le istruzioni per costruire una distro da zero, ma anche guide complementari per estenderla (BLFS), automatizzarla (ALFS) o adattarla a scenari particolari. Un ecosistema che permette di creare un vero sistema operativo personalizzato

 

Compilare i componenti di base

Arrivati all’interno del chroot dedicato, dovete compilare uno a uno i pacchetti fondamentali del sistema. Ogni installazione segue una sequenza tipica: scaricare i sorgenti, scompattarli, configurare, compilare e installare. Per esempio, per Bash farete:

tar -xf bash-5.2.tar.gz
cd bash-5.2
./configure –prefix=/usr –without-bash-malloc
make
make install

Questo schema ritorna con quasi tutti i pacchetti, anche se ogni progetto introduce opzioni specifiche. LFS vi guida passo dopo passo, indicando quali parametri usare per evitare dipendenze indesiderate e assicurare la coerenza
del sistema. Non è un lavoro meccanico: compilare glibc, per esempio, richiede particolare attenzione, perché è la libreria standard su cui si basano praticamente tutti gli altri programmi.

tar -xf glibc-2.39.tar.xz
cd glibc-2.39
mkdir build && cd build
../configure –prefix=/usr –disable-werror
make
make install

Una volta installato il kernel e configurato il bootloader (GRUB resta la scelta più comune, ma potete optare per syslinux se vi serve un ambiente molto leggero o per systemd-boot se usate systemd), il vostro sistema è già in grado di avviarsi.

Personalizzare la distribuzione

Con la base installata, entra in gioco la vera libertà: la personalizzazione. Il primo nodo riguarda l’init system, cioè il modo in cui il sistema si avvia e gestisce i servizi. LFS propone ancora SysVinit, storico e lineare: semplice da configurare, leggibile in ogni sua parte e facilmente modificabile. Ma non siete vincolati: potete decidere di integrare
systemd, con la sua gestione avanzata di log e dipendenze, oppure optare per alternative minimaliste come runit o s6, amate da chi costruisce server snelli o ambienti embedded. Cambiare init non è un dettaglio: influenza la struttura dell’intero sistema, il modo in cui i processi vengono monitorati e le possibilità di debugging. Il kernel è l’altro grande campo di personalizzazione. Con il comando make menuconfig potete entrare in un’interfaccia testuale che elenca centinaia di opzioni. Qui scegliete non solo quali moduli abilitare, ma anche se integrarli direttamente o mantenerli esterni.

Solo quello che vi serve

Immaginate di voler creare un router domestico: potrete abilitare solo il supporto Ethernet, Netfilter e le funzioni necessarie per il NAT, eliminando tutto ciò che riguarda audio, grafica o periferiche superflue. Per un server di posta
basterà un kernel con supporto ai filesystem usati e ai driver di rete. Una volta definito l’impianto di base, si passa ai servizi e alle librerie. Qui entra in gioco BLFS (Beyond Linux From Scratch), che vi accompagna nell’aggiunta di tutto ciò che non è strettamente necessario al boot ma che rende un sistema realmente utilizzabile nel quotidiano. Potete installare Xorg per avere un server grafico, scegliere un window manager leggerissimo come i3 o Openbox, oppure spingervi verso ambienti completi come KDE Plasma o GNOME, accettando però un aumento di complessità e dipendenze.
Ecco un esempio di compilazione manuale di Xorg:
tar -xf xorg-server-21.1.8.tar.xz
cd xorg-server-21.1.8
./configure –prefix=/usr –disable-static
make
make install

Per un desktop minimale, potete unire Xorg, un window manager e un browser leggero come Dillo o Midori, ottenendo un sistema reattivo anche su hardware datato.

Rete e sicurezza

Un altro livello di personalizzazione riguarda i servizi di rete. Non vi interessa avere cupsd per la stampa o avahi per il discovery automatico? Basta non compilarli. Vi serve invece un server SSH sicuro per gestire la macchina da remoto? Installate OpenSSH e configuratelo con chiavi pubbliche, evitando login via password. Volete usare la distro
come appliance per un singolo compito? Potete costruire un sistema che avvia direttamente un servizio specifico, per esempio un server Web con nginx o un container runtime, senza nemmeno caricare un desktop. LFS vi permette anche di decidere quali librerie supportare. Potete scegliere versioni minimali di libjpeg, libpng o zlib, riducendo la dimensione complessiva, oppure integrare stack completi per multimedia e sviluppo. In un ambiente server potete limitare le librerie grafiche, mentre in un desktop di lavoro potete installare GTK, Qt o entrambe, a seconda delle applicazioni che volete far girare. Non mancano le ottimizzazioni per la sicurezza: potete configurare OpenSSL
abilitando solo gli algoritmi che vi interessano, oppure integrare iptables/nftables direttamente nel kernel per avere un firewall nativo all’avvio.

 

Manutenzione e autonomia

Una volta completata la costruzione, vi trovate di fronte a un sistema unico, ma anche a una responsabilità: non esiste un package manager. Ogni aggiornamento richiede di scaricare i sorgenti aggiornati, ricompilare e reinstallare. Potete organizzare script di automazione, o usare progetti paralleli come ALFS (Automated LFS) per ridurre la fatica. La manutenzione è parte integrante dell’indipendenza. Significa monitorare le vulnerabilità dei pacchetti che avete scelto, aggiornare il kernel quando necessario e ricompilare le librerie critiche. Ma significa anche poter intervenire a livello profondo: personalizzare il kernel per ridurre la superficie d’attacco, eliminare demoni inutili, controllare ogni singolo file di configurazione. I limiti ci sono: LFS non è la strada migliore se cercate aggiornamenti rapidi o facilità d’uso. Per server dedicati, appliance, ambienti embedded o workstation offre, però, un controllo totale. In questi contesti, l’assenza di software imposto diventa un vantaggio. Nessuno può decidere per voi di introdurre systemd, Snap o servizi cloud nascosti: siete voi a governare tutto.

 

Leggi anche: “AxOS: una distro a prova di tracciamento

*Illustrazione progettata da Freepik

Continua a Leggere

Articoli

Test hardware: switch KVM

Un piccolo dispositivo con cui controllare PC e server via Internet è davvero un gioco da ragazzi. E il prezzo è imbattibile

Pubblicato

il

Gli switch KVM sono dispositivi che si usano per controllare due o più server (o semplici desktop) con una sola tastiera, un solo mouse e un solo monitor. Il KVM che abbiamo provato per questo numero, JetKVM, è particolare: non è pensato per controllare più macchine presenti nella stessa stanza/rete locale, bensì tramite il protocollo IP
consente di gestire un server, o un PC, da remoto via Internet usando un altro computer. Ovunque ci troviamo, possiamo collegarci a una particolare pagina Web che ci mostra il desktop del sistema operativo in esecuzione sul computer da controllare.

Usare JetKVM è davvero facile (qui stiamo controllando una macchina Linux Mint), ma ciò non preclude l’accesso a tante opzioni per migliorare il collegamento, compresa la creazione di macro per velocizzare le operazioni e la regolazione della qualità video

Com’è fatto?

Nella scatolina che contiene JetKVM troviamo, oltre allo switch IP, un cavo HDMI/mini HDMI, un cavo USB-C/USB-A e un cavo splitter USB-C che permette di separare alimentazione e connessione dati se la macchina da controllare non fornisce alimentazione USB in standby. Bisogna collegare JetKVM e PC da controllare usando il cavo HDMI e quello USB-C/USB-A, poi si mette in rete il JetKVM connettendo un cavo di rete (non si può usare il Wi-Fi) e si è pronti al primo setup. JetKVM nella parte frontale integra un piccolo display che mostra l’indirizzo IP che gli è stato assegnato dal router. Lo inseriamo in un browser Web e ci ritroviamo in un’interfaccia Web che avvia la rapida
operazione di setup. Ci viene chiesto di impostare o meno una password per accedere al PC da controllare, dopodiché appare una schermata con alcuni pulsanti e, al centro in grande, lo schermo del computer da gestire. Possiamo quindi usarlo come se fossimo davanti a esso. Al momento stiamo comunque controllando un PC che abbiamo sotto mano, nella nostra rete locale. Per controllare server/PC da remoto entra in gioco il protocollo IP. Ipotizziamo di uscire di casa e di aver bisogno di modificare un’impostazione di un server. Digitando l’indirizzo https://app.jetkvm.com/ avremo accesso al nostro server. Per poterlo fare prima di uscire di casa è necessario la prima volta registrare il nostro JetKVM e il computer da controllare dall’interfaccia Web dello switch. Basta cliccare sul pulsante Settings, andare alla voce Access e qui cliccare sul pulsante Adopt KVM to Cloud account. Ci registriamo presso il servizio con la nostra email di Gmail (è supportato solo questo servizio) e poi aggiungiamo il computer da controllare. Insomma, è tutto davvero semplice. Il passaggio da Internet causa un po’ di ritardo nella trasmissione, ma è quasi impercettibile. L’interfaccia Web di JetKVM ci permette di far apparire una tastiera virtuale in caso di bisogno, di accedere anche al BIOS della macchina, di installare un nuovo sistema operativo e in Settings abbiamo tante opzioni per aggiustare la connessione e gestire la macchina remota. Gli utenti più esperti possono anche usare Tailscale per il controllo remoto, al posto del sistema cloud di JetKVM.

 

SPECIFICHE:

Sistema operativo: Linux 5.10 con Buildroot
CPU: RockChip RV1106G3, Cortex A7 1 GHz
RAM: 256 MB DDR3L
Storage: 16 GB eMMC
Schermo: 1,69″ IPS, 240×280 pixel, touch screen capacitivo
Porte: Ethernet RJ45 (100Mbps), USB-C 2.0, Mini HDMI, porta d’espansione RJ12

 

 

Leggi anche: “Test hardware: Fritz!Box 7690

Continua a Leggere

Articoli

AxOS: una distro priva di tracciamento

Semplifica Arch Linux senza snaturarlo, con un’installazione guidata, ambienti desktop curati e massima attenzione alla privacy

Pubblicato

il

AxOS è una distribuzione indipendente basata su Arch, nata con l’obiettivo dichiarato di “migliorare” Linux intervenendo su estetica, performance e semplicità d’uso. L’installazione avviene tramite un sistema guidato chiamato Epsilon, che permette di configurare partizionamento, ambiente desktop, kernel, driver e pacchetti opzionali in pochi passaggi. Il processo è semplice e ben documentato. Potete scegliere fra quattro ambienti: Plasma, orientato alla completezza; Calla, leggerissimo e minimalista; Sleex, costruito su Hyprland con effetti grafici molto curati, widget e overlay personalizzati e, infine, Theom, una versione molto essenziale, basata su i3wm. Tutti condividono lo stesso tema grafico, con modalità scura e chiara selezionabili e una coerenza stilistica rara tra distribuzioni multi-desktop. I pacchetti sono gestiti con pacman ma anche tramite Epsilon (epsi), uno strumento sviluppato dal team che consente installazioni pulite e sicure, evitando duplicati e integrando la compatibilità con l’AUR. I componenti sono compilati con flag ottimizzati per le performance e la distribuzione supporta il kernel Zen come opzione.

L’edizione Plasma offre un’interfaccia ispirata ai desktop tradizionali e offre un ambiente solido, configurabile e immediato, con pieno supporto alle applicazioni Qt

 

Privacy senza compromessi

AxOS si distingue anche per un’impostazione radicale sul piano della privacy: nessuna telemetria, niente raccolta dati oltre al fatto che Bluetooth e rete sono disabilitati al primo avvio. Il filesystem Btrfs è configurato per creare snapshot automatici prima di fare gli aggiornamenti. Questo garantisce una sicurezza notevole senza sacrificare la natura rolling release del sistema. Anche se in generale il progetto è solido, non mancano alcune criticità: la distribuzione
non supporta Secure Boot, non è ottimizzata per l’uso in una macchina virtuale e richiede una certa competenza nei desktop più essenziali, in cui molte configurazioni si fanno da terminale o tramite file JSON. Sleex, pur ricco di  funzioni innovative, può risultare instabile in alcuni scenari. Inoltre, AxOS è disponibile solo per architettura x86‑64, senza supporto per ARM o 32 bit. Nel complesso è una buona distribuzione per utenti consapevoli che cercano una base solida, una gestione pulita e uno stile visivo moderno, con privacy e controllo dell’utente elevati.

L’ambiente Sleex punta sull’estetica e sull’interazione con effetti grafici, widget dinamici e un’interfaccia Hyprland altamente personalizzabile

 

Leggi anche: “Qbes: la distro Linux super-blindata

Continua a Leggere

Articoli

WordPress sotto attacco!

Un plugin vulnerabile mette a rischio i tuoi dati personali e la carta di credito. Svelati i retroscena

Pubblicato

il

Partiamo da una premessa e da una considerazione. La premessa: GiveWP è il plugin più utilizzato in assoluto per ricevere donazioni sul proprio blog WordPress. La considerazione: WordPress è scritto in PHP, che è ormai da parecchi anni, un linguaggio “ad oggetti”, o Object Oriented Programming (OOP). Ci sono centinaia di classi, tra il core e i vari plugin di una istanza di WP, quindi centinaia di tipologie diverse di oggetti. Come del resto è ovvio per ogni programma di una certa complessità. E spesso capita che due funzioni debbano passarsi degli oggetti, ad  esempio per verificare o memorizzare delle impostazioni. Per semplificare questa cosa, PHP prevede la serializzazione degli oggetti: in poche parole, un intero oggetto (con tutte le sue proprietà) può essere trasformato in una stringa. Quando è un semplice testo “leggibile” si può anche molto facilmente passare a un’altra funzione sotto forma di singolo argomento di tipo stringa, oppure memorizzare direttamente in un file o anche in un database. Chi ha provato a leggere la tabella wp_options si accorgerà che alcuni dei valori contengono quanto di seguito:

a:5:{i:0;s:35:”add-fromserver/
add-from-server.
php”;i:1;s:19:”jetpack/jetpack.
php”;i:2;s:27:”wp-super-cache/
wp-cache.php”;}

 

GiveWP è il più scaricato per siti che vogliono raccogliere donazioni, con oltre 100 mila download. FONTE

 

Questo testo è una serializzazione di un oggetto PHP che tiene traccia di tutti i plugin installati su WP. Quando WordPress core legge questo testo dal database può direttamente ricostruire l’apposito oggetto che gestisce i plugin. Similmente, anche i vari plugin possono a loro volta memorizzare informazioni nel database, e passarsele a vicenda.
Il grosso vantaggio di questo approccio è che, se bisogna prevedere lo spazio per memorizzare qualcosa di molto generico, basta definire un campo di tipo testo per tutte le occasioni. In altre parole: diversi plugin avranno un diverso numero di impostazioni personalizzate. Se si dovesse pensare di costruire una tabella per memorizzarle non si potrebbe realizzarne in anticipo una valida per tutti: se un plugin ha 3 opzioni è possibile definire 3 colonne, ma se poi si installa un plugin da 4 opzioni mancherà una colonna. E quindi è molto più semplice avere una sola colonna e mettere tutto lì dentro come testo. Inoltre, se il meccanismo di traduzione da oggetto a testo e viceversa è standardizzato, di fatto qualsiasi cosa può essere memorizzata nello stesso modo, non c’è bisogno di prevedere funzioni personalizzate. Il problema è che bisogna controllare molto bene la stringa di testo che si passa da una parte
all’altra: non si deve dimenticare che un oggetto PHP ha non soltanto delle proprietà ma anche dei metodi, quindi esegue del codice tramite il compilatore PHP. Se qualcuno riuscisse a manomettere la versione serializzata di un oggetto, quando la classe cerca di costruirlo, finirà per eseguire qualcosa che non era previsto e causare un malfunzionamento o dei veri e propri danni. Il pericolo aumenta quando la classe che definisce l’oggetto prevede anche dei metodi reimplementabili, come costruttore e distruttore: si tratta rispettivamente del metodo che viene lanciato alla creazione e alla distruzione di un oggetto della classe. Non sono obbligatori, ma solitamente si usano per inizializzare delle proprietà. Altri metodi presenti di default ma che possono essere reimplementati con funzioni custom sono _set e _get, che permettono rispettivamente di impostare o recuperare delle proprietà della classe. In GiveWP, la classe Give prevede proprio la funzione _get:

class Give
{
public function __get( $propertyName
)
{
return $this->container->
get( $propertyName );
}

Questa funzione dovrebbe limitarsi a restituire una proprietà sulla base del suo nome. Al momento di processare
il pagamento, però, l’utente specifica il proprio indirizzo di fatturazione che, proprio, GiveWP gestisce in questo modo:

namespace Give\PaymentGateways\
DataTransferObjects;
final class GiveInsertPayment-
Data
{
public $userInfo;
private function getLegacy-
BillingAddress()
{
$donorDonationBillingAddress
= $this->userInfo[‘address’];
$address = [
‘line1’ => $donor-
DonationBillingAddress->address1,
‘line2’ => $donor-
DonationBillingAddress->address2,
‘city’ => $donorDonationBillingAddress->
city,
‘state’ => $donor-
DonationBillingAddress->state,
‘zip’ => $donorDonationBillingAddress->
zip,
‘country’ => $donor-
DonationBillingAddress->country,
];
if (! $donorDonation-
BillingAddress->country) {
$address = false;
}
return $address;
}
}

L’indirizzo è ovviamente un campo inserito dall’utente, quindi andrebbe validato con attenzione, ma non è così. E se un malintenzionato riuscisse a impostare come $userInfo[‘address’] un riferimento a una istanza di un oggetto Give, questo verrebbe caricato come oggetto.

Trovi il codice a questo indirizzo

Continua a Leggere

Articoli

Security Onion sotto la lente

Strumenti professionali in un sistema scalabile ed efficace, eseguibile su hardware fisico, macchine virtuali e ambienti cloud

Pubblicato

il

Security Onion è una distribuzione progettata per offrire un ambiente completo di monitoraggio e analisi degli eventi di sicurezza. L’obiettivo è fornire una panoramica profonda sia sul traffico di rete sia sugli endpoint, grazie a un’integrazione nativa di strumenti come Suricata, Zeek, Stenographer, Strelka ed Elastic Agent. L’installazione, accessibile tramite un wizard interattivo, permette di predisporre configurazioni a singolo nodo o distribuite, scalabili su grandi infrastrutture. È supportata l’esecuzione su hardware fisico, macchine virtuali e ambienti cloud. La console Web centralizzata, denominata SOC, consente di accedere ad aree dedicate alla visualizzazione degli alert, alle dashboard, al threat hunting, alla gestione dei casi e al monitoraggio dei nodi.

Gli alert generati da Suricata e OSSEC, con severità, moduli coinvolti e descrizione tecnica. Sono tra gli strumenti principali per rilevare comportamenti sospetti sulla rete e sugli host

 

Potenzialità elevate per utenti avanzati

I dati vengono raccolti e normalizzati attraverso pipeline preconfigurate che sfruttano Elasticsearch e Logstash, con possibilità di interrogazione avanzata tramite interfacce intuitive. Il monitoraggio di rete avviene tramite IDS signature-based, ispezione protocollare, cattura completa dei pacchetti e analisi dei file. Sugli endpoint, l’agent di Elastic raccoglie log, processi, eventi e informazioni di sistema, offrendo un quadro completo e coerente. L’integrazione con osquery consente interrogazioni live sulle macchine controllate. Il sistema supporta anche honeypot come OpenCanary per la rilevazione precoce di attività sospette. La ricchezza di strumenti e la solidità architetturale rendono Security Onion una piattaforma SOC molto potente. Restano però alcune barriere oggettive: il sistema è supportato solo su architettura x86‑64, esclude ARM e non prevede installazione semplificata per ambienti domestici o non professionali.
I requisiti hardware minimi per l’ambiente di test sono 4 GB di RAM, un processore con due core e 200 GB di spazio su disco, ma per scenari reali vengono raccomandati almeno 16 GB di RAM e una quantità di storage adeguata per i dati di rete e i pacchetti acquisiti. Gli strumenti integrati sono potenti ma richiedono competenze specifiche nel campo del networking, dell’analisi forense e della gestione dei log. Se, però, siete in grado di usarla, offre una soluzione molto completa.

La sezione Dashboards riunisce grafici, timeline e flussi di log e offre una panoramica immediata sull’attività di rete, autenticazioni, eventi syslog e integrazioni Elastic

 

 

Leggi anche: “OpenSUSE Leap 15.6

Continua a Leggere

Articoli

Dentro i casinò online: crittografia, sicurezza e superfici di attacco

Pubblicato

il

By

Dentro i casinò online: crittografia, sicurezza e superfici di attacco - Netbet

L’ecosistema dei casinò online è uno dei campi in cui tecnologia, regolamentazione e sicurezza informatica si intrecciano in modo più evidente. Dietro un’interfaccia fatta di slot, tavoli live e bonus, esistono architetture distribuite, algoritmi crittografici, sistemi antifrode e software di monitoraggio costante. È un settore dove gli errori si pagano caro: un bug può tradursi in perdite economiche, violazioni di dati sensibili o manipolazioni dei risultati.

Gli stessi strumenti usati dagli hacker malintenzionati sono impiegati anche da security researcher e penetration tester per individuare vulnerabilità prima che vengano sfruttate. Per chi si interessa di cultura hacker, i casinò online rappresentano un laboratorio ideale per studiare il rapporto tra superfici di attacco, difese tecniche e comportamenti degli utenti.

Architettura e logica di un casinò online

Un casinò online moderno non è un singolo software, ma un insieme di microservizi che dialogano tra loro. In genere si possono distinguere almeno tre livelli logici:

  • il front end, dove l’utente interagisce tramite browser o app, visualizza i giochi, gestisce il conto, effettua depositi e prelievi
  • un layer applicativo che gestisce sessioni, autorizzazioni, regole di gioco, limiti di puntata, bonus, verifica dei documenti, log delle operazioni
  • un back end che include database, sistemi di pagamento, infrastrutture per il monitoraggio antifrode, moduli di reportistica verso le autorità regolatorie.

I giochi più critici sono quelli basati su Random Number Generator (RNG). Il generatore di numeri casuali deve essere progettato e testato in modo da non essere prevedibile, né manipolabile. In molti casi il codice non risiede direttamente sui server del casinò, ma su piattaforme di provider terzi certificati, collegati via API.

A questo si aggiungono le integrazioni con i sistemi di pagamento: carte di credito, portafogli digitali, bonifici istantanei, talvolta criptovalute. Ogni integrazione è un possibile punto di ingresso per attacchi di tipo man in the middle, credential stuffing o abuso di API.

Superfici di attacco e minacce più diffuse

Per chi osserva il settore con occhio “hacker”, le superfici di attacco principali sono almeno tre: il lato client, il traffico di rete e il back end applicativo.

Sul lato client, gli attacchi possono sfruttare dispositivi compromessi, estensioni malevole, furto di cookie di sessione, keylogger o malware dedicati al credential theft. Anche la classica phishing page che replica l’area di login del casinò resta una delle tecniche più usate.

Sul traffico di rete, nonostante l’uso esteso di TLS, vulnerabilità di configurazione possono aprire la porta a downgrade attack o a intercettazioni mirate. Un altro bersaglio è la gestione delle API che collegano front end, giochi e sistemi di pagamento: rate limit insufficienti, mancata validazione degli input, token di accesso troppo permissivi sono errori che un attaccante esperto può sfruttare.

Nel back end applicativo entrano in gioco problematiche classiche: SQL injection, access control broken, misconfigurazioni del cloud, errori nei meccanismi di logging e session management. In un contesto dove scorrono in tempo reale depositi, prelievi e bonus, una singola vulnerabilità di autorizzazione può consentire, per esempio, di aumentare il saldo di un conto o di forzare l’esito di alcune operazioni.

Crittografia, licenze e ruolo degli operatori autorizzati

La prima barriera difensiva di un casinò online serio è l’uso esteso di crittografia end to end, sia per proteggere il traffico che per cifrare i dati sensibili conservati a riposo. Password, documenti di identità, dati di pagamento non dovrebbero mai essere visibili in chiaro nemmeno agli amministratori di sistema.

Altro elemento fondamentale è il quadro regolatorio. In Italia, gli operatori di gioco a distanza che rispettano i requisiti tecnici e legali ottengono una licenza ADM, che impone standard specifici su log, conservazione dei dati, RNG certificati e sistemi di controllo. Nel contesto di un’analisi tecnologica, è interessante osservare come i casinò autorizzati investano in infrastrutture e audit periodici proprio per ridurre il rischio di vulnerabilità sfruttabili.

Un esempio è rappresentato da operatori come Netbet, che si inseriscono in un ecosistema sottoposto a controlli tecnici e di conformità da parte di autorità e laboratori indipendenti. Ciò non significa che siano immuni da problemi, ma che esiste un framework più chiaro di responsabilità, test e aggiornamenti, rispetto a piattaforme prive di licenza o con sede in giurisdizioni opache.

Per chi studia sicurezza, questo scenario offre un terreno interessante per confrontare architetture, politiche di gestione delle chiavi crittografiche, sistemi di monitoraggio delle frodi e procedure di incident response.

Strumenti e metodologie dei security researcher

Gli stessi strumenti usati per testare applicazioni web generiche trovano applicazione anche sulle piattaforme di gioco, con qualche attenzione in più al contesto normativo. I penetration tester che lavorano in modo etico devono muoversi entro i limiti del mandato e delle leggi sul gioco a distanza.

Tra gli strumenti più utilizzati rientrano:

  • proxy di intercettazione per analizzare richieste e risposte HTTP, riscrivendo i parametri legati a sessioni di gioco, bonus, saldo del conto
  • scanner per individuare vulnerabilità note nei componenti web e nei servizi esposti
  • toolkit per il fuzzing delle API, con lo scopo di trovare input non gestiti correttamente
  • piattaforme di monitoring e logging per rilevare pattern di frode, come account sharing, bot che sfruttano promozioni o tentativi di brute force sulle credenziali.

Una parte rilevante del lavoro riguarda la verifica della robustezza delle integrazioni con provider esterni: sistemi di pagamento, giochi live, wallet condivisi con altri servizi. Ogni collegamento può essere un vettore di attacco se non sono ben definiti i perimetri, le chiavi di accesso e le responsabilità in caso di incidente.

Buone pratiche per gli utenti e prospettive future

Anche se il focus di HackerJournal è spesso sulla parte tecnica e sull’analisi delle vulnerabilità, il comportamento degli utenti resta una variabile decisiva. Un’infrastruttura sicura può essere vanificata da una password riciclata o da un link di phishing aperto con leggerezza.

Per ridurre il rischio, l’utente esperto può seguire alcune regole pratiche:

  • usare password uniche e robuste, gestite con un password manager open source o comunque affidabile
  • attivare sempre l’autenticazione a più fattori, preferendo le app di autenticazione agli SMS
  • verificare che il casinò sia dotato di licenza riconosciuta e che il dominio sia corretto, evitando link ricevuti via email o messaggistica
  • controllare la configurazione del browser, limitando estensioni superflue che possono intercettare credenziali o sessioni
  • monitorare periodicamente movimenti del conto di gioco e strumenti di pagamento collegati, per individuare anomalie in tempi rapidi
  • giocare solo da reti di cui si conosce il livello di sicurezza, evitando Wi-Fi pubblici non cifrati o di dubbia provenienza
  • mantenere aggiornati sistema operativo, browser e antivirus, riducendo la superficie di attacco lato client.

Guardando al futuro, è probabile che il settore dei casinò online veda una maggiore adozione di tecnologie di autenticazione avanzate, come il passkey login e sistemi basati su hardware token, insieme a un uso più esteso di algoritmi di machine learning per individuare comportamenti anomali. Per la community hacker e per chi segue la sicurezza informatica, questo significa avere di fronte un ecosistema in continua evoluzione, dove ogni innovazione introduce sia nuove difese che nuove potenziali vulnerabilità da studiare con attenzione.

Continua a Leggere

Articoli

La minaccia nascosta nel PC

I cripto malware vengono usati dai cybercriminali per minare Bitcoin. Ti diciamo come scovarli e rimuoverli dal sistema

Pubblicato

il

Negli ultimi mesi, numerosi lettori ci hanno scritto per raccontare le loro esperienze con un trojan che, senza clamore, si insinua nei sistemi Windows, sfruttandoli per minare criptovalute. Ecco perché abbiamo deciso di dedicare articolo al virus in questione, il quale porta un nome che tradisce la sua natura malevola… Altruistics.

COS’È ALTRUISTICS?

Altruistics, diff uso spesso in bundle insieme ad altri programmi con il nome di Atuct, Atructis, Aluc e Altst, è un malware della famiglia dei crypto miner, programmi che utilizzano la potenza di calcolo di un PC infetto per generare criptovalute. Una volta installato, si avvia silenziosamente e sfrutta la CPU del sistema per eseguire calcoli complessi, producendo guadagni per i cybercriminali. La sua strategia è subdola: limita l’uso della CPU al di sotto di una soglia critica per non destare sospetti e per evitare di far scattare misure di sicurezza automatiche. A differenza di altri miner più aggressivi, Altruistics è studiato per restare attivo il più a lungo possibile. Non provoca alcun surriscaldamento evidente del sistema, ne tantomeno causa un’attività anomala delle ventole bensì si nasconde tra i processi di sistema, rendendo difficile se non impossibile la sua individuazione.

Su Wikipedia si legge che “Altruistics aff erma di consentire agli utenti di donare i cicli di CPU inutilizzati a cause altruistiche”. Sarà vero?

 

COME RICONOSCERLO

Una volta installatosi, Altruistics crea una cartella nel sistema, solitamente sotto Program Files (x86), dove deposita i suoi file eseguibili e le librerie necessarie al suo funzionamento. Tra questi, il principale è Altruistics.exe, affiancato da una libreria dinamica che consente la sua esecuzione automatica e persistente. La capacità di auto-rigenerazione del malware gli permette di riavviarsi se un utente prova a terminarne il processo. Altruistics è progettato per nascondersi, ma alcuni segnali possono tradire la sua presenza. La maggior parte delle segnalazioni che abbiamo ricevuto descrive un lieve rallentamento del sistema, spesso intermittente e difficile da associare a una causa specifica. Alcuni utenti hanno notato un leggero ritardo nei movimenti del cursore o nei comandi, ma senza altri sintomi evidenti. Solo un’analisi più approfondita del Task Manager ha rivelato un consumo anomalo della CPU, solitamente intorno al 20%-50%, anche quando il computer era inattivo. Un altro elemento sospetto è la presenza di un servizio di sistema denominato Altruistics che non può essere arrestato manualmente. Anche tentando di chiudere il processo, il malware si riavvia automaticamente grazie a un servizio nascosto, rendendo inefficace la sua semplice terminazione. Questi comportamenti lo rendono particolarmente insidioso e resistente alle misure di sicurezza standard.

Per rimuovere Altruistics è necessario terminare il processo dal Task Manager ed eliminarne la cartella che il trojan riesce a generare

 

PERCHÉ È PERICOLOSO?

A prima vista, un malware che non ruba dati e non cripta file potrebbe sembrare poco pericoloso. Tuttavia, Altruistics comporta una serie di problemi che non possono essere sottovalutati. Il consumo costante di risorse riduce l’efficienza del PC, rendendo più lento il normale utilizzo del sistema e impattando negativamente su operazioni che richiedono elevata potenza di calcolo. L’uso prolungato della CPU può causare un aumento dei consumi elettrici. I sistemi desktop possono risentirne meno, ma per i PC portatili questo significa anche una drastica riduzione dell’autonomia della batteria. Inoltre, l’attività continua può accelerare l’usura dell’hardware, portando a un
deterioramento precoce del processore e di altri componenti. Infine, la presenza di Altruistics può indicare che il sistema è vulnerabile ad altre infezioni.

 

COME RIMUOVERLO?

Eliminare Altruistics non è semplice, poiché il malware è progettato per resistere alla rimozione. La procedura più efficace prevede di avviare il sistema in Modalità Provvisoria, impedendo così l’esecuzione automatica del trojan. Una volta entrati nel Task Manager, è necessario terminare il processo Altruistics.exe e localizzare la cartella in Program Files (x86) per eliminarne i contenuti. Il passo successivo è la rimozione del servizio associato, operazione che richiede l’uso del Prompt dei comandi con privilegi di amministratore.
Dopo aver eseguito una scansione completa con un antivirus aggiornato, è consigliabile utilizzare un software di pulizia del registro di sistema per eliminare eventuali tracce residue. Infine, un riavvio completo permetterà di verificare che il malware non si sia riattivato. La prevenzione è comunque il metodo più efficace per evitare infezioni da malware come Altruistics. Scaricare software  esclusivamente da fonti affidabili riduce il rischio di installare pacchetti compromessi. Prestare attenzione alle opzioni di installazione, scegliendo sempre la modalità personalizzata, permette di individuare e deselezionare eventuali componenti indesiderati. Mantenere SO e software di sicurezza aggiornati aiuta a proteggere il PC da nuove varianti di malware. Monitorare i processi in esecuzione può aiutare a individuare anomalie prima che diventino un problema serio. Infine, un buon firewall può bloccare comunicazioni sospette, prevenendo l’eventuale download di malware da server remoti.

 

 

Leggi anche: “Aumentano gli attacchi a mobile backing e criptovalute

Continua a Leggere

In Edicola & Digitale

Cover Hacker Journal 287 - Così ti rubano gli account
286 – Dall’11 novembre 2025!

Forum

Trending