Раді Вас бачити! » Увійти » Створити новий профіль

W^X (Write XOR Execute)

W^X (Write XOR Execute)

Проект OpenBSD перешёл на обязательное применение механизма защиты памяти W^X (Write XOR Execute), суть которого в том, что страницы памяти процесса не могут быть одновременно доступны на запись и исполнение. Таким образом, код может быть исполнен только после запрещения записи, а запись в страницу памяти возможна только после запрета исполнения. Механизм W^X помогает защитить приложения в пространстве пользователя от типовых атак, осуществляемых через переполнение буфера, в том числе от переполнений стека (записанный за пределы буфер код не может быть исполнен).

Традиционно в Unix при маппинге памяти допускается модель "W|X", позволяющая одновременно осуществлять и запись, и исполнение, что является порочной практикой с позиции обеспечения безопасности. В OpenBSD отныне такая модель переведена в категорию недопустимых (при попытке использования будет выведена ошибка) и обязательно требуется использование только механизма "W^X".

Обход запрета "W^X" может быть осуществлён только через монтирование ФС (ffs/nfs) со специальным флагом "wxallowed", который рекомендуется использовать для монтирования /usr/local, так как некоторые сторонние программы пока не адаптированы для нормальной поддержки "W^X". Многие порты уже адаптированы для нормальной работы в режиме "W^X" или поддерживают его из коробки (например, Firefox), но с рядом крупных пакетов пока наблюдаются проблемы, это касается JDK, GCC, Mono и Chromium.

http://www.opennet.ru/opennews/art.shtml?num=44506
   
Re: W^X (Write XOR Execute)

фуххххх!...
нарешті!!
   
Re: W^X (Write XOR Execute)

Какая важная новость, все быстро побежали штудировать Bitwise операторы...
   
Re: W^X (Write XOR Execute)

Не прошло и 40 лет
   
Re: W^X (Write XOR Execute)

чергове зниження швидкодії ....
   
Re: W^X (Write XOR Execute)

Може Ор, а не Ексор?
   
Re: W^X (Write XOR Execute)

Вроде ксор. Все верно.
   
Re: W^X (Write XOR Execute)

Може Ор, а не Ексор?

Я же сказал сразу: быстро учить bitwise операторы )))
   
Re: W^X (Write XOR Execute)

Я же сказал сразу: быстро учить bitwise операторы )))
Was?
   
Re: W^X (Write XOR Execute)

чергове зниження швидкодії ....
Нет.
Аппаратная поддержка есть давно, и менеджер памяти от этого потратит больше на какие то доли процента больше.
А самим процессам пофигу.
   
Re: W^X (Write XOR Execute)

а как будут работать пакованные или криптованные бинари?
   
Re: W^X (Write XOR Execute)

а как будут работать пакованные или криптованные бинари?

Думаю что никак. По крайней мере не пересобранные специально с учётом защиты.
   
Re: W^X (Write XOR Execute)

W^X (Write XOR Execute)

Эта шо за антискепный матюк??? :diablo:
   
Re: W^X (Write XOR Execute)

W^X (Write XOR Execute)

Эта шо за антискепный матюк??? :diablo:
виключне АБО
обидва операнди не можуть мати значення "істина" водночас
тобто або запис, або виконання і ніяк разом
   
Re: W^X (Write XOR Execute)

W^X (Write XOR Execute)

Эта шо за антискепный матюк??? :diablo:

TRUE TRUE -> FALSE
TRUE FALSE -> TRUE
FALSE TRUE -> TRUE
FALSE FALSE -> FALSE
   
Re: W^X (Write XOR Execute)

программист фразу "выбирай: 1 или 2" поймет как то, что можно одновременно выбрать и 1 и 2.
   
Re: W^X (Write XOR Execute)

программист фразу "выбирай: 1 или 2" поймет как то, что можно одновременно выбрать и 1 и 2.

Є різниця між OR та XOR.
Те що ти написав це простий OR, а тут мова йде про XOR, вище Eugnat написав, що буде коли використовується XOR.

А якщо програміст не розуміє різниці між цими операторами то його треба гнати сцяними тряпками за профнепридатність.
   
Re: W^X (Write XOR Execute)

Є різниця між OR та XOR.
Те що ти написав це простий OR, а тут мова йде про XOR, вище Eugnat написав, що буде коли використовується XOR.

А якщо програміст не розуміє різниці між цими операторами то його треба гнати сцяними тряпками за профнепридатність.

речь не о разнице между xor/or. О другом. В человеческом языке не принято так оформлять предложения как в заголовке. Надо говорить: быть или не быть, жизнь или кошелек. Когда на обычном языке используется слово "или", то, говоря программистским языком, подразумевается не операнд, а функция с ветвлением. Она должна вернуть не булево значение, а один из выбранных объектов.

Заголовок это наглядно показал.
   
Re: W^X (Write XOR Execute)

речь не о разнице между xor/or. О другом. В человеческом языке не принято так оформлять предложения как в заголовке. Надо говорить: быть или не быть, жизнь или кошелек. Когда на обычном языке используется слово "или", то, говоря программистским языком, подразумевается не операнд, а функция с ветвлением. Она должна вернуть не булево значение, а один из выбранных объектов.

Заголовок это наглядно показал.

 8-:
Ти що читаєш? в заголовку чітко написано "W^X (Write XOR Execute)", як його можна прочитати по іншому?
   
Re: W^X (Write XOR Execute)

8-:
Ти що читаєш? в заголовку чітко написано "W^X (Write XOR Execute)", як його можна прочитати по іншому?

попробую быть вежливым. В последний раз.

Это правильно с точки зрения языка программирования, но в любом человеческом языке вместо него должен стоять "или". Никто не спорит с тобой. Просто замечено интересное расхождение в человеческом и искусственном языках. Все.
   
Re: W^X (Write XOR Execute)

попробую быть вежливым. В последний раз.

Это правильно с точки зрения языка программирования, но в любом человеческом языке вместо него должен стоять "или". Никто не спорит с тобой. Просто замечено интересное расхождение в человеческом и искусственном языках. Все.

Ти писав, що програміст не правильно зрозуміє, бо в заголовку неоднозначно написано.

В заголовку якраз написано абсолютно однозначно для програміста. Якщо програміст не може зрозуміти того, що написано, то це не програміст  точно.
   
Re: W^X (Write XOR Execute)

Опенок полезная штука в роли firewall или load balancer
   

Цю тему переглядають:

0 Користувачів і 1 гість
 
Повна версія