Njn, rodící se dystopie...
A z kokurenčního tábora, Apple údajně zakáže spouštění nepodepsaných / neschválených aplikací říká Lunduke... https://www.youtube.com/watch?v=sT_ePyytBtc
Jediné, co se reálně v Sequoie 15.1 změnilo, je přesunutí dialogu po spuštění nepodepsané aplikace (výjimka pro GateKeeper) z lokálního pop-upu do společného nastavení v System Settings > Security & Privacy.
Což je vcelku logické, protože tam je několik let i povolování běhu ostatních ovladačů, doplňků třetích stran, přístupu k adresářům, kameře atp.
Globální vypnutí GK, tzn. kompletní zakázání ověřování podpisů aplikací, mi přijde pro většinu používání úplně neopodstatněné.
Toho pána z videa neznám, ale na první dobrou se mi zdá až teatrálně přehnaný, vydržel jsem ho asi minutu.. :) Ale věřím, že si své diváky najde, z nějakého důvodu dost lidí miluje, když někdo nadává a míchne do toho sem tam nějakou konspiraci.
Jinak kolem té kontroly podpisu u aplikace (notarizace) už je mimochodem haló asi deset let. Můj pohled je ten, že tu platí, že každá mince má dvě strany. Ano na jednu stranu to znamená, že spouštění nepodepsaných programů je komplikovanější a samozřejmě by někdo mohl namítnout i přímý finanční zájem Apple (vývojářský účet za USD 99 a 299 pro firmy na rok), pro vydávání musíte mít poměrně aktuální sw (Xcode) potažmo hw. Podobně pak podíl z ceny aplikace při distribuci přes App Store. Dále také třeba čekací doby na schválení atp.
Na stranu druhou je to prvek, kdy je alespoň v části toho řetězce ověřovaná identita toho vydavatele, při použití Store pak musí vydání projít i AppReview atd. Při zjištění nekalostí je tam centrální autorita, která je schopná aplikaci stáhnout, revokovat certifikáty atd. Při instalaci nového počítače nebo resetu pak zas relativně velmi pohodlná instalace aplikací.
Takže je to pak samozřejmě na zvážení, jestli převažují kladné nebo záporné aspekty. Za mě je to pro většinu běžných uživatelů spíš pozitivní.
Chápu případné komplikace pro open-source projekty, ale i tam to může mít své klady. U spousty z nich je to už nějakou dobu tak, že zdrojáky jsou normálně dostupné, ale podepsaná binárka na MacOS je na AppStore za nějakou relativně minimální částku.. (např. USD 10 za LibreOffice, podobně třeba za MediaInfo..), případně symbolické předplatné. To přinese do projektu nějaké prostředky navíc, které pokryjí třeba ty přímé náklady na ty účty, koupi nějakého Mac pro vývojáře, náklady na pipeline pro sestavování atp. Zároveň pro uživatele to znamená výhodu automatických aktualizací a i třeba získání určité pozornosti vývojáře, aby ty věci udržoval.
PS.. úplně si nemyslím, že by provoz nepodepsaných aplikací úplně odřízli, alespoň v EU. Je to v podstatě stejné, jako s tím relativně nedávným sporem ohledně alternativních zdrojů sw. na iOSu.
3. 11. 2024, 12:52 editováno autorem komentáře
Jak jsem psal, jako u všeho tam máte klady i zápory. Neřekl bych úplně, že uživatelé počítačů jsou na to citliví, spíš uživatelé root.cz :) Což je ale vcelku logické.
Nepodepsané aplikace spouštět jdou, akorát na 15.1 se to povoluje na jiném místě. Celá ta věc existuje roky, nejde o žádnou novinku nebo překvapení. Podobně i Windows se binárky podepisují a kontrolují, jen na MacOSu je možná uživatelsky trochu složitější to přeskočit.
A podobně jako na Windows je tam navíc pro stažené soubory uložený atribut, že to pochází z internetu.. (v MacOS je to jako xattr na APFS, ve Windows pak jako alternate stream na NTFS).
Odhadoval bych i že u vaší paní bude většina aplikací stejně podepsaných (notarizovaných), což můžete zjistit třeba takhle.
for i in /Applications/*.app; do spctl -a -vvv -t install "$i"; done
Jinak to s těmi nákupy na AppStoru u oss aplikací, záleží samozřejmě na každém, jestli se mu to vyplatí.. případně i na modelu, který si zvolil tvůrce a jestli jsou binárky i normálně na stažení nebo ne. Já to udělal kolikrát i dobrovolně i když jsem nemusel a bral jsem to jako formu příspěvku na vývoj. Ale úplně přímo to nesouvisí s těmi podpisy, zmiňoval jsem to primárně ve vztahu k oss aplikacím a nějakému modelu pro jejich vydávání na MacOS.
Miesto na odsúhlasenie spustenia sa zmenilo v 15.0; o tom nebolo pôvodné pozdvižení. Ide o to, že vo verzii 15.1 - ktorá vyšla tento týždeň - to už niektorým nefunguje.Aplikácia, ktorú majú schváliť v settings, sa tam nikdy neobjaví a Finder pri pridávaní tejto aplikácie do schvalovacieho zoznamu vypíše chybovú hlášku (ktorej screenshot koloval).
Podpisovanie nie je kvôli App Store (aj keď tam musí byť podpísaná|, podpísané bývajú aj aplikácie mimo App Store a potom Gatekeeper s nimi nerobí také caviky. Podpisovať sa nedá hocičím, certifikát na podpis stojí 99 USD/rok, čo je pre mnohé OSS projekty neprijateľné.
Upgrade na 15.1 jsem dělal dva dny zpátky na víc počítačích a přesně tohle jsem zkoušel a nenarazil jsem na žádný problém s bypassem to GK pro konkrétní nepodepsané aplikace. Ano při prvním spuštění rovnou to vyhodilo zmíněnou (nehezkou) chybovou hlášku, ale normálně jsem našel request o povolení v Security & Privacy.
Což samozřejmě nevylučuje, že s tím někdo problém má, pokud je tam nějaký bug, jen u mě se neprojevil.
Vím, že notarizace přímo nesouvisí s distribuci přes App Store, byť každá aplikace odtamtud je automaticky notarizovaná.
Jen jsem to zmiňoval i v kontextu právě těch oss aplikací. Že se právě distribucí přes App Store za nějaký manipulační poplatek dají získat prostředky na ty náklady spojené s notarizací a buildováním pro MacOS a u projektů s více uživateli i něco navíc.
> Jinak to s těmi nákupy na AppStoru u oss aplikací, záleží samozřejmě na každém, jestli se mu to vyplatí
Kupovat nic nemusíte a autor nepotřebuje platit Applu za notarizaci. Pokud si aplikaci zkompilujete ze zdrojáků, tak je automaticky povolená ("vaše"). Např. balíčkovací systém brew to řeší za vás - je source based, i proto, že za jeho existenci Apple 2x změnil architekturu CPU.
Ono je hlavně nemožné úplně zakázat spouštění nepodepsaných aplikací. Protože tím by prakticky znemožnili vývoj aplikací. Kdyby měl vývojář pokaždé, když změní kód programu a spustí novou verzi, podepisovat tuto verzi uznávaným certifikátem, žádný vývoj nebude. Takže minimálně pro vývoj tam musí zůstat možnost spouštět nepodepsaný software – a tím pádem tu možnost budou mít všichni.
V macOS môžu mať rozličné aplikácie rozličné oprávnenia ohľadom bezpečnosti. Už dnes vývoj aplikácií funguje tak, že terminál a Xcode majú oprávnenie "vývojárske nástroje" a do procesov spustených týmito dvoma aplikáciami Gatekeeper nezasahuje. Na vývoj to stačí a bežný používateľ nebude spúšťať aplikácie ani z terminálu, ani z projektu v Xcode (ktorý ani nemá).
To sice ano, ale lze to různě omezovat. Bude potřeba třeba licence za $1000. Nebo aplikace poběží v nějakém sandboxu, který nebude praktický pro denní používání. Nebo jen spuštění aplikace bude vypadat tak, že to běžně uživatel pristupovat chtít nebude. Možnosti, jak to hodně ořezat, aby to uživatel nechtěl běžně dělat, jsou.
Myslím, že některé z těchto věcí jde dělat tak, aby to skutečné vývojáře moc nebolelo, ale běžný uživatel je nechtěl dělat. Už jen to, že bude potřeba nainstalovat IDE, stáhnout zdrojáky a pokaždé spouštět jen z IDE. Nebo pokud ta nepodepsaná aplikace poběží v sandboxu, který například nebude mít přístup k běžným souborům. Vývojáře to ovlivnit nijak zásadně nemusí, uživatele ano.
Oprávnění pro přístup k souborům potřebují aplikace na MacOS už dnes, a opět to musí být něco, co je možné i pro vývoj povolit. Povolení spouštět jen z IDE není problém, protože rázem vznikne „IDE“, které bude sloužit jen pro spouštění nepodepsaných aplikací.
To, že neznalý uživatel nemůže spustit kde co jen tak stažené z internetu, je v pořádku. Ale to omezení bude vždy takové, že znalejší uživatel poměrně jednoduše obejde.
> Oprávnění pro přístup k souborům potřebují aplikace na MacOS už dnes, a opět to musí být něco, co je možné i pro vývoj povolit.
Může to být separátní prostor pro soubory. Pro vývoj to může být dostatečné. Pokud si ale budete chtít takovou aplikací otevírat stažené soubory, bude to opruz.
> Povolení spouštět jen z IDE není problém, protože rázem vznikne „IDE“, které bude sloužit jen pro spouštění nepodepsaných aplikací.
Pokud IDE bude muset být schválené Applem, tak to asi neprojde…
Pro IOS to funguje tak, že vývojář zaregistruje zařízení jako testovací, takže na něm může spouštět vlastní aplikace (podepisování probíhá v rámci kompilace, platnost certifiátu je rok a je lokální ... podepsaný applem). Takže pro vývoj je to absolutně bez problémů (tedy dokud vývojář platí 99$ ročně, což málokoho zruinuje).
Jenže ...
Vážně si myslíte, že apple dřív nebo později nevyužije další možnost monetizace i na OSX aby to zároveň mohl propagovat jako zvýšení bezpečnosti?
Jj, to máte pravdu s tím vývojem aplikací na iOS. Lokální deploy na certifikát s roční platností. Takhle máme své aplikace i na pár iPadech pro interní použití, kde to dostačuje a zatím se nám to nechtělo cpát do zařízení přes MDM.
Jenže ...
Nevím, asi záleží jestli tu sklenici vidíte spíš poprázdnou nebo poloplnou :)
Jasně, že by to mohli udělat a záleží kam budou chtít, aby se to ubíralo. Můžou to MacOS platformu obecně nechat v současném stavu (notarizace s možností selektivního vypnutí je tam opravdu roky), ale pořád je to spíš počítač s obecným operačním systémem, nebo to opravdu utáhnout a snažit se dostat pod kontrolu všech aplikace třetích stran, na což je x příkladů odjinud (mobilní platformy, ChromeBooky, XBox, Playstation, chytré televize..).
Pořád mi přijde, že je to spíš první možnost. Aby z toho měli nějaké citelně vyšší přijmy než jen z předplatného pro vývojáře, museli by zároveň ještě vynutit nejen notarizaci, ale zároveň také přinutit k vydávání přes jejich App Store. S tím už teď narazili nedávno v EU (DMA) u iOSu. Od 18, resp. 17.5 je možnost instalovat z jiného zdroje, ale aplikace musí být pořád notarizovaná.
Takže já mám pořád pocit, že notarizace ve stávající podobě je opravdu primárně kvůli bezpečnosti a ověření autora. Zapadá mi to v obecné rovině také víc do konceptu bezpečnosti u Apple, které mi přijde daleko víc zaměřená na ověřování spouštění vybraných, důvěryhodných aplikací, sandboxování, omezování přístupu k různým prostředkům.. v porovnání s Windows, které mají zas velmi benevolentní default, hodně řeší zpětnou kompatibilitu a další zabezpečení je běžně bráno jako záležitost různých (kolikrát úplně šílených a neskutečně zatěžujících) endpoint security řešení od třetích stran, pro které mají připraveno spousty různých hooku napříč systémem. Apple mi přijde, že tohle nějak sice toleruje, ale zdaleka tomu nevychází tak vstříc a vůbec to pro něj není priorita. Klidně odpálí s novým systémem a nějakou změnou v API i nejrozšířenější EDRka :) Což je asi primárně dáno i tím, že oproti Windows má daleko menší podíl MacOSu ve velkých korporátech.
Jak to reálně dopadne, se musíme nechat asi překvapit.. :)
Jenže vývoj pro iOS je něco jiného, než pro MacOS. Pro iOS je to jediné správné vývojové prostředí, jediný správný způsob distribuce. MacOS je přeci jen daleko otevřenější.
Vážně si myslíte, že apple dřív nebo později nevyužije další možnost monetizace i na OSX aby to zároveň mohl propagovat jako zvýšení bezpečnosti?
Jasně, místo toho, aby prodal co nejvíc drahého hardwaru všem, soustředí se na to, aby vydělal pár dolarů od pár programátorů – a naštval je tím, takže nebudou pro jeho systémy psát programy a lidi pak nebudou chtít používat ten hardware, který se jim Apple snaží prodat.
Tak hloupý Apple není.
Na iOS je app na testovacím zařízení funkční týden pro free účet a půl roku, když platíte Applu $99/rok. Jsou okolo toho dokonce vybudované "obchody" třetích stran, které tuto možnost zpřístupňují BFU. Pro zajímavost, takto jsem "hackl" svůj tehdejší WindowsPhone 7 pro instalaci warezu (her) - zaplatil jsem podobnou částku Microsoftu pro dev account ;-)