{"id":8522,"date":"2026-04-08T11:49:54","date_gmt":"2026-04-08T09:49:54","guid":{"rendered":"https:\/\/blog.besharp.it\/?p=8522"},"modified":"2026-04-08T11:54:16","modified_gmt":"2026-04-08T09:54:16","slug":"confidential-computing-su-aws-proteggere-i-dati-in-esecuzione-con-nitro-enclaves","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/it\/confidential-computing-su-aws-proteggere-i-dati-in-esecuzione-con-nitro-enclaves\/","title":{"rendered":"Confidential Computing su AWS: Proteggere i dati in esecuzione con Nitro Enclaves"},"content":{"rendered":"\n

La sicurezza in Cloud ha raggiunto una certa maturit\u00e0, garantendo un’elevata affidabilit\u00e0 e consentendo di rispettare gran parte delle checklist di sicurezza con relativamente poco effort. Negli anni sono nati strumenti e best practices; si \u00e8 imparato a mettere in sicurezza il perimetro della rete virtuale, a gestire le identit\u00e0 in modo granulare e a fare ampio e diffuso uso della crittografia forte per cifrare i dati in transito e at rest.<\/p>\n\n\n\n

Eppure, per molto tempo, \u00e8 rimasto un punto cieco critico in questa fortezza digitale, un momento di inevitabile vulnerabilit\u00e0 in cui i dati, per essere effettivamente elaborati dai processori, devono essere in memoria non cifrati.In questo articolo si esplorer\u00e0 il concetto di Confidential Computing<\/strong>, il paradigma tecnologico che ha definitivamente chiuso questo gap di sicurezza, ridefinendo gli standard di protezione nel Cloud. Si vedr\u00e0 qual \u00e8 la complessa sfida tecnologica alla base della protezione dei dati durante l’elaborazione, perch\u00e9 i tradizionali container – su cui poggiano quasi tutte le architetture moderne \u2013 non sono sufficienti per i workload ultra- sensibili, e come AWS Nitro Enclaves<\/strong> offra una soluzione elegante e inattaccabile per creare vere e proprie “casseforti” crittografiche per le applicazioni pi\u00f9 critiche.<\/p>\n\n\n\n

Oltre lo storage e la rete: cos’\u00e8 il Confidential Computing?<\/h2>\n\n\n\n

Per comprendere appieno l’importanza e l’impatto del Confidential Computing, \u00e8 necessario guardare l’intero ciclo di vita del dato attraverso la lente del cosiddetto Trilemma della Protezione Dati<\/strong>. Fino a poco tempo fa, gli strumenti a disposizione potevano risolvere con successo solo due di questi tre punti:<\/p>\n\n\n\n

    \n
  1. Data at Rest (Dati a riposo):<\/strong> Quando i dati sono archiviati su un database relazionale, su un volume a blocchi (Amazon EBS) o su uno storage a oggetti (come Amazon S3), vengono protetti tramite robusti algoritmi di cifratura simmetrica (es. AES-256) integrati con servizi di Key Management come AWS KMS. Se qualcuno rubasse fisicamente un disco rigido nel data center, o se un bucket venisse configurato in modo errato, l’attaccante si ritroverebbe di fronte a un mero ammasso di bit incomprensibili e inutilizzabili.<\/li>\n\n\n\n
  2. Data in Transit (Dati in transito):<\/strong> Quando i dati viaggiano in rete, dal dispositivo di un client al back-end o lateralmente tra i microservizi all’interno di una VPC, si utilizzano protocolli crittografici consolidati come TLS\/SSL (spesso in modalit\u00e0 mutual TLS<\/em>). Questo tunnel cifrato evita che i dati vengano intercettati, spiati o manipolati durante il tragitto, ad esempio tramite attacchi del tipo man-in-the-middle<\/em> o sniffing<\/em>.<\/li>\n\n\n\n
  3. Data in Use (Dati in uso):<\/strong> Qui arriva la vera sfida, l’anello debole della catena. Affinch\u00e9 le applicazioni possano processare i dati, che si tratti di effettuare una ricerca all’interno di un database e formattare i dati per inviarli al FE, calcolare il totale di una transazione finanziaria, o eseguire l’inferenza di un modello di Intelligenza Artificiale su referti medici \u2014 i dati devono risiedere non cifrati nella memoria RAM<\/strong> e nei registri del processore. In quel preciso istante, il dato \u00e8 vulnerabile.<\/li>\n<\/ol>\n\n\n\n

    Il Confidential Computing<\/strong> \u00e8 l’insieme di tecnologie, sia hardware che software, progettate appositamente per proteggere questi Data in Use<\/em>. Utilizzando un isolamento profondo basato su componenti hardware specializzati, viene creato un TEE (Trusted Execution Environment)<\/strong>. Un TEE \u00e8 un ambiente di esecuzione sicuro, isolato a livello di processore, in cui i dati in chiaro e il codice che li elabora non possono essere n\u00e9 visti, n\u00e9 esfiltrati, n\u00e9 alterati in alcun modo dall’esterno. Nemmeno da chi detiene i privilegi massimi di amministrazione sull’infrastruttura sottostante.<\/p>\n\n\n\n

    Oggi, in un’era dominata dall’addestramento di modelli LLM proprietari e dalla Multi-Party Computation<\/em> (dove diverse aziende collaborano unendo i propri dataset sensibili per trarne insight, senza volerli per\u00f2 mostrare in chiaro ai partner), il Confidential Computing non \u00e8 pi\u00f9 una tecnologia di nicchia per enti governativi o bancari.<\/p>\n\n\n\n

    L\u2019isolamento dei container NON protegge i dati in use<\/h2>\n\n\n\n

    Facendo un passo indietro e analizzando esattamente la dinamica del problema che il Confidential Computing si prefigge di risolvere, in un’architettura Cloud basata su macchine virtuali (istanze EC2) che fanno girare flotte di Container orchestrati da piattaforme come Docker o Kubernetes, \u00e8 necessario porsi una domanda scomoda: chi oltre a me pu\u00f2 accedere al container?<\/p>\n\n\n\n

    La risposta \u00e8 l’amministratore di sistema dell’istanza ospitante, o per meglio dire, l’utente Root<\/strong>.<\/p>\n\n\n\n

    \u00c8 fondamentale interiorizzare che l’isolamento offerto dai Container \u00e8 di tipo puramente logico (basato su namespaces<\/em> e cgroups<\/em>), non fisico. Pi\u00f9 container che girano sulla stessa istanza EC2 condividono lo stesso Kernel e, in fin dei conti, la stessa RAM (sebbene sezionata a livello logico). Questo significa che se un malintenzionato – o anche solo un insider threat<\/em> come un dipendente corrotto, o un malware che ha compiuto una privilege escalation<\/em> – riesce ad ottenere i privilegi di Root sull’istanza che ospita i container, la partita della sicurezza \u00e8 persa.<\/p>\n\n\n\n

    Ma i container non sono il villain di questa storia, infatti, evitarli  e ripiegare su processi eseguiti direttamente su un’istanza EC2 tradizionale non risolve il problema alla radice; anzi, espone a vettori d’attacco ancor pi\u00f9 diretti. In questo scenario, infatti, non \u00e8 nemmeno necessario che l’attaccante ottenga privilegi di Root a livello di sistema operativo. \u00c8 sufficiente compromettere il singolo utente di sistema con cui l’applicazione \u00e8 in esecuzione: sfruttando una falla di sicurezza nel codice (ci sono diversi tipi di attacco possibili), l’attaccante pu\u00f2  ottenere l’accesso legittimo alla porzione di memoria RAM assegnata a quel processo.<\/p>\n\n\n\n

    In entrambi i casi, una volta ottenuto l’accesso alla memoria, l’esito \u00e8 identico; \u00e8 possibile eseguire un dump completo della memoria RAM<\/strong> associata al processo bersaglio. In una frazione di secondo, si pu\u00f2 salvare su disco un file contenente esattamente tutto ci\u00f2 che un’applicazione stava elaborando in chiaro in quel momento. Analizzando poi il dump, l’attaccante pu\u00f2 estrarre svariate informazioni critiche e, magari, sensibili: token di sessione JWT attivi, password degli utenti, seed<\/em> crittografici per la generazione di codici TOTP, chiavi private SSL e informazioni di identificazione personale (PII).<\/p>\n\n\n\n

    Il concetto chiave qui \u00e8 il TCB<\/strong> (Trusted Computing Base<\/em>). Il TCB rappresenta l’insieme di tutte le entit\u00e0 hardware, software e umane di cui ci si deve “fidare” ciecamente per garantire la sicurezza del sistema. In uno scenario basato su container tradizionali, il TCB include l’infrastruttura del Cloud Provider, il livello di Hypervisor, l’intero sistema operativo Host, i demoni di orchestrazione (kubelet, dockerd) e tutti gli amministratori di sistema. Per workload realmente mission-critical e sensibili, questa platea potrebbe risultare eccessivamente ampia.<\/p>\n\n\n\n

    La soluzione: AWS Nitro Enclaves<\/h2>\n\n\n\n

    Per abbattere drasticamente questo TCB,<\/strong> entra in gioco AWS Nitro Enclaves<\/strong>. Questo servizio poggia sulle fondamenta della tecnologia AWS Nitro System, l’architettura hardware personalizzata di AWS che ha rivoluzionato il cloud computing disaccoppiando fisicamente le funzioni di rete, storage e gestione dalla CPU principale dell’istanza. Nitro Enclaves sfrutta questa architettura per permettere di “ritagliare” e creare partizioni totalmente isolate di CPU e Memoria direttamente da un’istanza EC2 “Parent” esistente.<\/p>\n\n\n\n

    Un’Enclave non va confusa con un container “pi\u00f9 sicuro” o una VM alleggerita; \u00e8 un paradigma architetturale e concettuale completamente diverso:<\/p>\n\n\n\n