The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Линус Торвальдс столкнулся с дилеммой: устранение уязвимости..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
"Линус Торвальдс столкнулся с дилеммой: устранение уязвимости..." +/
Сообщение от opennews (ok), 24-Янв-15, 10:46 
Пользователи компьютерной игры Witcher 2 столкнулись (http://steamcommunity.com/app/20920/discussions/0/6207009602.../) с невозможностью запуска приложения на системах с новыми ядрами Linux. В частности, наблюдается крах при запуске игры в окружении ядра 3.17.7 и более новых выпусков. После анализа ситуации разработчики выяснили (https://github.com/KillaW0lf04/The-Witcher-2-Issues/issues/89), что причиной являются добавленные в недавних выпусках ядра дополнительные проверки параметров задания системного вызова "set_thread_area".


Линус Торвальдс присоединился (https://github.com/KillaW0lf04/The-Witcher-2-Issues/issues/8...) к дискуссии и подтвердил свою приверженность принципу (https://www.opennet.ru/opennews/art.shtml?num=34738) сохранения полной совместимости с приложениями, заключающемуся в том, что программные интерфейсы должны обеспечивать обратную совместимость и никакие изменения в ядре не должны нарушать корректную работу пользовательских приложений. Чтобы недопустить подобные инциденты с играми в будущем Линус посоветовал ответственным за тестирования ядра разработчикам включить игровые приложения в число проверяемых программ, а разработчикам проприетарных игр более активно сотрудничать с разработчиками ядра и сразу сообщать о всех возникших проблемах. В качестве решения проблемы с Witcher 2 Линус намерен смягчить добавленные в системный вызов ограничения "set_thread_area" или организовать жесткие проверки только для серверных систем.


Неодназначность ситуации заключается в том, что добавление дополнительных проверок параметров системного вызова "set_thread_area" было осуществлено (https://github.com/KillaW0lf04/The-Witcher-2-Issues/issues/8...) в рамках устранения выявленных (https://www.opennet.ru/opennews/art.shtml?num=41276) в декабре критических уязвимостей (CVE-2014-9322 (https://access.redhat.com/security/cve/CVE-2014-9322), CVE-2014-9090 (https://access.redhat.com/security/cve/CVE-2014-9090)) и данные проверки необходимы для предотвращения атак, которые могут привести к повышению привилегий в системе. При этом старое поведение  системного вызова формально являлось корректным и использовалось в том числе разработчиками игры Witcher 2 (подобные манипуляции с LDT используются (https://gitorious.org/linux-test-utils/linux-clock-tests/sou...) в эксплоите).


Таким образом возникла дилемма: сохранить совместимость, но оставить потенциальную уязвимость, или устранить вектор атаки, но нарушить совместимость программных интерфейсов. В случае с игрой Witcher удалось найти компромиссное обходное решение и  подготовить патчи (https://git.kernel.org/cgit/linux/kernel/git/luto/linux.git/...), воспринимающие передачу структуры user_desc со всеми нулевыми значениями как операцию поиска свободного слота, и не проводить в этом случае заполнение сегмента TLS.


URL: https://github.com/KillaW0lf04/The-Witcher-2-Issues/issues/8...
Новость: https://www.opennet.ru/opennews/art.shtml?num=41528

Ответить | Правка | Cообщить модератору

Оглавление
Линус Торвальдс столкнулся с дилеммой: устранение уязвимости..., opennews, 24-Янв-15, 10:46  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру