Apple sta sviluppando l’intelligenza artificiale con la sua nuova suite di funzionalità Apple Intelligence su iPhone, iPad e Mac. Alcune richieste, con il permesso dell’utente, saranno inviate a ChatGPT di OpenAI.

Un dirigente afferma che i servizi di intelligenza artificiale di Apple usano un modello “blockchain” per garantire la privacy.

Dopo la presentazione di Apple, il vicepresidente senior dell’ingegneria del software Craig Federighi e il vicepresidente senior della strategia di machine learning e intelligenza artificiale John Giannandrea hanno parlato alla stampa insieme a Justine “iJustine” Ezarik.

Alla domanda su come Apple protegge la privacy dei clienti, Federighi ha detto che le richieste inviate ai server Apple sono anonime, con IP mascherati e senza registrazione delle informazioni.

Inoltre, il software del server sarà pubblico per la verifica da parte di ricercatori indipendenti, e i dispositivi interagiranno solo con server verificabili. Apple Intelligence è il sistema di intelligenza personale che porta potenti modelli generativi su iPhone, iPad e Mac.

Per funzionalità avanzate, abbiamo creato Private Cloud Compute (PCC), un sistema di intelligenza cloud progettato per l’elaborazione AI privata.

Apple ha condiviso alcuni dettagli in un post sul blog sulla sicurezza sul Private Cloud Compute (PCC), progettato per gestire le richieste degli utenti. Come ha osservato Federighi, le richieste degli utenti vengono rese anonime e gestite da server con software verificabile pubblicamente.

Apple chiama questo “Trasparenza verificabile”. In pratica, Apple pubblicherà le immagini del suo software per dimostrare la sicurezza del sistema. Inoltre, garantirà che i dispositivi interagiscano solo con server che usano software condiviso pubblicamente per controllo. Questo sistema è costruito con la crittografia.

Per la prima volta, Private Cloud Compute estende la sicurezza e la privacy leader del settore dei dispositivi Apple nel cloud, assicurando che i dati personali degli utenti inviati a PCC non siano accessibili a nessun altro se non all’utente – nemmeno ad Apple. Costruito con Apple silicon personalizzato e un sistema operativo hardened progettato per la privacy, crediamo che PCC sia l’architettura di sicurezza più avanzata mai dispiegata per l’elaborazione AI cloud su larga scala.

Apple ha da tempo sostenuto l’elaborazione on-device come pietra angolare per la sicurezza e la privacy dei dati degli utenti. I dati che esistono solo sui dispositivi degli utenti sono per definizione disaggregati e non soggetti a nessun punto centralizzato di attacco. Quando Apple è responsabile dei dati degli utenti nel cloud, li protegge con una sicurezza all’avanguardia nei suoi servizi – e per i dati più sensibili, crediamo che la crittografia end-to-end sia la nostra difesa più potente. Per i servizi cloud in cui la crittografia end-to-end non è appropriata, ci sforziamo di elaborare i dati degli utenti in modo effimero o sotto identificatori randomizzati non correlati che oscurano l’identità dell’utente.

L’elaborazione AI sicura e privata nel cloud pone una nuova sfida formidabile. L’hardware AI potente nel data center può soddisfare la richiesta di un utente con grandi e complessi modelli di machine learning – ma richiede l’accesso non crittografato alla richiesta dell’utente e ai dati personali che l’accompagnano. Ciò preclude l’uso della crittografia end-to-end, poiché i dati devono essere decifrati per essere elaborati.

Requisiti fondamentali per PCC
Per affrontare questa sfida, abbiamo identificato cinque requisiti fondamentali per Private Cloud Compute:

  1. Elaborazione stateless dei dati
  2. Garanzie esecutive
  3. Nessun accesso privilegiato in runtime
  4. Non-targetabilità
  5. Trasparenza verificabile

Elaborazione stateless dei dati
Il primo requisito per Private Cloud Compute è che l’elaborazione dei dati personali degli utenti sia stateless: i dati devono entrare nel sistema, essere elaborati, e quindi essere eliminati senza lasciare traccia. Ciò significa che i dati non devono essere memorizzati in modo persistente su disco, né devono rimanere in memoria dopo il completamento dell’elaborazione.

Per garantire questo, PCC utilizza una combinazione di tecnologie hardware e software. A livello hardware, il nodo PCC utilizza un volume di dati crittografato con chiavi che vengono randomizzate ad ogni riavvio del Secure Enclave. Poiché le chiavi non vengono mantenute, i dati scritti sul volume non possono essere decifrati dopo il riavvio.

A livello software, il processo di inferenza su un nodo PCC elimina i dati associati a una richiesta al suo completamento, e gli spazi degli indirizzi utilizzati per gestire i dati degli utenti vengono periodicamente riciclati per limitare l’impatto di eventuali dati che potrebbero essere stati inaspettatamente mantenuti in memoria.

Infine, perché le nostre garanzie esecutive abbiano un significato, dobbiamo anche proteggerci dallo sfruttamento che potrebbe aggirare queste garanzie. Tecnologie come i Pointer Authentication Codes e il sandboxing agiscono per resistere a tali sfruttamenti e limitare il movimento orizzontale di un attaccante all’interno del nodo PCC.

Lo strato di controllo e dispatch dell’inferenza è scritto in Swift, garantendo la sicurezza della memoria, e utilizza spazi degli indirizzi separati per isolare l’elaborazione iniziale delle richieste. Questa combinazione di sicurezza della memoria e del principio del privilegio minimo rimuove intere classi di attacchi allo stack di inferenza stesso e limita il livello di controllo e capacità che un attacco riuscito può ottenere.

Nessun accesso privilegiato in runtime
Abbiamo progettato Private Cloud Compute per garantire che l’accesso privilegiato non consenta a nessuno di aggirare le nostre garanzie di elaborazione stateless. In primo luogo, non abbiamo incluso meccanismi di shell remota o debug interattivo sul nodo PCC. Il nostro macchinario Code Signing impedisce il caricamento di codice aggiuntivo, ma questo tipo di accesso generico fornirebbe una vasta superficie di attacco per sovvertire la sicurezza o la privacy del sistema.

Oltre a non includere una shell, remota o meno, i nodi PCC non possono abilitare la Modalità Sviluppatore e non includono gli strumenti necessari per i flussi di lavoro di debug. Inoltre, abbiamo costruito gli strumenti di osservabilità e gestione del sistema con salvaguardie sulla privacy progettate per impedire l’esposizione dei dati degli utenti. Ad esempio, il sistema non include nemmeno un meccanismo di registrazione generico. Invece, possono uscire dal nodo solo log e metriche pre-specificate, strutturate e sottoposte a audit, e più strati indipendenti di revisione aiutano a prevenire l’esposizione accidentale dei dati degli utenti attraverso questi meccanismi.

Insieme, queste misure garantiscono che anche con l’accesso privilegiato, non sia possibile accedere o raccogliere i dati degli utenti elaborati da PCC. Inoltre, non esiste alcun meccanismo per consentire ai ricercatori di verificare che quelle immagini software corrispondano effettivamente a ciò che viene eseguito nell’ambiente di produzione. (Esistono alcuni meccanismi specializzati, come Intel SGX e l’attestazione AWS Nitro.) Quando lanceremo Private Cloud Compute, faremo il passo straordinario di rendere pubblicamente disponibili le immagini software di ogni build di produzione di PCC per la ricerca sulla sicurezza. Questa promessa, anch’essa una garanzia esecutiva: i dispositivi degli utenti saranno disposti a inviare dati solo ai nodi PCC che possono attestare crittograficamente di eseguire software elencato pubblicamente.

Vogliamo assicurarci che i ricercatori sulla sicurezza e la privacy possano ispezionare il software di Private Cloud Compute, verificarne la funzionalità e contribuire a identificare i problemi – proprio come possono fare con i dispositivi Apple. Il nostro impegno per la trasparenza verificabile include:

  • Pubblicazione delle misurazioni di tutto il codice in esecuzione su PCC in un log di trasparenza crittograficamente tamper-proof e append-only.
  • Rendere pubblicamente disponibili il log e le immagini software binarie associate per l’ispezione e la convalida da parte di esperti di privacy e sicurezza.
  • Pubblicazione e manutenzione di un set ufficiale di strumenti per i ricercatori che analizzano il software dei nodi PCC.
  • Ricompensare importanti risultati di ricerca attraverso il programma Apple Security Bounty.

Ogni immagine software di produzione di Private Cloud Compute verrà pubblicata per l’ispezione binaria indipendente – inclusi il sistema operativo, le applicazioni e tutti gli eseguibili rilevanti, che i ricercatori possono verificare rispetto alle misurazioni nel log di trasparenza. Il software verrà pubblicato entro 90 giorni dall’inclusione nel log, o dopo che gli aggiornamenti software rilevanti saranno disponibili, a seconda di quale sia il più breve. Una volta che un rilascio è stato firmato nel log, non può essere rimosso senza rilevamento, proprio come la struttura dati della mappa basata su log utilizzata dal meccanismo Key Transparency per la verifica della chiave di contatto iMessage.

Come abbiamo accennato, i dispositivi degli utenti si assicureranno di comunicare solo con i nodi PCC che eseguono immagini software autorizzate e verificabili. Nello specifico, il dispositivo dell’utente avvolgerà la chiave del payload della richiesta solo alle chiavi pubbliche di quei nodi PCC le cui misure attestate corrispondono a un rilascio software nel log di trasparenza pubblico. E le stesse rigorose tecnologie di Code Signing che impediscono il caricamento di software non autorizzato garantiscono anche che tutto il codice sul nodo PCC sia incluso nell’attestazione.

Rendere il software di Private Cloud Compute registrato e ispezionabile in questo modo è una forte dimostrazione del nostro impegno a consentire la ricerca indipendente sulla piattaforma. Ma vogliamo assicurarci che i ricercatori possano rapidamente mettersi in pista, verificare le nostre rivendicazioni di privacy PCC e cercare problemi, quindi stiamo andando oltre con tre passaggi specifici:

  1. Rilascio di un PCC Virtual Research Environment: un set di strumenti e immagini che simulano un nodo PCC su un Mac con Apple silicon, e che possono avviare una versione del software PCC modificata minimamente per una virtualizzazione riuscita.
  2. Pubblicazione periodica di un sottoinsieme del codice sorgente PCC critico per la sicurezza, per ulteriormente aiutare la ricerca.
  3. Inclusione del firmware sepOS e del bootloader iBoot in testo semplice nelle immagini PCC, facilitando come mai prima la ricerca di questi componenti critici.

Il programma Apple Security Bounty ricompenserà i risultati di ricerca nell’intero stack software di Private Cloud Compute – con ricompense particolarmente significative per eventuali problemi che minano le nostre rivendicazioni di privacy.