В рамках проекта NTPsec создан защищённый форк NTPD

Материал из Викиновостей, свободного источника новостей

19 ноября 2015 года

Эрик Реймонд (Eric S. Raymond), один из основателей организации OSI (Open Source Initiative), стоявший у истоков движения открытого ПО и написавший в свое время известное эссе "Собор и Базар", представил бета-выпуск проекта NTPsec, в рамках которого предпринята попытка проведения рефакторинга эталонной реализации протокола NTPv4. Исходные тексты NTPsec размещены в репозитории на GitLab. NTPsec развивается как форк NTP Classic 4.3.34. Кроме Реймонда к работе над NTPsec привлечены разработчики оригинального NTP Classic, инженеры из компаний Hewlett Packard и Akamai Technologies, а также участники проектов GPSD и RTEMS.

Первый бета-выпуск NTPsec пока содержит не все задуманные возможности, а поддерживаемые платформы ограничены Linux и FreeBSD, но базовая функциональность по синхронизации времени работает вполне стабильно, проект полностью совместим с классическим пакетом NTP и использует те же алгоритмы. Изменения в NTPsec в основном касаются переработки внутренностей с внедрением передовых техник предотвращения проведения атак. Например, все функции работы с памятью и строками заменены на защищённые аналоги, не допускающие переполнения буфера. Поставляемые в комплекте экземпляры libevent2 заменены на внешние зависимости. Удалены неиспользуемые компоненты библиотек ISC. Осуществлён переход к манипуляции наносекундными отрезками времени вместо микросекунд. Исправлены ошибки, выявленные при тестировании в системе Coverity.

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

Из планов на будущее отмечается подготовка полнофункционального тестового набора, чистка кодовой базы от устаревших возможностей, полная поддержка IPv6, переход к модульной системе с выделением подсистемы управления часами в компонент refclockd, который будет отделён от алгоритмов синхронизации времени.

Напомним, что для разрешения ситуации с плачевным уровнем безопасности эталонного NTPD уже предпринято несколько инициатив - OpenNTPD от проекта OpenBSD и Ntimed от организации Network Time Foundation, так же курирующей основной проект NTPD. В обоих проектах переработка NTPD с целью повышения безопасности была признана затруднительной из-за большой раздутости кодовой базы (более 300 тысяч строк), что затрудняет проведение полного аудита и переработку (проще оказалось написать новый NTP-сервер с нуля).

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «В рамках проекта NTPsec создан защищённый форк NTPD», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.