Eseguire macOS in un container Docker senza hardware Apple

Per scopi di ricerca, è possibile eseguire qualsiasi versione di macOS in un container Docker, su piattaforme come Windows e Linux. Lo sostengono gli autori del progetto Docker-OSX, termini del programma Apple Security Bounty alla mano.
Eseguire macOS in un container Docker senza hardware Apple

C’è un progetto che da tempo ha destato l’interesse di sviluppatori e professionisti. Si chiama Docker-OSX, è open source ed è pubblicato su GitHub: consente di eseguire macOS in un container Docker, quindi anche su macchine non basate su hardware Apple.

Docker-OSX è particolarmente utile per le indagini in materia di sicurezza informatica. Permette di esplorare il funzionamento del sistema operativo Apple in un ambiente isolato, evitando qualsiasi rischio di compromissione del sistema host. Utilizzando una configurazione che supporti Docker, con i container Docker-OSX, si possono quindi eseguire ricerche su qualunque applicazione macOS, compresa iMessage.

Grazie all’uso dell’apprezzata soluzione di virtualizzazione aperta KVM, macOS eseguito all’interno di Docker-OSX offre prestazioni che si avvicinano molto a quelle native. Inoltre, permette di avviare i programmi macOS beneficiando del cosiddetto Forwarding X11. Tale funzionalità porta le applicazioni macOS su una macchina Linux o Windows sfruttando l’interfaccia grafica del sistema host: una sorta di integrazione visuale tra sistemi operativi intrinsecamente differenti.

Docker-OSX esegue anche macOS Sonoma in un container dedicato

Docker-OSX supporta diverse versioni di macOS, incluse Catalina, Big Sur, Monterey, Ventura e Sonoma. Facendo riferimento a questo comando, è possibile disporre il caricamento di un container Docker che a sua volta permetta, ad esempio, l’avvio e l’utilizzo di macOS Sonoma. Scorrendo di poco la pagina verso l’alto, si trovano le istruzioni per le altre release del sistema operativo della Mela.

Il progetto Docker-OSX permette anche di collegare dispositivi iPhone tramite USB (funzionalità passthrough USB). In questo modo, l’ambiente allestito avvalendosi di KVM e Docker diventa un potente strumento per lo sviluppo e la risoluzione dei problemi su iOS.

macOS in esecuzione in un container Docker su Linux

Proprio grazie al componente usbfluxd di Corellium, azienda che è riuscita a ottenere il placet di Apple per la virtualizzazione di iOS, è possibile collegare il dispositivo iOS al sistema macOS virtualizzato. Basta installare i componenti usbmuxd, socat e usbfluxd, avviare i servizi necessari e collegare il device iOS avendo cura di configurare l’istanza di macOS affinché il riconoscimento avvenga senza difficoltà. Gli sviluppatori ne parlano in questo documento di supporto.

Nessuno utilizza un Hackintosh per giocare a Fruit Ninja, creare iMovies o scrivere canzoni su Garage Band“, scrivono gli autori di Docker-OSX. “I ricercatori usano Hackintosh per condurre ricerche di sicurezza su compiti che richiederebbero un vero Mac“.

In quali circostanze è possibile utilizzare Docker-OSX?

Un’iniziativa come Docker-OSX merita certamente di essere analizzata con particolare attenzione, viste le sue enormi potenzialità.

Gli autori del progetto, infatti, mirano ad abbattere qualunque barriera tra macOS e le piattaforme concorrenti. Spiegano addirittura come sia possibile, con un po’ di lavoro, eseguire macOS in WSL (Windows Subsystem for Linux) ovvero la soluzione Microsoft che permette di caricare tutte le principali distribuzioni Linux.

Al momento, Docker-OSX può essere avviato in Windows 11 con WSL2 seguendo le istruzioni qui riportate. WSL2 è la versione più evoluta del Sottosistema Windows per Linux che sfrutta un meccanismo di virtualizzazione basato su Hyper-V per integrare Linux, a basso livello, con il sistema operativo Microsoft. Gli stessi file system della macchina host Windows e del sistema guest Linux divengono reciprocamente accessibili, peraltro in modo molto semplice.

Ma Apple è contenta di tutto questo? Ni. Come dimostra la vertenza a suo tempo aperta nei confronti di Corellium, la società guidata da Tim Cook tende a erigere palizzate intorno alle sue soluzioni software e hardware. All’interno del “recinto” possono muoversi liberamente soltanto i componenti dell’ecosistema della Mela. Verso l’esterno, invece, sono creati e mantenuti soltanto alcuni ponti ai quali non è possibile rinunciare per questioni di compatibilità e interoperabilità.

Docker-OSX, di contro, dà modo di gettare uno sguardo profondo sul funzionamento di macOS (e di conseguenza anche su iOS) senza avvalersi di hardware Apple. Come spiegano gli autori del progetto, tutto questo è possibile perché da dicembre 2019 il programma Apple Security Bounty è aperto a tutti. Chiunque può adesso partecipare al programma, che permette di esaminare il funzionamento dell’ecosistema Apple e segnalare responsabilmente bug e problemi di sicurezza.

Apple dichiara esplicitamente che non vi è alcuna violazione dell’Accordo di Licenza con l’Utente Finale (EULA) quando l’utente partecipa in buona fede, non interrompe i servizi Apple e non accede ai dati di altre persone. Se volete approfondire, confrontate quanto pubblicato dagli autori di Docker-OSX con i termini del Security Bounty.

Ti consigliamo anche

Link copiato negli appunti