OpenBSD перешёл на обязательное использование механизма защиты W^X

OpenBSD перешёл на обязательное использование механизма защиты W^X

OpenBSD перешёл на обязательное использование механизма защиты W^X

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

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

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

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

Android 17 начнёт тормозить и закрывать прожорливые приложения

Google расширяет в Android 17 систему индивидуальных лимитов оперативной памяти для приложений. Если программа выйдет за установленный ей бюджет, система сначала снизит её производительность, а при дальнейшем росте потребления просто завершит процесс.

Механизм дебютировал на смартфонах Pixel, но в течение ближайшего года его начнут внедрять другие производители. Ограничения появятся на устройствах с объёмом памяти от 4 до более чем 16 ГБ, сообщила Google.

На первом этапе Android принудительно переместит часть данных провинившегося приложения в zRAM — сжатую область оперативной памяти. Это позволит программе продолжить работу, но за комфорт придётся заплатить процессорным временем: данные нужно постоянно сжимать и распаковывать, поэтому интерфейс может начать дёргаться и задумываться над жизнью.

Если приложение продолжит поглощать память, система его закроет. Для пользователя это должно означать меньше ситуаций, когда одна небрежно написанная программа превращает весь смартфон в неторопливый калькулятор.

Особенно полезным механизм станет на недорогих устройствах с небольшим объёмом ОЗУ. Однако под раздачу могут попасть игры, мультимедийные редакторы и локальные ИИ-приложения, которым действительно требуется много памяти. Если разработчики не проведут оптимизацию, такие программы будут тормозить или внезапно завершаться.

Google уже добавила в Android Vitals и Firebase Crashlytics инструменты для поиска утечек памяти, отслеживания аварий и срабатываний нового ограничителя. Разработчикам предлагают заранее проверить свои приложения, пока пользователи не начали делать это вместо них единицами в магазине.

Причина ужесточения проста: смартфоны не спешат наращивать объём ОЗУ из-за подорожания памяти, а требования приложений продолжают расти.

RSS: Новости на портале Anti-Malware.ru