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]


Hai trovato questo articolo interessante? Seguici su Facebook , Twitter, Mastodon

[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

Rilasciata SKUDONET v7.1.0

Nuove funzionalità e miglioramenti per supporto hardware, gestione della CPU e della memoria, prestazioni di rete e sicurezza per la Community Edition

Avatar

Pubblicato

il

SKUDONET è una soluzione Open Source per il bilanciamento del carico e l’Application Delivery Control (ADC), progettata per ottimizzare la gestione del traffico e migliorare la sicurezza delle applicazioni Web e dell’infrastruttura IT. Offre una gamma di soluzioni di bilanciamento del carico che soddisfano diverse esigenze, tra cui opzioni virtuali, baremetal, hardware e basate su cloud. Garantiscono una distribuzione efficiente del traffico, migliorano le prestazioni delle applicazioni e mantengono un’elevata disponibilità. Inoltre, SKUDONET include solide funzionalità di cybersecurity come la protezione DDoS, i firewall per applicazioni Web e l’ispezione SSL/TLS. La piattaforma offre edizioni community ed enterprise. La prima è gratuita e adatta agli ambienti di test e sviluppo, mentre la seconda è progettata per la produzione su larga scala con funzionalità avanzate e capacità di automazione.

La gestione dei servizi locali e remoti permette di abilitare SNMP, configurare server DNS primari e secondari, impostare server NTP e gestire i certificati SSL tramite Let’s Encrypt

Una nuova uscita con tanti miglioramenti

SKUDONET ha lanciato la sua Community Edition 7.1.0, un aggiornamento significativo basato su Debian 12 con Kernel 6.1.90 LTS. Questa versione introduce un supporto hardware potenziato, una migliore gestione della CPU e della memoria e prestazioni di rete superiori, oltre a rafforzare le funzioni di sicurezza. L’introduzione del DHCP per NIC e VLAN semplifica la gestione della rete, mentre il supporto di Fully Qualified Domain Names (FQDN)
come IP di backend nelle farm HTTP aumenta la flessibilità. L’aggiunta della direttiva TLSv1.3 si allinea ai più recenti protocolli di sicurezza, garantendo una maggiore protezione delle comunicazioni criptate. I miglioramenti dei log e le librerie SSL aggiornate potenziano il monitoraggio e la sicurezza del sistema, offrendone una migliore comprensione e una protezione più solida. La release include anche profili reverse proxy più flessibili, che consentono configurazioni più personalizzate per adattarsi a diversi ambienti di rete. Le correzioni di bug di questa
versione garantiscono un funzionamento efficiente del software, riducendo al minimo i tempi di inattività e migliorando le prestazioni complessive. Per ulteriori informazioni sulle novità dell’ultima release, visitate questo sito.

 

 

leggi anche: “Debian 12 bookworm è qui!

 

 

 

 


Hai trovato questo articolo interessante? Seguici su Facebook , Twitter, Mastodon

Continua a Leggere

Articoli

La memoria del PC è tutto

Uno dei motivi per cui il sistema funziona male è la mancanza di RAM. Scoprite come estrarne il più possibile senza doverne aggiungere

Avatar

Pubblicato

il

Ottimizzare l’uso della memoria RAM in Linux può contribuire a migliorare le prestazioni del sistema senza dover acquistare moduli aggiuntivi. Anzitutto dovete identificare i processi che consumano molta memoria. Per farlo, utilizzate strumenti come top, htop o free. Con top:
top:

Quindi osservate la colonna %MEM per vedere l’utilizzo della memoria di ciascun processo. Potete poi anche verificare semplicemente la quantità di memoria libera nel sistema usando:
free -m:

Questo comando mostra la memoria totale, utilizzata e libera in megabyte. Dopodiché, la chiusura delle applicazioni non utilizzate può liberare quantità significative di RAM. Questo include quelle in background che potrebbero non essere immediatamente visibili. Alcuni programmi partono automaticamente all’avvio del computer: disabilitandoli si può risparmiare memoria e abbiamo visto come farlo in Aiuto, è tutto lento!. Potete poi sostituire le applicazioni che richiedono molta memoria con alternative più leggere. Per esempio, utilizzate Featherpad invece di LibreOffice Writer per la semplice modifica del testo, o Midori invece di Firefox per la navigazione Web. Rimanendo, però, nell’ambito delle modifiche di sistema, potete provare ad aumentare lo spazio di swap. Può aiutare il sistema a  gestire carichi di lavoro maggiori, fornendo memoria virtuale aggiuntiva. Controllate quindi lo spazio di swap attuale:
swapon –show

Create ora un nuovo file di swap:
sudo fallocate -l 4G /swapfile # Crea un file di swap

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

Rendete quindi permanente il file di swap aggiungendo la seguente riga a /etc/fstab:
Anc/swapfile none swap sw 0 0

 

Con top avete un’idea immediata dei processi in esecuzione ma anche della quantità di RAM usata, in modo da poter pianificare meglio

 

Modifiche avanzate

ZRAM crea un dispositivo a blocchi compresso nella RAM, che può essere utilizzato per lo swap o semplicemente come filesystem temporaneo. Questo può essere più efficiente dell’uso di uno swap tradizionale su disco. Installate anzitutto zram-tools in questo modo:
Ancsudo apt install zram-tools

Ora create o modificate /etc/default/zramswap e configurate la dimensione della ZRAM e l’algoritmo di compressione, dopodiché avviate ZRAM:
Ancsudo systemctl enable zramswap

sudo systemctl start zramswap

Un’altra soluzione ancora riguarda ottimizzare il filesystem e le cache. L’uso di filesystem ottimizzati per le prestazioni e la gestione delle cache può contribuire, infatti, a migliorare l’utilizzo della memoria. Per cancellare la cache usate il seguente comando:
sudo sysctl -w vm.drop_caches=3

Poi regolate la swappiness: controlla l’aggressività con cui il kernel scambia la memoria. Valori più bassi riducono lo swapping:
sudo sysctl vm.swappiness=10

Infine, il demone Early OOM (Out of Memory) aiuta a recuperare le condizioni di bassa memoria prima che il sistema diventi non reattivo. Installate quindi Early OOM in questo modo:
sudo apt install earlyoom

Dopodiché abilitatelo:
sudo systemctl enable earlyoom

sudo systemctl start earlyoom

 

 

Leggi anche: “Come fare a capire che computer avete

*illustrazione articolo progettata da  Freepik

 


Hai trovato questo articolo interessante? Seguici su Facebook , Twitter, Mastodon

Continua a Leggere

Articoli

Aiuto, il mio sistema è lento!

La rimozione di servizi e demoni non necessari in Linux può liberare risorse di sistema e migliorare le prestazioni.

Avatar

Pubblicato

il

Selezionando e disattivando con cura i servizi non necessari, è possibile ottimizzare le prestazioni del sistema e ridurre l’utilizzo della memoria, rendendo l’esperienza Linux più efficiente e reattiva. Questo è un lavoro che dovrete in larga parte fare a mano ma vi daremo più in basso alcuni esempi di servizi che potrebbero non servirvi. Anzitutto, per elencare tutti i servizi abilitati, utilizzare il comando systemctl:

systemctl list-unit-files –state=enabled

Questo comando visualizza tutti i servizi abilitati e lanciati all’avvio. Esaminate quindi l’elenco e identificate quelli non necessari. I più comuni presenti su un tipico sistema desktop possono includere quelli per i protocolli di rete che non si usano, come NFS, o per l’hardware che non si possiede, come il Bluetooth. Una volta identificato un servizio non necessario, è possibile disabilitarlo usando systemctl. Anzitutto, arrestate il servizio in esecuzione:

sudo systemctl stop <nome_servizio>

Sostituite, ovviamente, <nome_servizio> con il nome del servizio che volete disabilitare. Infine, disabilitatelo con il seguente comando (non viene più avviato all’avvio del sistema):

sudo systemctl disable <nome_servizio>

Se volete garantirvi che un servizio non possa essere avviato manualmente o da un altro servizio, è possibile mascherarlo in questo modo:

sudo systemctl mask <nome_servizio>

Infine, potete verificare che un servizio sia disabilitato e non in esecuzione, utilizzando:

systemctl status <nome_servizio>

 

Scegliere cosa disabilitare

Come dicevamo, quello che non vi serve più si può disabilitare, ma solo voi sapete cosa non vi serve. Per esempio, se non si ha bisogno di funzionalità di stampa è possibile eliminare CUPS:

sudo systemctl stop cups

sudo systemctl disable cups

Se invece non vi serve interagire con rete di altri sistemi come quelli Apple, potete disabilitare Avahi (Zeroconf Network Discovery):

sudo systemctl stop avahi-daemon

sudo systemctl disable avahi-daemon

Infine, siamo abbastanza sicuri che anche il modem non sia più utilissimo alla maggior parte delle persone, quindi potete eliminare il Modem Manager:

sudo systemctl stop ModemManager

sudo systemctl disable ModemManager

Naturalmente, dovete fare attenzione a cosa disabilitate, perché alcuni servizi possono sempre tornarvi utili e non averli disponibili all’avvio può crearvi problemi in un distante futuro in cui non ricordate più di averli disabilitati… Però, per esempio, tutti i servizi legati ai portatili, come Power Management and Notebook Tools (tlp) possono essere abbastanza tranquillamente disabilitati se usate un desktop.

 

Non basta ancora

GNOME Tweaks, noto anche come GNOME Tweak Tool, è un’utility per l’ambiente desktop GNOME che consente agli utenti di modificare varie impostazioni avanzate e di personalizzare l’interfaccia di GNOME al di là di quanto è possibile fare con l’applicazione standard Impostazioni. La cosa più importante, in questo contesto, è che è possibile usarlo per alleggerire il sistema. Anzitutto, se GNOME Tweaks non è già installato sul vostro sistema, potete installarlo usando il seguente comando:

sudo apt install gnome-tweaks

Una volta installato, è possibile lanciare GNOME Tweaks dal menu delle applicazioni cercando “Tweaks” o tramite la riga di comando:

gnome-tweaks

Disattivare le animazioni può rendere l’ambiente desktop più veloce. Per farlo, in GNOME Tweaks, andate alla scheda Generale. Trovate Animazioni e disattivatelo. Potete anche semplificare la visualizzazione dei font per rendere il sistema più reattivo. L’uso di caratteri più semplici può, infatti, ridurre leggermente il carico grafico. Per farlo, andate alla scheda Font. È possibile ridurre le opzioni Hinting e Antialiasing per ottenere un leggero aumento delle prestazioni. Anche la regolazione degli effetti delle finestre e di altre impostazioni visive può migliorare ulteriormente le prestazioni. Nella scheda relative alle finestre, scegliete di staccare le finestre modali: questo può ridurre l’overhead grafico quando si interagisce con tali elementi visivi.

 

 

*illustrazione articolo progettata da  Freepik

 

 


Hai trovato questo articolo interessante? Seguici su Facebook , Twitter, Mastodon

Continua a Leggere

Articoli

Come fare a capire che computer avete

Il primo passo per mettere mano al proprio sistema è valutarlo e capire quanto è potente o debole e che prestazioni ha

Avatar

Pubblicato

il

Conoscere le capacità del proprio computer è fondamentale per diversi motivi e l’utilizzo di uno strumento di benchmarking come GeekBench per misurarne le prestazioni può fornire indicazioni preziose che aiutano a prendere decisioni informate sull’utilizzo di hardware e software. Conoscendo le specifiche hardware e le capacità di prestazione del computer è, infatti, possibile ottimizzarne l’uso. Per esempio, si può scegliere un software che funzioni in modo efficiente sul sistema ed evitare le applicazioni che richiedono più risorse di quelle che l’hardware può fornire. Inoltre, conoscere le capacità del sistema aiuta a identificare i colli di bottiglia delle prestazioni. Che si tratti di CPU, RAM, GPU o storage, capire quale componente limita le prestazioni permette di indirizzare gli aggiornamenti in modo più efficace. Prima di investire in questi ultimi, è infatti essenziale comprendere le prestazioni dell’hardware attuale. Questa conoscenza consente di aggiornare solo i componenti necessari, massimizzando il rapporto costo-efficacia degli investimenti. Per esempio, l’aggiornamento di un disco rigido a un’unità SSD può aumentare significativamente le prestazioni, ma se la CPU è obsoleta, potrebbe essere necessario considerare anche questo aspetto. Alcune applicazioni software e sistemi operativi hanno requisiti hardware specifici. Conoscere le capacità del computer garantisce l’installazione di software compatibili con l’hardware, evitando problemi di prestazioni e stabilità. C’è anche un altro aspetto importante: per le attività che richiedono molte risorse, come l’editing video, i giochi o l’esecuzione di macchine virtuali, è importante conoscere i limiti del sistema. Questo aiuta ad allocare le risorse in modo più efficiente e garantisce che il vostro computer funzioni in modo ottimale senza inutili affaticamenti.

 

Geekbench (arrivato alla versione 6) è uno strumento davvero pratico per valutare le prestazioni di qualsiasi computer e dispositivo mobile

 

 Uno strumento per capirci di più

GeekBench è uno strumento di benchmarking multipiattaforma che misura le prestazioni del sistema. Fornisce metriche dettagliate sulle prestazioni sia per i processi single-core sia per quelli multi-core. In questo modo è possibile vedere come la CPU gestisce i singoli compiti i carichi di lavoro multi-thread, acquisendo una visione completa delle capacità del sistema. Siccome sfrutta un’analisi comparativa, i punteggi di GeekBench possono essere confrontati con un vasto database di risultati ottenuti da altri sistemi. Questo permette di capire dove si colloca il computer rispetto agli standard attuali e ad altre configurazioni simili, aiutando a prendere decisioni per gli aggiornamenti. Peraltro, GeekBench supporta diversi sistemi operativi, tra cui Windows, macOS e, ovviamente, Linux. Questa capacità multipiattaforma consente di confrontare le prestazioni tra sistemi diversi, il che è utile se si sta pensando di cambiare sistema operativo (per esempio se avete un PC con Windows e volete confrontarlo con la nuova configurazione su Linux) o se si vuole garantire la coerenza tra ambienti diversi. Inoltre, la ripartizione dettagliata dei risultati di GeekBench mette in evidenza le aree specifiche in cui il sistema potrebbe avere prestazioni insufficienti. Che si tratti di velocità della memoria, capacità di calcolo o prestazioni di archiviazione, GeekBench aiuta a individuare i punti deboli che possono essere migliorati.

 

Dinamico e facile da usare

Considerate anche che effettuare il benchmarking regolarmente utilizzando GeekBench consente di monitorare le prestazioni del sistema nel tempo. Questo è utile per rilevare il loro degrado, che potrebbe indicare un hardware difettoso oppure la necessità di manutenzione, come la pulizia dalla polvere o la riapplicazione della pasta termica. Infine, e cosa non da poco, GeekBench è facile da usare e richiede una configurazione minima per funzionare. Fornisce risultati chiari e facilmente comprensibili, il che lo rende accessibile anche agli utenti che non hanno conoscenze tecniche approfondite. Insomma, GeekBench vi fornisce un metodo completo, comparativo e di facile comprensione per valutare le prestazioni del sistema e risulta uno strumento prezioso per mantenere nel tempo e migliorare la funzionalità del vostro computer. Vediamo come si usa.

 

 

Scaricare il programma
Andate all’indirizzo https://geekbench.com/ e scaricate la versione per Linux del programma di analisi, quindi aprire la cartella Scaricamenti.

 

Eseguire il programma
Lanciate il programma con ./geekbench6 e ignorate pure la richiesta di inserire una chiave: tutto è gratuito per un uso occasionale.

 

Lasciatelo lavorare!
Lasciate che il programma lavori e vedrete il terminale aggiornarsi man mano che i vari test vengono effettuati. Alla fine riceverete un link al risultato finale.

 

Leggere i risultati
Il modo in cui si consultano i dati di benchmark è comodissimo: un URL che è anche possibile condividere e usare per avere un confronto con altri modelli.


Hai trovato questo articolo interessante? Seguici su Facebook , Twitter, Mastodon

Continua a Leggere

Articoli

Il quantum computing sta cambiando il mondo

La macchina del futuro sta arrivando e promette di rivoluzionare il modo in cui utilizziamo l’informatica. Dalla cybersecurity alle scoperte della chimica, i computer quantistici hanno il potenziale di trasformare ogni settore

Avatar

Pubblicato

il

l futuro sarà molto diverso da come lo immaginiamo, soprattutto grazie ai progressi continui nello sviluppo del computer quantistico. Gli elaboratori diventano ogni anno più potenti e flessibili, disponibili per i primi usi pratici, oltre che per i test in laboratorio. E la loro potenza di calcolo, basata su principi della fisica, completamente diversi da quelli dei computer tradizionali, permette loro di essere molto più veloci e potenti.

 

La nascita del computer quantistico

Negli anni Trenta del Novecento gli studi di Niels Bohr, Erwin Schrödinger, Werner Heisenberg, Max Born e Paul Dirac portarono a una rivoluzione nella fisica: superata la “fisica classica”, venne elaborata la teoria della meccanica quantistica che ancora oggi, quasi un secolo dopo, stiamo continuando a scoprire. La meccanica quantistica è alla base di molte rivoluzioni, tra le quali spicca quella dell’informatica quantistica. La possibilità di utilizzare dei “qubit” al posto dei tradizionali “bit” e i principi della meccanica quantistica, come l’entanglement (letteralmente “intreccio”) e come la sovrapposizione, il fenomeno che si verifica su scala subatomica in cui gli oggetti non hanno uno stato chiaramente definito, sta rivoluzionando il funzionamento del computer. Gli scienziati hanno già dimostrato che è possibile accelerare la velocità di calcolo di un ordine di grandezza rispetto a quello dei computer classici. E siamo solo all’inizio.

 

Addio approccio lineare

Un’analogia proposta dagli scienziati per spiegare come funziona il computer quantistico è quella della ricerca di un libro in una grande biblioteca. Nell’informatica tradizionale si cerca il volume esaminando ogni scaffale e ogni libro uno per uno, fino a trovare quello desiderato. Questo approccio lineare può essere lungo e inefficiente, soprattutto se siamo sfortunati e il titolo che si sta cercando si trova verso la fine della biblioteca. L’informatica quantistica, invece, permette di esplorare tutti i libri contemporaneamente, grazie al concetto di sovrapposizione. Può cioè considerare tutti i percorsi possibili contemporaneamente e identificare istantaneamente la posizione del libro desiderato. Al posto dei bit, che registrano le informazioni come degli 1 oppure degli 0, l’informatica quantistica utilizza i qubit, che possono rappresentare più stati contemporaneamente. Ciò permette ai computer quantistici di eseguire calcoli paralleli e di analizzare un vasto numero di possibilità in una frazione del tempo che impiegherebbero i computer classici per fare lo stesso.

 

Quali vantaggi porta

I computer quantistici oggi sono già disponibili e funzionano come degli acceleratori. Vengono utilizzati insieme a centri di calcolo ad alta potenza, oppure accanto a computer classici. Hanno già dimostrato di essere molto più potenti di quelli tradizionali per calcoli relativi, per esempio, alla ricerca in campi come la fisica e la biologia, in ambiti come l’analisi dei mercati finanziari, dei flussi del traffico urbano, per la crittografia e per la cybersecurity. Tuttavia, i computer quantistici funzionanti sono ancora sperimentali, molto costosi, di grandi dimensioni e soggetti a errori dovuti alle interferenze. I progressi sono però costanti, grazie agli investimenti di aziende grandi e piccole, e i risultati positivi sono continui.

 

Il matrimonio perfetto tra quantum computer e IA

L’ intelligenza artificiale si sposa perfettamente con il quantum computer. L’informatica quantistica, infatti, migliora l’IA aumentandone la velocità, l’efficienza e la precisione. Il computer quantistico utilizza i qubit e funziona in modo non lineare, cosa che lo rende molto più potente e veloce dei computer tradizionali. Questo permette di addestrare in maniera molto più rapida i sistemi di “machine learning”, cioè apprendimento automatico, fornendo i dati giusti in modo molto più veloce. L’apprendimento automatico serve a fare in modo che i computer imparino dai dati e siano in grado di creare o comprendere dei modelli, proprio come fa il cervello umano. Tuttavia, spesso l’apprendimento automatico viene limitato dalla scarsa qualità dei dati e dalla loro indisponibilità. L’informatica quantistica permette di risolvere tutti questi problemi, perché è in grado di calcolare rapidamente enormi volumi di dati e di fornire informazioni corrette ai sistemi di apprendimento automatico.

 

Negli anni Trenta la ricerca sulla meccanica quantistica ha permesso di immaginare molte cose nuove. Una di queste è stato il computer quantistico, teorizzato per la prima volta da David Deutsch (nella foto) dell’università di Oxford negli anni Settanta. La sua realizzazione pratica, però, è stata portata avanti solo negli anni Duemila, soprattutto da startup e da alcuni big del tech come Ibm, Microsoft e Google.

 

 

Leggi anche: “Intelligenza artificiale per tutti


Hai trovato questo articolo interessante? Seguici su Facebook , Twitter, Mastodon

Continua a Leggere

Articoli

Alla scoperta di Linux Mint 22

Come ormai succede dalla versione 19, sono disponibili tre ambienti desktop: Mate, Cinnamon e Xfce, non essendo più incluso KDE

Avatar

Pubblicato

il

All’interno di queste pagine del sito generalmente proviamo sempre la versione definitiva dei sistemi operativi che andiamo a trattare. Questa volta, però, faremo un’eccezione: andremo a considerare la versione Beta di Mint 22 che risulta essere praticamente identica a quella definitiva. Ciò premesso, iniziamo il viaggio all’interno di Wilma, che è il nome in codice di questo nuovo sistema operativo. Come ormai succede dalla versione 19, sono disponibili tre ambienti desktop: Mate, Cinnamon e Xfce, non essendo più incluso KDE; ma questo non ne preclude l’utilizzo più ampio. Linux Mint 22 è una versione supportata a lungo termine, cioè riceverà aggiornamenti fino al 2029.

 

Alcune novità interessanti

Il rilascio di un nuovo sistema operativo implica sempre dei significativi passi avanti rispetto al predecessore e, anche in questo caso, non rimarrete delusi. Per esempio, Wilma ha un occhio di riguardo per il risparmio di spazio su disco. Infatti, una volta scelta la lingua di installazione, tutti gli altri pacchetti linguistici verranno eliminati. Vista la quantità di localizzazioni possibili, basta fare due calcoli veloci per capire i vantaggi di questa scelta. Tra l’altro, il pacchetto della lingua italiana non richiede alcuno scaricamento durante l’installazione perché già incluso nel file ISO. Un’altra novità è l’implementazione della versione 6.8 del kernel Linux, che garantisce una migliore compatibilità con le componenti hardware più attuali, soprattutto grazie alla tecnologia HWE (Hardware Enablement), che permette ai vari sistemi operativi di restare sempre al passo con i tempi. Tutti i temi sono stati aggiornati per supportare GTK4 e nell’applicazione Pix è stato introdotto il supporto a JXL, un formato di immagini di tipo raster, che supporta anche compressioni senza perdite di dati. Inoltre, tutte le applicazioni che supportavano libsoup2 sono migrate alle librerie libsoup3. Per quanto riguarda invece il server audio, è stato introdotto Pipewire. Orientarsi in Cinnamon Questo ambiente desktop unisce in sé eleganza e semplicità. Tutti gli strumenti vengono riuniti nella barra inferiore, che è anche l’unica presente. A destra ci sono le icone per le notifiche, la segnalazione di aggiornamenti, il controllo del volume e il calendario con l’orologio. Al centro c’è il pannello personalizzabile, dove metterete i lanciatori delle applicazioni che usate più spesso. Nell’angolo a sinistra c’è invece il menu principale, suddiviso in due parti. A sinistra, un pannello con alcune importanti applicazioni come Firefox, Impostazioni di sistema e Terminale, sotto le quali troverete i classici pulsanti di blocco e spegnimento del sistema operativo. A destra, l’elenco delle applicazioni disponibili al momento della installazione, suddivise in sette gruppi tematici che vanno da Audio e video, a Internet, a Ufficio. È sufficiente spostare il puntatore del mouse su una di queste icone per visualizzarne l’intero contenuto in ordine alfabetico. La semplicità di Mint viene incontro agli utenti meno esperti, senza perdere d’occhio un pubblico ben più esigente.

 

 

Installazione di Wilma

Localizzazione
Quando viene visualizzato il GRUB, lasciate selezionata l’opzione Start Linux Mint e premete Invio. Nella schermata successiva fate un doppio clic sull’icona Install Linux Mint e, nella finestra che si apre, selezionate Italiano nell’elenco a sinistra. Quindi premete su Avanti per iniziare.

 

Tastiera e collegamento di rete
Nella schermata della disposizione della tastiera, lasciate Italian in entrambe le aree e fate clic su Avanti. Sarà  comunque possibile cambiare questa scelta in seguito, quando Mint sarà installato. Ora selezionate l’unica opzione, Installa codec multimediali, e fate clic su Avanti.


Scelta dell’installazione
Dopo qualche istante di attesa, viene visualizzata la schermata Tipo di installazione. Qui potete lasciare selezionata l’opzione Cancella il disco e installa Linux Mint per poi fare clic su Installa. Subito dopo, nella finestra pop-up Scrivere le modifiche sui dischi?, premete su Avanti.

 

Selezione delle applicazioni
La schermata Località mostra già Rome come opzione predefinita, quindi è sufficiente fare clic su Avanti. In quella successiva dovrete compilare i vari campi del form con le vostre informazioni personali. Per comodità, selezionate l’opzione Accedere automaticamente e premete su Avanti.

 

Software di terze parti e account
Ora non vi resta che aspettare che l’installazione di Mint abbia termine, dopodiché fate clic su Riavvia ora, rimuovete il file ISO e premete Invio quando vi viene detto. Nella finestra Benvenuti in Linux Mint, deselezionate l’opzione Visualizza questa finestra all’avvio e fate clic su Iniziamo!.

 

Installazione e primo avvio
In questa sezione è consigliabile fare clic su Esegui perlomeno in corrispondenza di Istantanee di sistema, Gestore driver, Gestore aggiornamenti e Firewall. Terminate queste operazioni preliminari, potete chiudere la finestra Benvenuti e cominciare a usare regolarmente il sistema operativo.


Hai trovato questo articolo interessante? Seguici su Facebook , Twitter, Mastodon

Continua a Leggere

Articoli

Fare ancora di più con il word processor

Le opzioni Open Source esistono ma, a prescindere da cosa usiate, l’Intelligenza Artificiale può fare ancora di più per voi!

Avatar

Pubblicato

il

Usando l’Intelligenza Artificiale tramite chatbot, potreste a volte dimenticare che il punto di forza dell’IA è proprio la parte conversazionale. La creazione di testi e la sua analisi sono in sviluppo da decenni e hanno raggiunto livelli di accuratezza straordinari. Perché allora non usarle per liberarsi di Microsoft Word? Certo, la suite LibreOffice vi dà tutto quello che vi serve, ma qui vedremo aggiunte utili anche per prodotti già Open Source e liberi. Per esempio, parliamo della correzione ortografica. Le piattaforme di conversazione sono in grado di dirvi nel dettaglio cosa non va nei vostri testi e soprattutto perché, in modo da permettervi di imparare.
Partiamo da questo brano contenuto in una email di candidatura a un lavoro:

Nel corso della mia cariera, ho acquisito competenze in

PHP e JavaScript e ho avuto l’opportunità di lavorare in

vari progetto che hanno migliorato la mia capacità di

collaborare con i team, risolvere problemi complessi e

portare a termine i progetti entro le scadenze assegnatici.

Abbiamo dato in pasto il testo a un chatbot (potete scegliere voi quello più adatto alle vostre esigenze) e il risultato è eccellente…

Errori e spiegazioni:

cariera dovrebbe essere carriera:

Errore: Manca una “r” nella parola “cariera”.

Correzione: “Carriera” è il termine corretto, che indica il

percorso professionale di una persona.

progetto dovrebbe essere progetti:

Errore: La parola “progetto” è usata in singolare, ma il

contesto richiede il plurale.

Correzione: La frase parla di “vari” progetti, quindi la

parola dovrebbe essere al plurale “progetti”.

assegnatici dovrebbe essere assegnate:

Errore: “Assegnatici” suggerisce una forma riflessiva

che non è appropriata qui.

Correzione: “Assegnate” si riferisce alle scadenze che

sono state imposte, che è l’uso corretto in questo

contesto.

 

 Un assistente anche per LibreOffice

Se poi usate LibreOffice, sappiate che esiste un assistente AI che utilizza ChatGPT e che consente di utilizzare questo chatbot all’interno della suite per ufficio. Le funzionalità disponibili sono:

– Chat;

– Riassunto del testo;

– Traduzione in varie lingue;

– Estrazione di parole chiave;

– Modifica del testo.

Per utilizzare l’estensione, è necessario definire la variabile d’ambiente OPENAI_API_KEY con la chiave API che si deve ottenere da openai.com. Gli utenti di ChatGPT possono utilizzare la versione di prova dell’API per alcuni mesi, dopodiché serve pagare una somma mensile, piccola se l’uso non è molto elevato. Per installarlo, in Linux, si deve aggiungere questa riga a ~/.bashrc, inserendo la chiave generata al posto di <chiave>:

export OPENAI_API_KEY=”<chiave>”

Inoltre, è necessario installare il modulo pip e poi il modulo openai utilizzando pip. Per farlo, si deve usare PIP bootstrap. Per prima cosa, scaricate questo script da questo sito.
Utilizzate poi il Python interno di LibreOffice per eseguirlo:

program/python get-pip.py

 

Dopodiché, installate il modulo openai usando pip:

programma/python -m pip install openai

 

Se l’installazione è andata a buon fine, dovreste essere in grado di utilizzare il modulo openai nel Python interno a LibreOffice e di eseguire l’estensione dell’assistente Ai.

Se state ancora usando Word, potete dirgli addio garantendovi di poter utilizzare un assistente per l’IA anche con LibreOffice!

 

 


Hai trovato questo articolo interessante? Seguici su Facebook , Twitter, Mastodon

Continua a Leggere

Trending