Usa ka mekanismo sa pagkahimulag nga susama sa plegde ug unveil gihimo alang sa FreeBSD

Alang sa FreeBSD, gisugyot ang pagpatuman sa mekanismo sa pag-inusara sa aplikasyon, nga nagpahinumdum sa plegde ug pag-unveil sa mga tawag sa sistema nga gihimo sa proyekto sa OpenBSD. Ang pag-inusara sa plegde makab-ot pinaagi sa pagdili sa pag-access sa mga tawag sa sistema nga wala gigamit sa aplikasyon, ug sa pag-unveil pinaagi sa pinili nga pag-abli sa pag-access lamang sa indibidwal nga mga agianan sa file nga magamit sa aplikasyon. Alang sa aplikasyon, usa ka klase nga puti nga lista sa mga tawag sa sistema ug mga agianan sa file ang naporma, ug ang tanan nga uban pang mga tawag ug agianan gidili.

Ang kalainan tali sa analogue sa plegde ug unveil nga gihimo alang sa FreeBSD naggikan sa paghatag sa usa ka dugang nga layer nga nagtugot kanimo sa paglain sa mga aplikasyon nga wala magbag-o sa ilang code o adunay gamay nga pagbag-o. Hinumdomi nga sa OpenBSD, ang plegde ug unveil gitumong sa hugot nga paghiusa sa nagpahiping palibot ug gigamit pinaagi sa pagdugang ug espesyal nga mga anotasyon sa code sa matag aplikasyon. Aron pasimplehon ang organisasyon sa proteksyon, ang mga filter nagtugot kanimo sa paghatag sa detalye sa lebel sa indibidwal nga mga tawag sa sistema ug pagmaniobra sa mga klase sa mga tawag sa sistema (input/output, pagbasa sa mga file, pagsulat sa mga file, socket, ioctl, sysctl, paglansad sa proseso, ug uban pa) . Ang mga function sa pagpugong sa pag-access mahimong tawagan sa code sa aplikasyon samtang ang pipila nga mga aksyon gihimo, pananglitan, ang pag-access sa mga socket ug mga file mahimong ihikaw human maablihan ang kinahanglan nga mga file ug magtukod usa ka koneksyon sa network.

Ang tagsulat sa pantalan sa plegde ug unveil alang sa FreeBSD nagtinguha sa paghatag sa abilidad sa paglain sa arbitraryong mga aplikasyon, diin ang kurtina utility gisugyot, nga nagtugot kaninyo sa paggamit sa mga lagda nga gihubit sa usa ka bulag nga file sa mga aplikasyon. Ang gisugyot nga pag-configure naglakip sa usa ka file nga adunay sukaranan nga mga setting nga naghubit sa mga klase sa mga tawag sa sistema ug kasagaran nga mga agianan sa file nga piho sa pipila nga mga aplikasyon (nagtrabaho uban ang tunog, interaksyon sa network, pag-log, ug uban pa), ingon usab usa ka file nga adunay mga lagda sa pag-access alang sa piho nga mga aplikasyon.

Ang gamit sa kurtina mahimong magamit aron ihimulag ang kadaghanan nga wala gibag-o nga mga kagamitan, mga proseso sa server, mga aplikasyon sa grapiko, ug bisan ang tibuuk nga mga sesyon sa desktop. Ang kurtina mahimong magamit kauban ang mga mekanismo sa pag-inusara nga gihatag sa mga subsystem sa Jail ug Capsicum. Posible usab ang pag-organisar sa nested isolation, kung ang gilunsad nga mga aplikasyon makapanunod sa mga lagda nga gitakda alang sa aplikasyon sa ginikanan, nga gidugangan kini sa mga indibidwal nga pagdili. Ang ubang mga operasyon sa kernel (mga pasilidad sa pag-debug, POSIX/SysV IPC, PTYs) dugang gipanalipdan sa usa ka mekanismo sa babag nga nagpugong sa pag-access sa mga butang sa kernel nga wala gimugna sa kasamtangan o proseso sa ginikanan.

Ang usa ka proseso makahimo sa pag-configure sa kaugalingon nga pagkahimulag pinaagi sa pagtawag sa curtainctl o pinaagi sa paggamit sa libcurtain's plegde() ug unveil() functions, susama sa makita sa OpenBSD. Aron masubay ang mga kandado samtang nagdagan ang aplikasyon, gihatag ang sysctl 'security.curtain.log_level'. Ang pag-access sa X11 ug Wayland nga mga protocol gi-enable nga gilain pinaagi sa pagtino sa "-X"/"-Y" ug "-W" nga mga kapilian kung nagdagan nga kurtina, apan ang suporta alang sa mga graphical nga aplikasyon dili pa igo nga gipalig-on ug adunay daghang wala masulbad nga mga problema ( Ang mga problema kasagarang makita kung gamiton ang X11, ug ang suporta sa Wayland gipatuman nga mas maayo). Ang mga tiggamit makadugang ug dugang nga mga pagdili pinaagi sa paghimo sa mga file sa lokal nga lagda (~/.curtain.conf). Pananglitan, aron tugutan ang pagsulat gikan sa Firfox lamang sa ~/Downloads/ direktoryo, mahimo nimong idugang ang seksyon nga "[firefox]" nga adunay lagda nga "~/Downloads/ : rw +".

Ang pagpatuman naglakip sa mac_curtain kernel module alang sa mandatory access control (MAC, Mandatory Access Control), usa ka hugpong sa mga patch alang sa FreeBSD kernel uban ang pagpatuman sa gikinahanglan nga mga handler ug mga filter, ang libcurtain library alang sa paggamit sa plegde ug unveil functions sa mga aplikasyon, ang gamit sa kurtina, pananglitan nga mga file sa pag-configure, usa ka set nga pagsulay ug mga patch alang sa pipila nga mga programa sa wanang sa gumagamit (pananglitan, alang sa paggamit sa $TMPDIR aron mahiusa ang trabaho sa mga temporaryo nga file). Kung mahimo, ang tagsulat nagtinguha nga maminusan ang gidaghanon sa mga pagbag-o nga nanginahanglan mga patch sa kernel ug mga aplikasyon.

Source: opennet.ru

Idugang sa usa ka comment