Vuonna 2007 käyttöön otettu ja vuoteen 2012 mennessä vaadittu hiekkalaatikko on työkalu, jota macOS käyttää rajoittamaan kaapatun sovelluksen aiheuttamia vahinkoja. Apple sanoo, ”Vaikka App Sandbox ei estä hyökkäyksiä sovellustasi vastaan, se minimoi onnistuneen vahingon. macOS-sovelluksen hiekkalaatikko suojaa käyttäjiä rajoittamalla kuinka paljon ongelmia sovellus voi aiheuttaa.
Mikä on macOS App Sandboxing?
Jokainen sovellus saa oman pelattavan alueensa: ”hiekkalaatikon”. Jos sovellus haluaa päästä hiekkalaatikkonsa ulkopuolelle, sen on pyydettävä käyttöjärjestelmältä lupaa. Hiekkalaatikko-asetuksista riippuen käyttöjärjestelmä joko hylkää tai hyväksyy sovelluksen pyynnön ja tarjoaa samalla mahdollisimman pienet tiedot pyynnön täydentämiseksi.
Ajattele autoa. Kuljettajaa suojaavat useat turvaominaisuudet, kuten lukkiutumattomat tauot, turvatyynyt, rypistymisalueet ja paljon muuta. Vuonna 2007, kun App Sandboxing otettiin käyttöön, vastaavia tietokonejärjestelmiä ei ollut olemassa. Kuten esittely kysyi, missä olivat tietokoneiden turvavyöt? Hiekkalaatikko suojaa käyttäjiä, kuten autot suojaavat kuljettajiaan: vikojen kohtaaminen vaurioiden vähentämisjärjestelmillä. Olipa vahingollinen toiminta tai koodausvirheet aiheuttaneet vahinkoja.
Koska hiekkalaatikko rajoittaa sovellusten mahdollisuuksia, se voi rajoittaa kehittäjien vapautta. Hiekkalaatikkosovellukset toimivat hitaammin ja niiden kehittäminen kestää kauemmin. Macin valtavan suorituskyvyn ansiosta hiekkalaatikkorajoituksilla voi olla valtava vaikutus eri sovellusten yhteensopivuuteen. Tämän seurauksena tehokäyttäjät ajetaan usein valitsemaan hiekkalaatikon ulkopuolella toimivat sovellukset joko suorituskykyyn tai ominaisuuksiin liittyvissä asioissa.
Kuinka sovelluksen hiekkalaatikko toimii?
Hiekkalaatikko perustuu vähiten etuoikeuksien periaatteeseen. Lyhyesti sanottuna järjestelmät voivat tehdä mitä heidän on tehtävä, mutta ei enempää. Rajoittamalla järjestelmän jokaisen osan täyttämään vain sen ilmoitettu tavoite, vähennät sovelluksesi kaappaamisen mahdollisuutta. Esimerkiksi taskulamppasovelluksella ei ole mitään syytä päästä käsiksi yhteystietoluetteloon.
Sovellukset voivat tavoittaa hiekkalaatikkonsa ulkopuolella, mutta vain käyttöjärjestelmän luvalla. Ota MacOS: n Tallenna ja avaa -valintaikkuna. Sovellus hiekkalaatikkonsa sisällä ei voi käyttää suoraan kiintolevyn tiedostojärjestelmän resursseja. Se ei esimerkiksi voi piirtää avointa paneelia kohtaan ~ / Documents. Sen sijaan sovelluksen on kysyttävä Powerbox-sovellusliittymä kanssa NSOpenPanel
ja NSSavePanel
luokat pääsemään paneeliin.
Sovellus ei näe suoraan mitä Powerboxissa tapahtuu. Vain avattu tai tallennettu tiedosto on sovelluksen käytettävissä. Näin sovellukset voivat suorittaa kriittisiä toimintoja ilman tarpeetonta riskiä.
Tämä toiminto otetaan käyttöön oikeus (erityisesti com.apple.security.files.user-selected.read-write
). Sovelluskehittäjät asettavat käyttöoikeudet, jotka ilmoittavat sovelluksen toiminnasta. Ilmoitettujen oikeuksien perusteella käyttöjärjestelmä sallii sovelluksen riittävän rajoitetun toiminnallisuuden.
Tämän ajatusprosessin taustalla on koko sovelluksen hiekkalaatikkomalli ja -mekanismi: sovellusten on ilmoitettava aikomuksestaan ja pyydettävä käyttöjärjestelmän tason pomolta lupa tehdä mitään vaarallista.
Hiekkalaatikkosovellukset vs. muut kuin hiekkalaatikkosovellukset
1. kesäkuuta 2012 lähtien kaikkien Mac App Storen kautta jaettujen kolmansien osapuolten sovellusten on oltava hiekkalaatikoita. Vaikka hiekkalaatikko sallii laajan valikoiman sovellustoimintoja, huomaat, että Mac App Store -sovellukset ovat usein rajoitetumpia kuin niiden hiekkalaatikkokomponentit. Jotkut kehittäjät ylläpitävät jopa kahta versiota: täysin varustellun sovelluksen suoraa latausta varten ja halki version Mac App Storesta. Hiekkalaatikkokehityksen monimutkaisuuden ansiosta uuden toiminnallisuuden lisääminen sovellukseen on vaikeampi – jos käyttöjärjestelmä sallii sen jopa.
Vaikka hiekkalaatikkosovellukset voivat hyötyä Mac App Store -jakelusta, voit arvata, kuinka arvokkaana se mielestämme on. Hiekkalaatikkoa voidaan myös laajentaa suojausoikeuksilla. Vaikka sovellus ei voi ottaa käyttöön esteettömyysoikeuksia itselleen, se voi pyytää käyttäjää tekemään niin.
Jos haluat nähdä, mitkä sovelluksesi ovat hiekkalaatikoita, avaa Activity Monitor ja lisää hiiren kakkospainikkeella sarakkeiden otsikoita lisätäksesi hiekkalaatikon ikkunaan.
On joitain sovelluksia, joita ei yksinkertaisesti voi koskaan olla hiekkalaatikossa. Itse asiassa hiekkalaatikko estää useita arvokkaita käyttötapauksia. Hiekkalaatikko estää sovellusten välisen viestinnän, havainnoinnin tai muokkaamisen, mikä rajoittaa merkittävästi sovellusten vuorovaikutusta. Koko järjestelmän kattavat pikanäppäimet, kuten TextExpander, ovat täysin kiellettyjä, koska hiekkalaatikko voi sallia tämän toiminnallisuuden.
Johtopäätös
Vaikka lupaava, macOS-sovelluksen hiekkalaatikkoa ei suoritettu hyvin. Se rajoitti Mac-sovellusten ainutlaatuisia myyntipisteitä, kuten nopeutta ja parannettua toiminnallisuutta. Hiekkalaatikon ulkopuolella toimivat sovellukset ovat melkein aina tehokkaampia ja nopeampi. Tästä tehokäyttäjän näkökulmasta eniten käytetyt sovellukseni eivät ole hiekkalaatikoita. Sovellukset, kuten TextExpander, SnagIt ja TotalFinder, ovat kaikki tärkeitä päivittäisessä työssäni. Vastaavanlaisen laajamittaisen välttämisen välttämiseksi tulevat turvajärjestelmät tarvitsevat joustavuutta ja tehoa tasapainossa läpinäkyvyyden kanssa.
Kuvahyvitys: Omena