Waxaa la qorsheeyay in habka go'doominta ballanqaadka loo geeyo Linux

Dhawaan qoraaga maktabadda caadiga ah ee Cosmopolitan C iyo madal Redbean lagu dhawaaqay iyada oo loo marayo a lagu dhawaaqay, hirgelinta ballanqaadka () habka go'doominta ee Linux.

Fue asal ahaan waxaa sameeyay mashruuca OpenBSD y waxay kuu ogolaanaysaa inaad si doorasho ah u mamnuucdo in ay Codsiyada waxay galaan wicitaanada nidaamka aan la isticmaalin (Nooc ka mid ah liiska cad ee wicitaanada nidaamka ayaa loo sameeyay codsiga iyo wicitaanada kale waa mamnuuc). Si ka duwan hababka kontoroolka gelitaanka syscall ee laga heli karo Linux, sida seccomp, habka ballan qaadka waxaa laga nashqadeeyay in laga soo bilaabo dhulka si uu u noqdo mid saaxiibtinimo leh intii suurtagal ah.

Hindisaha fashilmay ee lagu go'doomin lahaa codsiyada jawiga saldhiga OpenBSD iyadoo la adeegsanayo habka systrace ayaa muujisay in go'doominta heerka wicitaanada nidaamka shakhsi ahaaneed ay aad u adag tahay oo waqti badan qaadanayso.

Beddel ahaan, ballanqaad ayaa la soo jeediyay, kaas oo loo oggolaaday in la abuuro xeerar gooni-gooni ah iyada oo aan tafaasiil laga bixin oo aan la adeegsan fasallada gelitaanka ee diyaarsan.

Tusaale ahaan, fasallada la bixiyo waa stdio (wax-soo-galin/wax-soo-saar), rpath (akhri feylasha oo keliya), wpath (qor faylasha), cpath (abuuro faylasha), tmppath (ku-shaqaynta faylalka ku-meel-gaarka ah), inet (shabakadaha saldhigyada), unix (unix sockets). dns (xallinta DNS), getpw (akhri gelida xogta macluumaadka isticmaalaha), ioctl (ioctl call), proc (kontoroolka habka), exec (hababka bilowga), iyo id (xakamaynta oggolaanshaha).

Xeerarka la shaqaynta nidaamka wicitaanada waxaa lagu qeexaa qaab tafatiran oo ay ku jiraan liiska fasallada wicitaanka nidaamka la oggol yahay iyo wadooyin faylal ah oo badan halka la ogol yahay. Kadib ururinta iyo socodsiinta arjiga la beddelay, kernel-ku wuxuu la wareegayaa shaqada la socodka u hoggaansanaanta qawaaniinta la cayimay.

Dhanka kale, hirgelinta ballanqaadka ee FreeBSD ayaa la horumarinayaa, taas oo lagu kala saaro awoodda lagu go'doomiyo codsiyada iyada oo aan isbeddel lagu sameynin koodka, halka OpenBSD wacitaanka ballan-qaadka looga golleeyahay isdhexgalka adag ee deegaanka saldhigga iyo ku darida qoraallada koodka. mid walba.

Ballanqaadku wuxuu la mid yahay midhaha xaaraanta ah ee aan dhammaanteen damacno marka madaxdu yiraahdo waa inaan isticmaalnaa waxyaabaha sida Linux. Maxay taasi muhiim u tahay? Waa sababta oo ah ballan-qaadku () wuxuu runtii ka dhigayaa ammaan la fahmi karo. Linux waligiis run ahaantii ma yeelan lakab ammaan ah oo dadka kaliya ay fahmi karaan.

Soo-saareyaasha dekedda ballanqaadka Linux waxay tilmaan ka qaateen FreeBSD iyo halkii ay ka samayn lahaayeen isbedel code, waxay diyaariyeen utility dheeraad ah oo ka pledge.com kaas oo kuu ogolaanaya inaad dalbato xannibaado adoon beddelin code code. Tusaale ahaan, si aad u socodsiiso utility curlka iyada oo la gelayo kaliya stdio, rpath, inet, iyo nidaamka threadstdio nidaamka wicitaanka, si fudud u socodsii "./pledge.com -p 'stdio rpath inet thread' curl http://example.com » .

Utility wuxuu ka shaqeeyaa dhammaan qaybinta Linux ilaa RHEL6 oo uma baahna marin xidid. Intaa waxaa dheer, iyada oo ku saleysan maktabadda adduunka, API ayaa la bixiyaa si loo maareeyo xaddidaadaha koodka barnaamijyada luqadda C, kaas oo u oggolaanaya, waxyaabo kale, in la abuuro meelo si xushmad leh loo xaddido gelitaanka ee la xiriirta shaqooyinka qaarkood ee codsiga.

Waxa jiray dhawr horumariye oo hore oo tan tijaabiyay. Magacyo uma sheegi doono, sababtoo ah inta badan mashaariicdan weligood lama dhammaystirin. Marka ay timaado SECOMP, casharrada khadka tooska ah ayaa kaliya sharaxaya sida loo caddeeyo wicitaanada nidaamka, sidaa darteed dadka intooda badan waxay lumiyaan xiisaha ka hor intaysan ogaanin sida loo shaandheeyo doodaha. Mashruucii hore u socday ayaa sidoo kale lahaa indho-indhayn sida ogolaanshaha setuid/setgid/ dhejiska dhejiska ah in la beddelo. Sidaa darteed, midna beddelka hadda jira waa in aan la isticmaalin. Waxaan filayaa in dadaalkani uu aad noogu soo dhawaynayo inaan ballan qaadno () sidii hore.

Hirgelintu uma baahna isbedel kernel ah: caqabadaha isticmaalka waxaa loo turjumay xeerarka SECCOMP BPF waxaana lagu farsameeyaa iyada oo la adeegsanayo nidaamka asalka ah ee Linux ugu yeerida go'doominta. Tusaale ahaan, wacitaanka ballanqaadka ("stdio rpath", 0) waxay u rogi doontaa shaandhada BPF

Ugu dambayn, haddii aad danaynayso inaad wax badan ka ogaato, waxaad la tashan kartaa faahfaahinta Xiriirka soo socda.


Noqo kuwa ugu horreeya ee faallo bixiya

Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.