GateKeeper pozwala mi na zainstalowanie czegokolwiek, żadne kontrole nie są wykonywane

9

Mogę pobierać aplikacje z niestandardowych stron internetowych i uruchamiać je, nawet jeśli ustawienia mojego strażnika są w „AppStore Only”. To jest moja aplikacja - nawet nie jest podpisana.

Co może być tego przyczyną? Mogę odtworzyć to zachowanie na wszystkich moich 3 komputerach Mac.

JasonGenX
źródło
2
Jak pobierasz i rozwijasz aplikacje?
Gordon Davisson
poprzez lokalizację pliku serwera smb: //. kopiowanie ich na pulpit. Na innych maszynach powoduje to odpowiednie zadziałanie mechanizmów bezpieczeństwa. Na moich komputerach, mimo że mam „AppStore Only”, biorąc ten sam plik, ten sam sposób jest dopuszczalny, bez ograniczeń dotyczących instalacji i uruchamiania. Zagadka.
JasonGenX
2
Co się stanie, jeśli pobierzesz ten sam plik przez http?
farsz

Odpowiedzi:

7

Jest to funkcja zgodna z projektem, w której administrator może zawsze zastąpić Gatekeeper i otworzyć aplikację, klikając prawym przyciskiem myszy aplikację w Finderze.

Administrator może również zmienić ustawienia Strażnika Wędrówki lub całkowicie je wyłączyć, więc nie ma żadnej realnej szkody (przynajmniej w moich oczach) w prezentowaniu jednorazowego okna dialogowego z białą listą, aby upewnić się, że administrator zamierza zezwolić na niezgodność (nie podpisany) lub inną niż Mac App Store) do uruchomienia.

Okno dialogowe szkolenia Apple dla Gatekeeper - ze strony support.apple.com/kb/HT5290

Teraz, jeśli znalazłeś sposób na obejście Gatekeepera przez użytkownika niebędącego administratorem, spodziewam się, że zgłoszenie luki w zabezpieczeniach w Apple dostanie uznanie za znalezienie dziury po usunięciu ewentualnego błędu implementacji, aby umożliwić uruchomienie aplikacji zasad.

Apple dokumentuje tę funkcję dogłębnie na temat jawnego umieszczenia aplikacji na białej liście.

Gatekeeper nie stanowi ochrony przed złośliwym oprogramowaniem ani czarnej listy. Jest to zestaw zasad, które pozwalają na pierwsze uruchomienie poprawnie podpisanych aplikacji i / lub weryfikację potwierdzeń w sklepie Mac App Store. Jeśli użytkownik administratora wyraźnie uruchomi, a następnie zatwierdzi uruchomienie niezgodnego oprogramowania, masz problem edukacyjny lub problem z polityką, a nie ujawnienie jakiejś wady w Gatekeeper.

Szczegółowo streściłem (i w większości skopiowałem) odpowiednie sekcje pomocy Apple'a na temat białej listy dowolnej aplikacji, aby Gatekeeper pozwolił jej działać bez przeszkód i bezproblemowo:

Jak otworzyć aplikację od niezidentyfikowanego programisty i zwolnić ją od Gatekeeper

Jeśli masz pewność, że aplikacja pobrana z Internetu jest najnowszą wersją i pochodzi ze źródła, któremu ufasz, możesz otworzyć aplikację od niezidentyfikowanego programisty, wykonując następujące kroki.

Ważne: niektóre aplikacje Apple od programistów, którzy są w trakcie pozyskiwania podpisów ID deweloperów, będą wyświetlać opcję „Otwórz” po dwukrotnym kliknięciu.

Uwaga: w większości przypadków dla wszystkich kont użytkowników na komputerze Mac wystarczy wykonać te czynności tylko raz:

  • W Finderze kliknij z wciśniętym klawiszem Control lub prawym przyciskiem myszy ikonę aplikacji.
  • Wybierz Otwórz z góry wyświetlonego menu kontekstowego.
  • Kliknij Otwórz w oknie dialogowym. Jeśli pojawi się monit, wprowadź nazwę administratora i hasło.

Uwaga: jeśli istnieje aplikacja, która wyświetla wiele okien dialogowych Gatekeepera, możesz tymczasowo użyć opcji „Zawsze” Gatekeepera. Pamiętaj, aby przywrócić wcześniej dostępną opcję Gatekeeper, aby przywrócić funkcję Gatekeeper.

Możesz łatwo kontrolować, kto może umieszczać aplikacje na białej liście, nie przekazując nazw użytkowników i haseł Administratorom użytkownikom, którzy nie są świadomi tej funkcji, a także możesz zarządzać gatekeeperem z terminala lub menedżera profili i innych programów zarządzanych ustawień, takich jak Casper z JAMF. Możesz także skontrolować swoje maszyny pod kątem oprogramowania, które znajduje się na białej liście, aby okresowo resetować listę dozwolonych aplikacji i określić, kto wykonuje tę funkcję w przypadku, gdy chcesz zmienić zasady i nawyki.

bmike
źródło
czy istnieje ustawienie, które resetuje to jednorazowe okno dialogowe? czy to na aplikację? w jaki sposób identyfikowane są aplikacje? imię? ścieżka? jeśli zdecyduję się otworzyć „MyApp.app” raz, czy wszystkie kolejne pobrania i instalacje „MyApp.app” powiodą się niezależnie od ustawień GateKeeper?
JasonGenX
Każdy użytkownik ma inne reguły, które są przechowywane w / var / db / SystemPolicy - więc będziesz trochę ciężki, aby to wyczyścić i zacząć od nowa, ale możesz usunąć określone reguły za pomocą, spctlwięc spctl --assess -v /Applications/Whatever.apppokaże ci, czy jest to dozwolone, czy odrzucone i spctl --remove /Applications/Whatever.appzresetuje się „okno dialogowe” i status dla określonej aplikacji. Korzystam z narzędzia do gromadzenia wszystkich aplikacji w systemach, dzięki czemu mogę kontrolować użycie i poprawiać rzeczy w razie potrzeby za pomocą krótkiego skryptu.
bmike
Jednak zgodnie z odpowiedzią Gordona zależy to również od ustawienia bitu kwarantanny, dlatego tylko dlatego, że GateKeeper nie ma wpisu z białej listy (lub jest usuwany), bit kwarantanny musi zostać zresetowany lub aplikacja usunięta, aby odnowić „ okno dialogowe gatekeeper ”i otwarte zabezpieczenia.
bmike
10

Pobieranie pliku przez SMB nie spowoduje kwarantanny, a ponieważ aplikacja nie jest poddana kwarantannie, zasady strażnika nigdy nie są sprawdzane. Nie jestem pewien, dlaczego na innych komputerach jest oznaczony jako poddany kwarantannie ...

Aby sprawdzić kwarantannę w dowolnym momencie, użyj ls -ld@polecenia, aby wyszukać atrybut 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 

Jeśli ten atrybut kwarantanny jest dołączony do aplikacji, zasady strażnika zostaną sprawdzone; jeśli nie, nie będzie. Interesujące pytanie brzmi: dlaczego zostało ono poddane kwarantannie na innych komputerach, a jeśli użyjesz tego polecenia, aby sprawdzić aplikację w różnych punktach podczas jej dystrybucji, możesz dowiedzieć się, kiedy atrybut jest dołączany (i dlatego dlaczego jest dołączany).

EDYCJA: Uwaga na ten temat znajduje się w sekcji „Kliknij tutaj, aby uzyskać więcej informacji” w artykule Apple's KB # HT5290 :

Ważne: podpis ID dewelopera dotyczy aplikacji pobranych z Internetu. Aplikacje z innych źródeł, takich jak serwery plików, napędy zewnętrzne lub dyski optyczne, są zwolnione, chyba że aplikacje zostały pierwotnie pobrane z Internetu.

Gordon Davisson
źródło
Gatekeeper różni się od kwarantanny, chociaż razem pomagają chronić przed przypadkowym uruchomieniem nowego oprogramowania, które nie jest podpisane i / lub nie pochodzi z Mac App Store. Zobacz moją odpowiedź, aby poznać szczegóły.
bmike
1
@bike: W rzeczywistości gatekeeper jest rozszerzeniem systemu kwarantanny; jeśli pobierzesz aplikację, a następnie uruchom xattr -d com.apple.quarantineją, możesz ją otworzyć, nawet jeśli narusza ona zasady strażnika.
Gordon Davisson
Możesz już otworzyć dowolną aplikację, która narusza zasady strażnika. Po prostu dostajesz (potencjalnie okno dialogowe administratora i), a następnie szansę na białą listę z aplikacji zasad. Czy mówisz, że użytkownik niebędący administratorem może wydać jedno polecenie, pominie to sprawdzenie, jeśli masz tylko Mac App Store lub podpisałeś tylko aplikacje?
bmike
1
@bmike: Tak, właśnie przetestowałem pobieranie, cofanie kwarantanny i uruchamianie niepodpisanej aplikacji z konta innego niż administrator i działało dobrze, mimo że Gatekeeper jest ustawiony na tryb tylko Mac App Store. Ale nie uważam tego za znaczącą lukę w zabezpieczeniach, ponieważ jeśli złoczyńca może nakłonić użytkownika do uruchomienia takiego polecenia, może namówić go na cokolwiek, a użytkownik i tak jest skazany (a ponieważ nie jest administratorem, wszystko, co mogą uszkodzić, to ich własne konto).
Gordon Davisson
1
To. Kwarantanna to nie to samo co Gatekeeper, ale Gatekeeper opiera się na metadanych z Kwarantanny, które są dołączane do pobranych plików jako metadane atrybutów rozszerzonych. Gdybym mógł przyznać nagrodę, przyznałbym ją tutaj.
Daniel
4

Jeśli włączyłeś tę ukrytą preferencję, spowoduje to również wyłączenie Gatekeeper:

defaults write com.apple.LaunchServices LSQuarantine -bool false

Lub OS X umożliwia otwieranie wszystkich aplikacji niezależnie od ustawienia w Preferencjach systemowych.

Lri
źródło
Ups, całkowicie mi tego brakowało i opublikowałem to samo jako osobną odpowiedź. Usuwam teraz…
TJ Luoma
2

Gatekeeper uniemożliwia uruchamianie aplikacji poprzez dwukrotne kliknięcie, ale zawsze możesz go zastąpić, wybierając Otwórz z menu kontekstowego.

Jeśli możesz uruchomić pobrane niepodpisane aplikacje przez dwukrotne kliknięcie, jest to problem z Gatekeeper. Pliki przechowują status kwarantanny w rozszerzonym atrybucie o nazwie com.apple.quarantine . Jeśli z jakiegoś powodu ten atrybut zostanie usunięty z pobranych plików, Gatekeeper potraktuje pobrane pliki tak, jak nie różnią się od innych plików na twoim komputerze. Sugeruję więc, aby pobrać program, a następnie użyć go xattr -l filenamew Terminalu, byłoby dobrym narzędziem diagnostycznym, jeśli masz zainstalowany Xcode.

Jeśli uruchomisz je za pomocą polecenia Otwórz z menu, jest to zaprojektowane zachowanie. Pamiętaj, że po uruchomieniu programu z menu można go zawsze uruchomić, klikając dwukrotnie, niezależnie od ustawień Strażnika.

Daniel
źródło