เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฎเซ‡เชฎเชฐเซ€เชจเซ‡ เชตเชงเซ เชธเซเชฐเช•เซเชทเชฟเชค เชฐเชพเช–เชตเชพ เชฎเชพเชŸเซ‡ เช“เชชเชจเชฌเซ€เชเชธเชกเซ€เชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡

Theo de Raadt เช OpenBSD เช•เซ‹เชกเชฌเซ‡เชเชฎเชพเช‚ เชชเซ‡เชšเซ‹เชจเซ€ เชถเซเชฐเซ‡เชฃเซ€ เช‰เชฎเซ‡เชฐเซ€ เช›เซ‡ เชœเซ‡เชฅเซ€ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชœเช—เซเชฏเชพเชฎเชพเช‚ เชชเซเชฐเซ‹เชธเซ‡เชธ เชฎเซ‡เชฎเชฐเซ€เชจเซ‡ เชตเชงเซ เชธเซเชฐเช•เซเชทเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ. เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เชจเซ‡ เชจเชตเซ€ เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒ เช…เชจเซ‡ เชคเซ‡ เชœ เชจเชพเชฎเชจเซเช‚ เชธเช‚เชฒเช—เซเชจ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชซเช‚เช•เซเชถเชจ เช“เชซเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชฌเชฆเชฒเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซเช‚, เชœเซ‡ เชคเชฎเชจเซ‡ เชฎเซ‡เชฎเชฐเซ€ (เชฎเซ‡เชฎเชฐเซ€ เชฎเซ‡เชชเชฟเช‚เช—เซเชธ) เชฎเชพเช‚ เชชเซเชฐเชคเชฟเชฌเชฟเช‚เชฌเชฟเชค เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชเช•เซเชธเซ‡เชธ เช…เชงเชฟเช•เชพเชฐเซ‹เชจเซ‡ เช เซ€เช• เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เช•เชฎเชฟเชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชฎเซ‡เชฎเชฐเซ€ เชเชฐเชฟเชฏเชพ เชฎเชพเชŸเซ‡ เชธเซ‡เชŸ เช•เชฐเซ‡เชฒเชพ เช…เชงเชฟเช•เชพเชฐเซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฒเซ‡เช–เชจ เช…เชจเซ‡ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชชเชฐ เชชเซเชฐเชคเชฟเชฌเช‚เชง, เชชเช›เซ€เชฅเซ€ mmap(), mprotect() เช…เชจเซ‡ munmap() เชซเช‚เช•เซเชถเชจเชจเซ‡ เช…เชจเซเช—เชพเชฎเซ€ เช•เซ‰เชฒ เชฆเซเชตเชพเชฐเชพ เชฌเชฆเชฒเซ€ เชถเช•เชพเชคเซ‹ เชจเชฅเซ€, เชœเซ‡ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ EPERM เชญเซ‚เชฒ เชชเซ‡เชฆเชพ เช•เชฐเชถเซ‡. เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ‹.

เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชซเชพเช‡เชฒเซ‹ เชฎเชพเชŸเซ‡ เชชเซเชฐเชคเชฟเชฌเชฟเช‚เชฌเชฟเชค เชฎเซ‡เชฎเชฐเซ€เชจเชพ เช…เชงเชฟเช•เชพเชฐเซ‹เชจเซ‡ เชฌเชฆเชฒเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชเช• เชจเชตเซ‹ เชฎเซเชฏเซเชŸเซ‡เชฌเชฒ BSS เชตเชฟเชญเชพเช— (.openbsd.mutable, เชฎเซเชฏเซเชŸเซ‡เชฌเชฒ เชฌเซเชฒเซ‹เช• เชธเซเชŸเชพเชฐเซเชŸเชฟเช‚เช— เชธเชฟเชฎเซเชฌเซ‹เชฒ) เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡, เช…เชจเซ‡ เชจเชตเชพ เชซเซเชฒเซ‡เช— PF_MUTABLE เช…เชจเซ‡ UVM_ET_IMMUTABLE เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡. "openbsd.mutable" เชตเชฟเชญเชพเช—เซ‹เชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ BSS เชฎเชพเช‚ เชเช• เช…เชฒเช— เชตเชฟเชธเซเชคเชพเชฐเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡, เชฎเซ‡เชฎเชฐเซ€ เชชเซƒเชทเซเช เชจเซ€ เชธเซ€เชฎเชพ เชธเชพเชฅเซ‡ เชธเช‚เชฐเซ‡เช–เชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฒเชฟเช‚เช•เชฐเชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚. เชฌเชฆเชฒเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เช•เชพเชฐเซเชฏเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€เชจเซ‡, "openbsd.mutable" เชคเชฐเซ€เช•เซ‡ เชšเชฟเชนเซเชจเชฟเชค เชฅเชฏเซ‡เชฒ เชตเชฟเชญเชพเช—เซ‹เชจเชพ เช…เชชเชตเชพเชฆ เชธเชฟเชตเชพเชฏ, เชคเชฎเชพเชฎ เชชเซเชฐเชคเชฟเชฌเชฟเช‚เชฌเชฟเชค เชตเชฟเชธเซเชคเชพเชฐเซ‹เชจเซ‡ เช…เชชเชฐเชฟเชตเชฐเซเชคเชจเช•เซเชทเชฎ เชคเชฐเซ€เช•เซ‡ เชšเชฟเชนเซเชจเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เช›เซ‡. เชจเชตเซ€ เชธเซเชตเชฟเชงเชพ เช“เชชเชจเชฌเซ€เชเชธเชกเซ€ 7.3 เชฐเซ€เชฒเซ€เชเชฎเชพเช‚ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เชฐเซ‹เชฒเช†เช‰เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹