18 октября 1995 года состоялся официальный дебют проекта операционной системы OpenBSD, которую голландский инженер-программист Тео де Раадт создал на основе форка NetBSD 1.0. Разработчик с самого начала планировал сделать упор на «переносимость, стандартизацию, проактивную безопасность и встроенную криптографию», обращая при этом особое внимание на лицензионную чистоту ОС. Так на свет появилась платформа, которая пользуется заслуженной популярностью на протяжении вот уже 27 лет.

Тео де Раадт родился 19 мая 1968 года в городе Претория, Южная Африка. Его отец был голландским подданным, а мать — гражданкой ЮАР. Тео — старший из четырех детей в этой семье: у него есть две младшие сестры и брат. Вооруженные силы ЮАР комплектуются по призыву, и чтобы Тео мог избежать обязательной воинской службы, в 1977 году семейство де Раадтов перебралось в город Калгари, Канада. Однако вскоре в стране начинается экономический кризис, под давлением которого де Раадты переезжают на Юкон — территорию в северо-западной части Канады.



Там родители покупают Тео первый компьютер: Commodore VIC-20. Именно эта персоналка открыла для него увлекательный мир программирования. Поступив в Университет Калгари, который он закончил в 1992 году с дипломом бакалавра в области компьютерных наук, Тео сменил Commodore на Amiga.

Там же, в университете, Тео де Раадт познакомился с проектом 386BSD. Однако тот вскоре разочаровал его своими ограниченными возможностями, несвоевременными обновлениями и закрытостью разработчиков, не желавших прислушиваться к мнению пользователей. Вместе с друзьями Адамом Глассом, Крисом Деметриу и Чарльзом Хэннумом Тео де Раадт основал собственный проект — NetBSD, который должен был строиться на основе модели с открытым исходным кодом.

Друзья создали репозиторий для NetBSD 21 марта 1993 года, а уже в апреле выпустили первую версию — NetBSD 0.8, основывавшуюся на исходном коде 386BSD 0.1 и нескольких утилитах из Net/2. В октябре вышла релизная версия NetBSD 1.0, в которой проприетарные программы из Net/2 были заменены свободными аналогами из 4.4BSD-lite. Эта версия системы была по-настоящему кроссплатформенной: она поддерживала не только архитектуру x86, но также могла работать на Amiga, 68k Macintosh, PC532 и Sun-4c. Тогда же впервые наметился раскол между Тео де Раадтом и другими участниками проекта, связанный с различиями во мнениях относительно дальнейшего развития ОС.

Разлад достиг своего апогея в декабре 1994 года, когда Тео де Раадт был исключен из состава разработчиков NetBSD, а его доступ к репозиториям был заблокирован — как писали его бывшие коллеги, «из-за неподобающего и оскорбительного поведения в списках рассылки». В результате этого конфликта Тео основал собственный проект, о котором официально объявил 18 октября 1995 года — этот проект получил название OpenBSD.

Первая версия новой системы появилась на свет в июле 1996 года, и после этой даты создатели ОС стараются выпускать обновления по строгому графику: раз в полгода. Разработчики OpenBSD сыграли значительную роль в развитии набора безопасных сетевых утилит OpenSSH (OpenBSD Secure Shell), которые используются сейчас и в других операционных системах, в частности, в Windows 10. Поскольку в OpenBSD особое внимание уделяется сетевой безопасности, и, кроме того, система располагает собственной реализацией стека протоколов TCP/IP, эта ОС нередко используется в маршрутизаторах и точках доступа, под управлением OpenBSD работают многие сетевые шлюзы, брандмауэры и системы фильтрации трафика. На основе OpenBSD строятся веб-серверы, почтовые, FTP-серверы и DNS-серверы.



Тео де Раадт ратует за распространение открытых драйверов, и часто критикует разработчиков Linux за их терпимость к несвободному ПО. Усилия де Раадта привели к успеху: многие тайваньские производители беспроводных устройств предоставляют разработчикам OpenBSD документацию и исходники прошивок, что позволяет им создавать и распространять свободные от лицензионных ограничений драйверы для таких девайсов.

Точное количество пользователей OpenBSD доподлинно неизвестно, поскольку разработчики не публикуют и не собирают статистику по количеству установок. Вместе с тем различные компоненты OpenBSD активно применяются в других продуктах и на их основе создаются сторонние разработки. Так, исходный код межсетевого экрана pf из OpenBSD использовался при создании брандмауэра для macOS, он встречается и в других Unix-подобных системах, включая FreeBSD. Брандмауэр для Windows Core Force также основан на межсетевом экране pf. Стандартная библиотека Android Bionic базируется на коде OpenBSD, кроме того, некоторые службы Microsoft Windows из пакета взаимодействия Interix, предназначенного для совместимости с Unix, также используют большую часть кодовой базы этой операционной системы.

Что бы ни говорили критики, OpenBSD по праву считается одной из самых безопасных ОС, поддерживающих значительное количество различных аппаратных платформ. В этом проекте принята политика постоянного аудита исходного кода на наличие ошибок: эту работу один из создателей платформы, Марк Эспи, описал как «бесконечный процесс, не направленный на поиск конкретной ошибки». Указанная практика считается важным элементом системы безопасности OpenBSD, и является одной из причин высокой надежности системы. OpenBSD непрерывно развивается: 52-й выпуск ОС состоялся 21 апреля 2022 года, актуальная версия OpenBSD имеет порядковый номер 7.1. У этой платформы имеется целая армия верных поклонников, а значит, ее совершенно точно ждет долгое будущее.

Комментарии (20)


  1. Whyborn77
    18.10.2022 07:38
    -2

    продано!


  1. litos
    18.10.2022 07:46
    +1

    Xfce интересно выглядит на скриншоте


    1. CyberPaul Автор
      18.10.2022 07:53

      XFCE 4.16 


  1. screwer
    18.10.2022 08:14
    +11

    Что бы ни говорили критики, OpenBSD по праву считается одной из самых безопасных ОС,

    Ага, по принципу "неуловимого Джо".
    Адепты Линукса тоже самое говорили. Пока не появился Андроид, огромная установочная база среди казуалов, а стало быть возможность кражи денег/перс данных/слежки за людьми. И хлынул мощнейший поток найденных багов, что хорошо видно по количеству назначенных CVE с разбивкой по годам. При этом стоит учитывать, что мейнтейнеры ядра очень неохотно идут на присвоение CVE, предпочитая сделать молчаливый фикс, не всегда удачный (эпичный пример DirtyCow) а когда-то все баги даже получали статус DDoS, хотя на самом деле являлись гораздо более опасными LPE или RCE. Такое отношение сильно усложняет жизнь вендорам, т.к. они могут не бекпортить коммиты, которые не содержат отсылок к CVE По словам одного из исследователей безопасности, для поиска свежего и актуального 1-day для Линукса, достаточно пройтись по списку последних коммитов, и внимательно их изучить,, не обращая внимания на текст. Найденная таким образом уязвимость будет, с очень большой вероятностью, отсутствовать в специализированных сборках ядра.


    1. checkpoint
      18.10.2022 18:03
      +5

      Ага, по принципу "неуловимого Джо".

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


      1. screwer
        19.10.2022 06:52

        1. в Линукс тоже все "перепадали" и написали "с нуля"

        2. Любой свеженаписанный код может содержать уязвимости. Собственно именно так основная масса и появляется. Уязвимости класса "since 2.x" очень редки сейчас. Гораздо более типична ситуация, когда уязвимость появилась за несколько месяцев до фикса.

        Поэтому извините, но "переписанность" плохой аргумент. Старый код, пусть некрасивый, но выдержавший годы изучения, фаззинга, да и просто работы на миллиардах систем - выглядит более надёжно.


        1. checkpoint
          19.10.2022 15:12
          -1

          Код OpenBSD не переписан "с нуля", ему устроили целенаправленный аудит с прицелом выявить и устранить все потенциальные проблемные места, на что было потрачено несколько лет. Линукс это помойка, даже не хочу это обсуждать.


    1. thevlad
      18.10.2022 22:27
      +2

      И много в том же андройде уязвимостей уровня ядра? Или под линуксом вы подразумеваете и весь юзер спэйс? Так в андройде из линуксового юзер спейса почти нет ничего.


      1. screwer
        19.10.2022 06:47

        Да как бы все они там. Если уязвимость не в редком драйвере. И с учётом что версии на Андроиде существенно отстают. Самые новые уязвимости туда попадать не успевают. Интересный пример CVE-2019-2215 (да, биндер, но он давно в mainstream) - хапнули только те устройства, которые старались сделать ядро посвежее.

        Посмотрите бюллетени, обычно одна, или даже парочка ежемесячно, даже сейчас. А вы думали как рутовалки типа KingRoot работают ?


        1. thevlad
          19.10.2022 18:44

          Да как бы все они там. Если уязвимость не в редком драйвере. И с учётом что версии на

          Как бы нет, основные уязвимости андройда это эскалация привилегий исполняемого кода до уровня рута или другого привилегированного процесс, что помогает обойти ограничения java песочницы. К примеру: https://habr.com/ru/company/otus/blog/547160/

          Андроиде существенно отстают. Самые новые уязвимости туда попадать не успевают.

          Отстает, так же как и большинство серьезных дистрибутивов, никто особо в бой, самые свежие версии не пускает.

          Интересный пример CVE-2019-2215 (да, биндер, но он давно в mainstream) -
          хапнули только те устройства, которые старались сделать ядро посвежее.

          Как всегда вопрос количества уязвимостей и темпа их появления. То что попадает в CVE ядра ежемесячно, по факту не эксплуатируемо, большинство это race conditions (ошибки синхронизации) или что-то где-то в древнем драйвере. Если CVE эксплуатируемо, должен быть как минимум рабочий эксплойт.

          А вы думали как рутовалки типа KingRoot работают ?

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


          1. dartraiden
            20.10.2022 02:38

            То что попадает в CVE ядра ежемесячно, по факту не эксплуатируемо, большинство это race conditions (ошибки синхронизации) или что-то где-то в древнем драйвере.

            Открываю новости за октябрь:
            уязвимость в подсистеме io_uring ядра Linux, позволяющая повысить привилегии в системе (эксплоит есть, пока сознательно не публикуют)
            уязвимости в беспроводном стеке ядра Linux, допускающие удалённое выполнение кода (опубликованы примеры кадров).

            август:
            уязвимость в ядре Linux, позволяющая изменить содержимое tmpfs (есть эксплоит)
            эксплуатируемые уязвимости в POSIX CPU timer, cls_route и nf_tables (опубликованы рабочие прототипы эксплоитов)

            июнь:
            уязвимость в подсистеме Netfilter, позволяющая получить рута
            и следом ещё одна


            1. thevlad
              20.10.2022 10:23

              И что из этого можно использовать для успешной атаки на тот же андройд?


              1. screwer
                20.10.2022 16:48

                Открываем бюллетень за октябрь, идём в секцию Kernel:
                CVE-2022-1786 A-230867044
                Upstream kernel [2] EoP High io_uring

                CVE-2022-20421 A-239630375
                Upstream kernel EoP High Binder driver

                CVE-2022-20422 A-237540956
                Upstream kernel EoP High armv8 emulation

                CVE-2022-20423 A-239842288
                Upstream kernel [2] EoP High USB

                за сентябрь, август, июль, июнь и т.д. можете глянуть самостоятельно.


          1. screwer
            20.10.2022 16:45
            +1

            основные уязвимости андройда это эскалация привилегий исполняемого кода до уровня рута или другого привилегированного процесс, что помогает обойти ограничения java песочницы.

            Что значит "основные" ? То что есть уязвимости кроме ядра, никоим образом на уязвимости ядра не влияют. Это для любой системы справедливо.

            То что попадает в CVE ядра ежемесячно, по факту не эксплуатируемо,

            Совершенно верно. Но какая разница, если есть и то, что эксплуатируемо ? А самое главное - есть то, что эксплуатируемо, но не попало в CVE.

            большинство это race conditions (ошибки синхронизации)

            Не надо ндооценивать гонки))
            CVE-2017-7533 эпичная по простоте гонка, которая великолепно давала LPE хоть на десктопе, хоть на Андроиде.

            или что-то где-то в древнем драйвере.

            Ещё один камень в огород Линукса на десктопе. Какая разница компании, утащили у неё данные пробив через новомодную систему виртуализации, или через древний драйвер для перфокарт ?

            Если CVE эксплуатируемо, должен быть как минимум рабочий эксплойт.

            За один 2022 год их уже несколько дейстков. Эксплоитов, не CVE.

            Подозреваю, что механизм эскалации привилегий, там имеет к ядру достаточно опосредованное отношение.

            А я не подозреваю, а знаю. KingRoot - набор ядерных эксплоитов.

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

            С андроидным юзерспейсом всё "плохо" в ключе атаки, поверхности атаки уменьшены настолько, насколько это возможно. Я поясню:

            • рут имеет минимум процессов

            • [Caps] все процессы сразу же ограничивают capabilities. Т.е. их рут - так себе рут.

            • [SELinux ]есть жёстко настроенные политики SELinux. Например - ещё в 7ом адроиде буквально несколько системных процессов могли выделять исполняемую память. Подозреваю, что сейчас всё стало намного жёстче.

            • [seccomp] чётко очерчен круг разрешённых к вызову syscalls

            • [SecBoot] - доверенная загрузка. Целостность всех разделов (кроме /data, но он шифрован) И проверяется в ходе доверенной загрузки. Скомпрометировать загрузку системы невозможно.

            • [RO mount] - все разделы, кроме /data являются readonly. Это сразу отметает все атаки с подменой файлов.

            • [RKP] вендоры типа Qualcomm/Samsung/Huawei реализуют собственные мониторы целостности ядра, которые весьма непросто обойти, даже имея мощный post-exploitation примитив типа Arbitrary KRW[X].


            1. thevlad
              20.10.2022 17:24

              Ещё один камень в огород Линукса на десктопе. Какая разница компании, утащили у неё данные пробив через новомодную систему виртуализации, или через древний драйвер для перфокарт ?

              Для этого как минимум надо этот считыватель перфокарт иметь.

              С андроидным юзерспейсом всё "плохо" в ключе атаки, поверхности атаки уменьшены настолько, насколько это возможно. Я поясню:

              Только почему-то подавляющее большинство уязвимостей из того же бюллетеня (https://source.android.com/docs/security/bulletin) именно из юзер спейса, а не ядра. (собственно об этом и был мой изначальный тезис)

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


  1. JackKatch
    18.10.2022 13:26

    На языках семейства X/XXX принципиально невозможно написать надёжную программу (если её сложность несколько выше Хело вёрда. Между прочим это математически доказывается). А если ещё вспомнить о том что ныне и железо дырявое как сыр ... О какой безопасности можно говорить! Хотя, не поспоришь, ОС семейства BSD, отличаются надёжностью и качеством от других ОС.


    1. klimkinMD
      21.10.2022 04:11

      А на каких (языках) можно?


  1. artemisia_borealis
    18.10.2022 17:11
    +9

    Помимо OpenSSH здесь стоило бы упомянуть ещё ряд сопутствующих проектов OpenBGPD, rpki-client, OpenNTPD, OpenSMTPD, OpenIKED, mandoc, LibreSSL, которые мантейнятся командой OpenBSD.

    А так, моя любая OC. Стоит на нескольких серверах дома и на работе. Пользуюсь также и на десктопе и ноуте.
    Интересно здесь также же стройность, качество документации, не подверженность панки нумераций (то, мажорные версии меняются на каждый чих, то скачок на несколько штук, то вдруг решают, что год лучше всего подходит для версий) отсутствие излишеств, выход релизов прям по расписанию в течение этих 27 лет…
    Использую как fw, как собственный почтовый сервер, как хостинг для друзей, как хостинг для карточек, как сервер репозиториев (hg) для своих проектов и документов.

    Отдельно стоит отметить такую жемчужину как pf, также отмечу уже упомянутый OpenSMTPD, с нуля написанный smtp-сревер, без тяжкого наследия предков. Синтаксис его конфигов также человечен как и pf (и встречается ещё в нескольких разработках команды OpoenBSD).

    С интересом узнал, что Тео жил в Юконе; всегда думал, что он только в Калгари был после ЮАР. Теперь понятно, откуда такая Северная надёжность и обязательность.

    Добавлю, что на vultr.com можно сделать себе vps на OpenBSD без проблем.


  1. Sin2x
    18.10.2022 19:50

    Pledge/unveil это то, чего сильно не хватает ядру Линукс.


  1. Adjuster2004
    18.10.2022 21:16
    -1

    Пользуемся, благодарим. ????