Fidarsi di un’app su un Mac non è una singola decisione sì-o-no. Sono quattro domande distinte, ciascuna con una risposta data da un meccanismo diverso: chi l’ha costruita, Apple l’ha controllata, a cosa può accedere, e cosa fa davvero una volta in esecuzione. Apple documenta le prime tre nel dettaglio. La quarta è quella che devi osservare tu stesso, ed è quella che scopre un’app che ha superato le prime tre e poi ha preso una brutta piega.
App Store o download diretto
La pagina di supporto di Apple Aprire le app in modo sicuro sul Mac definisce l’App Store il posto più sicuro da cui ottenere software, per due ragioni concrete: Apple esamina ogni app prima di accettarla, e Apple può rimuovere rapidamente un’app se in seguito emerge un problema. Le app dell’App Store devono inoltre girare dentro l’App Sandbox, che la pagina Apple Gatekeeper e protezione in fase di esecuzione descrive come un limite ai dati che un’app può raggiungere, con l’obbligo di usare le API di macOS per comunicare con le altre app.
Questo non rende sospetto ogni download diretto. Moltissimo software legittimo per Mac è distribuito fuori dallo store perché la sandbox vieta ciò che deve fare (utility per il disco, strumenti di sviluppo, firewall compresi). La differenza è che, per un download diretto, la fase di revisione è sostituita da due controlli più leggeri che Apple descrive nelle stesse pagine: una firma che dice chi ha costruito l’app, e una scansione di notarizzazione.
Developer ID e notarizzazione: cosa dimostrano
Un certificato Developer ID è rilasciato da Apple a uno sviluppatore iscritto all’Apple Developer Program, e permette a Gatekeeper di confermare che un’app è stata firmata da quello sviluppatore e non è stata modificata da allora. È tutto ciò che una firma dimostra: identità e integrità. Non dice nulla sulle intenzioni. Un’app firmata può comunque essere una cattiva app; la firma significa solo che Apple sa di chi è il nome che porta e può revocarla.
La notarizzazione è il secondo controllo. La documentazione per sviluppatori di Apple su come notarizzare il software macOS prima della distribuzione la descrive come una scansione automatica del software firmato con Developer ID alla ricerca di contenuti ostili noti e di problemi di firma del codice, dopo la quale Apple emette un ticket che Gatekeeper può leggere. La pagina di supporto di Apple è attenta alle parole: notarizzazione significa che «Apple l’ha controllata alla ricerca di software malevolo e non ne ha rilevato». È una scansione rispetto a ciò che Apple già conosce, non una revisione di ciò che l’app fa, e Apple può revocare una notarizzazione in seguito se scopre qualcosa di nuovo.
Il flag di quarantena
Il meccanismo che lega questi controlli a un download specifico è un attributo esteso sul file, com.apple.quarantine, che Safari e la maggior parte degli altri browser e app di messaggistica impostano su tutto ciò che salvano. Quando apri per la prima volta un file con quell’attributo, Gatekeeper esegue i suoi controlli e chiede la tua approvazione. La pagina di Apple su Gatekeeper descrive l’impostazione predefinita come il controllo di tutto il software alla ricerca di contenuti malevoli noti la prima volta che viene aperto. Puoi vedere l’attributo tu stesso con il comando del Terminale xattr -l su un file scaricato.
Se un’app non è firmata o non è notarizzata, macOS rifiuta di aprirla e offre un percorso per forzare. La pagina di supporto di Apple Aprire un’app per Mac di uno sviluppatore sconosciuto spiega i passaggi e poi aggiunge un avviso che vale la pena riportare nella sostanza: forzare queste impostazioni è il modo più comune in cui un Mac viene infettato, e Apple consiglia di cercare piuttosto un’altra app, anche quando lo sviluppatore sembra affermato. La regola pratica ne discende direttamente. Forzare deve essere un atto raro e deliberato, per software di cui hai una ragione specifica per fidarti, mai un riflesso.
Autorizzazioni: a cosa un’app può accedere
La terza domanda riguarda il perimetro. Dal macOS 10.15, spiega la pagina della Guida alla sicurezza della piattaforma Apple sul controllo dell’accesso delle app ai file, le app devono chiedere prima di leggere Scrivania, Documenti, Download, iCloud Drive o i volumi di rete, e l’accesso a fotocamera, microfono, registrazione dello schermo, monitoraggio della tastiera e Accesso completo al disco viene concesso solo tramite richieste esplicite o una modifica manuale in Impostazioni di Sistema, Privacy e sicurezza. Il sistema dietro queste richieste si chiama TCC (Transparency, Consent and Control), e il suo principio, nelle parole di Apple, è che gli utenti debbano avere piena trasparenza, consenso e controllo su ciò che le app fanno con i loro dati.
Le autorizzazioni sono di per sé un segnale di fiducia. Un gestore degli appunti che chiede l’accesso Accessibilità ha una ragione. Un’app per sfondi che chiede Accesso completo al disco e Registrazione schermo non ce l’ha. La discrepanza tra ciò a cui un’app serve e ciò che chiede è spesso visibile prima che l’app abbia fatto qualsiasi cosa, e rifiutare per vedere se l’app funziona comunque non costa nulla.
Comportamento di rete: la domanda a cui gli altri controlli non possono rispondere
Firma, notarizzazione e autorizzazioni vengono tutte valutate prima o nel momento di una richiesta. Nessuna di esse osserva l’app nel tempo, e nessuna guarda l’unica attività che trasforma un problema di privacy in uno di sicurezza: inviare dati fuori dal Mac. Un’app può essere firmata da uno sviluppatore reale, notarizzata da Apple, dotata solo delle autorizzazioni di cui plausibilmente ha bisogno, e comunque caricare i tuoi contatti presso un intermediario di analytics, interrogare un endpoint di tracciamento ogni pochi minuti o, dopo che un aggiornamento di routine ne ha sostituito il codice, iniziare a parlare con un server che non aveva mai contattato prima.
Leggere il comportamento di rete come segnale di fiducia significa porsi alcune domande concrete su ogni app. Si connette, e se sì, è prevedibile per quello che fa? Con quali host parla, e sono quelli dello sviluppatore, un servizio riconoscibile, oppure un elenco di domini pubblicitari e di analytics? Usa connessioni cifrate, o qualcosa esce in HTTP in chiaro? Il suo comportamento cambia dopo un aggiornamento? E si connette a orari programmati quando non la stai usando? Nessuna di queste richiede competenze specialistiche; richiedono di vedere le connessioni, cosa che macOS non ti mostra per impostazione predefinita.
È a questo che serve FireAI. La sua mappa in tempo reale mostra ogni connessione che ciascuna app effettua, con la destinazione, il paese e la rete che c’è dietro, e la sua revisione Private AI, un modello che gira sul dispositivo, giudica ogni nuova connessione di un’app sconosciuta in base alla reputazione della destinazione, al fatto che il binario sia già stato visto o no, alla porta e al protocollo, e al fatto che il collegamento sia cifrato, poi spiega la sua ragione in linguaggio semplice. La sua protezione dei dati non cifrati impedisce che numeri di carta, password e chiavi API escano in HTTP in chiaro, qualunque sia l’app che li invia. Ogni decisione dell’IA diventa una regola visibile che puoi annullare, e le regole si possono scrivere in inglese o francese semplice («blocca Microsoft Teams») o esportare come file di testo.
Bloccare ciò che non è firmato, e seguire la firma
Due scelte di progettazione di FireAI derivano direttamente dal modello di Apple descritto sopra. Primo, le sue modalità di sicurezza più severe, Paranoico e Sotto attacco, impediscono del tutto alle app non firmate di connettersi, insieme a telemetria e tracker, il che trasforma la finestra «sei sicuro?» di Apple in un’impostazione predefinita a livello di rete: un binario non firmato può girare se hai insistito, ma non può telefonare a nessuno. Secondo, le regole per app di FireAI seguono la firma del codice dell’app anziché il suo nome o percorso. Un impostore chiamato «Slack.app» nella cartella Download non eredita la regola che hai scritto per il vero Slack, perché la firma non corrisponde; e quando la vera app si aggiorna, la regola viene mantenuta, perché corrisponde. È la stessa identità che Apple usa per Gatekeeper, applicata alla rete.
Cosa questo non fa
FireAI non scansiona i file di un’app, non ispeziona il suo codice o la sua memoria, e non è un antivirus; non può dirti che un download è ostile prima che tu lo esegua. Se hai autorizzato un’app, il traffico che si nasconde dentro quell’app eredita la sua autorizzazione. Il traffico cifrato verso una destinazione affidabile viene giudicato per destinazione e schema, non per contenuto. E nessun firewall sostituisce i primi tre controlli: la decisione di fiducia più economica e affidabile su un Mac resta preferire l’App Store o un download firmato con Developer ID e notarizzato, rifiutare la finestra di forzatura, e negare le autorizzazioni di cui un’app non ha alcuna ragione visibile di avere bisogno.
Messe insieme, le quattro domande danno una definizione operativa di app per Mac affidabile: firmata da uno sviluppatore noto, notarizzata da Apple, che chiede solo ciò di cui plausibilmente ha bisogno, e che parla solo con server sensati per quello che fa. Apple ti permette di verificare le prime tre al momento dell’installazione. La quarta la puoi vedere solo osservando, ed è per questo che è quella che vale la pena aggiungere.
Il ruolo di FireAI e di HisnLabs
Apple risponde alle prime tre domande di fiducia al momento dell’installazione; FireAI esiste per la quarta, mostrando cosa fa davvero ogni app sulla rete e legando ogni regola alla stessa firma del codice su cui Gatekeeper già si basa.
FireAI è il prodotto di HisnLabs: un firewall con IA che funziona direttamente sul Mac. Mostra in linguaggio chiaro ogni connessione che le tue app effettuano e ti lascia decidere cosa esce dal tuo Mac — la sua IA lavora in locale, quindi il tuo traffico non viene mai inviato a noi né a nessun altro. Il team di ricerca sulla sicurezza di HisnLabs è quello che mantiene affidabili queste decisioni: cataloga quali domini sono semplice telemetria e quali un servizio reale, traccia il Paese e la rete dietro una connessione e addestra il modello locale (la funzione Autopilot) su schemi di traffico reali, senza che nulla lasci il tuo Mac.
Puoi leggere le scelte tecniche che ci stanno dietro, oppure provare FireAI per 17 giorni, su FireAI, di HisnLabs.
