Ŝanĝoj faritaj al OpenBSD por plue protekti procezmemoron

Theo de Raadt aldonis serion de pecetoj al la OpenBSD-kodbazo por plue protekti uzantspacan procezmemoron. Al programistoj estas ofertitaj nova sistemvoko kaj la rilata ŝanĝebla biblioteka funkcio de la sama nomo, kiu permesas fiksi alirrajtojn dum reflektado en memoron (memormapadoj). Post fiksado, la rajtoj fiksitaj por la memorareo, ekzemple, la malpermeso de skribado kaj ekzekuto, ne povas esti ŝanĝitaj poste per postaj alvokoj al la funkcioj mmap (), mprotect () kaj munmap (), kiuj, provante ŝanĝi, generos EPERM-eraron.

Nova Ŝanĝebla BSS-sekcio (.openbsd.mutable, Ŝanĝebla Bloko Komenca Simbolo) estis proponita por kontroli la kapablon ŝanĝi spegulajn memorpermesojn por objektodosieroj, kaj novaj flagoj PF_MUTABLE kaj UVM_ET_IMMUTABLE estis aldonitaj. Aldonita subteno al la ligilo por difini "openbsd.mutable" sekciojn kaj meti ilin en apartan areon en la BSS vicigita al memorpaĝa limo. Per la alvoko al la neŝanĝebla funkcio, estas eble marki ĉiujn spegulitajn areojn kiel neŝanĝeblaj, kun la escepto de sekcioj markitaj kiel "openbsd.mutable". La nova funkcio estos lanĉita al uzantoj en la eldono de OpenBSD 7.3.

fonto: opennet.ru

Aldoni komenton