PROGRAMMAZIONE HACKER

Codice dei malware, le tecniche di offuscamento per nasconderlo

Le tecniche di offuscamento servono per nascondere il codice applicativo dei software in modo da rendere vani i tentativi di reverse engineering. Ma allo stesso tempo tornano utili ai criminal hacker per nascondere il codice dei malware. Ecco in che modo

08 Mar 2022
S
Alessandro Sinibaldi

Esperto di sicurezza cibernetica presso il CERT-PA AgID

Nell’ambito della programmazione software, le tecniche di offuscamento servono per nascondere il codice applicativo vero e proprio (il cosiddetto payload) in modo da rendere vani, o quantomeno complessi, i tentativi di reverse engineering. I motivi possono essere molteplici e non necessariamente malevoli:

  • uno di essi può essere la volontà di evitare la duplicazione del codice e quindi, in qualche modo, la pirateria e il furto di proprietà intellettuale;
  • un altro motivo può essere a scopo di protezione, per evitare cioè che un hacker comprenda il funzionamento del codice e sfrutti la presenza di eventuali bug, in linea col paradigma “security by obscurity”;
  • infine, ed è il motivo che in questo caso ci interessa di più, un attaccante malevolo che vuole rendere la vita difficile all’analista impedendogli l’analisi del malware allo scopo di capire il funzionamento ed estrarre indicatori importanti (come URL, nomi di file o chiavi di registro) oppure rendere vano l’uso dell’antivirus.

È interessante notare che, nei primi due scenari, il “buono” è il programmatore e il “cattivo” è il reverse engineer. Il buono cerca di trovare meccanismi di offuscamento del codice migliori possibili. Nel terzo scenario è il viceversa. Il buono cerca di trovare meccanismi di deoffuscamento migliori possibili. La cosa brutta è che i ricercatori che sono interessati ai primi due scenari (protezione della proprietà intellettuale e security by obscurity) rendono, senza volerlo, la vita più difficile al loro collega del terzo scenario (quello che cerca di studiare un malware).

Per uno scrittore di codice malevolo il santo graal è il FUD (Fully Undetectable), cioè la capacità di essere completamente non rilevabile da nessuno strumento e nessun analista. In questo modo, il malware può propagarsi indisturbato.

Da notare, inoltre, che codice sorgente e codice offuscato sono funzionalmente identici (cioè il behavior) dal punto di vista dell’utente, per quanto i due possano essere differenti da altri punti di vista, come ad esempio le performance, che di solito peggiorano con l’offuscamento. Nella frase sopra occorre far attenzione al fatto che è stato precisato che il punto di vista importante per definire l’equivalenza tra codice sorgente e codice offuscato è quello dell’utente, nel senso che i due non devono necessariamente essere funzionalmente identici in toto. Il codice offuscato può anche esporre un numero maggiore di funzionalità. L’importante è che quelle in più non siano osservabili da parte dell’utente.

Esistono dei metodi per poter analizzare il funzionamento del codice del malware, la difficoltà naturalmente consiste nello scoprire e nell’avere l’accortezza di controllare i programmi che si installano sul proprio device.

Tecniche di offuscamento: regole di base e software applicativi

In generale, l’offuscamento può essere fatto a più livelli:

  • livello di rete, ad esempio frammentando i pacchetti in modo che, finché sono in transito, non abbiano un senso compiuto. Lo acquisteranno solo una volta riassemblati alla destinazione. Per evitare la rilevazione, il malware potrà essere diviso in pacchetti di dimensioni diverse, fuori fase, parzialmente sovrapposti, mescolati ad altri pacchetti che verranno scartati, oppure con intervalli di tempo lunghissimi tra un pacchetto e il successivo;
  • livello di contenuto: in questo caso il malware, veicolato principalmente via HTTP, sfrutta le possibilità di codifica del contenuto (content-transfer-encoding) che offre il protocollo: criptazione via HTTPS, compressione via gzip, encoding con più set di caratteri (es. ASCII, UTF-8, UTF-7, UTF16LE, UTF16BE, UTF-32LE, UTF-32BE ecc.), Transfer Encoding, come chunked o token-extension e via dicendo;
  • livello applicativo: si sfruttano le caratteristiche dell’applicazione (ad esempio il web browser) che parla in “HTML” e, in particolare, il modo in cui questo viene renderizzato, compilato o eseguito. Un modo può essere quello di suddividere il malware in diversi file sorgente, ad esempio .css e .js, che poi vengono riuniti e interpretati solo a destinazione. Un altro modo è quello di sfruttare le capacità di offuscamento di linguaggi come javascript. Un altro ancora è quello di sfruttare linguaggi di scripting proprietari come quelli di Adobe Acrobat o Flash. Questo tipo di offuscamento è particolarmente insidioso perché richiede che lo strumento di sicurezza che monitora il traffico e che, teoricamente, dovrebbe rilevare il malware, sia dotato esso stesso di logica applicativa, simile a quella di un web browser vero e proprio;
  • livello eseguibile: in questo caso l’offuscamento è del codice eseguibile del malware vero e proprio ed è quello che vedremo meglio tra un attimo.

I tipi di software utilizzati per fare offuscamento appartengono a tre categorie principali:

  • packer, la forma più semplice di offuscamento è la compressione. In questo caso il file viene decompresso in memoria all’atto della sua esecuzione (runtime packer). Exeinfo PE è uno strumento capace di rilevare questi software;
  • crypter, usano la criptazione, sia a chiave singola che doppia, per rendere incomprensibili l’intero file o sue parti;
  • protector: è un termine “ombrello” che spesso comprende più livelli di protezione dal reverse engineering come l’applicazione sia della compressione che della criptazione oppure la virtualizzazione del codice (un esempio è WProtect).

I meccanismi più usati per offuscare il codice

Tra i meccanismi più spesso usati per l’offuscamento possiamo citare:

  • l’OR esclusivo (XOR) è forse il metodo di offuscamento più comune per la sua semplicità di implementazione. È simmetrico e reversibile, quindi è sufficiente una sola funzione per criptare e decriptare il che si traduce in una dimensione minore del file. Nella sua forma base, si fa l’operazione logica XOR tra il testo di partenza e un valore dato, di lunghezza 1 byte. Facciamo un esempio, basandoci sulla XOR Truth Table. Facciamo l’XOR tra i caratteri “L”= 0x4C (codifica ASCII in esadecimale)= 01001100 e ”‘m”= 0x6D= 01101101. Il risultato è 00100001 = 0x21 = “!”. In versioni più avanzate, tale operazione può essere eseguita più volte con valori diversi a ogni passaggio oppure sezioni diverse del testo possono essere messe in XOR con valori diversi l’una dall’altra o addirittura ogni carattere con un valore diverso, partendo da un valore base e autoincrementandolo di 1 (ad esempio, si può fare l’ XOR della lettera “h” con 0x55, poi la lettera “t” con 0x56 e così via). Esistono software come XORSearch in grado di ricercare stringhe in file binari codificati XOR, ROL, ROT o SHIFT.

La XOR Truth Table che agevola l’applicazione del meccanismo di OR esclusivo nell’offuscamento del codice di un malware.

  • la codifica Base64 è un sistema di codifica largamente usato per la conversione di dati binari in formato testuale utilizzando 64 caratteri ASCII (A-Z, a-z, 0-9, + e /, con il segno = usato come carattere padding). Di solito, uno degli elementi di riconoscibilità è proprio il carattere di padding;
  • ROT13 è un sistema di codifica molto semplice, basato sul cifrario di Cesare, e il suo nome sta per ROTate 13 dal momento che sostituisce ogni lettera con la sua equivalente che sta 13 posti più avanti nell’alfabeto, ad es. “a” con “n”, “b” con “o” e così via. Ovviamente non è necessario usare solo 13 come valore chiave. Il valore 13 è speciale solo perché, in un alfabeto di 26 lettere, la stessa operazione può essere usata per la codifica e la decodifica, cioè ad es. “a” <-> “n”.

Alcuni esempi di offuscamento di codice (fonte).

Tecniche di offuscamento: modi diversi di applicarle

Approcciando il problema in modo del tutto generale potremmo chiederci: quanti modi diversi ci sono per fare offuscamento? E dati due programmi offuscatori P e P’ come si fa a capire qual è il migliore tra essi?

WHITEPAPER
Migrare l'ERP nel cloud pubblico: scopri la strada verso una maggiore sicurezza
Cloud
ERP

Iniziamo prima dalla seconda domanda. Ci sono tre quantità che possono essere calcolate e che possono contribuire a misurare la qualità di un programma offuscatore:

  • la potenza: misura quanta “oscurità” (a livello di un analista umano) viene aggiunta al programma di partenza dall’operazione di offuscamento. Per fare questo, è ovviamente necessario avere prima una misura del livello di oscurità di un programma. L’idea è che un software è tanto più oscuro quanto più è complesso e la complessità può essere misurata da varie grandezze tra cui la lunghezza del programma, la complessità ciclotomatica di McCabe, quanto le condizioni all’interno del programma sono annidate una dentro l’altra (ad es. una serie di if contenuti l’uno nell’altro), quanto sono complesse le strutture dati utilizzate nel software, quanti parametri ci sono in input nelle funzioni contenute, e così via. Se un programma offuscatore vuole essere potente deve agire su queste variabili, ad es. aggiungendo condizioni annidate, aumentando il numero di parametri di input nelle funzioni, allungando il programma, sconvolgendo la struttura del programma mettendo il più lontano possibile i punti di dichiarazione delle variabili e quelli dove esse vengono utilizzate e così via. Insomma l’obiettivo è rendere illeggibile un software;
  • la resilienza: misura la difficoltà necessaria per deoffuscare il programma in modo automatico. Può andare da banale a one-way. In quest’ultimo caso vuole dire che non si riesce più a deoffuscare il programma. Essa dipende da due fattori:
  1. programmer effort: quanto tempo occorre a un programmatore per costruire un programma automatico deoffuscatore in grado di ridurre la potenza di un software offuscato;
  2. deobfuscator effort: quanto tempo occorre al programma deoffuscatore costruito al passo precedente per ridurre la potenza di un software offuscato;
  • il costo: è la capacità, o il tempo, di calcolo necessaria per effettuare il deoffuscamento di un programma offuscato. Detto in altro modo è l’overhead di calcolo che è aggiunto dall’offuscamento rispetto al programma originale.

La qualità complessiva di un programma offuscatore sarà una funzione delle tre quantità appena viste.

Veniamo ora alla prima domanda che ci eravamo posti, e cioè in quanti modi diversi si può offuscare un programma. La risposta dipende da:

  1. il tipo di informazione che l’offuscamento va a toccare;
  2. il tipo di trasformazione che viene fatta sui dati al punto precedente.

Faremo riferimento alla figura. In particolare potremmo avere:

  • offuscamento della struttura: agisce sulla struttura del codice sorgente e, in particolare, sulla formattazione (ad esempio, rimuovendo tutti gli spazi), sui nomi delle variabili (ad esempio, trasformandole da nomi “parlanti” in nomi composti da caratteri random) e così via:
  1. aggregazione: calcoli che logicamente stanno insieme vengono messi in posizioni differenti e calcoli che non hanno relazioni gli uni con gli altri vengono messi insieme;
  2. ordinamento: l’ordine in cui i calcoli vengono fatti viene randomizzato;
  3. calcoli: viene inserito nuovo codice (ridondante o inutile) o vengono fatte modifiche algoritmiche al codice sorgente;
  • offuscamento dei dati: l’obiettivo è quello di mascherare i dati (indici, array, strutture, parametri ecc.) ovunque si trovino nel programma:
  1. storage: le trasformazioni di questo tipo cercano di usare tipi di dati strani per immagazzinare i dati. Ad esempio, di solito se si deve scorrere gli elementi di un array si userebbe una variabile locale di tipo intero non negativo di dimensione appropriata ma niente esclude di utilizzare tipi diversi come ad esempio un oggetto di tipo intero. Un altro esempio consiste nella sostituzione di una stringa statica con una funzione che ha come output il valore della stringa;
  2. codifica: vengono utilizzate codifiche non naturali per tipi di dato comuni. Ad esempio, dovendo ciclare su un array di 1000 elementi la scelta più naturale sarebbe una variabile i cha va da 1 a 1000 ma niente impedisce di usare i’=8i + 3 con i’ che va da 11 a 8003;
  3. aggregazione: nei linguaggi orientati agli oggetti ci sono due modi per aggregare dati: in array e in oggetti. Due variabili intere di 32 bit, ad esempio, potrebbero essere la prima e la seconda parte di un’unica variabile a 64 bit Z(X,Y) = 2^32 Y + X. Nel caso di un array si possono fare varie operazioni per trasformarli: split (divisione di un array in più sub-array), merge (unione di due o più array in uno), fold (aumentare il numero di dimensioni di un array) o flatten (decrescere il numero di dimensioni di un array);
  4. ordinamento: in questo caso le trasformazioni consistono nel modificare l’ordinamento della dichiarazione delle variabili oppure degli elementi di un array;
  • offuscamento del flusso: agisce sul flusso del programma alterandolo, ad es. inserendo codice ridondante o inessenziale, facendo modifiche agli algoritmi utilizzati, rendendo casuale l’esecuzione del codice ecc. Il prezzo da pagare è quasi sicuramente un peggioramento delle performance. L’idea di base è quello di rendere complesso il flusso con una serie di puntatori qua e là ai vari blocchi di codice. Un concetto che compare spesso in letteratura, in riferimento all’offuscamento del flusso di un programma, è quello di predicato opaco. Questa è una variabile booleana (True/False) in base al cui valore viene seguito un ramo del flusso piuttosto che un altro. Si chiama “opaco” perché l’esistenza di questa variabile è nota sia al programmatore che al deoffuscatore mentre il valore che assume (e quindi il ramo che viene percorso) è ben nota al programmatore ma non al deoffuscatore e lo sforzo che quest’ultimo deve fare per conoscerla, in termini di capacità di calcolo, è notevole. Inoltre con questa tecnica si mette fuori uso l’analisi statica perché la condizione viene valutata a runtime e quindi si potrà sapere il ramo che verrà percorso solo eseguendo il programma;
  • trasformazioni preventive: questo tipo di trasformazioni differisce dalle trasformazioni dei dati o del flusso perché il suo obiettivo principale non è quello di oscurare il programma a un lettore umano ma di rendere il deoffuscamento automatico più complesso (trasformazioni preventive inherent) oppure di sfruttare problemi noti negli attuali deoffuscatori e decompilatori (trasformazioni preventive targeted):
  1. Inherent: sono trasformazioni a bassa potenza e alta resilienza come ad esempio eseguire dei loop al contrario, relativamente all’indice, e inserendo nel loop variabili inutili che cambiano valore con il progredire del loop. L’obiettivo è quello di aumentare la quantità di calcoli da fare;
  2. Targeted: un esempio era HoseMocha in grado di mandare in crash il decompilatore Java Mocha tramite l’aggiunta di un’opportuna istruzione dopo ogni return.

Modi diversi di offuscare un programma (fonte).

Per quanto abbiamo appena detto, in un programma offuscato il codice “reale” risulterà frammentato e sparso per tutto il corpo del programma intervallato da codice ridondante e inutile. Gli strumenti di program slicing aiutano il programmatore a decomporre il programma in blocchi gestibili denominati slice. Una slice di un programma P rispetto a un punto p e una variabile v consiste in tutti gli enunciati di P che hanno contribuito al valore di v nel punto p. Così, un program slicer estrarrà dal programma offuscato gli enunciati dell’algoritmo che calcola una variabile opaca v anche se l’offuscatore ha sparso questi enunciati per tutto il programma.

@RIPRODUZIONE RISERVATA

Speciale PNRR

Tutti
Incentivi
Salute digitale
Formazione
Analisi
Sostenibilità
PA
Sostemibilità
Sicurezza
Digital Economy
CODICE STARTUP
Imprenditoria femminile: come attingere ai fondi per le donne che fanno impresa
DECRETI
PNRR e Fascicolo Sanitario Elettronico: investimenti per oltre 600 milioni
IL DOCUMENTO
Competenze digitali, ecco il nuovo piano operativo nazionale
STRUMENTI
Da Istat e RGS gli indicatori per misurare la sostenibilità nel PNRR
STRATEGIE
PNRR – Piano nazionale di Ripresa e Resilienza: cos’è e novità
FONDI
Pnrr, ok della Ue alla seconda rata da 21 miliardi: focus su 5G e banda ultralarga
GREEN ENERGY
Energia pulita: Banca Sella finanzia i progetti green incentivati dal PNRR
TECNOLOGIA SOLIDALE
Due buone notizie digitali: 500 milioni per gli ITS e l’inizio dell’intranet veloce in scuole e ospedali
INNOVAZIONE
Competenze digitali e InPA cruciali per raggiungere gli obiettivi del Pnrr
STRATEGIE
PA digitale 2026, come gestire i fondi PNRR in 5 fasi: ecco la proposta
ANALISI
Value-based healthcare: le esperienze in Italia e il ruolo del PNRR
Strategie
Accordi per l’innovazione, per le imprese altri 250 milioni
Strategie
PNRR, opportunità e sfide per le smart city
Strategie
Brevetti, il Mise mette sul piatto 8,5 milioni
Strategie
PNRR e opere pubbliche, la grande sfida per i Comuni e perché bisogna pensare digitale
Formazione
Trasferimento tecnologico, il Mise mette sul piatto 7,5 milioni
Strategie
PSN e Strategia Cloud Italia: a che punto siamo e come supportare la PA in questo percorso
Dispersione idrica
Siccità: AI e analisi dei dati possono ridurre gli sprechi d’acqua. Ecco gli interventi necessari
PNRR
Cloud, firmato il contratto per l’avvio di lavori del Polo strategico
Formazione
Competenze digitali, stanziati 48 milioni per gli Istituti tecnologici superiori
Iniziative
Digitalizzazione delle reti idriche: oltre 600 milioni per 21 progetti
Competenze e competitività
PNRR, così i fondi UE possono rilanciare la ricerca e l’Università
Finanziamenti
PNRR, si sbloccano i fondi per l’agrisolare
Sanità post-pandemica
PNRR, Missione Salute: a che punto siamo e cosa resta da fare
Strategie
Sovranità e autonomia tecnologica nazionale: come avviare un processo virtuoso e sostenibile
La relazione
Pnrr e PA digitale, l’alert della Corte dei conti su execution e capacità di spesa
L'editoriale
Elezioni 2022, la sfida digitale ai margini del dibattito politico
Strategie
Digitale, il monito di I-Com: “Senza riforme Pnrr inefficace”
Transizione digitale
Pnrr: arrivano 321 milioni per cloud dei Comuni, spazio e mobilità innovativa
L'analisi I-COM
Il PNRR alla prova delle elezioni: come usare bene le risorse e centrare gli obiettivi digitali
Cineca
Quantum computing, una svolta per la ricerca: lo scenario europeo e i progetti in corso
L'indice europeo
Desi, l’Italia scala due posizioni grazie a fibra e 5G. Ma è (ancora) allarme competenze
L'approfondimento
PNRR 2, ecco tutte le misure per cittadini e imprese: portale sommerso, codice crisi d’impresa e sismabonus, cosa cambia
Servizi digitali
PNRR e trasformazione digitale: ecco gli investimenti e le riforme previste per la digitalizzazione della PA
Legal health
Lo spazio europeo dei dati sanitari: come circoleranno le informazioni sulla salute nell’Unione Europea
Servizi digitali
PNRR e PA digitale: non dimentichiamo la dematerializzazione
Digital Healthcare transformation
La trasformazione digitale degli ospedali
Governance digitale
PA digitale, è la volta buona? Così misure e risorse del PNRR possono fare la differenza
Servizi digitali
Comuni e digitale, come usare il PNRR senza sbagliare
La survey
Pnrr e digitale accoppiata vincente per il 70% delle pmi italiane
Missione salute
Fascicolo Sanitario Elettronico alla prova del PNRR: limiti, rischi e opportunità
Servizi pubblici
PNRR: come diventeranno i siti dei comuni italiani grazie alle nuove risorse
Skill gap
PNRR, la banda ultra larga crea 20.000 nuovi posti di lavoro
Il Piano
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUMPA2022
PNRR e trasformazione digitale: rivedi i Talk di FORUM PA 2022 in collaborazione con le aziende partner
I contratti
Avio, 340 milioni dal Pnrr per i nuovi propulsori a metano
Next Generation EU
PNRR, a che punto siamo e cosa possono aspettarsi le aziende private
Fondi
Operativo il nuovo portale del MISE con tutti i finanziamenti per le imprese
Servizi comunali
Il PNRR occasione unica per i Comuni digitali: strumenti e risorse per enti e cittadini
Healthcare data platform
PNRR dalla teoria alla pratica: tecnologie e soluzioni per l’innovazione in Sanità
Skill
Competenze digitali, partono le Reti di facilitazione
Gli obiettivi
Scuola 4.0, PNRR ultima chance: ecco come cambierà il sistema formativo
Sistema Paese
PNRR 2, è il turno della space economy
FORUM PA 2022
FORUM PA 2022: la maturità digitale dei comuni italiani rispetto al PNRR
Analisi
PNRR: dalla Ricerca all’impresa, una sfida da cogliere insieme
Innovazione
Pnrr, il Dipartimento per la Trasformazione digitale si riorganizza
FORUM PA 2022
PA verde e sostenibile: il ruolo di PNRR, PNIEC, energy management e green public procurement
Analisi
PNRR, Comuni e digitalizzazione: tutto su fondi e opportunità, in meno di 3 minuti. Guarda il video!
Rapporti
Competenze digitali e servizi automatizzati pilastri del piano Inps
Analisi
Attuazione del PNRR: il dialogo necessario tra istituzioni e società civile. Rivedi lo Scenario di FORUM PA 2022
Progetti
Pnrr, fondi per il Politecnico di Torino. Fra i progetti anche IS4Aerospace
Analisi
PNRR, Colao fa il punto sulla transizione digitale dell’Italia: «In linea con tutte le scadenze»
La Svolta
Ict, Istat “riclassifica” i professionisti. Via anche al catalogo dati sul Pnrr
Analisi
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUM PA 2022
Ecosistema territoriale sostenibile: l’Emilia Romagna tra FESR e PNRR
Il Piano
Innovazione, il Mise “centra” gli obiettivi Pnrr: attivati 17,5 miliardi
Analisi
PNRR: raggiunti gli obiettivi per il primo semestre 2022. Il punto e qualche riflessione
Analisi
PNRR: dal dialogo tra PA e società civile passa il corretto monitoraggio dei risultati, tra collaborazione e identità dei luoghi
Webinar
Comuni e PNRR: un focus sui bandi attivi o in pubblicazione
Analisi
Formazione 4.0: cos’è e come funziona il credito d’imposta
PA e Sicurezza
PA e sicurezza informatica: il ruolo dei territori di fronte alle sfide della digitalizzazione
PA e sicurezza
PNRR e servizi pubblici digitali: sfide e opportunità per Comuni e Città metropolitane
Water management
Water management in Italia: verso una transizione “smart” e “circular” 
LE RISORSE
Transizione digitale, Simest apre i fondi Pnrr alle medie imprese
Prospettive
Turismo, cultura e digital: come spendere bene le risorse del PNRR
Analisi
Smart City: quale contributo alla transizione ecologica
Decarbonizzazione
Idrogeno verde, 450 milioni € di investimenti PNRR, Cingolani firma
Unioncamere
PNRR, imprese in ritardo: ecco come le Camere di commercio possono aiutare
I fondi
Industria 4.0: solo un’impresa su tre pronta a salire sul treno Pnrr
CODICE STARTUP
Imprenditoria femminile: come attingere ai fondi per le donne che fanno impresa
DECRETI
PNRR e Fascicolo Sanitario Elettronico: investimenti per oltre 600 milioni
IL DOCUMENTO
Competenze digitali, ecco il nuovo piano operativo nazionale
STRUMENTI
Da Istat e RGS gli indicatori per misurare la sostenibilità nel PNRR
STRATEGIE
PNRR – Piano nazionale di Ripresa e Resilienza: cos’è e novità
FONDI
Pnrr, ok della Ue alla seconda rata da 21 miliardi: focus su 5G e banda ultralarga
GREEN ENERGY
Energia pulita: Banca Sella finanzia i progetti green incentivati dal PNRR
TECNOLOGIA SOLIDALE
Due buone notizie digitali: 500 milioni per gli ITS e l’inizio dell’intranet veloce in scuole e ospedali
INNOVAZIONE
Competenze digitali e InPA cruciali per raggiungere gli obiettivi del Pnrr
STRATEGIE
PA digitale 2026, come gestire i fondi PNRR in 5 fasi: ecco la proposta
ANALISI
Value-based healthcare: le esperienze in Italia e il ruolo del PNRR
Strategie
Accordi per l’innovazione, per le imprese altri 250 milioni
Strategie
PNRR, opportunità e sfide per le smart city
Strategie
Brevetti, il Mise mette sul piatto 8,5 milioni
Strategie
PNRR e opere pubbliche, la grande sfida per i Comuni e perché bisogna pensare digitale
Formazione
Trasferimento tecnologico, il Mise mette sul piatto 7,5 milioni
Strategie
PSN e Strategia Cloud Italia: a che punto siamo e come supportare la PA in questo percorso
Dispersione idrica
Siccità: AI e analisi dei dati possono ridurre gli sprechi d’acqua. Ecco gli interventi necessari
PNRR
Cloud, firmato il contratto per l’avvio di lavori del Polo strategico
Formazione
Competenze digitali, stanziati 48 milioni per gli Istituti tecnologici superiori
Iniziative
Digitalizzazione delle reti idriche: oltre 600 milioni per 21 progetti
Competenze e competitività
PNRR, così i fondi UE possono rilanciare la ricerca e l’Università
Finanziamenti
PNRR, si sbloccano i fondi per l’agrisolare
Sanità post-pandemica
PNRR, Missione Salute: a che punto siamo e cosa resta da fare
Strategie
Sovranità e autonomia tecnologica nazionale: come avviare un processo virtuoso e sostenibile
La relazione
Pnrr e PA digitale, l’alert della Corte dei conti su execution e capacità di spesa
L'editoriale
Elezioni 2022, la sfida digitale ai margini del dibattito politico
Strategie
Digitale, il monito di I-Com: “Senza riforme Pnrr inefficace”
Transizione digitale
Pnrr: arrivano 321 milioni per cloud dei Comuni, spazio e mobilità innovativa
L'analisi I-COM
Il PNRR alla prova delle elezioni: come usare bene le risorse e centrare gli obiettivi digitali
Cineca
Quantum computing, una svolta per la ricerca: lo scenario europeo e i progetti in corso
L'indice europeo
Desi, l’Italia scala due posizioni grazie a fibra e 5G. Ma è (ancora) allarme competenze
L'approfondimento
PNRR 2, ecco tutte le misure per cittadini e imprese: portale sommerso, codice crisi d’impresa e sismabonus, cosa cambia
Servizi digitali
PNRR e trasformazione digitale: ecco gli investimenti e le riforme previste per la digitalizzazione della PA
Legal health
Lo spazio europeo dei dati sanitari: come circoleranno le informazioni sulla salute nell’Unione Europea
Servizi digitali
PNRR e PA digitale: non dimentichiamo la dematerializzazione
Digital Healthcare transformation
La trasformazione digitale degli ospedali
Governance digitale
PA digitale, è la volta buona? Così misure e risorse del PNRR possono fare la differenza
Servizi digitali
Comuni e digitale, come usare il PNRR senza sbagliare
La survey
Pnrr e digitale accoppiata vincente per il 70% delle pmi italiane
Missione salute
Fascicolo Sanitario Elettronico alla prova del PNRR: limiti, rischi e opportunità
Servizi pubblici
PNRR: come diventeranno i siti dei comuni italiani grazie alle nuove risorse
Skill gap
PNRR, la banda ultra larga crea 20.000 nuovi posti di lavoro
Il Piano
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUMPA2022
PNRR e trasformazione digitale: rivedi i Talk di FORUM PA 2022 in collaborazione con le aziende partner
I contratti
Avio, 340 milioni dal Pnrr per i nuovi propulsori a metano
Next Generation EU
PNRR, a che punto siamo e cosa possono aspettarsi le aziende private
Fondi
Operativo il nuovo portale del MISE con tutti i finanziamenti per le imprese
Servizi comunali
Il PNRR occasione unica per i Comuni digitali: strumenti e risorse per enti e cittadini
Healthcare data platform
PNRR dalla teoria alla pratica: tecnologie e soluzioni per l’innovazione in Sanità
Skill
Competenze digitali, partono le Reti di facilitazione
Gli obiettivi
Scuola 4.0, PNRR ultima chance: ecco come cambierà il sistema formativo
Sistema Paese
PNRR 2, è il turno della space economy
FORUM PA 2022
FORUM PA 2022: la maturità digitale dei comuni italiani rispetto al PNRR
Analisi
PNRR: dalla Ricerca all’impresa, una sfida da cogliere insieme
Innovazione
Pnrr, il Dipartimento per la Trasformazione digitale si riorganizza
FORUM PA 2022
PA verde e sostenibile: il ruolo di PNRR, PNIEC, energy management e green public procurement
Analisi
PNRR, Comuni e digitalizzazione: tutto su fondi e opportunità, in meno di 3 minuti. Guarda il video!
Rapporti
Competenze digitali e servizi automatizzati pilastri del piano Inps
Analisi
Attuazione del PNRR: il dialogo necessario tra istituzioni e società civile. Rivedi lo Scenario di FORUM PA 2022
Progetti
Pnrr, fondi per il Politecnico di Torino. Fra i progetti anche IS4Aerospace
Analisi
PNRR, Colao fa il punto sulla transizione digitale dell’Italia: «In linea con tutte le scadenze»
La Svolta
Ict, Istat “riclassifica” i professionisti. Via anche al catalogo dati sul Pnrr
Analisi
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUM PA 2022
Ecosistema territoriale sostenibile: l’Emilia Romagna tra FESR e PNRR
Il Piano
Innovazione, il Mise “centra” gli obiettivi Pnrr: attivati 17,5 miliardi
Analisi
PNRR: raggiunti gli obiettivi per il primo semestre 2022. Il punto e qualche riflessione
Analisi
PNRR: dal dialogo tra PA e società civile passa il corretto monitoraggio dei risultati, tra collaborazione e identità dei luoghi
Webinar
Comuni e PNRR: un focus sui bandi attivi o in pubblicazione
Analisi
Formazione 4.0: cos’è e come funziona il credito d’imposta
PA e Sicurezza
PA e sicurezza informatica: il ruolo dei territori di fronte alle sfide della digitalizzazione
PA e sicurezza
PNRR e servizi pubblici digitali: sfide e opportunità per Comuni e Città metropolitane
Water management
Water management in Italia: verso una transizione “smart” e “circular” 
LE RISORSE
Transizione digitale, Simest apre i fondi Pnrr alle medie imprese
Prospettive
Turismo, cultura e digital: come spendere bene le risorse del PNRR
Analisi
Smart City: quale contributo alla transizione ecologica
Decarbonizzazione
Idrogeno verde, 450 milioni € di investimenti PNRR, Cingolani firma
Unioncamere
PNRR, imprese in ritardo: ecco come le Camere di commercio possono aiutare
I fondi
Industria 4.0: solo un’impresa su tre pronta a salire sul treno Pnrr