www.wikidata.uk-ua.nina.az
Zavantazhuvanij modul yadra loadable kernel module chi LKM ob yektnij fajl yakij mistit kod sho rozshiryuye pracyuyuche yadro abo tak skazati bazove yadro operacijnoyi sistemi LKM i vikoristovuyutsya v osnovnomu dlya dodavannya pidtrimki novogo aparatnogo zabezpechennya ta chi fajlovih sistem chi dodavannya sistemnih viklikiv Najbilsh suchasni Unix podibni sistemi ta Microsoft Windows pidtrimuyut zavantazhuvani moduli yadra hocha voni mozhut vikoristovuvati inshi nazvi dlya cogo taki yak kernel loadable module kld v FreeBSD kernel extension kext v OS X 1 ta kernel mode driver v Windows NT 2 Voni takozh znani yak Kernel Loadable Modules or KLM abo prosto yak Kernel Modules KMOD Zmist 1 Perevagi 2 Nedoliki 3 Realizaciyi v inshih operacijnih sistemah 3 1 Linux 3 1 1 Licenzijni spirni pitannya 3 1 1 1 Linuxant superechka 3 2 FreeBSD 3 3 OS X 3 4 NetWare 4 Dvijkova sumisnist 5 Bezpeka 5 1 Linuks 5 2 OS X 6 Div takozh 7 Primitki 8 PosilannyaPerevagi red Operacijna sistema bez zavantazhuvanih moduliv yadra mogla b mati uves mozhlivo ochikuvanij funkcional vzhe vbudovanij v bazove yadro Bagato cogo funkcionalu bulo b daremno zavantazheno v pam yat tomu sho ne vikoristovuvalosya b a prosto vitrachalo b pam yat ta b potrebuvalo shob koristuvachi perezbirali ta perevantazhuvali bazove yadro kozhen raz koli yim potriben novij funkcional Bilshist operacijnih sistem pidtrimuyuchi zavantazhuvani moduli yadra vklyuchayut tilki bilsh zatrebuvanij funkcional Nedoliki red Odin malenkij nedolik perevagi modulnogo yadra nad statichnim tak zvana problema fragmentaciyi Bazove yadro zavzhdi nezapakovane v realnu sumizhnu pam yat za svoyeyu nalashtovuyuchoyu proceduroyu takim chinom bazovij kod yadra ye zavzhdi nefragmentovanim Yak tilki sistema v stani koli moduli mozhut buti zavantazheni napriklad zmontuvali fajlovu sistemu sho mistitsya v moduli ce virogidno sho bud yakij novij kod yadra sprichinit fragmentaciyu yadra ta vnese malenku degradaciyu produktivnosti Realizaciyi v inshih operacijnih sistemah red Linux red Zavantazhuvani moduli yadra v Linux ce zavantazheni abo vivantazheni za dopomogoyu komandi modprobe Voni rozmisheni v lib modules ta mayut rozshirennya ko kernel object z versiyi 2 6 v poperednih versiyah vikoristovuvalosya rozshirennya o 3 Komanda lsmod en pokazuye spisok zavantazhenih moduliv yadra V avarijnih situaciyah koli sistema ne mozhe zavantazhitisya cherez napriklad zipsuti moduli specialni moduli mozhut buti vklyucheni abo viklyucheni za dopomogoyu zmini zavantazhuvanih parametriv yadra napriklad yaksho vikoristovuyetsya GRUB natiskayete e v startovomu menyu GRUB ta redaguyete strichku parametriv yadra Licenzijni spirni pitannya red Na dumku Linux rozrobnikiv LKM ce pohidnij tvir yadra Linuks rozrobniki dozvolyayut rozpovsyudzhennya proprietarnih moduliv no simvoli mayut buti markovani yak taki yaki ye tilki dostupnimi dlya GNU General Public License GPL moduliv Pid cham zavantazhennya proprietarnogo abo ne GPL sumisnogo LKM bude stavitisya praporec taint 4 v pracyuyuchomu yadri ce znachit sho bud yaka problema chi pomilka bude doslidzhena rozrobnikami z mensh imovirnistyu 5 6 LKM i operativno stali chastinoyu pracyuyuchogo yadra voni mozhut poshkoditi strukturu danih yadra ta prinesti defekti v roboti programi sho mozhut ne buti doslidzhenimi yaksho modul spravdi proprietarnij Linuxant superechka red V 2004 Linuxant konsultuyucha kompaniya sho realizovuvala proprietarni drajvera pristroyiv yak zavantazhuvani moduli yadra sprobuvala zlovzhiti nulovim simvolom en v MODULE LICENSE yak vidno v nastupnomu urivku kodu MODULE LICENSE GPL 0 for files in the GPL directory for others only LICENSE file applies Kod porivnyannya strichok yakij vikoristovuyetsya yadrom dlya viyavlennya licenzij vidminnih vid GPL v moment viznachennya licenziyi dosyag NULL simvolu 0 sho v svoyu chergu prizvelo do zupinki procesu perevirki licenziyi viznachivshi yiyi yak licenziyu GPL 7 FreeBSD red Moduli yadra dlya FreeBSD yaki rozpovsyudzhuyutsya z OS zberigayutsya v boot kernel a v boot modules zazvichaj vstanovleni z FreeBSD ports en or FreeBSD packages abo ye proprietarnimi V inshomu vipadku tilki dvijkovi moduli Moduli yadra FreeBSD mayut rozshirennya ko Yak tilki mashina gotova voni mozhut buti zavantazheni za dopomogoyu komandi kldload vivantazheni kldunload ta perechisleni kldstat Moduli mozhut takozh buti zavantazheni z zavantayeuvacha pered startom yadra abo avtomatichno cherez boot loader conf abo vruchnu OS X red Deyaki zavantazhuvani moduli yadra v OS X mozhut buti zavantazhenimi avtomatichno Zavantazhuvani moduli yadra mozhut takozh buti zavantazhenimi z dopomogoyu komandi kextload perechisleni kextstat Voni rozmisheni v bundle en iv z rozshirennyam kext Moduli yaki postachayutsya z operacijnoyu sistemoyu zberigayutsya v direktoriyi System Library Extensions moduli yaki postachayutsya tretoyu storonoyu v riznih inshih NetWare red Modul yadra NetWare nazivayut NetWare Loadable Module en NLM NLM vstavlyayutsya v NetWare yadro komandoyu LOAD ta vidalyayutsya komandoyu UNLOAD komanda modules pokazuye vsi zavantazheni na danij moment moduli NLM mozhut rozmishuvatisya v bud yakomu poshukovomu misci sho priv yazani do NetWare servera takozh voni mayut NLM rozshirennya fajla Dvijkova sumisnist red Linuks ne zabezpechuye stabilnij API chi ABI dlya moduliv yadra Ce oznachaye sho ye riznicya u vnutrishnij strukturi ta funkciyi mizh riznimi versiyami yadra yaki mozhut sprichinyati problemi sumisnosti Sproboyu poboroti ci problemi stalo rozmishennya mitki danih pro versiyu v modinfo sekciyu ELF moduliv Cya informaciya pro versiyu mozhe buti porivnyana z tiyeyu yaku maye pracyuyuche yadro pered zavantazhennyam modulya Yaksho versiyi nesumisni modul ne bude zavantazhenij Inshi operacijni sistemi taki yak Solaris FreeBSD OS X ta Windows pidtrimuyut API ta ABI yadra vidnosno stabilnimi sho dozvolyaye uniknuti takih problem Dlya prikladu moduli yadra FreeBSD yaki skompilovani dlya versiyi yadra 6 0 budut pracyuvati bez kompilyaciyi na bud yakij inshij versiyi FreeBSD 6 x napriklad 6 4 Odnak voni nesumisni z inshimi mazhornimi versiyami ta povinni buti perezibrani dlya vikoristannya z FreeBSD 7 x tak yak API i ABI sumisnist pidtrimuyetsya tilki v mezhah gilki Bezpeka red Tak yak zavantazhuvani moduli yadra zruchnij sposib zmini pracyuyuchogo yadra ce mozhe vikoristovuvatis napadnikami dlya svoyih cilej na skopromentovanij sistemi Napriklad shob uniknuti viyavlennya yihnih procesiv ta fajliv sho dozvolyaye takim chinom pidtrimuvati kontrol nad sistemoyu Bagato rutkitiv vikoristovuyut LKM dlya cogo Zapam yatajte sho na bilshosti operacijnih sistem moduli ne dopomagayut pidvishiti privileyi oskilki pidvisheni privileyi potribni dlya samogo zavantazhennya modulya yadra voni prosto polegshuyut proces prihovuvannya slidiv napadnika 8 Linuks red Linuks dozvolyaye zaboronyati zavantazhennya moduliv cherez sysctl parametr proc sys kernel modules disabled 9 10 Sistema Initrd initramfs mozhe zavantazhuvati specifichni moduli yaki potribni dlya mashini pid chas zavantazhennya i potim zaboronyati zavantazhennya moduliv Ce robit sistemu bezpeki bezpeku duzhe shozhoyu do takoyi yaka vlastiva monolitnim yadram Yaksho atakuyuchij mozhe zminiti initramfs to vin zmozhe zminiti i dvijkovij kod yadra OS X red Na OS X zavantazhuvanij modul yadra v yadrovomu rozshirenomu bundle mozhe buti zavantazhenim neprivilejovanim koristuvachem yaksho vlastivist OSBundleAllowUserLoad vstanovleno v True v v spisku vlastivostej bundle 11 Odnak yaksho bud yakij z fajliv v bundle vklyuchayuchi vikonuvach kod ne prinalezhnij root ta grupi wheel chi ne zapisanij grupoyu inshi sproba zavantazhiti modul yadra provalitsya 12 Div takozh red NetWare Loadable ModulePrimitki red Kernel Extension Programming Topics Introduction Arhivovano 2 chervnya 2012 u Wayback Machine What Determines When a Driver Is Loaded Arhivovano 6 bereznya 2013 u Wayback Machine The Linux Kernel Module Programming Guide section 2 2 Compiling Kernel Modules Arhivovano 2012 08 18 u Wayback Machine Linus Torvalds et al 2011 06 21 Jonathan Corbet 2006 03 24 Novell support documentation Tainted kernel Arhivovano 2012 10 19 u Wayback Machine 2007 07 26 Jonathan Corbet April 27 2004 Exploiting Loadable Kernel Modules Arhiv originalu za 4 lyutogo 2012 Procitovano 27 zhovtnya 2015 Sysctl kernel txt nedostupne posilannya z kvitnya 2019 Kees Cook 2012 11 28 Info plist Properties for Kernel Extensions Arhivovano 4 travnya 2013 u Wayback Machine a href developer apple com documentation Darwin Reference ManPages man8 kextload 8 html kextload 8 a Darwin and Mac OS X System Manager s ManualPosilannya red Anatomy of Linux loadable kernel modules IBM DeveloperWorks July 16 2008 archived from the original on July 26 2008 Online kext database for OSX Hackintosh Arhivovano 19 grudnya 2015 u Wayback Machine Ori Pomerantz Linux Kernel Module Programming Guide Arhivovano 26 lyutogo 2018 u Wayback Machine Copyright Considerations With LKMs 2008 archived from the original on June 20 2008 Kernel Extension Programming Topics document for OS X Arhivovano 9 kvitnya 2010 u Wayback Machine Otrimano z https uk wikipedia org w index php title Zavantazhuvanij modul yadra amp oldid 40505901