macOS Gatekeeper / Quarantine / XProtect
Gatekeeper
Gatekeeper ni kipengele cha usalama kilichotengenezwa kwa mifumo ya uendeshaji ya Mac, iliyoundwa kuhakikisha kuwa watumiaji wanaruhusiwa kuendesha programu za kuaminika kwenye mifumo yao. Inafanya kazi kwa kuthibitisha programu ambayo mtumiaji anapakua na kujaribu kuifungua kutoka vyanzo nje ya Duka la App, kama programu, programu-jalizi, au pakiti ya usakinishaji.
Mfumo muhimu wa Gatekeeper uko katika mchakato wake wa uthibitisho. Inachunguza ikiwa programu iliyopakuliwa ime sainiwa na mwandishi anayejulikana, ikidhibitisha uhalali wa programu. Zaidi ya hayo, inahakikisha ikiwa programu ime thibitishwa na Apple, ikithibitisha kuwa haina maudhui mabaya yaliyofahamika na haijabadilishwa baada ya kuthibitishwa.
Kwa kuongezea, Gatekeeper inaimarisha udhibiti na usalama wa mtumiaji kwa kuwahimiza watumiaji kuidhinisha ufunguzi wa programu iliyopakuliwa kwa mara ya kwanza. Kinga hii husaidia kuzuia watumiaji kwa bahati mbaya kuendesha nambari inayoweza kuwa na madhara ambayo wangeweza kufikiria ni faili ya data isiyo na madhara.
Saini za Programu
Saini za programu, pia hujulikana kama saini za nambari, ni sehemu muhimu ya miundombinu ya usalama ya Apple. Hutumiwa kwa kuthibitisha utambulisho wa mwandishi wa programu (mwandishi) na kuhakikisha kuwa nambari haijabadilishwa tangu iliposainiwa mara ya mwisho.
Hivi ndivyo inavyofanya kazi:
Kusaini Programu: Wakati mwandishi anapokuwa tayari kusambaza programu yake, wan saini programu hiyo kwa kutumia ufunguo wa kibinafsi. Ufunguo huu wa kibinafsi unahusishwa na cheti ambacho Apple inatoa kwa mwandishi wanapojiandikisha katika Programu ya Watengenezaji wa Apple. Mchakato wa kusaini unajumuisha kujenga hash ya kriptografia ya sehemu zote za programu na kuficha hash hii na ufunguo wa kibinafsi wa mwandishi.
Kusambaza Programu: Programu iliyosainiwa kisha inasambazwa kwa watumiaji pamoja na cheti cha mwandishi, ambacho kina ufunguo wa umma unaofanana.
Kuthibitisha Programu: Wakati mtumiaji anapopakua na kujaribu kuendesha programu, mfumo wa uendeshaji wa Mac hutumia ufunguo wa umma kutoka kwa cheti cha mwandishi kufichua hash. Kisha unahesabu upya hash kulingana na hali ya sasa ya programu na kulinganisha hii na hash iliyofichuliwa. Ikiwa zinafanana, inamaanisha programu haijabadilishwa tangu mwandishi aliposaini, na mfumo unaruhusu programu kuendeshwa.
Saini za programu ni sehemu muhimu ya teknolojia ya Gatekeeper ya Apple. Wakati mtumiaji anapojaribu kufungua programu iliyopakuliwa kutoka kwenye mtandao, Gatekeeper huthibitisha saini ya programu. Ikiwa imesainiwa na cheti kilichotolewa na Apple kwa mwandishi anayejulikana na nambari haijabadilishwa, Gatekeeper inaruhusu programu kuendeshwa. Vinginevyo, inazuia programu na kuwajulisha mtumiaji.
Kuanzia macOS Catalina, Gatekeeper pia huchunguza ikiwa programu ime notarized na Apple, ikiongeza safu ya ziada ya usalama. Mchakato wa notarization huchunguza programu kwa masuala ya usalama yanayojulikana na nambari mbaya, na ikiwa uchunguzi huu unapita, Apple huongeza tiketi kwa programu ambayo Gatekeeper inaweza kuthibitisha.
Angalia Saini
Wakati unachunguza sampuli ya zisizo za programu hasidi unapaswa daima kuangalia saini ya binary kwani mwandishi aliyosaini inaweza tayari kuwa husiana na programu hasidi.
Kuidhinisha
Mchakato wa kuidhinisha wa Apple ni kinga ya ziada ya kulinda watumiaji kutokana na programu inayoweza kuwa na madhara. Inahusisha mwendelezaji kuwasilisha maombi yao kwa uchunguzi na Huduma ya Kuidhinisha ya Apple, ambayo isichanganywe na Ukaguzi wa Programu. Huduma hii ni mfumo wa kiotomatiki unaopitia programu iliyoletwa kwa uwepo wa maudhui yenye nia mbaya na masuala yoyote yanayowezekana na uwekaji wa nambari.
Ikiwa programu inapita uchunguzi huu bila kuleta wasiwasi wowote, Huduma ya Kuidhinisha inazalisha tiketi ya kuidhinisha. Mwendelezaji kisha anatakiwa kuambatanisha tiketi hii kwenye programu yao, mchakato unaojulikana kama 'kushona.' Zaidi ya hayo, tiketi ya kuidhinisha pia huwekwa mtandaoni ambapo Gatekeeper, teknolojia ya usalama ya Apple, inaweza kuipata.
Wakati mtumiaji anapoinstall au kuzindua programu kwa mara ya kwanza, uwepo wa tiketi ya kuidhinisha - iwe iliyoshonwa kwenye kutekelezeka au kupatikana mtandaoni - inamjulisha Gatekeeper kwamba programu imekuidhinishwa na Apple. Kama matokeo, Gatekeeper inaonyesha ujumbe maelezo katika dirisha la kuzindua awali, ikionyesha kuwa programu imepitia ukaguzi wa maudhui yenye nia mbaya na Apple. Mchakato huu hivyo huimarisha imani ya mtumiaji katika usalama wa programu wanazoinstall au kuzindua kwenye mifumo yao.
Kuhesabu GateKeeper
GateKeeper ni, vipengele vingi vya usalama vinavyozuia programu zisizoaminika kutekelezwa na pia moja ya vipengele.
Inawezekana kuona hali ya GateKeeper kwa:
Tafadhali kumbuka kwamba ukaguzi wa saini ya GateKeeper hufanywa tu kwa faili zenye sifa ya Karantini, si kwa kila faili.
GateKeeper itaangalia ikiwa kulingana na mapendeleo na saini binary inaweza kutekelezwa:
Database inayoshikilia usanidi huu iko katika /var/db/SystemPolicy
. Unaweza kuangalia database hii kama root kwa:
Tambua jinsi kifungu cha kwanza kilivyomalizika katika "Duka la App" na cha pili katika "Kitambulisho cha Msanidi Programu" na kwamba katika picha iliyopita ilikuwa imezimishwa kutekeleza programu kutoka kwa Duka la App na wabunifu waliojulikana. Ikiwa ubadilishe mipangilio hiyo kuwa Duka la App, sheria za "Kitambulisho cha Msanidi Programu kilichothibitishwa" zitaondoka.
Pia kuna maelfu ya sheria za aina ya GKE:
Hizi ni hashes zinazotoka /var/db/SystemPolicyConfiguration/gke.bundle/Contents/Resources/gke.auth
, /var/db/gke.bundle/Contents/Resources/gk.db
na /var/db/gkopaque.bundle/Contents/Resources/gkopaque.db
Au unaweza kuorodhesha habari iliyopita na:
Chaguo --master-disable
na --global-disable
ya spctl
italemaza kabisa ukaguzi wa saini hizi:
Wakati inapowezeshwa kabisa, chaguo jipya litatokea:
Inawezekana kuangalia kama Programu itaruhusiwa na GateKeeper na:
Niwezekana kuongeza sheria mpya kwenye GateKeeper kuruhusu utekelezaji wa programu fulani na:
Kuarantini Faili
Baada ya kupakua programu au faili, programu maalum za macOS kama vivinjari vya wavuti au wateja wa barua pepe huziambatanisha sifa ya faili iliyozidishwa, inayojulikana kama "bendera ya kuarantini," kwa faili iliyopakuliwa. Sifa hii hufanya kama hatua ya usalama kwa kumtambua faili kama ikitoka kwenye chanzo ambacho hakitambuliki (intaneti), na inaweza kuwa na hatari. Hata hivyo, si programu zote huziambatanisha sifa hii, kwa mfano, programu za wateja wa BitTorrent mara nyingi hupuuza mchakato huu.
Uwepo wa bendera ya kuarantini huijulisha sifa ya usalama ya Gatekeeper ya macOS wakati mtumiaji anajaribu kutekeleza faili.
Katika kesi ambapo bendera ya kuarantini haipo (kama ilivyo kwa faili zilizopakuliwa kupitia baadhi ya wateja wa BitTorrent), uchunguzi wa Gatekeeper hauwezi kufanywa. Hivyo basi, watumiaji wanapaswa kuwa makini wanapofungua faili zilizopakuliwa kutoka vyanzo visivyo salama au visivyofahamika.
Kuchunguza ukamilifu wa sahihi za nambari ni mchakato wenye kutumia rasilimali nyingi ambao unajumuisha kuzalisha hashi za kriptografia za nambari na rasilimali zake zote zilizopangwa. Zaidi ya hayo, kuchunguza ukamilifu wa cheti kunahusisha kufanya uchunguzi mtandaoni kwa seva za Apple kuona ikiwa imetenguliwa baada ya kutolewa. Kwa sababu hizi, uchunguzi kamili wa sahihi ya nambari na uthibitishaji hauwezi kutekelezwa kila wakati programu inapoanzishwa.
Hivyo basi, uchunguzi huu hufanywa tu wakati wa kutekeleza programu zilizo na sifa ya kuarantini.
Sifa hii lazima ithibitishwe na programu inayounda/inayopakua faili.
Hata hivyo, faili zilizowekwa kwenye sanduku la mchanga zitakuwa na sifa hii kwa kila faili wanazounda. Na programu zisizowekwa kwenye sanduku la mchanga zinaweza kuweka wenyewe, au kufafanua LSFileQuarantineEnabled funguo katika Info.plist ambayo itafanya mfumo uweke sifa ya kuarantini ya com.apple.quarantine
kwenye faili zilizoundwa,
Zaidi ya hayo, faili zote zilizoanzishwa na mchakato unaopiga simu qtn_proc_apply_to_self
ziko kwenye kuarantini. Au API qtn_file_apply_to_path
huongeza sifa ya kuarantini kwenye njia ya faili iliyopewa.
Inawezekana kuichunguza hali yake na kuwezesha/kulemaza (inahitaji ruhusa ya msingi) kwa:
Unaweza pia kupata kama faili ina sifa ya ziada ya karantini na:
Angalia thamani ya sifa za ziada na tafuta programu iliyoandika sifa ya karantini kwa:
Kwa kweli mchakato "unaweza kuweka bendera za karantini kwenye faili inazounda" (nilijaribu kutumia bendera ya USER_APPROVED kwenye faili niliyounda lakini haikuiweka):
Last updated