stringtranslate.com

Ksplice

Ksplice — это расширение ядра Linux с открытым исходным кодом [2] [3] , которое позволяет применять исправления безопасности к работающему ядру без необходимости перезагрузки , избегая простоев и улучшая доступность (метод, который широко называют динамическим обновлением программного обеспечения ). Ksplice поддерживает только исправления, которые не вносят существенных семантических изменений в структуры данных ядра. [4]

Ksplice был реализован для Linux на архитектурах x86-64 и AArch64 . [5] Он разрабатывался Ksplice, Inc. до 21 июля 2011 года, когда Oracle приобрела Ksplice, а затем предложила поддержку Oracle Linux . Поддержка Red Hat Enterprise Linux была прекращена и превращена в бесплатную 30-дневную пробную версию для клиентов RHEL в качестве стимула для перехода на Oracle Linux Premier Support. [6] [7]

Сегодня Ksplice предлагается на двух версиях ядра, распространяемых с Oracle Linux:

По состоянию на июль 2015 года Ksplice доступен бесплатно для настольных установок Linux, а также официальная поддержка для дистрибутива Ubuntu Linux . [8]

Дизайн

Общий обзор генерации горячих патчей, основанный на изменениях в исходном коде ядра. [9] : 3 

Ksplice принимает в качестве входных данных унифицированный diff и исходный код исходного ядра и обновляет работающее ядро ​​в памяти . Использование Ksplice не требует никакой подготовки перед первоначальной загрузкой системы (например, работающее ядро ​​не нуждается в специальной предварительной компиляции ). Чтобы сгенерировать обновление, Ksplice должен определить, какой код в ядре был изменен патчем исходного кода. Ksplice выполняет этот анализ на уровне объектного кода Executable and Linkable Format (ELF), а не на уровне исходного кода C. [9]

Чтобы применить патч, Ksplice сначала замораживает выполнение компьютера, так что это единственная запущенная программа. Система проверяет, что ни один процессор не находился в процессе выполнения функций, которые будут изменены патчем. Ksplice изменяет начало измененных функций так, чтобы они вместо этого указывали на новые, обновленные версии этих функций, и изменяет данные и структуры в памяти, которые необходимо изменить. Наконец, Ksplice возобновляет работу каждого процессора с того места, где он остановился. [9]

Чтобы быть полностью автоматическим, дизайн Ksplice изначально был ограничен патчами, которые не вносят семантические изменения в структуры данных , поскольку большинство патчей безопасности ядра Linux не вносят такие изменения. Оценка патчей безопасности ядра Linux с мая 2005 по май 2008 года показала, что Ksplice смог применить исправления для всех 64 значительных уязвимостей ядра , обнаруженных за этот период. В 2009 году основные поставщики Linux попросили своих клиентов устанавливать обновление ядра чаще, чем один раз в месяц. [10] Для патчей, которые вносят семантические изменения в структуры данных, Ksplice требует, чтобы программист написал небольшой дополнительный код, чтобы помочь применить патч. Это было необходимо примерно для 12% обновлений за этот период времени. [11]

История

Программное обеспечение Ksplice было создано четырьмя студентами Массачусетского технологического института на основе магистерской диссертации Джеффа Арнольда [12] , а позже они создали Ksplice, Inc. Примерно в мае 2009 года компания выиграла конкурс предпринимателей Массачусетского технологического института на 100 тыс. долларов и соревнование по кибербезопасности Global Security Challenge .

В то время как программное обеспечение Ksplice предоставлялось по лицензии с открытым исходным кодом, Ksplice, Inc. предоставляла услугу, упрощающую использование программного обеспечения. Ksplice, Inc. предоставляла предварительно собранные и протестированные обновления для дистрибутивов Red Hat , CentOS , Debian , Ubuntu и Fedora Linux. [13] Технологии виртуализации OpenVZ и Virtuozzo также поддерживались. Обновления для систем Ubuntu Desktop и Fedora предоставлялись бесплатно, тогда как другие платформы предлагались по подписке. [14]

21 июля 2011 года корпорация Oracle объявила о приобретении Ksplice, Inc. На момент приобретения компания Ksplice, Inc. утверждала, что более 700 компаний используют ее сервис для защиты более 100 000 серверов. Хотя сервис был доступен для нескольких дистрибутивов Linux, во время приобретения было заявлено, что «Oracle считает, что это будет единственный поставщик корпоративного Linux, который может предложить обновления с нулевым временем простоя». Более конкретно, «Oracle не планирует поддерживать использование технологии Ksplice с Red Hat Enterprise Linux». [7] Существующие клиенты по-прежнему поддерживаются Ksplice, но новые клиенты для других платформ не принимаются. [15]

По состоянию на июль 2015 года Ksplice доступен бесплатно на Ubuntu Desktop. [8] В январе 2016 года Ksplice был интегрирован в Oracle Unbreakable Enterprise Kernel Release 4 для Oracle Linux  6 и 7, который является перераспределением Red Hat Enterprise Linux от Oracle . [16]

По состоянию на март 2023 года Ksplice интегрирован в:

Смотрите также

Ссылки

  1. ^ Арнольд, Джефф (23 апреля 2008 г.). «Система для обновлений безопасности ядра без перезагрузки». LKML (список рассылки). Архивировано из оригинала 11 мая 2012 г. Получено 27 июля 2013 г.
  2. ^ ab "Соглашение о подписке на Ksplice Uptrack". ksplice.com . 28 сентября 2011 г. . Получено 18 ноября 2014 г. .
  3. ^ ab "ksplice 0.9.9.1 исходный код, файл README". oss.oracle.com . 28 июля 2011 г. . Получено 31 декабря 2014 г. Эта программа является свободным программным обеспечением; вы можете распространять ее и/или изменять в соответствии с условиями GNU General Public License, версия 2.
  4. ^ "Ubuntu Manpage: ksplice-create – Создание набора модулей ядра для ядра без перезагрузки". manpages.ubuntu.com . 2009 . Получено 23 ноября 2014 .
  5. ^ «Руководство пользователя Ksplice: доступные архитектуры» (PDF) . docs.oracle.com . 2023 . Получено 22 марта 2023 г. .
  6. ^ "Бесплатная 30-дневная пробная версия обновлений Ksplice Zero-Downtime для клиентов Red Hat Enterprise Linux". Ksplice.
  7. ^ ab "Письмо клиента Oracle и Ksplice". Oracle. 7 сентября 2010 г. Получено 22 июля 2011 г.
  8. ^ ab "Oracle Ksplice Free Desktop Edition". Oracle Ksplice . Oracle. 16 июля 2015 г. . Получено 16 июля 2015 г. Oracle Ksplice предлагается бесплатно в Fedora и Ubuntu Desktop Editions.
  9. ^ abc Джефф Арнольд; М. Франс Каашук. "Ksplice: Автоматические обновления ядра без перезагрузки" (PDF) . mit.edu . Получено 18 ноября 2014 г. .
  10. ^ "Nexcess принимает технологию Ksplice Uptrack "Rebootless"". Nexcess. 30 ноября 2010 г. Получено 18 февраля 2011 г.
  11. ^ "Performance record". Ksplice. Архивировано из оригинала 16 апреля 2009 года . Получено 4 июня 2009 года .
  12. Эдж, Джейк (10 июня 2009 г.). «Ksplice предоставляет обновления без перезагрузок». LWN . Получено 21 июля 2011 г.
  13. ^ "Ksplice Uptrack". Ksplice . Получено 19 июля 2009 .
  14. ^ "Pricing". Ksplice, Inc. Получено 13 марта 2011 г.
  15. ^ "Поддерживаемые ядра". Сайт Ksplice . Oracle America . Получено 13 февраля 2012 г.
  16. ^ Мариус Нестор (9 января 2016 г.). «Oracle привносит исправления ядра в реальном времени в свой Unbreakable Enterprise Kernel Release 4». softpedia.com . Получено 9 января 2016 г.

Внешние ссылки