URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 110760
[ Назад ]

Исходное сообщение
"Выпуск NTPsec 0.9.7, защищённого форка NTPD"

Отправлено opennews , 23-Мрт-17 11:54 
Представлен (https://blog.ntpsec.org/2017/03/21/version-0-9-7.html) новый выпуск проекта NTPsec (https://www.ntpsec.org/), в рамках которого развивается форк эталонной реализации протокола NTPv4 (http://www.ntp.org/) (NTP Classic 4.3.34), сфокусированный на переработке кодовой базы с целью повышения безопасности. Исходные тексты NTPsec размещены (https://gitlab.com/NTPsec/ntpsec) в репозитории на GitLab. В развитии NTPsec участвуют (https://www.ntpsec.org/core-team.html) некоторые разработчики оригинального NTP Classic, инженеры из компаний Hewlett Packard и Akamai Technologies, а также участники проектов GPSD (http://www.catb.org/gpsd/) и RTEMS (https://www.rtems.org/). Одним из инициаторов создания проекта является Эрик Реймонд (Eric S. Raymond), один из основателей организации OSI (Open Source Initiative).


Проект полностью совместим с классическим пакетом NTP и использует те же алгоритмы. Олтичия (https://gitlab.com/NTPsec/ntpsec/blob/master/NEWS) NTPsec в основном касаются переработки внутренностей (https://www.ntpsec.org/accomplishments.html) с внедрением передовых техник предотвращения проведения атак. Среди особенностей проекта:


-  Все функции работы  с памятью и строками заменены на защищённые аналоги, не допускающие переполнения буфера.
-  Поставляемые в комплекте экземпляры  libevent2 заменены на внешние зависимости.
-  Удалены неиспользуемые компоненты библиотек ISC.
-  Осуществлён переход к манипуляции наносекундными отрезками времени вместо микросекунд.
-  Исправлены ошибки, выявленные при использовании  статических анализаторов.
-  C целью унификации их имён изменены названия утилит: sntp переименован в ntpdig, ntp-keygen в ntpkeygen, ntp-wait в ntpwait, update-leap в ntpleapfetch;
-  Из состава исключён демон ntpsnmpd, который не соответствует RFC 5907;
-  Удалены утилиты ntpdc, вместо которых следует использовать ntpq;
-  Прекращена поддержки устаревших типов эталонных часов;
-  Добавлена новая утилита ntpfrob, предоставляющая средства для диагностики и тонкой настройки локального хронометра.
-  Вместо программы ntpdate предложена shell-обвязка над утилитой ntpdig.
-  Вывод часов приведён в соответствие с форматом ISO8601.


В выпуске NTPsec 0.9.7 отражены результаты аудита кодовой базы, проведённого компанией Cure53.de на средства, предоставленные   Mozilla Foundation в рамках инициативы "Secure Open Source".
В результате проверки была выявлена серия новых уязвимостей, которые также устранены (http://support.ntp.org/bin/view/Main/SecurityNotice#Recent_V...) в свежем обновлении оригинального ntp-4.2.8p10 (http://ntp.org/).  NTPsec затрагивают 4 из 9 выявленных уязвимостей, две из которых (CVE-2017-6463,  CVE-2017-6464) могут использоваться для инициирования отказа в обслуживании, одна (CVE-2017-6458) может привести к переполнению буфера при выполнении ctl_put() и одна (CVE-2017-6451)  связана с некорректным применением snprintf() в функции mx4200_send(). В оригинальном NTP дополнительно устранены: переполнение буфера (CVE-2017-6462) в DPTS Clock, повышение привилегий в коде User Library для Windows (CVE-2017-6455), переполнение стека при обработке параметров командной строки в инсталляторе для Windows (CVE-2017-6452), переполнение буфера в ntpq при выполнении операции reslist (CVE-2017-6460) и некорректное завершение структуры данных в инсталляторе для Windows (CVE-2017-6459).


Дополнительно в NTPsec 0.9.7  продолжена (https://gitlab.com/NTPsec/ntpsec/blob/master/NEWS)  чистка кода - при подготовке нового выпуска кодовая база сокращена приблизительно на 60 тысяч строк, что примерно 26% от размера кодовой базы в момент форка. Ранее поставляемые в секции contrib программы cpu-temp-log, smartctl-temp-log, temper-temp-log и zone-temp-log теперь объединены в одну утилиту ntplogtemp, упрощающую ведение лога изменения показателей системных датчиков температуры. Драйвер эталонных часов  SHM (Shared Memory Driver) теперь может работать на системах без часов реального времени (RTC, Real Time Clock).

В состав включён новый скрипт buildprep, выполняющий подготовительные работы для сборки исходных текстов NTPsec, такие как проверка, загрузка и установка необходимых зависимостей. Проведена работа по увеличению точности - увеличено число знаков в выводе различных утилит, например, driftfile теперь отображает 6 знаков после запятой, вместо 3, а в полях файлов со статистикой отображается 9  знаков после запятой, вместо 6. Похожее увеличение точности вывода также релизовано в ntpq и ntpmon, что может нарушить совместимость со скриптами, осуществляющими автоматический разбор вывода.

По мнению (https://lists.ntpsec.org/pipermail/devel/2017-March/003905.html)  Эрика Реймонда, основная работа уже выполнена и состояние проекта NTPsec уже вполне готово для начала работы над первым стабильным релизом NTPsec 1.0, рекомендованным для промышленного внедрения. Перед рлизом усилия можно сосредоточить на оттачивании и тестировании имеющейся кодовой базы. Из планов отмечается подготовка пакетов для популярных дистрибутивов и их продвижение в репозитории. Из областей, в которых можно продолжить упрощение кодовой базы упоминается возможность сокращения кода, применяемого для обработки сетевых сокетов - предлагается удалить нестандартный код для перебора имеющихся сетевых интерфейсов и использовать прикрепление обработчика с использованием маски.

URL: https://blog.ntpsec.org/2017/03/21/version-0-9-7.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=46242


Содержание

Сообщения в этом обсуждении
"Выпуск NTPsec 0.9.7, защищённого форка NTPD"
Отправлено Аноним , 23-Мрт-17 11:54 
Жаль Ntimed (https://github.com/bsdphk/Ntimed) уже два года не обновляется, хорошая была задумка.

"Выпуск NTPsec 0.9.7, защищённого форка NTPD"
Отправлено Аноним , 23-Мрт-17 16:32 
таки на Go или на Rust переписали?

"Выпуск NTPsec 0.9.7, защищённого форка NTPD"
Отправлено Аноним , 23-Мрт-17 17:22 
СИ

"Выпуск NTPsec 0.9.7, защищённого форка NTPD"
Отправлено Аноним , 23-Мрт-17 19:08 
Ну не на JS хотя бы

"Выпуск NTPsec 0.9.7, защищённого форка NTPD"
Отправлено angra , 23-Мрт-17 21:01 
ЕМНИП, попытки были, Эрик опробовал оба языка и забраковал по разным причинам.

"Выпуск NTPsec 0.9.7, защищённого форка NTPD"
Отправлено Led , 23-Мрт-17 21:17 
Эрик забраковал - "значит надо брать"

"Выпуск NTPsec 0.9.7, защищённого форка NTPD"
Отправлено Аноним , 24-Мрт-17 11:10 
Кажется он наоборот на go успешно накидал irc-сервер за вечер, а вот на расте за неделю так и не смог, о чём радостно и сообщил его фоннатам, вызвав у них закономерный РЕЗУЛЬТАТ.

"Выпуск NTPsec 0.9.7, защищённого форка NTPD"
Отправлено другой Аноним , 23-Мрт-17 22:53 
> таки на Go или на Rust переписали?

http://benchmarksgame.alioth.debian.org/u64q/compare.php?lan...
Гопарям до растов почти как до китая в одной интересной и для кое-кого даже эротичной, позе.



"Выпуск NTPsec 0.9.7, защищённого форка NTPD"
Отправлено _ , 23-Мрт-17 23:17 
Сколько сопл^W эмоций :)
Пойди плюсы порви эмоциональный ты наш :) А потом, если сможешь, посмотри на код там и тут ... и реши - а оно того стоило?  Всё тот же ужоснах летящий на крыльях ночи. :)))))

Ну и на го уже пишут, и всё больше и больше, и предложения по работе появляются ... С ржавчиной такого пока и близко нет.


"Выпуск NTPsec 0.9.7, защищённого форка NTPD"
Отправлено angra , 24-Мрт-17 12:29 
Это было бы правдой, если бы rust уверенно побеждал не только в тестах на GC и либу регексов, а главное не кушал бы значительно больше памяти в ряде тестов. А так можно лишь сказать, что rust в среднем несколько быстрее Go.

"Выпуск NTPsec 0.9.7, защищённого форка NTPD"
Отправлено Римус , 23-Мрт-17 20:55 
OpenNTPD теперь не нужен?