GateKeeper mi consente di installare qualsiasi cosa, senza controlli


9

Posso scaricare applicazioni da siti Web personalizzati ed eseguirle, anche quando le impostazioni del mio gatekeeper sono su "Solo AppStore". Questa è la mia domanda - non è nemmeno firmata.

Quale potrebbe essere la ragione? Posso riprodurre questo comportamento su tutti i miei 3 mac.


2
Come stai scaricando ed espandendo le app?
Gordon Davisson,

tramite un percorso del file server smb: //. copiandoli sul mio desktop. Su altre macchine, questo fa scattare correttamente i meccanismi di sicurezza. Sulle mie macchine, anche se ho "Solo AppStore", prendendo lo stesso file, lo stesso modo è consentito, senza restrizioni per l'installazione e l'esecuzione. Mistero.
JasonGenX,

2
Cosa succede se scarichi lo stesso file su http?
stuffe

Risposte:


7

Questa è una funzionalità di progettazione in base alla quale un utente amministratore può sempre ignorare Gatekeeper e aprire un'applicazione facendo clic con il pulsante destro del mouse sull'app nel Finder.

Un utente amministratore può anche modificare le impostazioni di Gatekeeper o disabilitarlo completamente, quindi non c'è alcun danno reale (almeno ai miei occhi) nel presentare una finestra di dialogo bianca una volta sola per garantire che l'utente amministratore intenda consentire una non conformità (non firmata o non Mac App Store) per l'esecuzione.

La finestra di allenamento di Apple per Gatekeeper - da support.apple.com/kb/HT5290

Ora, se hai trovato un modo per un utente non amministratore di bypassare Gatekeeper, allora mi aspetterei di presentare una vulnerabilità di sicurezza con Apple per ottenere credito per aver individuato una lacuna una volta riparata qualsiasi errore di implementazione per consentire l'esecuzione di app fuori dai criteri.

Apple documenta in modo approfondito questa funzionalità su come elencare esplicitamente un'applicazione.

Gatekeeper non è una protezione da malware e non è una lista nera. È un insieme di criteri che consentono il primo avvio di applicazioni firmate correttamente e / o la convalida delle ricevute dello store di app Mac. Se un utente amministratore avvia esplicitamente e quindi approva l'esecuzione di software non conforme, hai un problema di istruzione o politica invece di scoprire qualche difetto in Gatekeeper.

Nel dettaglio, ho sintetizzato (e per lo più copiato) le sezioni pertinenti della guida di Apple sulla lista bianca di qualsiasi App in modo che Gatekeeper le consenta di funzionare senza ostacoli e senza sollecitazioni:

Come aprire un'app da uno sviluppatore non identificato ed esentarla da Gatekeeper

Se sei sicuro che l'app scaricata da Internet sia l'ultima versione e provenga da una fonte di cui ti fidi, puoi aprire un'app da uno sviluppatore non identificato seguendo questi passaggi.

Importante: alcune app schermate Apple dagli sviluppatori che stanno acquisendo le firme degli ID sviluppatore presenteranno l'opzione "Apri" quando fanno doppio clic.

Nota: nella maggior parte dei casi, dovrai eseguire questi passaggi solo una volta per tutti gli account utente sul Mac:

  • In Finder, fai clic tenendo premuto il tasto Ctrl o fai clic con il pulsante destro del mouse sull'icona dell'app.
  • Seleziona Apri nella parte superiore del menu contestuale che appare.
  • Fai clic su Apri nella finestra di dialogo. Se richiesto, immettere un nome e una password di amministratore.

Nota: se esiste un'app che presenta più finestre di dialogo Gatekeeper, è possibile utilizzare temporaneamente l'opzione "Sempre" di Gatekeeper. Assicurati di ripristinare l'opzione Gatekeeper che era lì prima di riportare la funzione Gatekeeper.

Puoi facilmente controllare chi può inserire nella lista bianca le applicazioni non distribuendo nomi utente e password dell'amministratore agli utenti che non sono a conoscenza di questa funzionalità e puoi anche gestire gatekeeper dal terminale o dal gestore profili e da altri software di impostazioni gestite come Casper di JAMF. Puoi anche controllare i tuoi computer alla ricerca di software che è stato inserito nella white list per ripristinare periodicamente l'elenco delle app consentite e determinare chi esercita questa funzione nel caso in cui desideri cambiare politica e abitudine.


c'è un'impostazione che reimposta questa finestra di dialogo singola? è questo per applicazione? come vengono identificate le app? nome? sentiero? se ho scelto di aprire "MyApp.app" una volta, tutti i download e le installazioni successive di "MyApp.app" avranno successo indipendentemente dalle impostazioni di GateKeeper?
JasonGenX,

Ogni utente ha regole diverse che vengono archiviate in / var / db / SystemPolicy - quindi saresti un po 'pesante per cancellarlo e ricominciare, ma puoi rimuovere regole specifiche con spctlcosì spctl --assess -v /Applications/Whatever.appti mostrerebbe se è permesso o rifiutato e spctl --remove /Applications/Whatever.appripristinerebbe la "finestra di dialogo" e lo stato per un'applicazione specifica. Uso uno strumento per raccogliere tutte le app sui sistemi in modo da poter controllare l'utilizzo e correggere le cose quando necessario con uno script breve.
bmike

Tuttavia, secondo la risposta di Gordon, ciò dipende anche dal bit di quarantena impostato, quindi solo perché GateKeeper non ha una voce della lista bianca (o viene rimossa), il bit di quarantena deve essere ripristinato o l'app eliminata per rinnovare " finestra di dialogo "gatekeeper" e protezioni aperte.
bmike

10

Il download di un file su SMB non attiverà la quarantena e poiché l'app non è messa in quarantena, i criteri gatekeeper non vengono mai controllati. Non sono sicuro del motivo per cui è stato contrassegnato come in quarantena sugli altri tuoi computer ...

Per verificare la quarantena in qualsiasi momento, utilizzare il ls -ld@comando per cercare l'attributo com.apple.quarantine:

$ ls -ld@ /Applications/TextWrangler.app
drwxrwxr-x@ 3 gordon  staff  102 Apr 30  2012 /Applications/TextWrangler.app
    com.apple.FinderInfo     32 
    com.apple.quarantine     57 

Se l'attributo di quarantena è collegato all'app, verrà verificato il criterio gatekeeper; in caso contrario, non lo farà. La domanda interessante è perché è stato messo in quarantena sugli altri tuoi computer e se usi questo comando per controllare l'applicazione in vari punti mentre la distribuisci, puoi capire quando l'attributo viene attaccato (e quindi perché si attacca).

EDIT: c'è una nota relativa a questo nella sezione "Fai clic qui per maggiori dettagli" dell'articolo KB di Apple # HT5290 :

Importante: la firma dell'ID sviluppatore si applica alle app scaricate da Internet. Le app di altre fonti, come file server, unità esterne o dischi ottici sono esenti, a meno che le app non siano state originariamente scaricate da Internet.


Gatekeeper si distingue dalla quarantena, sebbene insieme aiutino a proteggere dall'esecuzione accidentale di nuovo software non firmato e / o non dal Mac App Store. Vedi la mia risposta per i dettagli.
bmike

1
@bmike: attualmente il gatekeeper è un'estensione del sistema di quarantena; se scarichi un'app, quindi eseguila xattr -d com.apple.quarantinesu di essa puoi aprirla anche se viola i criteri di gatekeeper.
Gordon Davisson,

Puoi già aprire qualsiasi app che viola i criteri del gatekeeper. Hai solo (potenzialmente una finestra di dialogo dell'amministratore e) quindi la possibilità di aggiungere una lista bianca alle app dei criteri. Stai dicendo che un utente non amministratore può emettere un comando ignorerà il controllo se hai solo Mac App Store o hai firmato solo app?
bmike

1
@bmike: Sì, ho appena testato il download, la dequarantining e l'esecuzione di un'app non firmata da un account non amministratore e ha funzionato benissimo nonostante Gatekeeper fosse impostato solo in modalità Mac App Store. Ma non lo considero un significativo buco nella sicurezza, poiché se un miscredente può convincere un utente a eseguire un comando come questo, può parlargli in qualsiasi cosa e l'utente è condannato comunque (e poiché non sono un amministratore, tutto ciò che possono danneggiare è il proprio account).
Gordon Davisson,

1
Questo. La quarantena non è la stessa di Gatekeeper, ma Gatekeeper si basa sui metadati di Quarantine, che è collegato ai file scaricati come metadati di attributi estesi. Se potessi assegnare la generosità, la assegnerei qui.
Daniel

4

Se hai abilitato questa preferenza nascosta, disabilita anche Gatekeeper:

defaults write com.apple.LaunchServices LSQuarantine -bool false

Oppure OS X consente di aprire tutte le applicazioni indipendentemente dall'impostazione in Preferenze di Sistema.


Ops, l'ho perso del tutto e ho pubblicato la stessa cosa come una risposta separata. Eliminazione ora ...
TJ Luoma,

2

Gatekeeper impedisce alle app di essere eseguite facendo doppio clic, ma puoi sempre sovrascriverle selezionando Apri dal menu contestuale.

Se è possibile eseguire app non firmate scaricate facendo doppio clic, questo è un problema con Gatekeeper. I file memorizzano il loro stato di quarantena in un attributo esteso chiamato com.apple.quarantine . Se questo attributo viene cancellato per qualche motivo dai file scaricati, Gatekeeper considera i file scaricati come non diversi dagli altri file sul computer. Quindi suggerirei che scaricare un programma e poi utilizzarlo xattr -l filenamein Terminal sarebbe un buon strumento diagnostico se hai installato Xcode.

Se li esegui tramite il comando Apri da un menu, questo è il comportamento progettato. Notare che una volta eseguito un programma dal menu, è sempre possibile eseguirlo facendo doppio clic, indipendentemente dalle impostazioni di Gatekeeper.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.