Grsecurity — проприетарный набор модификаций (патч) для ядра Linux, который включает в себя некоторые улучшения, связанные с безопасностью, включая защиту памяти ядра и пользовательских процессов, принудительный контроль доступа, рандомизацию расположения объектов в памяти, ограничения доступа к файлам в /proc, ограничения доступа к системным интерфейсам внутри chroot() jail, ограничения на использование серверных и клиентских сетевых сокетов, а также дополнительные возможности аудита активности процессов и некоторые другие функции. Типичной областью применения являются системы, которые могут принимать сетевые подключения из потенциально опасных источников: такие как серверы различных сетевых служб (например, веб-серверы) или серверы, предоставляющие своим пользователям shell-доступ. Патч grsecurity с 2001 года выпускался на условиях лицензии GPL версии 2, и включает в себя набор патчей PaX. С 26 апреля 2017 года исходные коды grsecurity и связанных патчей больше не доступны для скачивания, а их распространение производится только на платной основе[3]. Создатель и ведущий разработчик grsecurity — Brad Spengler, также известный под псевдонимом spender.
Grsecurity | |
---|---|
Тип | патч |
Написана на | Си[1] |
Операционная система | Linux |
Репозиторий | grsecurity.net/download |
Лицензия | GNU GPL 2[2] |
Сайт | grsecurity.net (англ.) |
Лицензирование и судебные споры
правитьИзначально патч grsecurity являлся общедоступным и свободным ПО. В 2015 году, после споров о некорректном использовании торговой марки grsecurity автор патча решил прекратить свободное (неограниченное) распространение кодов стабильной версии патча для всех желающих[4][5]. Тестовые версии grsecurity[5] в виде единого патча без разбивки на серии на тот момент оставались общедоступными.
С 26 апреля 2017 года был закрыт свободный доступ к тестовым версиям патча grsecurity (а также PaX), вероятно из-за конфликта с KSPP[6] или Wind River[7]. Последней общедоступной версией стал тестовый патч для ядра Linux 4.9 версии. Более новые версии становятся доступными лишь для коммерческих подписчиков компании "Open Source Security Inc" (разработчик патча с 2008 года, штат Пенсильвания)[3][6][8], в рамках отдельного соглашения о предоставлении услуг[9][10][11].
В разъяснениях компания OSSI указала, что на патчи продолжает действовать лицензия GPLv2 со всеми правами и обязанностями. [12] Однако коммерческое соглашение между пользователем и корпорацией содержит условие о лишении клиентов доступа к будущим версиям патча в случае, если пользователь применяет права, данные ему GPL для использования (установки и распространения) патчей grsecurity в обход соглашения[13].
В июне 2017 года Брюс Перенс, известный своим участием в движении СПО, публично высказал свое мнение о том, что третьим лицам следует избегать покупки продукта "Grsecurity" на сайте grsecurity.net. Он указал что патч является производным продуктом от кода ядра Linux и должен распространяться на условиях лицензии GPL версии 2 или совместимой, как это происходило с прошлыми версиями. На тот момент патч стал коммерческим продуктом, распространяемым лишь за плату и, по соглашению, пользователи предупреждаются что если они будут распространять патч (право, данное им GPLv2), то они будут лишены доступа к последующим версиям патча, что, по суждению Брюса, якобы может нарушать Секцию 6 Публичной Лицензии, якобы несет риски прекращения действия лицензии и соответственно нарушения Авторских и Иных прав (пиратства).[14][15] Высказывание Перенса было опубликовано в его личном Интернет-блоге, в почтовой рассылке проекта Debian (главой которого Перенс ранее являлся)[16], а затем активно обсуждалось на Интернет-форуме Slashdot[17].
17 июля 2017 года компания OSSI (состоящая из одного сотрудника) инициировала против Брюса Перенса судебное разбирательство (как вспоминал Спенглер[18], из-за отсутствия иных вариантов, увидев в его высказывании диффамацию и потенциальный значительный ущерб репутации и бизнес-интересам своей компании[19][20][21]). Компания оспаривала следующие два высказывания, считая их ложными фактами:
“It’s my strong opinion that your company should avoid the Grsecurity product sold at grsecurity.net because it presents a contributory infringement and breach of contract risk.” “As a customer, it’s my opinion that you would be subject to both contributory infringement and breach of contract by employing this product in conjunction with the Linux kernel under the no-redistribution policy currently employed by Grsecurity.”
— [3]
В декабре 2017 года магистрат-судья Laurel Beeler (Сан-Франциско) постановил что Перенс высказал мнение, допускаемое законами США, и отверг заявление о диффимации[22]. Дальнейшие судебные споры продолжались около 3 лет и, после нескольких апелляций завершились в 9-й схеме[неизвестный термин] апелляционных судов США (дело "Open Source Security v. Perens"[23])[17].) Суд отклонил претензии к Брюсу и взыскал с Open Source Security и Брэда Спенглера судебные расходы в размере около 260-300 тысяч долларов[22][24][25]. Вопросы о том, нарушаются ли условия лицензии GPL, судами не рассматривался.
Судебный спор назван одним из 10 важнейших юридических дел в области открытого ПО в 2017 году[26].
PaX
правитьВ разделе не хватает ссылок на источники (см. рекомендации по поиску). |
Одним из основных компонентов grsecurity является PaX, реализующий несколько механизмов защиты от эксплуатации уязвимостей (например, через переполнение буфера), включая рандомизацию расположения объектов в памяти (address space layout randomization, ASLR) и ограничения на выполнение произвольного машинного кода со страниц, доступных процессу в режиме записи (в частности, стека).
PaX разрабатывается одним из членов команды разработчиков grsecurity.[источник не указан 1633 дня]
PaX сам по себе разрабатывается отдельной от grsecurity командой программистов.[источник не указан 1633 дня]
Критика
правитьОдин из соавторов и мейнтейнеров проекта Ядро Линукс негативно высказывался о подходах, практикуемых авторами патча grsecurity в части программного кода, низко оценив сам проект[27][28].
Корпорация grsecurity была замечена в неоднозначном поведении в социальных сетях в отношении пользователя, сообщившего о программном недочете в патче в 2016 году[29].
Примечания
править- ↑ The grsecurity Open Source Project on Open Hub: Languages Page — 2006.
- ↑ Grsecurity (англ.)
- ↑ 1 2 grsecurity - Passing the Baton . grsecurity.net. Дата обращения: 26 мая 2020. Архивировано 19 мая 2020 года.
- ↑ Gold, Jon Grsecurity will stop issuing patches citing trademark abuse (англ.). Network World (28 августа 2015). Дата обращения: 28 мая 2020. Архивировано 8 ноября 2020 года.
- ↑ 1 2 Hardened Linux stalwarts Grsecurity pull the pin after legal fight (англ.). theregister.co.uk (27 августа 2015). Дата обращения: 28 мая 2020. Архивировано 2 октября 2018 года.
- ↑ 1 2 Grsecurity прекращает бесплатное распространение своих патчей . opennet.ru (26 апреля 2017). Дата обращения: 25 мая 2020. Архивировано 23 сентября 2020 года.
- ↑ Linux kernel security gurus Grsecurity oust freeloaders from castle (англ.). theregister.co.uk (26 апреля 2017). Дата обращения: 28 мая 2020. Архивировано 10 июля 2019 года.
- ↑ Jonathan Corbet. Grsecurity goes private [LWN.net] (англ.). lwn.net (4 мая 2017). Дата обращения: 26 мая 2020. Архивировано 1 апреля 2020 года.
- ↑ grsecurity - Access Agreement FAQ . grsecurity.net. Дата обращения: 26 мая 2020. Архивировано 1 декабря 2020 года.
- ↑ Допсоглашение по данным Б.Перенса, версия опубликована им в июне 2017 года Архивная копия от 24 апреля 2021 на Wayback Machine (англ.)
- ↑ Уязвимости в лицензиях СПО, Андрей Савченко, 2018: "Патчи Grsecurity ... распространение кода и бинарных сборок ограничивается дополнительным договором подписки ... базовые свободы распространения и модификации СПО нарушаются" . Дата обращения: 28 мая 2020. Архивировано 1 сентября 2019 года.
- ↑ https://grsecurity.net/agree/agreement_faq Архивная копия от 1 декабря 2020 на Wayback Machine "You may use, copy, modify, and distribute any Linux kernel modified by combination with grsecurity patches under the terms of GPLv2."
- ↑ https://grsecurity.net/agree/agreement_faq Архивная копия от 1 декабря 2020 на Wayback Machine "We reserve the right to revoke access to future updates of grsecurity patches and changelogs at any time for any reason. Our reasons for termination may include: ... Distribution or installation of grsecurity patches in violation of the terms of the access agreement"
- ↑ Warning: Grsecurity: Potential contributory infringement and breach of contract risk for customers Архивная копия от 19 мая 2020 на Wayback Machine, 2017-06-28 (англ.) "Grsecurity’s Stable Patch Access Agreement adds a term to the GPL prohibiting distribution or creating a penalty for distribution. GPL section 6 specifically prohibits any addition of terms."
- ↑ Grsecurity возможно нарушает лицензию GPL в своих попытках остановить перенос кода в ядро Linux . opennet.ru (10 июля 2017). Дата обращения: 28 мая 2020. Архивировано 30 марта 2020 года.
- ↑ debian-user: Re: Why does no one care that Brad Spengler of GRSecurity is blatantly violating the intention of the rightsholders to the Linux Kernel? Архивная копия от 26 апреля 2022 на Wayback Machine, 2017-07
- ↑ 1 2 Bruce Perens Wins Victory for Free Speech. 2020-02-25 . Дата обращения: 26 мая 2020. Архивировано 29 июня 2020 года.
- ↑ Varghese, Sam iTWire - Linux kernel patch maker says court case was only way out (англ.). itwire.com (10 февраля 2020). Дата обращения: 28 мая 2020. Архивировано 14 мая 2020 года.
- ↑ Grsecurity Vendor Sues Open Source Pioneer Bruce Perens in GPLv2 Disagreement. 25 Aug 2017 . Дата обращения: 26 мая 2020. Архивировано 5 августа 2020 года.
- ↑ Thomas Claburn. Linux kernel hardeners Grsecurity sue open source's Bruce Perens (англ.). www.theregister.co.uk (3 августа 2017). Дата обращения: 28 мая 2020. Архивировано 30 марта 2020 года.
- ↑ nebularia. Разработчики Grsecurity упоролись окончательно . Авторитетный форум об опен-сурс движении "linux.org.ru" (4 августа 2017). Дата обращения: 28 мая 2020. Архивировано 30 января 2021 года.
- ↑ 1 2 Grsecurity maker finally coughs up $300k to foot open-source pioneer Bruce Perens' legal bill in row over GPL Архивная копия от 27 мая 2020 на Wayback Machine / The Register (англ.)
- ↑ D.C. No. 3:17-cv-04002-LB Архивная копия от 11 мая 2021 на Wayback Machine [1] [2]
- ↑ Суд взыскал 259 тысяч долларов с компании, разрабатывающей Grsecurity 10.06.2018 . Дата обращения: 26 мая 2020. Архивировано 30 марта 2020 года.
- ↑ Суд предписал OSS выплатить 300 тысяч долларов Брюсу Перенсу по итогам разбирательства с Grsecurity . opennet.ru (28 марта 2020). Дата обращения: 28 мая 2020. Архивировано 3 апреля 2020 года.
- ↑ Richard Fontana (Red Hat). Top 10 open source legal stories that shook 2017 (англ.). Opensource.com (27 февраля 2018). Дата обращения: 28 мая 2020. Архивировано 27 сентября 2020 года.
- ↑ Linus Torvalds slams 'pure garbage' from 'clowns' at Grsecurity (англ.). theregister.co.uk (26 июня 2017). Дата обращения: 28 мая 2020. Архивировано 17 февраля 2020 года.
- ↑ Re: More CONFIG_VMAP_STACK vulnerabilities, refcount_t UAF, and an ignored Secure Boot bypass / rootkit method . Дата обращения: 28 мая 2020. Архивировано 25 апреля 2021 года.
- ↑ Мария Нефёдова. Разработчики Grsecurity забанили исследователя, который нашел баг в свежем патче — «Хакер» . xakep.ru (28 апреля 2016). Дата обращения: 28 мая 2020. Архивировано 17 февраля 2020 года.
См. также
правитьЛитература
править- Koo Z., Ayop Z., Abidin, Z. Analysis of ROP Attack on Grsecurity / PaX Linux Kernel Security Variables (англ.) // International Journal of Applied Engineering Research. — 2017. — January.
Ссылки
править- Официальный веб-сайт
- Повышение привилегий в grsecurity, xakep.ru, 12 января 2007 г
- Grsecurity(англ.), securityfocus.com, 28 февраля 2002 г
- grsecurity на корпоративном информационном портале wiki.debian.org (англ.)
- GRSecurity – система безопасности для Linux, состоящая из патча к ядру и управляющей программы. / Системный администратор 2004 Выпуск №9 (22)
- Денис Колисниченко, Grsecurity: управление доступом, основанное на ролях
- Between the Millstones: Lessons of Self-Funded Participation in Kernel Self Protection Project, Alexander Popov (PositiveTechnologies) November 3,2018 (https://ostconf.com/materials/2491)
- STACKLEAK — это функция безопасности ядра Linux, изначально разработанная создателями Grsecurity/PaX, 27 Сентября, 2018
В статье не хватает ссылок на источники (см. рекомендации по поиску). |