macOS XPC Connecting Process Check
Uthibitisho wa Uunganishaji wa Mchakato wa XPC
Wakati uunganishaji unafanywa kwa huduma ya XPC, seva itathibitisha ikiwa uunganishaji huo unaruhusiwa. Hizi ni uthibitisho ambao kawaida hufanywa:
Angalia ikiwa mchakato unaounganisha umesainiwa na cheti kilichosainiwa na Apple (kinachotolewa tu na Apple).
Ikiwa hii haitathibitishwa, mshambuliaji anaweza kuunda cheti bandia ili kufanana na uthibitisho mwingine wowote.
Angalia ikiwa mchakato unaounganisha umesainiwa na cheti cha shirika (uthibitisho wa kitambulisho cha timu).
Ikiwa hii haitathibitishwa, cheti chochote cha maendeleo kutoka Apple kinaweza kutumika kwa kusaini na kuunganisha na huduma.
Angalia ikiwa mchakato unaounganisha una kitambulisho sahihi cha kifurushi.
Ikiwa hii haitathibitishwa, zana yoyote iliyosainiwa na shirika lile lile inaweza kutumika kwa kuingiliana na huduma ya XPC.
(4 au 5) Angalia ikiwa mchakato unaounganisha una nambari sahihi ya toleo la programu.
Ikiwa hii haitathibitishwa, wateja wazee na dhaifu, walio hatarini kwa kuingiza mchakato, wanaweza kutumika kuunganisha na huduma ya XPC hata na uthibitisho mwingine uliopo.
(4 au 5) Angalia ikiwa mchakato unaounganisha una runtime imara bila ruhusa hatari (kama zile zinazoruhusu kupakia maktaba za aina yoyote au kutumia mazingira ya DYLD)
Ikiwa hii haitathibitishwa, mteja anaweza kuwa hatarini kwa kuingiza nambari
Angalia ikiwa mchakato unaounganisha una ruhusa inayoruhusu kuunganisha na huduma. Hii inatumika kwa programu za Apple.
Uthibitisho lazima uwe kulingana na kitambulisho cha ukaguzi cha mteja kinachounganisha badala ya Kitambulisho cha Mchakato (PID) kwani cha kwanza kinazuia mashambulizi ya kutumia tena PID.
Watengenezaji mara chache hutumia wito wa API ya kitambulisho cha ukaguzi kwani ni binafsi, kwa hivyo Apple inaweza kubadilisha wakati wowote. Kwa kuongezea, matumizi ya API binafsi hayaruhusiwi katika programu za Duka la App la Mac.
Ikiwa njia ya
processIdentifier
inatumika, inaweza kuwa hatariniBadala ya
xpc_connection_get_audit_token
, inapaswa kutumikaxpc_dictionary_get_audit_token
, kwani ya mwisho inaweza pia kuwa hatarini katika hali fulani.
Mashambulizi ya Mawasiliano
Kwa habari zaidi kuhusu shambulio la kutumia tena PID angalia:
pagemacOS PID ReuseKwa habari zaidi kuhusu shambulio la xpc_connection_get_audit_token
angalia:
Kuzuia Mashambulizi ya Kupunguza - Trustcache
Trustcache ni njia ya ulinzi iliyoletwa kwenye mashine za Apple Silicon ambayo inahifadhi kwenye hifadhidata CDHSAH ya programu za Apple ili tu programu zisizobadilishwa zinazoruhusiwa ziweze kutekelezwa. Hii inazuia utekelezaji wa toleo za kupunguza.
Mifano ya Nambari
Seva itatekeleza uthibitisho huu katika kazi inayoitwa shouldAcceptNewConnection
.
Kitu NSXPCConnection ina mali ya binafsi auditToken
(ile inayopaswa kutumika lakini inaweza kubadilika) na mali ya umma processIdentifier
(ile ambayo haipaswi kutumika).
Mchakato wa kuunganisha unaweza kuthibitishwa kwa kitu kama hiki:
Ikiwa msanidi programu hataki kuangalia toleo la mteja, anaweza angalia kuwa mteja hana udhaifu wa kuingiza mchakato angalau:
Last updated