Раадт, Тео де

Теодор (Тео) де Раадт (Theo de Raadt, [θio dε rɔt], род. 19 мая 1968, Претория) — канадский программист и хакер. Проживает в городе Калгари, Альберта, Канада[4][5]. Основатель и руководитель проектов OpenBSD и OpenSSH[4][5], также был одним из основателей проекта NetBSD[5]. Конфликт с основной группой NetBSD в конце концов привел к созданию проекта OpenBSD.

Что важно знать
Тео де Раадт
Theo de Raadt
Имя при рождении Теодор де Раадт
Дата рождения 19 мая 1968(1968-05-19)[1] (57 лет)
Место рождения
Страна Канада
Научная сфера информационные технологии
Место работы OpenBSD, OpenSSH
Образование Бакалавр наук в области компьютерных наук
Учёная степень Бакалавр наук
Ученики Маркус Фридл, Нильс Провос, Аарон Кэмпбелл, Боб Бек, Даг Сонг
Известен как разработчик NetBSD, OpenBSD и OpenSSH, правозащитник
Награды и премии Free Software Award
Сайт theos.com/deraadt/

Детство

Тео де Раадт — старший из четырёх детей в семье, у него два брата и сестра. Семья эмигрировала в Канаду, в Калгари, в ноябре 1977 года. До переезда Тео получил свой первый компьютер Commodore VIC-20, который он вскоре поменял на Amiga. Именно на этих компьютерах он начинал разрабатывать программное обеспечение.

В 1992 году получил степень бакалавра наук в области компьютерных наук в Университете Калгари[6][7].

NetBSD

Проект NetBSD был основан в 1993 году Крисом Диметрио, Адамом Глассом, Чарльзом Ханнамом и Тео де Раадтом. Де Раадт был расстроен в скорости и качестве Jolix, а затем и Berkeley Software Distribution; он верил, что более открытая модель разработки должна принести больше пользы разработке операционной системы. Jolix, также известный как 386BSD, был ответвлением от оригинального университетского издания Беркли 4.3BSD, тогда как новый проект NetBSD должен был объединить важный код из релизов Networking/2 и 386BSD. Новый проект был сфокусирован на чистом, доступном, корректном коде с целью создания унифицированной, мультиплатформенной, пригодной для производственного применения, основанной на BSD операционной системы.

Из-за большого распространения сетей, например Internet, де Раадт предложил имя «NetBSD», с которым другие три основателя согласились.

Первый репозиторий NetBSD был открыт 21 марта 1993 года, а первый релиз, NetBSD 0.8, был выпущен уже 20 апреля. NetBSD 1.0 был выпущен 26 октября 1994 года, это был первый мультиплатформенный релиз с поддержкой следующих платформ: PC, HP 9000 Series 300, Amiga, m68k Macintosh, Sun-4c series and PC532.

Разгоревшийся спор о дальнейших путях развития проекта и его основных принципах привел через два года к конфликтной ситуации. Неуступчивость и бескомпромиссность де Раадта стали причиной того, что Тео де Раадт в один прекрасный день обнаружил, что не имеет больше доступа к проекту. Ему указали на дверь, и «Элвис покинул здание», не преминув громко ею хлопнуть, — де Раадт[8] опубликовал переписку, в которой изложен весь процесс его удаления из проекта.

Руководство проектами и их развитие

Основание OpenBSD и OpenSSH (1995—2000)

После ухода из проекта NetBSD Тео де Раадт в конце 1995 года основал OpenBSD как его форк[9]. Проект с самого начала придерживался полугодового цикла выпуска новых версий, сфокусировавшись на качестве кода и безопасности.

В период с 1997 по 1999 год вышло несколько ключевых релизов. В OpenBSD 2.1 (июнь 1997) были улучшены процесс установки и безопасность системы[10][11]. В OpenBSD 2.2 (декабрь 1997) появилась подсистема совместимости с бинарными файлами BSD/OS[12]. В релизе OpenBSD 2.3 (май 1998) в базовую систему был добавлен веб-сервер Apache[13], а в OpenBSD 2.4 (декабрь 1998) — криптографическая библиотека SSLeay, предшественник OpenSSL[14]. В OpenBSD 2.5 (май 1999) был активирован демон для управления ключами в IPsec[15].

Ключевым событием этого периода стало создание OpenSSH. В 1999 году, из-за недовольства лицензионными ограничениями проприетарного SSH, разработчики OpenBSD решили создать его полностью свободную альтернативу[16]. Проект был основан на последней свободной версии SSH 1.2.12 и наработках проекта OSSH Бьорна Грёнвалля[16].

OpenSSH впервые был включён в состав операционной системы в релизе OpenBSD 2.6 (декабрь 1999)[17]. Поставляемая версия OpenSSH 1.2.2 поддерживала только протокол SSH версии 1[18]. Уже в следующем выпуске, OpenBSD 2.7 (июнь 2000), была добавлена поддержка более безопасного протокола SSH версии 2[19][18].

Развитие в 2000-е годы (2001—2010)

В период с 2001 по 2010 год проекты OpenBSD и OpenSSH под руководством де Раадта представили ряд ключевых технологий, укрепивших их репутацию в области безопасности и стабильности.

Знаковым событием стал выпуск OpenBSD 3.0 в декабре 2001 года, в котором из-за лицензионных ограничений файрвол IPFilter был заменён на Packet Filter (PF)[20]. PF, разработанный с нуля, быстро стал одним из флагманских компонентов системы. В этом же релизе появилась поддержка 64-битной архитектуры SPARC64 и была включена версия OpenSSH 3.0[20].

В 2002—2003 годах основной акцент был сделан на превентивных мерах безопасности. В OpenBSD 3.2 (ноябрь 2002) была внедрена защита от выполнения кода на стеке[21], а в OpenSSH 3.5, вошедшем в этот релиз, по умолчанию была активирована функция разделения привилегий (privilege separation) для демона sshd[21]. В мае 2003 года в OpenBSD 3.3 состоялся публичный релиз технологии W^X (Write XOR Execute), которая запрещает одновременную запись и исполнение для областей памяти, что серьёзно затрудняет эксплуатацию уязвимостей. В компилятор системы также была интегрирована технология защиты стека ProPolice[22]. В ноябре 2003 года в OpenBSD 3.4 технология W^X была портирована на архитектуру i386, и была проведена масштабная работа по замене небезопасных функций работы со строками (например, `strcpy`) на их безопасные аналоги по всему дереву исходного кода[23].

В мае 2004 года с выходом OpenBSD 3.5 была добавлена поддержка 64-битной архитектуры AMD64 и представлен протокол CARP (Common Address Redundancy Protocol) — свободная альтернатива проприетарному VRRP для создания отказоустойчивых кластеров[24].

В OpenBSD 4.0 (ноябрь 2006) было добавлено множество новых драйверов, в том числе для беспроводных карт Intel PRO/Wireless 3945ABG (wpi), что стало важным шагом, так как драйвер не требовал закрытых бинарных компонентов[25]. В OpenSSH 4.4 была добавлена директива `Match`, позволившая применять определённые настройки для конкретных пользователей, групп или IP-адресов[26].

К концу десятилетия, в OpenBSD 4.8 (ноябрь 2010), была улучшена поддержка ACPI, что позволило реализовать функцию спящего режима на большинстве ноутбуков. Также были добавлены новые системные демоны, включая `iked` (для IKEv2) и `ldapd`[27]. В OpenSSH 5.5, вошедшем в этот релиз, появилась опция `ControlPersist`, позволяющая сохранять активным мультиплексированное соединение в фоновом режиме[28].

Развитие в 2010-е годы (2011—2020)

В период с 2011 по 2020 год проекты OpenBSD и OpenSSH под руководством де Раадта продолжили курс на усиление безопасности, модернизацию кодовой базы и расширение поддержки современного оборудования. Ключевыми событиями этого десятилетия стали создание форка LibreSSL, внедрение утилиты doas, механизма автоматического обновления sysupgrade, а также планомерный отказ от устаревших криптографических алгоритмов в OpenSSH.

В OpenBSD был сделан ряд значительных шагов по улучшению производительности и безопасности. В ранних релизах десятилетия появилась поддержка аппаратного ускорения шифрования AES-NI (OpenBSD 4.9)[29] и была произведена замена пользовательских потоков на потоки уровня ядра (rthreads), что позволило многопоточным приложениям эффективно использовать многоядерные процессоры (OpenBSD 5.2)[30]. Была добавлена поддержка драйверов для виртуализации VirtIO (OpenBSD 5.3)[31] и накопителей NVMe (OpenBSD 6.0)[32].

Знаковым событием стал форк OpenSSL и создание проекта LibreSSL в 2014 году (включён в OpenBSD 5.6), целью которого была модернизация кодовой базы и повышение её безопасности[33]. В 2015 году в OpenBSD 5.8 была представлена утилита doas как легковесная и более безопасная замена sudo в базовой системе[34]. В OpenBSD 6.0 была включена по умолчанию защита W^X для всей базовой системы[35]. Для упрощения обслуживания системы в OpenBSD 6.6 (2019) был добавлен инструмент sysupgrade для автоматического обновления до следующего релиза[36]. К концу десятилетия в ядро была добавлена нативная поддержка протокола WireGuard (OpenBSD 6.8).

Проект OpenSSH в этот период сосредоточился на переходе к современной криптографии. Была добавлена поддержка ключей на основе эллиптических кривых (ECDSA в OpenSSH 5.7), а также алгоритмов Curve25519 и Ed25519 (OpenSSH 6.5). Поворотным моментом стал выпуск OpenSSH 7.0 в 2015 году, в котором по умолчанию были отключены протокол SSHv1, поддержка DSA-ключей и слабые алгоритмы обмена ключами. Также было изменено поведение по умолчанию для PermitRootLogin на prohibit-password, что повысило безопасность систем «из коробки»[32]. В OpenSSH 7.6 поддержка протокола SSHv1 была полностью удалена из кодовой базы[36], как и поддержка устаревших шифров, таких как Blowfish и Arcfour[36]. Были добавлены и новые функции, такие как опция ProxyJump для упрощения подключений через jump-хосты (OpenSSH 7.3)[37] и поддержка аппаратных токенов FIDO/U2F (OpenSSH 8.2).

Развитие с 2021 года

В период с 2021 года проекты OpenBSD и OpenSSH продолжили курс на поддержку современных аппаратных платформ, усиление безопасности и внедрение постквантовой криптографии.

В OpenBSD было уделено значительное внимание новым архитектурам и оборудованию. В версии 7.0 (октябрь 2021) был представлен 64-битный порт для архитектуры RISC-V[38]. В последующих выпусках была добавлена поддержка процессоров Apple M2 и Ampere Altra (OpenBSD 7.2)[39], а также начальная поддержка ноутбуков на базе Qualcomm Snapdragon X Elite (OpenBSD 7.6)[40]. Были реализованы важные функции безопасности, такие как поддержка AMD SEV для шифрования виртуальных машин на аппаратном уровне (OpenBSD 7.7)[41] и её расширения SEV-ES (OpenBSD 7.8)[42]. Также была импортирована библиотека libva для аппаратного ускорения видео и улучшена производительность на многоядерных системах[43][44].

Ключевым направлением развития OpenSSH стал переход к постквантовой криптографии. В OpenSSH 9.9 (сентябрь 2024) был добавлен гибридный алгоритм обмена ключами mlkem768x25519-sha256, устойчивый к атакам с использованием квантовых компьютеров[45], который был включён по умолчанию в версии 10.0 (апрель 2025)[41]. Параллельно продолжался отказ от устаревших алгоритмов: поддержка DSA была отключена по умолчанию на этапе компиляции[45], а ключи Ed25519 стали генерироваться по умолчанию в `ssh-keygen` (OpenSSH 9.5)[46]. За этот период был исправлен ряд серьёзных уязвимостей, включая меры противодействия атаке «Terrapin» (CVE-2023-48795) в OpenSSH 9.6[47] и критическую уязвимость удалённого выполнения кода (CVE-2024-6387) в OpenSSH 9.8[41].

Личность

Тео был приверженцем свободного программного обеспечения с тех пор, как основал OpenBSD, помимо этого он также сторонник свободы слова. Имел публичные разногласия с различным группами, от приверженцев Linux до правительств. Он очень амбициозный и прямой человек. Прямота Тео чаще всего становится причиной конфликтов. Де Раадт любит путешествовать по миру. Помимо работы над основными проектами, де Раадт участвует в создании интернет-биржи в Калгари под названием YYCIX.

Ключевые соратники

В проектах с открытым исходным кодом, таких как OpenBSD и OpenSSH, понятие «учеников» выражается в виде ключевых разработчиков, которые внесли значительный вклад в проекты под руководством их основателя.

Проект OpenSSH был создан как свободная и безопасная альтернатива проприетарному программному обеспечению Secure Shell[48]. В официальной истории проекта названа команда разработчиков, которые вместе с де Раадтом стояли у его истоков:

  • Маркус Фридл (англ. Markus Friedl) — возглавил работу по поддержке протокола SSH 2.
  • Нильс Провос (англ. Niels Provos) — совместно с де Раадтом проверял изменения, внесённые Фридлом при переходе на SSH 2.
  • Аарон Кэмпбелл (англ. Aaron Campbell) — один из основных разработчиков на начальном этапе.
  • Боб Бек (англ. Bob Beck) — входил в число первых разработчиков и занимался обновлением внешней SSL-библиотеки.
  • Даг Сонг (англ. Dug Song) — один из главных разработчиков на начальном этапе проекта.

Проект OpenBSD объединяет множество разработчиков-добровольцев со всего мира[49]. Среди них также можно выделить:

  • Вадим Жуков — мейнтейнер портов KDE и Qt в системе.
  • Михаил Белопухов — занимался адаптацией операционной системы для различного оборудования и портированием драйверов[50].

Награды и признание

В 2004 году Тео де Раадт был удостоен награды Free Software Award за вклад в развитие свободного программного обеспечения.

Примечания

Ссылки