OpenBSD ืื™ืžืฆื” ืฉื™ื ื•ื™ื™ื ื›ื“ื™ ืœื”ื’ืŸ ืขื•ื“ ื™ื•ืชืจ ืขืœ ื–ื™ื›ืจื•ืŸ ื”ืชื”ืœื™ืš

Theo de Raadt ื”ื•ืกื™ืฃ ืกื“ืจื” ืฉืœ ืชื™ืงื•ื ื™ื ืœื‘ืกื™ืก ื”ืงื•ื“ ืฉืœ OpenBSD ื›ื“ื™ ืœื”ื’ืŸ ืขื•ื“ ื™ื•ืชืจ ืขืœ ื–ื™ื›ืจื•ืŸ ื”ืชื”ืœื™ืš ื‘ื—ืœืœ ื”ืžืฉืชืžืฉ. ืœืžืคืชื—ื™ื ืžื•ืฆืขืช ืงืจื™ืืช ืžืขืจื›ืช ื—ื“ืฉื” ื•ืคื•ื ืงืฆื™ื™ืช ื”ืกืคืจื™ื™ื” ื”ืงืฉื•ืจื” ื‘ืื•ืชื• ืฉื, mimmutable, ื”ืžืืคืฉืจืช ืœืš ืœืชืงืŸ ื–ื›ื•ื™ื•ืช ื’ื™ืฉื” ื‘ืขืช ืฉื™ืงื•ืฃ ืœื–ื™ื›ืจื•ืŸ (ืžื™ืคื•ื™ื™ ื–ื™ื›ืจื•ืŸ). ืœืื—ืจ ื‘ื™ืฆื•ืข, ืœื ื ื™ืชืŸ ืœืฉื ื•ืช ืืช ื”ื–ื›ื•ื™ื•ืช ืฉื”ื•ื’ื“ืจื• ืขื‘ื•ืจ ืื–ื•ืจ ื–ื™ื›ืจื•ืŸ, ืœืžืฉืœ, ืื™ืกื•ืจ ื›ืชื™ื‘ื” ื•ื‘ื™ืฆื•ืข, ืœืื—ืจ ืžื›ืŸ ื‘ืืžืฆืขื•ืช ืงืจื™ืื•ืช ืขื•ืงื‘ื•ืช ืœืคื•ื ืงืฆื™ื•ืช mmap(), mprotect() ื•-munmap(), ืืฉืจ ื™ืคื™ืงื• ืฉื’ื™ืืช EPERM ื‘ืขืช ื ื™ืกื™ื•ืŸ ืœืฉื ื•ืช.

ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ื™ื›ื•ืœืช ืœืฉื ื•ืช ืืช ื–ื›ื•ื™ื•ืช ื”ื–ื™ื›ืจื•ืŸ ื”ืžืฉืชืงืฃ ืขื‘ื•ืจ ืงื‘ืฆื™ ืื•ื‘ื™ื™ืงื˜, ื”ื•ืฆืข ืกืขื™ืฃ BSS ื—ื“ืฉ (.openbsd.mutable, Mutable Block Starting Symbol), ื•ื ื•ืกืคื• ื“ื’ืœื™ื ื—ื“ืฉื™ื PF_MUTABLE ื•-UVM_ET_IMMUTABLE. ื ื•ืกืคื” ืชืžื™ื›ื” ืœืžืงืฉืจ ืœื”ื’ื“ืจืช ืงื˜ืขื™ "openbsd.mutable" ื•ื”ืฆื‘ืชื ื‘ืื–ื•ืจ ื ืคืจื“ ื‘-BSS, ืžื™ื•ืฉืจ ืœื’ื‘ื•ืœ ืขืžื•ื“ ื–ื™ื›ืจื•ืŸ. ืขืœ ื™ื“ื™ ืงืจื™ืื” ืœืคื•ื ืงืฆื™ื” ื”ื ื™ืชื ืช ืœืฉื™ื ื•ื™, ื ื™ืชืŸ ืœืกืžืŸ ืืช ื›ืœ ืื–ื•ืจื™ ื”ืฉื™ืงื•ืฃ ื›ื‘ืœืชื™ ื ื™ืชื ื™ื ืœืฉื™ื ื•ื™, ืœืžืขื˜ ืงื˜ืขื™ื ื”ืžืกื•ืžื ื™ื "openbsd.mutable". ื”ืชื›ื•ื ื” ื”ื—ื“ืฉื” ืชื•ืฉืง ืœืžืฉืชืžืฉื™ื ื‘ืžื”ื“ื•ืจืช OpenBSD 7.3.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”