The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Компания Red Hat открыла код kpatch для организации обновлен..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от opennews (ok) on 04-Мрт-14, 21:05 
Компания Red Hat открыла (http://rhelblog.redhat.com/2014/02/26/kpatch/) под лицензией GPLv2 наработки проекта kpatch (https://github.com/dynup/kpatch), в рамках которого подготовлена система динамического применения патчей к работающему ядру Linux, без перезагрузки и остановки работы системы. По своему назначению kpatch напоминает развиваемую компанией Oracle систему KSplice (http://www.ksplice.com/) и анонсированный компанией SUSE проект kGraft (https://www.opennet.ru/opennews/art.shtml?num=38994), и также позволяет администраторам на лету устранять уязвимости и некоторые типы ошибок в ядре.

По организации обновления ядра kpatch напоминает kGraft и также  выполняет замену целиком функций в ядре, используя для перенаправления на новую функцию штатные средства подсистемы ftrace. Методы формирования и загрузки патча более близки к ksplice и также основаны на сравнении бинарных сборок и использовании отдельного базового модуля для координации наложения изменений. Отмечается, что реализация kpatch ещё до конца не стабилизирована, поэтому систему динамического обновления ядра пока не стоит использовать для промышленного применения. Инструкция по сборке и экспериментах с  kpatch подготовлена (https://github.com/dynup/kpatch) для Fedora 20. После открытия кода kGraft, которое запланировано на март, между системами динамического обновления ядра от Red Hat и SUSE разразится конкурентная борьба по продвижению в состав основного ядра Linux.

В состав kpatch входят следующие компоненты:

-  kpatch-build - набор утилит для преобразования патча к исходным текстам ядра, созданного утилитой diff, в специализированный модуль ядра, осуществляющий наложение изменений на работающее ядро. Для оценки подлежащих замене компонентов, осуществляется сборка двух бинарных образов ядра, один для состояния до наложения патча на код ядра, а второй - после наложения патча. Далее выявляются отличия между бинарными патчами и генерируется модуль горячего обновления ядра.

-  Модуль горячего обновления ядра представляет собой обычный модуль ядра (файл с разрешением.ko), содержащий бинарные варианты изменённых функций ядра и метаданные об размещении оригинальных функций, подлежащих замене.
-  Базовый модуль kpatch - модуль ядра, предоставляющий  интерфейс для регистрации новых функций, определённых в модуле горячего обновления ядра. Для перенаправления вызова на новую функцию используется подсистема ftrace, при помощи которой ставится хук на инструкцию вызова старой функции для перенаправления обращения на новую функцию.
-  Утилита kpatch с интерфейсом командной строки для управления коллекцией модулей горячего обновления ядра. Один или более подобных модулей могут быть настроены для применения в процессе загрузки, что позволяет системе сохранить работоспособность применённых в процессе работы  горячих патчей, даже в случае перезагрузки сервера.

URL: http://rhelblog.redhat.com/2014/02/26/kpatch/
Новость: https://www.opennet.ru/opennews/art.shtml?num=39235

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

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от pavlinux (ok) on 04-Мрт-14, 21:05 
Опердили SuSE :)

---
Пара патчей

https://github.com/pavlinux/kpatch/commit/041c7ccae68e36b771...
https://github.com/pavlinux/kpatch/commit/db9c6e989b7c1a5005...
---

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от umbr (ok) on 04-Мрт-14, 21:19 
Новые фичи - новые дыры.
Вопрос к специалистам: не повлияет-ли это на совместимость ядер?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от pavlinux (ok) on 04-Мрт-14, 21:34 
> Новые фичи - новые дыры.
> Вопрос к специалистам: не повлияет-ли это на совместимость ядер?

Кроме как CONFIG_FTRACE и CONFIG_FUNCTION_TRACER вроде ничего волшебного не просит,
и само в код ядра не просится.  

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Компания Red Hat открыла код kpatch для организации обновлен..."  +5 +/
Сообщение от umbr (ok) on 04-Мрт-14, 21:58 
Теперь бэкдоры можно пихать прямо в работающее ядро?
И никаких следов, разве что оперативку сканировать.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

8. "Компания Red Hat открыла код kpatch для организации обновлен..."  +4 +/
Сообщение от Аноним (??) on 04-Мрт-14, 22:05 
Господа, а как на счет безопасности для параноикрв?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Компания Red Hat открыла код kpatch для организации обновлен..."  +2 +/
Сообщение от backbone (ok) on 04-Мрт-14, 22:17 
Безопасности, в смысле, security или безопасности процесса применения патча?

Ради 1-го и развиваются эти технологии. По поводу 2-го - в новости сказано, что не готово для production.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

12. "Компания Red Hat открыла код kpatch для организации обновлен..."  +1 +/
Сообщение от AlexAT (ok) on 04-Мрт-14, 22:40 
>>> Не вызовет удивления, если компания Oracle откроет свежий исходный код KSplice и также подключится к борьбе за upstream

Поздновато. У редхата большой опыт по пропихиванию разработок в апстрим. В отличие от.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Компания Red Hat открыла код kpatch для организации обновлен..."  +1 +/
Сообщение от AlexAT (ok) on 04-Мрт-14, 22:43 
Блин, в который раз редхату эпическое шпасибо за следование GPL. У меня даже есть место для применения этой штуки, весьма специфичное, но реальное.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Компания Red Hat открыла код kpatch для организации обновлен..."  +8 +/
Сообщение от FractalizeR email(ok) on 04-Мрт-14, 23:26 
Патчи гениальны. Они изменят судьбу мира Linux.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

16. "Компания Red Hat открыла код kpatch для организации обновлен..."  +3 +/
Сообщение от pavlinux (ok) on 04-Мрт-14, 23:37 
> Теперь бэкдоры можно пихать прямо в работающее ядро?

Да, от рута всё можно.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

17. "Компания Red Hat открыла код kpatch для организации обновлен..."  –3 +/
Сообщение от pavlinux (ok) on 04-Мрт-14, 23:41 
Ты как большой специалист знаешь же, где найти руткит на неправильные спецификаторы printf/scanf
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

18. "Компания Red Hat открыла код kpatch для организации обновлен..."  –1 +/
Сообщение от pavlinux (ok) on 05-Мрт-14, 00:06 
# This script currently only works on Fedora and will need to be adapted to
# work on other distros.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

21. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от pavlinux (ok) on 05-Мрт-14, 00:38 
> CONFIG_FUNCTION_TRACER

А с этой фичей, оверхед проца-то вырос, прим. на 10°C

В общем, поюзал... глюкалово страшное. Если патч на модуль, то раз в 500 проще
перекомпилить модуль, остановить сервис, rmmod/insmod и снова в путь.
Если на ROOTFS, в принципе, через mount --bind на ramfs, перегрузить модуль и обратно.
Но это, по сути, тот же reboot. :)

И во-вторых kpatch - это временное средство, ядро всё равно обновлять придётся.
Не, можно и так работать, но есть вероятность, что модуль прибьёт OOM_killer,
или при крэшдампе отвалится.    

> ... не могут применяться к функциям, вызываемым только на стадии инициализации ядра;

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


Лучше бы за пилили работу с двумя ядрами - master/slave ©
В каждом ядре список символов с версиями, менеджер версий.
Например та же schedule() была бы ссылкой на более старшую
версию из таблицы: schedule()_3121155 и schedule()_3121157  
При появлении символа schedule()_3140000, все новые вызовы  
schedule(), вызывали бы schedule()_3140000.


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

22. "Компания Red Hat открыла код kpatch для организации обновлен..."  –1 +/
Сообщение от Аноним (??) on 05-Мрт-14, 01:01 
<delirium>Ага, значит наклепали за 5 минут, дабы пропихнуть побыстрее своё, чтоб не дай рандом клиенты не ушли к зелёным из-за фичи, которой у них нет, а потом будут это чинить годами в манере одного своего известного сотрудника.</delirium>
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

23. "Компания Red Hat открыла код kpatch для организации обновлен..."  +2 +/
Сообщение от анонимус (??) on 05-Мрт-14, 01:07 
руткит — это немного не о том, наверное эксплойт
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

24. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от anonymous (??) on 05-Мрт-14, 01:38 
Да там три с половиной строки поправить. Кто не сможет - тому рано пока это использовать.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

25. "Компания Red Hat открыла код kpatch для организации обновлен..."  +6 +/
Сообщение от Аноним (??) on 05-Мрт-14, 01:48 
Для параноиков ее нет.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

26. "Компания Red Hat открыла код kpatch для организации обновлен..."  +1 +/
Сообщение от Аноним (??) on 05-Мрт-14, 02:08 
секретничает, какое?
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

28. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от Геннадий Кернес on 05-Мрт-14, 02:50 
>в 500 проще перекомпилить модуль, остановить сервис

Что _проще_ - никто и не спорил.
Только дороговато некоторые сервисы останавливать.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

29. "Компания Red Hat открыла код kpatch для организации обновлен..."  –6 +/
Сообщение от Аноним (??) on 05-Мрт-14, 03:56 
Нафиг нужны твои патчи?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

30. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от Мегазаычы on 05-Мрт-14, 05:22 
5 лет не уходили (см. ksplice) а тут вдруг подорвались.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

31. "Компания Red Hat открыла код kpatch для организации обновлен..."  +5 +/
Сообщение от Аноним (??) on 05-Мрт-14, 06:24 
Так вот ты какой, северный pavlinux https://identicons.github.com/35a2ad62b28e3c7cf02bdc9d1c2932...
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

32. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от AlexAT (ok) on 05-Мрт-14, 08:36 
> секретничает, какое?

Есть определенная операторская сетевая платформа, которой возможность проапдейтить ядро (особенно собственные модули, например, для добавления мелкофич или затыкания мелкобагов) на ходу очень даже пригодится. Цена останова - обрыв всех абонентских сеансов в случае PPPoE/PPTP. Даже если есть резерв. Но это применение скорее типовое.

И при разработке оной иметь такую штуку тоже очень даже неплохо, ибо можно не перегружая тестовую площадку и не выгружая/перезагружая модулей (т.е. с сохранением состояния) проапдейтить кусок ядра (если не меняются структуры данных и API/ABI), и сразу на живую посмотреть, как оно работает. Это как раз "специфичное" применение.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

33. "Компания Red Hat открыла код kpatch для организации обновлен..."  +2 +/
Сообщение от Anonymus on 05-Мрт-14, 08:41 
тщательнее надо проектировать, остановка сервера не должна приводить к остановке сервиса
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

34. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от Anonymus on 05-Мрт-14, 08:42 
неужто великим умищам нечем боле заняться чем костыли клепать?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

35. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от AlexAT (ok) on 05-Мрт-14, 08:45 
> неужто великим умищам нечем боле заняться чем костыли клепать?

Это очень нужные и важные костыли, которые могут в отдельных случаях сократить даунтайм критичных систем до минимума. В кровавом энтерпрайзе вряд ли нужно - там и часовой простой может быть нормой, бизнес от одной системы не встанет. В облаках и им подобных (фейсбуки, вконтакты и прочие гуглы) - тоже вряд ли пригодятся. А вот в телекоме, допустим, выведение из строя любой системы даже при наличии дублирующих - все равно нештатная ситуация. В биржевых системах, думается, тоже.

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

36. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от qwerty (??) on 05-Мрт-14, 08:45 
>Type coeection

*facepalm*

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

39. "Компания Red Hat открыла код kpatch для организации обновлен..."  +3 +/
Сообщение от Маленькая Серая Мышка on 05-Мрт-14, 13:54 
То есть вы предлагаете перепроектировать этот мир вместо того чтобы использовать kpatch, я так понимаю.
Ну что ж, предложение интересное, практичное.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

40. "Компания Red Hat открыла код kpatch для организации обновлен..."  +2 +/
Сообщение от Маленькая Серая Мышка on 05-Мрт-14, 13:56 
> - там и часовой простой может быть нормой, бизнес от одной
> системы не встанет.

Ну да, помнится вот у Сбербанка "не встал".

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

42. "Компания Red Hat открыла код kpatch для организации обновлен..."  –1 +/
Сообщение от pavlinux (ok) on 05-Мрт-14, 14:25 
> Нафиг нужны твои патчи?

лохов раздражать

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

43. "Компания Red Hat открыла код kpatch для организации обновлен..."  +1 +/
Сообщение от Нанобот (ok) on 05-Мрт-14, 15:33 
для параноиков ничего не изменилось - всё как было опасно, так и остаётся
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

46. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от pavlinux (ok) on 05-Мрт-14, 17:09 
руткит - это цель, эксплойт - это инструмент, как черепно-мозговая травма тупым предметом и молоток.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

47. "Компания Red Hat открыла код kpatch для организации обновлен..."  +1 +/
Сообщение от pavlinux (ok) on 05-Мрт-14, 17:10 
>>Type coeection
> *facepalm*

Да, вот так,... не хватило сил дотянуть палец до соседней кнопки. :-P

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

50. "Компания Red Hat открыла код kpatch для организации обновлен..."  +1 +/
Сообщение от Аноним email(??) on 05-Мрт-14, 21:59 
> В любой системе есть время на техническое обслуживание, в течении которого проводится в т.ч. обновление ПО.

И что делать если даунтайм запланирован на следующей неделе, а проблему надо исправить уже сейчас ?

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

52. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от Аноним (??) on 07-Мрт-14, 17:54 
IBM K24 же
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

53. "Компания Red Hat открыла код kpatch для организации обновлен..."  +/
Сообщение от Аноним (??) on 07-Мрт-14, 17:55 
K42 (:
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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