macOS Kernel Extensions
Basic Information
Kernel extensions (Kexts) ni paket zenye .kext
upanuzi ambazo zinapakiwa moja kwa moja kwenye nafasi ya kernel ya macOS, zikitoa kazi za ziada kwa mfumo mkuu wa uendeshaji.
Requirements
Kwa wazi, hii ni nguvu sana kwamba ni ngumu kupakia upanuzi wa kernel. Hizi ndizo mahitaji ambayo upanuzi wa kernel lazima ukidhi ili upakie:
Wakati wa kuingia kwenye hali ya urejeleaji, upanuzi wa kernel lazima ruhusiwe kupakiwa:
Upanuzi wa kernel lazima uwe umetiwa saini na cheti cha saini ya msimbo wa kernel, ambacho kinaweza tu kupewa na Apple. Nani atakayeangalia kwa undani kampuni na sababu zinazohitajika.
Upanuzi wa kernel lazima pia uwe umethibitishwa, Apple itakuwa na uwezo wa kuangalia kwa malware.
Kisha, mtumiaji wa root ndiye anayeweza kupakia upanuzi wa kernel na faili ndani ya pakiti lazima zihusiane na root.
Wakati wa mchakato wa kupakia, pakiti lazima iwe tayari katika mahali salama yasiyo ya root:
/Library/StagedExtensions
(inahitaji ruhusa yacom.apple.rootless.storage.KernelExtensionManagement
).Hatimaye, wakati wa kujaribu kuipakia, mtumiaji atapokea ombile la uthibitisho na, ikiwa itakubaliwa, kompyuta lazima irejeshwe ili kuipakia.
Loading process
Katika Catalina ilikuwa hivi: Ni muhimu kutaja kwamba mchakato wa uthibitishaji unafanyika katika userland. Hata hivyo, ni programu pekee zenye ruhusa ya com.apple.private.security.kext-management
zinaweza kuomba kernel kupakia upanuzi: kextcache
, kextload
, kextutil
, kextd
, syspolicyd
kextutil
cli inaanza mchakato wa uthibitishaji wa kupakia upanuzi
Itazungumza na
kextd
kwa kutuma kwa kutumia Huduma ya Mach.
kextd
itakagua mambo kadhaa, kama vile saini
Itazungumza na
syspolicyd
ili kuangalia ikiwa upanuzi unaweza kupakiwa.
syspolicyd
itamwomba mtumiaji ikiwa upanuzi haujapakiwa hapo awali.
syspolicyd
itaripoti matokeo kwakextd
kextd
hatimaye itakuwa na uwezo wa kueleza kernel kupakia upanuzi
Ikiwa kextd
haipatikani, kextutil
inaweza kufanya ukaguzi sawa.
Referencias
Last updated