Hur macOS App Sandboxing skyddar användare 1

Hur macOS App Sandboxing skyddar användare

Sandboxing, som introducerades 2007 och krävs 2012, är ett verktyg som används av macOS för att begränsa skadan som en kapad app kan göra. säger Apple, ”Även om App Sandbox inte förhindrar attacker mot din app, minimerar den skadan som en framgångsrik sådan kan orsaka. macOS app sandboxing skyddar användare genom att begränsa hur mycket problem ett program kan orsaka.

Vad är macOS App Sandboxing?

Varje app får sitt eget område att spela i: en ”sandlåda”. Om applikationen vill nå utanför sin sandlåda måste den be operativsystemet om tillåtelse. Beroende på sandlådeinställningarna kommer operativsystemet antingen att neka eller godkänna applikationens begäran samtidigt som den tillhandahåller minsta möjliga information för att slutföra begäran.

Tänk på en bil. Föraren är skyddad av flera säkerhetsfunktioner som låsningsfria raster, krockkuddar, skrynkliga zoner och mer. 2007, tiden för App Sandboxings introduktion, fanns inga liknande datorsystem. Som den inledande presentation frågade var var säkerhetsbältena för datorer? Sandboxning skyddar användare som bilar skyddar deras förare: möter misslyckanden med system för att minska skador. Oavsett om det orsakas av skadlig aktivitet eller kodningsfel, minskar skadorna.

Eftersom sandboxing begränsar vad appar kan göra, kan det begränsa utvecklarens frihet. Sandlådeappar körs långsammare och tar längre tid att utveckla. Tack vare Mac:s enorma kapacitet kan sandlådegränser ha en enorm inverkan på kompatibiliteten för olika appar. Som ett resultat av detta drivs avancerade användare ofta att välja appar som körs utanför sandlådan, antingen för prestanda- eller funktionsproblem.

Hur fungerar appsandboxing?

Sandboxning bygger på principen om minsta privilegium. Kort sagt, system kan göra vad de behöver men inte mer. Genom att begränsa varje del av ett system till att endast slutföra det deklarerade målet, minskar du risken för att din app kapas. Till exempel, det finns ingen anledning för en ficklampsapp att ha tillgång till din kontaktlista.

Appar kan nå utanför sin sandlåda men endast med operativsystemtillstånd. Ta dialogrutan ”Spara och öppna” i macOS. Appen, inuti sin sandlåda, kan inte direkt komma åt filsystemresurserna på din hårddisk. Den kan till exempel inte rita en öppen panel vid ”~/Documents.” Istället måste appen fråga Powerbox API med NSOpenPanel och NSSavePanel klasser för att komma åt panelen.

macos-app-sandboxing-powerbox-design

Applikationen kan inte se vad som händer i Powerbox direkt. Endast den öppnade eller sparade filen kommer att vara tillgänglig för appen. På så sätt kan apparna utföra viktiga funktioner utan onödiga risker.

Den funktionen aktiveras av en rättighet (specifikt com.apple.security.files.user-selected.read-write). Apputvecklare ställer in rättigheter som deklarerar vad en app gör. Baserat på de deklarerade rättigheterna tillåter operativsystemet applikationen en lämpligt begränsad funktionalitetsnivå.

Denna tankeprocess ligger till grund för hela app-sandlådemodellen och mekanismen: appar måste deklarera avsikt och be om tillstånd från en chef på OS-nivå för att utföra något farligt.

Sandlådeappar vs. icke-sandlådeappar

Sedan 1 juni 2012 måste alla tredjepartsprogram som distribueras via Mac App Store vara sandlådor. Även om sandlådor tillåter ett stort utbud av appfunktioner, kommer du att upptäcka att Mac App Store-appar ofta är mer begränsade än deras icke-sandlådekomponenter. Vissa utvecklare har till och med två versioner: en fullutrustad app för direkt nedladdning och en gimpad version för Mac App Store. Tack vare den större komplexiteten i sandlådeutveckling är det svårare att lägga till ny funktionalitet till en applikation – om den funktionen ens tillåts av operativsystemet, det vill säga.

Även om appar i sandlåde kan dra nytta av Mac App Store-distribution kan du gissa hur värdefullt vi tycker att det är. Sandboxning kan också utökas med säkerhetsbehörigheter. Även om en app inte kan aktivera tillgänglighetsbehörigheter för sig själv, kan den be användaren att göra det.

macos-säkerhet-sekretess-behörigheter-hjälte

För att se vilka av dina appar som har sandlådor, öppna Activity Monitor och högerklicka på kolumntitlarna för att lägga till ”Sandbox” i fönstret.

macos-app-sandboxing-activity-monitor-view

Det finns vissa appar som helt enkelt aldrig kan finnas i en sandlåda. Faktum är att en mängd värdefulla användningsfall förhindras av sandlådor. Sandboxing förhindrar kommunikation, observation eller modifiering mellan applikationer, vilket avsevärt begränsar hur applikationer kan interagera. Systemomfattande genvägar som TextExpander är helt förbjudna, eftersom den funktionsnivån kan tillåtas av sandlådan.

Slutsats

Även om macOS-appsandboxing var lovande, utfördes inte bra. Det begränsade de unika försäljningsargumenten för Mac-appar, som hastighet och förbättrad funktionalitet. Appar som körs utanför sandlådan är nästan alltid mer kapabla och snabbare. Ur denna avancerade användares perspektiv är mina mest använda appar icke-sandlådor. Appar som TextExpander, SnagIt och TotalFinder är alla avgörande för mitt dagliga arbete. För att undvika liknande utbredda undvikande behöver framtida säkerhetssystem flexibilitet och kraft balanserad med transparens.

Bildkredit: Äpple

Stöd vårt arbete ❤️

Om du gillade den här artikeln, överväg att lämna dricks för att hjälpa oss fortsätta publicera bra innehåll.

Säker betalning med PayPal
Se även:  Musk hintar om SpaceX-Tesla-fusion efter xAI-integrering
Moyens I/O Staff har motiverat dig och gett dig råd om teknik, personlig utveckling, livsstil och strategier som hjälper dig.